Portugal’s tax system is administered by the Autoridade Tributária e Aduaneira (AT). As an EU member state, Portugal follows the EU VAT Directive with locally adapted rates that vary by region. IVA (Imposto sobre o Valor Acrescentado) applies at standard, intermediate, and reduced rates on the mainland. The autonomous regions of Açores and Madeira apply their own reduced rates. Businesses are identified by their NIF (Número de Identificação Fiscal), a 9-digit number. The Portuguese VAT number uses the format PT followed by the NIF. Portugal requires all invoicing software to be certified by the AT and invoices must include a unique document identifier (ATCUD) and a hash chain linking sequential documents. The SAF-T (Standard Audit File for Tax Purposes) format is used for tax reporting. Both credit notes and debit notes are supported for invoice corrections.Documentation Index
Fetch the complete documentation index at: https://gobl-correction-definitions.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Base Details
| Key | Value |
|---|---|
| Tax Country Code | PT |
| Currency | EUR |
| Base Time Zone | Europe/Lisbon |
Tax Categories
| Code | Name | Title |
|---|---|---|
VAT | VAT | Value Added Tax |
VAT Rates
| Rate | Keys | Name | pt-region | Percents | Description |
|---|---|---|---|---|---|
general | standard | General Rate | PT-AC PT-MA | 23.0% 16.0% 22.0% | |
intermediate | standard | Intermediate Rate | PT-AC PT-MA | 13.0% 9.0% 12.0% | |
reduced | standard | Reduced Rate | PT-AC PT-MA | 6.0% 4.0% 4.0% | |
other | standard | Other |
Correction Definitions
Auto-generation of corrective invoices or credit and debit notes is supported.Invoice Types
The types of invoices that can be created with a preceding definition:credit-notedebit-note
Extensions
Region Code
SAF-T’sTaxCountryRegion (País ou região do imposto) specifies the region of taxation
(Portugal mainland, Açores, Madeira or any ISO country) in a Portuguese invoice. Each
region has their own tax rates which can be determined automatically.
To set the specific a region different to Portugal mainland, the pt-region extension of
each line’s VAT tax should be set to one of the following values:
| Code | Description |
|---|---|
| PT | Mainland Portugal (default) |
| PT-AC | Açores |
| PT-MA | Madeira |
| … | Any ISO country code (e.g. ES, FR, DE, etc.) |
pt-region
pt-region
| Code | Name |
|---|---|
PT | Mainland Portugal |
PT-AC | Azores |
PT-MA | Madeira |
AF | Afghanistan |
AX | Åland Islands |
AL | Albania |
DZ | Algeria |
AS | American Samoa |
AD | Andorra |
AO | Angola |
AI | Anguilla |
AQ | Antarctica |
AG | Antigua and Barbuda |
AR | Argentina |
AM | Armenia |
AW | Aruba |
AU | Australia |
AT | Austria |
AZ | Azerbaijan |
BS | Bahamas |
BH | Bahrain |
BD | Bangladesh |
BB | Barbados |
BY | Belarus |
BE | Belgium |
BZ | Belize |
BJ | Benin |
BM | Bermuda |
BT | Bhutan |
BO | Bolivia, Plurinational State of |
BQ | Bonaire, Sint Eustatius and Saba |
BA | Bosnia and Herzegovina |
BW | Botswana |
BV | Bouvet Island |
BR | Brazil |
IO | British Indian Ocean Territory |
BN | Brunei Darussalam |
BG | Bulgaria |
BF | Burkina Faso |
BI | Burundi |
CV | Cabo Verde |
KH | Cambodia |
CM | Cameroon |
CA | Canada |
KY | Cayman Islands |
CF | Central African Republic |
TD | Chad |
CL | Chile |
CN | China |
CX | Christmas Island |
CC | Cocos (Keeling) Islands |
CO | Colombia |
KM | Comoros |
CG | Congo |
CD | Congo, Democratic Republic of the |
CK | Cook Islands |
CR | Costa Rica |
CI | Côte d’Ivoire |
HR | Croatia |
CU | Cuba |
CW | Curaçao |
CY | Cyprus |
CZ | Czechia |
DK | Denmark |
DJ | Djibouti |
DM | Dominica |
DO | Dominican Republic |
EC | Ecuador |
EG | Egypt |
SV | El Salvador |
GQ | Equatorial Guinea |
ER | Eritrea |
EE | Estonia |
SZ | Eswatini |
ET | Ethiopia |
FK | Falkland Islands |
FO | Faroe Islands |
FJ | Fiji |
FI | Finland |
FR | France |
GF | French Guiana |
PF | French Polynesia |
TF | French Southern Territories |
GA | Gabon |
GM | Gambia |
GE | Georgia |
DE | Germany |
GH | Ghana |
GI | Gibraltar |
GR | Greece |
GL | Greenland |
GD | Grenada |
GP | Guadeloupe |
GU | Guam |
GT | Guatemala |
GG | Guernsey |
GN | Guinea |
GW | Guinea-Bissau |
GY | Guyana |
HT | Haiti |
HM | Heard Island and McDonald Islands |
VA | Holy See (the) |
HN | Honduras |
HK | Hong Kong |
HU | Hungary |
IS | Iceland |
IN | India |
ID | Indonesia |
IR | Iran, Islamic Republic of |
IQ | Iraq |
IE | Ireland |
IM | Isle of Man |
IL | Israel |
IT | Italy |
JM | Jamaica |
JP | Japan |
JE | Jersey |
JO | Jordan |
KZ | Kazakhstan |
KE | Kenya |
KI | Kiribati |
KP | Korea, Democratic People’s Republic of |
KR | Korea, Republic of |
KW | Kuwait |
KG | Kyrgyzstan |
LA | Lao People’s Democratic Republic |
LV | Latvia |
LB | Lebanon |
LS | Lesotho |
LR | Liberia |
LY | Libya |
LI | Liechtenstein |
LT | Lithuania |
LU | Luxembourg |
MO | Macao |
MK | North Macedonia |
MG | Madagascar |
MW | Malawi |
MY | Malaysia |
MV | Maldives |
ML | Mali |
MT | Malta |
MH | Marshall Islands |
MQ | Martinique |
MR | Mauritania |
MU | Mauritius |
YT | Mayotte |
MX | Mexico |
FM | Micronesia, Federated States of |
MD | Moldova, Republic of |
MC | Monaco |
MN | Mongolia |
ME | Montenegro |
MS | Montserrat |
MA | Morocco |
MZ | Mozambique |
MM | Myanmar |
NA | Namibia |
NR | Nauru |
NP | Nepal |
NL | Netherlands |
NC | New Caledonia |
NZ | New Zealand |
NI | Nicaragua |
NE | Niger |
NG | Nigeria |
NU | Niue |
NF | Norfolk Island |
MP | Northern Mariana Islands |
NO | Norway |
OM | Oman |
PK | Pakistan |
PW | Palau |
PS | Palestine, State of |
PA | Panama |
PG | Papua New Guinea |
PY | Paraguay |
PE | Peru |
PH | Philippines |
PN | Pitcairn |
PL | Poland |
PR | Puerto Rico |
QA | Qatar |
RE | Réunion |
RO | Romania |
RU | Russian Federation |
RW | Rwanda |
BL | Saint Barthélemy |
SH | Saint Helena, Ascension and Tristan da Cunha |
KN | Saint Kitts and Nevis |
LC | Saint Lucia |
MF | Saint Martin (French part) |
PM | Saint Pierre and Miquelon |
VC | Saint Vincent and the Grenadines |
WS | Samoa |
SM | San Marino |
ST | Sao Tome and Principe |
SA | Saudi Arabia |
SN | Senegal |
RS | Serbia |
SC | Seychelles |
SL | Sierra Leone |
SG | Singapore |
SX | Sint Maarten (Dutch part) |
SK | Slovakia |
SI | Slovenia |
SB | Solomon Islands |
SO | Somalia |
ZA | South Africa |
GS | South Georgia and the South Sandwich Islands |
SS | South Sudan |
ES | Spain |
LK | Sri Lanka |
SD | Sudan |
SR | Suriname |
SJ | Svalbard and Jan Mayen |
SE | Sweden |
CH | Switzerland |
SY | Syrian Arab Republic |
TW | Taiwan (Province of China) |
TJ | Tajikistan |
TZ | Tanzania, the United Republic of |
TH | Thailand |
TL | Timor-Leste |
TG | Togo |
TK | Tokelau |
TO | Tonga |
TT | Trinidad and Tobago |
TN | Tunisia |
TR | Türkiye |
TM | Turkmenistan |
TC | Turks and Caicos Islands |
TV | Tuvalu |
UG | Uganda |
UA | Ukraine |
AE | United Arab Emirates |
GB | United Kingdom |
US | United States of America |
UM | United States Minor Outlying Islands |
UY | Uruguay |
UZ | Uzbekistan |
VU | Vanuatu |
VE | Venezuela, Bolivarian Republic of |
VN | Viet Nam |
VG | Virgin Islands (British) |
VI | Virgin Islands (U.S.) |
WF | Wallis and Futuna |
EH | Western Sahara |
YE | Yemen |
ZM | Zambia |
ZW | Zimbabwe |
Validation Rules
bill.Invoice
bill.Invoice
| Field | Test | Validation Code / Message |
|---|---|---|
| Invoice |
| GOBL-PT-BILL-INVOICE-11Value date must not be after issue date |
| Invoice |
| GOBL-PT-BILL-INVOICE-12Operation date must not be after issue date |
| Invoice |
| GOBL-PT-BILL-INVOICE-13Preceding document issue dates must not be after invoice issue date |
| Invoice |
| GOBL-PT-BILL-INVOICE-14Advance payment dates must not be after invoice issue date |
| Invoice |
| GOBL-PT-BILL-INVOICE-15Payment due dates must not be before invoice issue date |
typeCalculated |
| GOBL-PT-BILL-INVOICE-01Invoice type is not valid for Portugal |
preceding |
| GOBL-PT-BILL-INVOICE-02Preceding is required for credit and debit notes |
supplier.tax_id |
| GOBL-PT-BILL-INVOICE-03Supplier tax ID is required |
supplier.tax_id.code |
| GOBL-PT-BILL-INVOICE-04Supplier tax ID code is required |
lines[*].quantity |
| GOBL-PT-BILL-INVOICE-05Line quantity must be zero or positive |
lines[*].item.price |
| GOBL-PT-BILL-INVOICE-06Item price must be zero or positive |
totals.dueCalculated |
| GOBL-PT-BILL-INVOICE-07Due amount must be zero or positive |
tax.Combo
tax.Combo
| Field | Test | Validation Code / Message |
|---|---|---|
ext |
| GOBL-PT-TAX-COMBO-01Pt-region extension is required for VAT |
tax.Identity
tax.Identity
| Field | Test | Validation Code / Message |
|---|---|---|
code |
| GOBL-PT-TAX-IDENTITY-01Invalid Portuguese NIF tax identity code |