@php($money=fn($n)=>$n===null?'Indeterminado':number_format($n/100,2,',',' ').' MZN') @php($prepare=$data['profile']==='finance_prepare') @php($review=$data['profile']==='finance_review') Voltar ao SGF · Trocar função QA

Financeiro · obrigações a fornecedores

Ensaio sintético, sem dinheiro real. A preparação e a confirmação são distintas. Confirmar um pagamento não reduz a dívida; a afectação confirmada reduz o saldo. A Contabilidade exige o seu próprio percurso.

Obrigações originais

@foreach($data['obligations'] as $o)@endforeach
DocumentoPrincipalSaldoVencimento
{{ $o['document_number'] }} · #{{ $o['id'] }}{{ $money($o['principal_minor']) }}{{ $money($o['balance_minor']) }}{{ $o['due_on']??'Desconhecido; atraso indeterminado' }}
@if($prepare&&count($data['obligations']))

Preparar facto de pagamento

@endif

Pagamentos

@foreach($data['money']['payments'] as $p)

{{ $p['fact_reference'] }} · {{ $money($p['amount_minor']) }}

Estado: {{ $p['state'] }} · {{ $p['reason'] }}

@if($review&&!$p['decision'])
@endif
@endforeach @php($paymentPage=$data['money']['pagination']['payments'])
@if($prepare)

Propor afectação

@endif

Conferência de afectações

@foreach($data['money']['proposals'] as $p)

{{ $p['reference'] }}

@foreach(json_decode($p['plan'],true) as $line)

Obrigação #{{ $line['obligation_id'] }} · {{ $money($line['amount_minor']) }}

@endforeach

{{ $p['reason'] }} · {{ $p['decision']?->decision??'Por conferir' }}

@if($review&&!$p['decision'])
@endif
@endforeach

Afectações confirmadas e reversões

@foreach($data['money']['allocations'] as $a)@php($reversed=collect($data['money']['reversals'])->contains(fn($r)=>$r->allocation_id===$a->id))@php($proposal=collect($data['money']['reversal_proposals'])->first(fn($r)=>$r->allocation_id===$a->id))

Afectação #{{ $a->id }} · Obrigação #{{ $a->obligation_id }} · {{ $money($a->amount_minor) }} · {{ $reversed?'Revertida':'Confirmada' }}

@if($prepare&&!$reversed&&!$proposal)@php($ob=collect($data['obligations'])->first(fn($o)=>$o['id']===$a->obligation_id))@if($ob)
@endif @endif @if($review&&$proposal&&!$reversed)

Proposta #{{ $proposal->id }} · {{ $proposal->reason }}

@endif
@endforeach

Pesquisar e percorrer os registos

@foreach(['page'=>['Obrigações',$data['pagination']],'payments_page'=>['Pagamentos',$data['money']['pagination']['payments']],'allocation_proposals_page'=>['Propostas de afectação',$data['money']['pagination']['allocation_proposals']],'allocations_page'=>['Afectações',$data['money']['pagination']['allocations']],'payment_events_page'=>['Histórico',$data['money']['pagination']['payment_events']]] as $parameter=>[$label,$p])@endforeach

Histórico financeiro

@foreach($data['money']['events'] as $event)

Evento #{{ $event->id }} · {{ $event->created_at }}

{{ $event->kind??$event->action??'Registo auditado' }}

@endforeach