Files
Investidor-V2/resources/js/lib/iva-temporary-benefits.ts
T

86 lines
4.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const temporaryBenefitVersion = 'temporary-benefit-cessation/1';
export const temporaryBenefitEnd = '2025-12-31';
const amendments =
'Lei10/2025, BR248/suplemento1, art.1, PDF12/p.2180(12): altera3,6,12,18,19,21,23,25,26,27,31,32,33,34, sem prorrogar9(13)/9(16); art.5, PDF15/p.2180(15), efeitos01/01/2026. Art.12(1)(a) retira as remissões a9(13)/9(16) nas importações; este bloco trata operações internas, não calcula importações.';
const sugarOilSource = `Lei3/2025, BR95/suplemento, art.1, PDF1–2/p.478(1)–(2):9(13)(a–f), termo31/12/2025; art.2, PDF2, entrada na publicação21/05/2025. ${amendments}`;
export const temporaryBenefits = [
{
id: 'temporary_sugar',
branch: 'P038',
label: 'Transmissão do açúcar',
article: '9(13)(a)',
historicalScope: 'Transmissão do açúcar.',
source: sugarOilSource,
},
{
id: 'temporary_sugar_industry_goods',
branch: 'P039',
label: 'Bens transmitidos pela indústria nacional do açúcar',
article: '9(13)(b);9(14)',
historicalScope:
'Matérias-primas, produtos intermediários, peças, equipamentos e componentes: a redacção de2025 diz efectuadas pela indústria nacional do açúcar. Art.9(14): documentos aduaneiros apropriados ou declaração do adquirente, consoante o caso, sobre incorporação no processo de produção.',
source: sugarOilSource,
},
{
id: 'temporary_oils_soap',
branch: 'P040',
label: 'Óleos alimentares e sabões',
article: '9(13)(c)',
historicalScope: 'Transmissões de óleos alimentares e de sabões.',
source: sugarOilSource,
},
{
id: 'temporary_oils_soap_factory',
branch: 'P041',
label: 'Produção industrial de óleo alimentar e sabões',
article: '9(13)(d)',
historicalScope:
'Bens resultantes da actividade industrial de produção de óleo alimentar e de sabões, transmitidos pelas respectivas fábricas.',
source: sugarOilSource,
},
{
id: 'temporary_oils_soap_inputs',
branch: 'P042',
label: 'Matérias-primas para óleo/sabões — Anexo II',
article: '9(13)(e)',
historicalScope:
'Bens para utilização como matéria-prima na indústria de óleo e sabões, constantes da Pauta e discriminados noAnexoII daLei3/2025,PDF2. A lista não prorroga o prazo nem determina por si outra isenção.',
source: sugarOilSource,
},
{
id: 'temporary_sugar_cane',
branch: 'P043',
label: 'Actividade agrícola de cana-de-açúcar para a indústria',
article: '9(13)(f);9(14)',
historicalScope:
'Bens e serviços no âmbito da actividade agrícola de produção de cana-de-açúcar destinados à indústria. Art.9(14): documentos aduaneiros apropriados ou declaração do adquirente, consoante o caso, sobre incorporação no processo de produção. A produção agrícola própria do9(7)(a) exige análise distinta.',
source: sugarOilSource,
},
{
id: 'temporary_solar_inputs',
branch: 'P045',
label: 'Factores de produção de painéis solares para electrificação rural',
article: '9(16)',
historicalScope:
'Factores de produção de painéis solares para electrificação rural, constantes da Pauta e discriminados noAnexoIV. Não é uma isenção genérica de painéis ou de projectos de energia.',
source: `Lei22/2022, art.1, PDF2/p.2252(26),9(16), termo31/12/2025;art.3(2),PDF4/p.2252(28),aditaAnexoIV;art.6,PDF4,efeitos01/01/2023. ${amendments}`,
},
] as const;
export function temporaryBenefit(id: string | undefined) {
return temporaryBenefits.find((item) => item.id === id);
}
export function temporaryBenefitNotice(id: string, period: string): string {
const benefit = temporaryBenefit(id);
if (!benefit)
throw new Error(
'Benefício temporário não identificado; dados conservados.',
);
if (!/^2026-(0[1-9]|1[0-2])$/.test(period))
return 'Período fora da cobertura de2026; não se calcula nem se certifica a isenção histórica.';
return `O benefício temporário do art.${benefit.article} terminou em31/12/2025 e não é aplicável a${period}. A cessação não determina, por si, a taxa ou outra isenção desta operação. Escolha expressamente o enquadramento actual e confirme as respectivas condições; montantes e imposto ficam por determinar até essa escolha.`;
}