Portugal VAT Rates

The standard rate in Portugal is 23%, in force since 1 Jan 2011. Before that, Portugal changed it 6 times since 1986 — every change below carries the date it took effect and the Commission record it came from.

Standard rate today

23%

Since 1 Jan 2011 — 15 years

Previous rate

21%

Until 31 Dec 2010

First recorded rate

16%

From 1 Jan 1986

Portugal VAT Rates in Force Today

Standard rate
23%
Reduced rates
6%, 13%, 16%, 22%
Super-reduced rate
6%
Parking rate
13%
Local name
Imposto sobre o Valor Acrescentado (IVA)
Currency
EUR
VAT number format
PT + 9 digits
^PT\d{9}$
EU membership
EU member state

Checking a Portuguese VAT number rather than a rate? The number format, its regex and verified example numbers are on the Portugal VAT number page.

Use this VAT rate in your application

Copy a package, CDN, or keyless HTTP example for PT.

import { getRate } from 'eu-vat-rates-data'

const rate = getRate('PT')
console.log(rate.standard, rate.reduced)

The CDN URL is cached for distribution. Use a version tag instead of @main when you need reproducible builds.

Standard Rate Changes in Portugal

In force fromUntilStandard rate
1 Jan 2011Current23%
1 Jul 201031 Dec 201021%
1 Jul 200830 Jun 201020%
1 Jul 200530 Jun 200821%
5 Jun 200230 Jun 200519%
1 Feb 19884 Jun 200217%
1 Jan 198631 Jan 198816%

Where This Data Comes From

Two European Commission sources, joined at 1 Jan 2017, where they agree on every member state. Nothing here is estimated, and periods are never rewritten once published – a rate change is a new record, not an edit to an old one.

The whole series for all 27 member states is one JSON file, MIT licensed, no API key: eu-vat-rates-history.json. Last rebuilt 28 Sep 2026.

Current EU rates last fetched from EC TEDB: 28 Sep 2026. This is the source-fetch date, not the date the rate last changed.

Historical rates are published for reference. Which rate applies to a given supply also depends on the place-of-supply and time-of-supply rules in force at the time, which this dataset does not model. For Portuguese filings, confirm with the tax authority or an adviser. The Commission’s own record has gaps – where one is known, the missing period is filled from national legislation and labelled as such above. Spot another, and the issue tracker is open.

The update scripts, source data, and audit trail are public in the canonical GitHub repository. If this dataset is useful in your project, a star helps other developers find it.