htmlspecialchars((string) $v, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); $money = static fn ($v) => $v === null ? 'Indeterminado' : number_format(intdiv((int) $v, 100), 0, '.', ' ').'.'.str_pad((string) abs((int) $v % 100), 2, '0', STR_PAD_LEFT).' MZN'; $eligible = array_values(array_filter($data['obligations'], static fn ($o) => ! $o['source_conflict'] && ! $o['history_imported'])); $confirmed = array_values(array_filter($data['payments'], static fn ($p) => $p['state'] === 'confirmed')); $options = static function () use ($eligible, $e, $money): void { foreach ($eligible as $o) echo ''; }; ?> Pagamentos e afectações a fornecedores — ensaio
← Obrigações a fornecedores · Trocar função ou sair

·

Pagamentos e afectações a fornecedores

ENSAIO SINTÉTICO — SEM MOVIMENTAÇÃO DE DINHEIRO. Propor não confirma; confirmar um pagamento não abate automaticamente uma dívida. Só uma afectação confirmada reduz o saldo. Não há execução bancária, reconciliação, stock, orçamento adicional ou lançamento contabilístico.

As referências de pagamento e evidência são artificiais e começam por SIM-. Não introduza dados bancários ou comprovativos reais.

Obrigações e saldo canónico

Origem / fornecedorPrincipalAfectado neste percursoSaldoVencimento
# ·
Versão e decisão
Pendente
Atraso indeterminado
Dias de atraso: sem valor

Reconheça primeiro a obrigação no percurso existente. Não é criada uma dívida por registar um pagamento.

1. Propor pagamento sintético

2. Pagamentos propostos e decisões

Pagamento # ·

· Data simulada · Estado: 'Proposto','confirmed'=>'Confirmado em ensaio','rejected'=>'Rejeitado'][$p['state']]) ?>

Por afectar: · Reconciliação bancária: não implementada.

Preparação e evidência preservadas

Sem pagamentos propostos neste contexto.

3. Propor afectações

Mesmo fornecedor e moeda. O excedente fica por afectar. Não existe reembolso/crédito automático nem edição de uma afectação confirmada.

4. Propostas de afectação

Proposta # · · Pagamento #

Preparador # ·

  • Obrigação #: · versão

Estado: decision === 'confirmed' ? 'Afectação confirmada' : 'Rejeitada') : 'Proposta — sem efeito no saldo' ?>

Histórico durável

#id) ?> · kind) ?> · actor #actor_id) ?> · created_at) ?>
payload) ?>

Correcções, reversões, reconciliação e novos pagamentos sobre documentos com histórico importado ficam para âmbito próprio. Os originais e as decisões confirmadas não são editados ou apagados.