> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gobl.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Portugal

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.

## 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      | <br />PT-AC<br />PT-MA | 23.0% <br />16.0% <br />22.0% |             |
| `intermediate` | `standard` | Intermediate Rate | <br />PT-AC<br />PT-MA | 13.0% <br />9.0% <br />12.0%  |             |
| `reduced`      | `standard` | Reduced Rate      | <br />PT-AC<br />PT-MA | 6.0% <br />4.0% <br />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-note`
* `debit-note`

## Extensions

### Region Code

SAF-T's `TaxCountryRegion` (País ou regiã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.) |

For example:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	// ...
	"lines": [
		{
			// ...
			"item": {
				"name": "Some service",
				"price": "25.00"
			},
			"tax": [
				{
						"cat": "VAT",
						"rate": "exempt",
						"ext": {
							"pt-region": "PT-AC",
							// ...
						}
				}
			]
		}
	]
}
```

<Accordion title="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                                     |
</Accordion>

## Validation Rules

<AccordionGroup>
  <Accordion title="bill.Invoice">
    | Field                                                                     | Test                                                                                                                              | Validation Code / Message                                                                          |
    | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
    | <small>Invoice</small>                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Value date not after issue date</li></ul>                              | `GOBL-PT-BILL-INVOICE-11`<br />Value date must not be after issue date                             |
    | <small>Invoice</small>                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Operation date not after issue date</li></ul>                          | `GOBL-PT-BILL-INVOICE-12`<br />Operation date must not be after issue date                         |
    | <small>Invoice</small>                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Preceding dates not after issue date</li></ul>                         | `GOBL-PT-BILL-INVOICE-13`<br />Preceding document issue dates must not be after invoice issue date |
    | <small>Invoice</small>                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Advance dates not after issue date</li></ul>                           | `GOBL-PT-BILL-INVOICE-14`<br />Advance payment dates must not be after invoice issue date          |
    | <small>Invoice</small>                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Due dates not before issue date</li></ul>                              | `GOBL-PT-BILL-INVOICE-15`<br />Payment due dates must not be before invoice issue date             |
    | `type`<br /><small class="gobl-field-calculated">Calculated</small>       | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>One of \[standard, credit-note, debit-note, proforma, other]</li></ul> | `GOBL-PT-BILL-INVOICE-01`<br />Invoice type is not valid for Portugal                              |
    | `preceding`                                                               | <ul class="gobl-test"><li>Invoice type in \[credit-note, debit-note]</li><li class="gobl-test-present">Present</li></ul>          | `GOBL-PT-BILL-INVOICE-02`<br />Preceding is required for credit and debit notes                    |
    | `supplier.tax_id`                                                         | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li class="gobl-test-present">Present</li></ul>                            | `GOBL-PT-BILL-INVOICE-03`<br />Supplier tax ID is required                                         |
    | `supplier.tax_id.code`                                                    | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li class="gobl-test-present">Present</li></ul>                            | `GOBL-PT-BILL-INVOICE-04`<br />Supplier tax ID code is required                                    |
    | `lines[*].quantity`                                                       | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Min 0</li></ul>                                                        | `GOBL-PT-BILL-INVOICE-05`<br />Line quantity must be zero or positive                              |
    | `lines[*].item.price`                                                     | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Min 0</li></ul>                                                        | `GOBL-PT-BILL-INVOICE-06`<br />Item price must be zero or positive                                 |
    | `totals.due`<br /><small class="gobl-field-calculated">Calculated</small> | <ul class="gobl-test"><li>Context: regime in \[PT]</li><li>Min 0</li></ul>                                                        | `GOBL-PT-BILL-INVOICE-07`<br />Due amount must be zero or positive                                 |
  </Accordion>

  <Accordion title="tax.Combo">
    | Field | Test                                                                                           | Validation Code / Message                                           |
    | ----- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
    | `ext` | <ul class="gobl-test"><li>String(Category) == "VAT"</li><li>Ext require \[pt-region]</li></ul> | `GOBL-PT-TAX-COMBO-01`<br />Pt-region extension is required for VAT |
  </Accordion>

  <Accordion title="tax.Identity">
    | Field  | Test                                                            | Validation Code / Message                                               |
    | ------ | --------------------------------------------------------------- | ----------------------------------------------------------------------- |
    | `code` | <ul class="gobl-test"><li>Code in \[PT]</li><li>Valid</li></ul> | `GOBL-PT-TAX-IDENTITY-01`<br />Invalid Portuguese NIF tax identity code |
  </Accordion>
</AccordionGroup>
