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.

; }