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, }, }; }