import { newPtMzRoyaltyPreparation, type InternationalPosition, type PtMzRoyaltyPreparation, } from '@/lib/irpc-international-credit'; export function SimulationIrpcPtCdt({ position: p, patch, prefix, }: { position: InternationalPosition; patch: (v: Partial) => void; prefix: string; }) { if (!p.treatyMethod || p.treatyMethod === 'documented') return null; const change = (key: keyof PtMzRoyaltyPreparation, value: string) => patch({ treatyPreparation: { ...newPtMzRoyaltyPreparation(), ...p.treatyPreparation, [key]: value, }, }); const facts: [keyof PtMzRoyaltyPreparation, string][] = [ ['residentMz', 'Beneficiário residente convencional em Moçambique'], ['beneficialOwner', 'Beneficiário efectivo do rendimento'], [ 'payerResidentPt', 'Devedor/sociedade distribuidora residente em Portugal', ], [ 'sourcePortugal', 'Fonte portuguesa, incluindo correspondência de quem suporta o encargo', ], ['noLinkedEstablishment', 'Sem EP/instalação fixa ligada em Portugal'], ]; if (p.treatyMethod !== 'ptMzDividend') facts.push(['armLength', 'Sem excesso por relações especiais']); if (p.treatyMethod === 'ptMzRoyalty') facts.push( [ 'royaltyDefinition', 'Definição convencional de royalties documentada', ], ['nonDigital', 'Caso ordinário não digital'], ); else facts.push([ 'capitalDefinition', 'Definição convencional de dividendos/juros documentada', ]); if (p.treatyMethod === 'ptMzInterest') facts.push([ 'governmentInterestExemption', 'Juros abrangidos pela isenção governamental do art.11(3)', ]); return (
Portugal — correspondência CDT

Confirme rendimento bruto em MZN, residência convencional, natureza e período coberto pelos documentos. O limite convencional do caso qualificado restringe o imposto estrangeiro elegível; não altera a parcela líquida nacional nem prova pagamento. O limite manual anterior fica conservado.

{( [ ['gross', 'Rendimento bruto — MZN'], ['from', 'Início do período documentado — AAAA-MM-DD'], ['to', 'Fim do período documentado — AAAA-MM-DD'], [ 'reference', 'Suporte da residência, contrato e condições convencionais', ], ] as const ).map(([key, label]) => ( ))} {p.treatyMethod === 'ptMzInterest' && p.treatyPreparation?.governmentInterestExemption === 'yes' && (
Fundamento da isenção dos juros — art.11(3) {p.treatyPreparation.governmentBasis === 'agreement' ? ( <>

O beneficiário é o sujeito corrente:{' '} {p.subjectNuit}. Confirme a instituição/organismo, o financiamento por ela concedido e o acordo entre os governos de Portugal e Moçambique. A isenção não é inferida pelo nome; outros beneficiários/regimes conservam correspondência própria.

{( [ [ 'institutionRecipient', 'Beneficiário corrente qualificado como instituição/organismo11(3)b', ], [ 'financingGranted', 'Juros resultam de financiamento concedido por esse beneficiário', ], [ 'bilateralAgreement', 'Financiamento no âmbito de acordo concluído entre os governos PT–MZ', ], ] as const ).map(([key, label]) => ( ))} {( [ [ 'institutionReference', 'Suporte da qualificação do beneficiário corrente', ], [ 'financingReference', 'Suporte do financiamento e ligação aos juros', ], [ 'agreementReference', 'Acordo PT–MZ e cláusula aplicável a este financiamento', ], ] as const ).map(([key, label]) => ( ))} ) : ( <>

Qualifique o devedor público português com suporte próprio. A isenção na fonte não gera, no portal, reembolso do imposto pago.

)}
)} {facts.map(([key, label]) => ( ))}
); }