Files
Investidor-V2/resources/js/lib/iva-acquisition-continuity.ts
T

35 lines
2.2 KiB
TypeScript

import type { Acquisition } from './iva-acquisitions.ts';
export type AcquisitionTreatment =
| ''
| 'normal'
| 'former_exploration_exemption';
export const acquisitionContinuityVersion = 'acquisition-continuity/1';
export const formerExplorationSource =
'Aviso da Assembleia da República,BR89/I Série,08/06/2017,PDF1/p.569:ordena eliminação de14(2)(c) e transcreve «c) eliminado». CIVA republicado Lei13/2016,PDF13/p.1426(271),continha aquisição de serviços de perfuração,pesquisa e construção de infra-estruturas na actividade mineira/petrolífera em fase de prospecção/pesquisa. Lei22/2022art.1 eLei10/2025art.1 não reintroduzem14(2)(c). Cobertura2026/MZN;sem cálculo retroactivo.';
export const formerExplorationNotice =
'A antiga isenção da aquisição de serviços de perfuração, pesquisa e infra-estruturas de prospecção mineira/petrolífera do artigo14(2)(c) foi eliminada pela rectificação publicada no BR89 de08/06/2017. Não se aplica nesta cobertura2026. Não indique IVA zero nem dedução por esta referência. Valores e documento conservados; escolha expressamente continuar a aquisição sem esta isenção e reveja o enquadramento normal. Outra eventual base legal deve ser identificada, não presumida.';
export function acquisitionTreatmentIssue(treatment: unknown): string | null {
if (treatment === undefined || treatment === '' || treatment === 'normal')
return null;
return treatment === 'former_exploration_exemption'
? formerExplorationNotice
: 'Tratamento especial guardado desconhecido; dados conservados, sem isenção ou dedução presumidas. Identifique o enquadramento antes de continuar.';
}
export function continueWithoutFormerExploration(
row: Acquisition,
): Acquisition {
if (row.acquisitionTreatment !== 'former_exploration_exemption')
throw new Error(
'A continuidade exige a antiga referência14(2)(c) seleccionada; aquisição conservada.',
);
return {
...row,
acquisitionTreatment: 'normal',
acquisitionTreatmentOrigin: {
id: 'former_exploration_exemption',
source: formerExplorationSource,
},
};
}