import { FiscalProofParcelFields } from './fiscal-proof-parcel'; import { newPecPayment, pecSource, type PecPayment } from '@/lib/irpc-pec'; import type { AnnualBook } from '@/lib/irpc-annual-settlement'; export function SimulationIrpcPec({ book, save, }: { book: AnnualBook; save: (book: AnnualBook) => void; }) { const detail = book.pecPayments; if (!detail) return (
PEC — comprovativos do próprio exercício

O resumo anterior fica conservado. Preparar o detalhe permite reconciliar os pagamentos efectivos e deduzi-los até à colecta disponível, sem reembolso do excedente PEC.

); const update = (next: typeof detail) => save({ ...book, pecPayments: next }); return (
PEC — pagamentos efectivamente comprovados

{pecSource}

Identifique a natureza PEC no comprovativo. As utilizações anteriores exigem valor e suporte; zero conhecido é diferente de informação em falta. A parcela seleccionada não pode exceder o comprovado menos o já utilizado. Saldos de anos anteriores, cálculo da obrigação e créditos próprios permanecem separados.

{detail.rows.map((r, index) => { const change = (p: Partial) => update({ ...detail, rows: detail.rows.map((x) => x.id === r.id ? { ...x, ...p } : x, ), }); return (
PEC {index + 1} {( [ ['document', 'Comprovativo PEC'], ['issuer', 'Emitente'], ['date', 'Data (AAAA-MM-DD)'], ['subjectNuit', 'NUIT beneficiário'], ['year', 'Exercício de origem'], ['currency', 'Moeda'], ['proofAmount', 'Montante comprovado'], [ 'previouslyUsed', 'Já utilizado fora destas parcelas', ], [ 'priorUseReference', 'Suporte das utilizações anteriores ou do zero conhecido', ], ['amount', 'Parcela disponível seleccionada'], [ 'reference', 'Suporte do pagamento PEC e afectação', ], ] as const ).map(([key, label]) => ( ))}
); })}

O detalhe substitui o resumo PEC apenas nesta execução. Os comprovativos e resultados de execuções anteriores permanecem no histórico; não há consumo automático de saldos oficiais.

); }