35 lines
2.2 KiB
TypeScript
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,
|
|
},
|
|
};
|
|
}
|