Files
Investidor-V2/resources/js/lib/iva-international-assets.ts
T

71 lines
4.1 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.
import type { OperationTreatment } from './iva-operations.ts';
const source =
'CIVA republicado Lei13/2016, BR156/10.º suplemento, art.13(1)(c/d/f/g/i), PDF12/p.1426(270); art.19(1)(b)(i), PDF15/p.1426(273). Lei22/2022 art.1, PDF3/p.2252(27), e Lei10/2025 art.1, PDF12–13/p.2180(12)–(13), mantêm19(1)(b)(i), sem alterar13. Âmbito2026/MZN; sem dedução automática de compras ou submissãoAT.';
const scope =
'Operação abrangida pelo CIVA em Moçambique, com territorialidade identificada; não basta o sector, a localização do investimento ou a residência estrangeira do cliente';
const ship =
'Embarcação identificada, afecta a navegação marítima em alto mar com transporte remunerado de passageiros ou actividade comercial, industrial ou de pesca; ou a salvamento, assistência marítima ou pesca costeira, nos termos de13(1)(c/d). A natureza e utilização constam do documento ou pressuposto; não qualquer barco de recreio';
const aircraft =
'Avião identificado e utilizado por companhia de navegação aérea que se dedica principalmente ao tráfego internacional; companhia e utilização identificadas, não bastando um voo internacional isolado';
export const internationalShipEligibility = ship;
export const internationalAircraftEligibility = aircraft;
const make = (
id: string,
label: string,
letter: string,
conditions: string[],
): OperationTreatment => ({
id,
label,
field: '05',
rate: 0,
article: `CIVA arts.13(1)(${letter}),19(1)(b)(i)`,
source,
logicVersion: 'international-assets/1',
conditions: [scope, ...conditions],
});
export const internationalAssetTreatments: OperationTreatment[] = [
make(
'international_ship_operations',
'Operações sobre embarcação elegível e objectos da sua exploração',
'f',
[
ship,
'Operação identificada: transmissão, transformação, reparação, manutenção, frete ou aluguer da embarcação; ou transmissão, aluguer, reparação ou conservação de objectos incorporados ou utilizados na sua exploração, incluindo equipamento de pesca',
'A operação e o objecto estão ligados à embarcação elegível identificada; não qualquer venda ou serviço a uma empresa marítima',
],
),
make(
'international_aircraft_operations',
'Operações sobre avião de companhia principalmente internacional',
'g',
[
aircraft,
'Operação identificada: transmissão, transformação, reparação, manutenção, frete ou aluguer do avião; ou transmissão, reparação ou manutenção de objectos nele incorporados ou utilizados na sua exploração. Não estender o aluguer do avião ao aluguer autónomo de objectos não enumerado nesta alínea',
'A operação e o objecto estão ligados ao avião elegível identificado; não qualquer fornecimento à companhia aérea',
],
),
make(
'international_ship_direct_services',
'Serviços para necessidades directas de embarcação elegível ou sua carga',
'i',
[
ship,
'Prestação de serviços identificada e efectuada para necessidades directas da embarcação elegível ou da respectiva carga, com ligação concreta descrita; não qualquer serviço ao armador',
'Serviço distinto dos já mencionados em13(1)(f/g); confirme a natureza específica, sem duplicar o enquadramento das operações sobre embarcação ou avião',
],
),
make(
'international_aircraft_direct_services',
'Serviços para necessidades directas de avião elegível ou sua carga',
'i',
[
aircraft,
'Prestação de serviços identificada e efectuada para necessidades directas do avião elegível ou da respectiva carga, com ligação concreta descrita; não qualquer serviço à companhia aérea',
'Serviço distinto dos já mencionados em13(1)(f/g); confirme a natureza específica, sem duplicar o enquadramento das operações sobre embarcação ou avião',
],
),
];