import type { Acquisition } from '@/lib/iva-acquisitions'; import { newAcquisitionBC } from '@/lib/iva-acquisition-bc'; import { newAcquisitionAllocation, allocationReducedChoices, adoptAllocationReduced, acquisitionAllocationDecision, type AcquisitionAllocation, } from '@/lib/iva-acquisition-allocation'; export function AcquisitionAllocationEditor({ draft, row, onChange, }: { draft: Record; row: Acquisition; onChange: (patch: Partial) => void; }) { const d = row.d; if (!d) return ( ); const update = (value: Partial) => onChange({ d: { ...d, ...value } }); const fact = (key: string, label: string) => ( ); const text = ( key: | 'numerator' | 'denominator' | 'unit' | 'referenceYear' | 'scopeRef' | 'source' | 'communicationRef' | 'declarationRef', label: string, ) => ( ); const decision = acquisitionAllocationDecision(draft, row), choices = d.method === 'reduced' ? allocationReducedChoices(draft) : []; return (
Afectação parcial e proporções — D

Reutiliza documento,montantes,moeda,período e condiçõesB/C. Escolher afectação real/pro rata identifica esta aquisição como mista;18(6),como exclusiva ao âmbito de origem. O vínculo individual deA permanece conservado,sem definir silenciosamente a afectação mista. A versão anterior não é recalculada.

{text( 'scopeRef', 'Âmbito da aquisição/actividade:entidade,operações,período e critério aplicáveis', )} {text( 'source', 'Fonte/documento ou pressuposto expresso das bases e do método', )} {fact( 'scopeConfirmed', 'Esta aquisição corresponde ao âmbito e à fonte identificados;sem usar apenas o sector ou a oportunidade', )} {d.method === 'reduced' ? ( <> {!choices.length && (

Não há base reduzida registada nesta oportunidade. Prepare a origem no percurso existente;sem percentagem por defeito.

)} {!!d.reducedId && ( )}

Reutiliza62%,85%,40% ou75% segundo a origem demonstrada. São proporções de dedução18(6),não taxasIVA. Não volta a reduzir o montante de aquisição nem duplica o desconto da base.

) : ( d.method && ( <> {fact( 'rightBasis', 'A parte identificada dá direito à dedução18/19,com fundamento na fonte indicada;isenção não implica automaticamente direito', )} {text( 'numerator', d.method === 'actual' ? 'Parte efectivamente afecta a operações com direito — numerador' : 'Montante anual semIVA das operações com direito18/19 — numerador', )} {text( 'denominator', d.method === 'actual' ? 'Utilização total no mesmo critério/unidade — denominador' : 'Montante anual semIVA de todas as operações,incluindo fora de campo — denominador', )} {d.method === 'actual' ? ( <> {text( 'unit', 'Unidade e critério de afectação real (mesma base em ambas as parcelas)', )} {fact( 'actualScope', 'Repartição corresponde à afectação real desta aquisição/parte,documentada no critério identificado', )} {fact( 'communication', 'Comunicação prévia à Direcção Geral de Impostos22(2),conforme a fonte — não é nova aprovação do portal', )} {text( 'communicationRef', 'Referência da comunicação prévia22(2)', )} {fact( 'conditionsMet', 'Condições especiais concretamente aplicáveis ao método,quando existentes,estão reflectidas na fonte e cumpridas', )} ) : ( <> {text( 'referenceYear', 'Ano das bases anuais utilizadas', )} {fact( 'annualScope', 'Totais cobrem o âmbito anual do sujeito passivo identificado,sem substituir pelo mês ou apenas por uma oportunidade', )} {fact( 'netExclusions', 'Bases semIVA22(4–5):incluem operações fora de campo;excluem vendas de activo usado e imobiliárias/financeiras acessórias', )} {d.basis === 'initial_changed' && ( <> {fact( 'initialChanged', 'Há início de actividade ou alteração substancial que fundamenta a estimativa22(7)', )} {text( 'declarationRef', 'Referência da declaração de início/alterações que contém a estimativa', )} )}

O quociente é arredondado à centésima imediatamente superior22(8). Mantêm-se o quociente original e a proporção aplicada;fracções monetárias continuam exactas. O acerto anual22(6) segueE,sem alterar versões anteriores.

)} ) )}

{decision.reason}

); }