When a line on a Portuguese fiscal document carries 0% VAT, Portuguese law requires an exemption code. In the SIGN PT API, each M-code defined by the Autoridade Tributária e Aduaneira (AT) is mapped to a CAUSE_X enum value.
The exemption code is mandatory on every line that carries 0% VAT — it cannot be omitted. SIGN PT validates that the code is present wherever required.
Exemption codes
| API code | M-code | Invoice mention |
|---|---|---|
CAUSE_1 | M01 | Artigo 16.º n.º 6 do CIVA |
CAUSE_2 | M02 | Artigo 6.º do DL 198/90 |
CAUSE_3 | M04 | Isento artigo 13.º do CIVA |
CAUSE_4 | M05 | Isento artigo 14.º do CIVA |
CAUSE_5 | M06 | Isento artigo 15.º do CIVA |
CAUSE_6 | M07 | Isento artigo 9.º do CIVA |
CAUSE_7 | M09 | IVA — não confere direito a dedução |
CAUSE_8 | M10 | IVA — regime de isenção |
CAUSE_9 | M11 | Regime particular do tabaco |
CAUSE_10 | M12 | Regime da margem de lucro — Agências de viagens |
CAUSE_11 | M13 | Regime da margem de lucro — Bens em segunda mão |
CAUSE_12 | M14 | Regime da margem de lucro — Objetos de arte |
CAUSE_13 | M15 | Regime da margem de lucro — Objetos de coleção e antiguidades |
CAUSE_14 | M16 | Isento artigo 14.º do RITI |
CAUSE_15 | M19 | Outras isenções |
CAUSE_16 | M20 | IVA — regime forfetário |
CAUSE_17 | M21 | IVA — não confere direito à dedução (Art. 72 n.º 4 CIVA) |
CAUSE_18 | M25 | Mercadorias à consignação |
CAUSE_19 | M26 | Isenção de IVA com direito à dedução no cabaz alimentar |
CAUSE_20 | M30 | IVA — autoliquidação (sucata e resíduos) |
CAUSE_21 | M31 | IVA — autoliquidação (construção civil) |
CAUSE_22 | M32 | IVA — autoliquidação (direitos de emissão) |
CAUSE_23 | M33 | IVA — autoliquidação (cortiça e madeira) |
CAUSE_24 | M34 | IVA — autoliquidação (eletricidade) |
CAUSE_25 | M40 | IVA — autoliquidação (B2B intra-UE) |
CAUSE_26 | M41 | IVA — autoliquidação (operações triangulares) |
CAUSE_27 | M42 | IVA — autoliquidação (ouro de investimento) |
CAUSE_28 | M43 | IVA — autoliquidação (DL 362/99) |
CAUSE_29 | M44 | IVA — Regras específicas — artigo 6.º |
CAUSE_30 | M45 | IVA — regime transfronteiriço de isenção |
CAUSE_31 | M46 | IVA — e-TaxFree |
NOT_SUBJECT | M99 | Não sujeito ou não tributado |
Note: SIGN PT validates that the code is technically correct and present where required. Choosing the appropriate code for the underlying transaction is the taxpayer's responsibility.
Request example
To add a VAT exemption to a line item, set content.operation.entries.data.vat type to VAT_EXEMPTION and provide the appropriate code:
"vat": {
"type": "VAT_EXEMPTION",
"code": "CAUSE_8",
"reason": "IVA — regime de isenção"
}The reason field is optional — SIGN PT auto-fills it with the standard AT invoice mention for the given code. Provide a value only to override the default phrasing.