@php $ctx=app(\App\Shared\Context\CompanyContext::class);$supplierAccess=app(\App\Modules\Identity\Services\Permissions::class)->has(auth()->id(),$ctx->identifiers()['tenant_id'],$ctx->identifiers()['company_id'],'supplier_payables.view',$ctx->unitId());$money=static fn($n)=>($n<0?'-':'').number_format(intdiv(abs($n),100),0,',',' ').','.str_pad((string)(abs($n)%100),2,'0',STR_PAD_LEFT).' MZN'; @endphp Lançamento sintético — SGF
Voltar à navegação SGF / mudar módulo@if(config('sales_ledger.synthetic_enabled')===true||config('cost_ledger.synthetic_enabled')===true)

Contabilidade — diário de teste por origem

EXCLUSIVAMENTE SINTÉTICO. Contas, regras e períodos artificiais. Sem uso real, contas PGC aprovadas ou execução monetária.

Fontes técnicas, comerciais e financeiras são efeitos distintos, com fotografia e revisão próprias. O lançamento não cria nem altera a dívida financeira.

@else

Contabilidade — primeiro lançamento de ensaio

EXCLUSIVAMENTE SINTÉTICO. Duas contas e um período artificiais. Sem uso real, contas PGC aprovadas, emissão, execução bancária ou fecho operacional.

Origem: obrigação reconhecida pelo Payables. Aplicar o lançamento não cria nem altera a dívida financeira. Vencimento e período contabilístico são factos separados.

@endif
@if(config('general_ledger.composition_enabled')===true)

Painel conjunto de vendas, fornecedores e custos QA

@endif

@if(config('cost_ledger.synthetic_enabled')===true)

Oficina → custo directo validado → diário e relatórios QA

@endif

Balancete e razão por conta — Outubro de 2026 (QA)

@if(config('general_ledger.cycle_enabled')===true&&$supplierAccess)

Ciclo integrado: afectação, reversão, correcção técnica e fecho QA

@endif @if(config('sales_ledger.synthetic_enabled')===true)

Comercial → recebíveis → contabilidade: origem, decisões e extracto

@endif @if(session('ledger_demo'))

Trocar função no ensaio sintético

@endif @if($data['permissions']['prepare']&&$supplierAccess)

Preparar da origem reconhecida

@endif

Propostas e conferência individual

@foreach($data['proposals'] as $p) @php $snapshot=json_decode($p->snapshot,true);$isPart=in_array($snapshot['source']['effect_type'],['journal.reversal','journal.replacement','workshop.direct_cost.reversal','workshop.direct_cost.replacement','industry.cost.reversal','industry.cost.replacement'],true);$review=collect($data['reviews'])->firstWhere('proposal_id',$p->id); @endphp @if(isset($snapshot['source']['industrial_lot_id']))

Conferir lote e resultado industrial

@elseif(isset($snapshot['source']['cost_order_id']))

Conferir ordem e custo directo seleccionado

@elseif(isset($snapshot['source']['invoice_id']))

Conferir percurso e origem comercial

@else

Conferir percurso e origem

@endif

Proposta #{{ $p->id }} · captura {{ $p->capture_version }}

@if(isset($snapshot['source']['industrial_lot_id']))Lote #{{ $snapshot['source']['industrial_lot_id'] }}@elseif(isset($snapshot['source']['cost_order_id']))Ordem #{{ $snapshot['source']['cost_order_id'] }}@else Obrigação #{{ $p->obligation_id }}@endif · preparador #{{ $p->prepared_by }} · {{ $p->created_at }}

{{ $p->reason }}

Data {{ $snapshot['journal_on'] }} · período {{ $snapshot['period']['period_key'] }} v{{ $snapshot['period']['version'] }} · regra v{{ $snapshot['rule']['version'] }}

    @foreach($snapshot['lines'] as $line)
  • {{ $line['account_code'] }} — débito {{ $money($line['debit_minor']) }} / crédito {{ $money($line['credit_minor']) }}
  • @endforeach

Impacto: lançamento equilibrado de {{ $money($snapshot['impact']['debit_minor']) }}. Sem novo pagamento ou alteração do saldo financeiro.

Revisão exacta {{ $p->revision }}@unless(isset($snapshot['source']['cost_order_id'])||isset($snapshot['source']['industrial_lot_id'])) · Vencimento da origem: {{ $snapshot['source']['due_on'] ?? 'desconhecido' }}@endunless

Fotografia da fonte, regra e período
{{ json_encode($snapshot,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE) }}
@if($review)

Decisão {{ $review->decision==='approved'?'aprovada':'recusada' }} por #{{ $review->reviewed_by }} · {{ $review->reason }}

@endif @if($p->journal_id)

Aplicada uma vez no lançamento #{{ $p->journal_id }}. Consulte o comprovativo abaixo.

@endif @if(!$isPart&&$data['permissions']['validate']&&!$review&&$p->prepared_by!==auth()->id())
@endif @if(!$isPart&&$data['permissions']['post']&&$review&&$review->decision==='approved'&&$p->prepared_by===auth()->id()&&!$p->journal_id)
@endif
@endforeach

Lançamentos e extracto sintético

Débitos {{ $money($data['totals']['debit_minor']) }} · Créditos {{ $money($data['totals']['credit_minor']) }} · Débito menos crédito {{ $money($data['totals']['net_minor']) }}

Os totais incluem todos os lançamentos do filtro; as contrapartidas dos lançamentos da página aparecem abaixo. Não são um balancete legal ou uma posição financeira por liquidar.

@foreach($data['journals'] as $j)@php $journalSource=json_decode($j->snapshot,true)['source']; @endphp

Lançamento #{{ $j->id }} · {{ $j->journal_on }}

@if(isset($journalSource['industrial_lot_id']))Lote #{{ $journalSource['industrial_lot_id'] }}@elseif(isset($journalSource['cost_order_id']))Ordem #{{ $journalSource['cost_order_id'] }}@else Obrigação #{{ $j->obligation_id }}@endif · Proposta #{{ $j->proposal_id }} · Revisão #{{ $j->review_id }} · Aplicador #{{ $j->posted_by }}

{{ $j->reason }} · {{ $j->created_at }}

    @foreach($data['lines'] as $l)@if($l->journal_id===$j->id)
  • Conta #{{ $l->account_id }}: D {{ $money($l->debit_minor) }} / C {{ $money($l->credit_minor) }}
  • @endif @endforeach
Fotografia imutável da origem, regra e período aplicados
{{ json_encode(json_decode($j->snapshot,true),JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE) }}
@if(isset($journalSource['cost_order_id']))

Conferir a ordem, o custo e as decisões. A fotografia acima conserva o estado aplicado.

@else

Para conferir a posição financeira actual, volte à navegação, seleccione Compras e use a referência local da origem. A fotografia acima conserva o estado aplicado.

@endif
@endforeach

Histórico do ensaio

@foreach($data['events'] as $event)
#{{ $event->id }} · {{ $event->kind }} · actor #{{ $event->actor_id }} · {{ $event->created_at }}

{{ $event->reason }}

{{ $event->previous }}
{{ $event->subsequent }}
@endforeach
@include('accounting.receipt-recovery')