Portuguese VAT Exemption Codes M01–M99: Which One Each Sale Needs
The full table of the Portuguese tax authority's exemption reasons, what each code actually means, and how to pick the right one from the buyer instead of defaulting to M01.
Whenever a line on an invoice comes out at 0%, Portuguese law requires the document to say why. That "why" is not free text: it is an exemption reason code, from M01 to M99, which travels on the document, into the SAF-T file, and from there into what the tax authority understands about your business.
Picking the wrong code fails nothing at the time. It fails months later, when somebody cross-checks your sales against the code you declared and the two stop telling the same story.
This article explains what each code means, which ones actually show up in e-commerce, and how to choose from the buyer rather than from habit.
First: the code only exists when the rate is zero
Simple rule, often forgotten: the exemption code only applies to lines at 0%. A sale at 23%, 13% or 6% carries no code at all, because the rate already says everything.
If you see an exemption code on a line with VAT charged, something is crossed in the configuration.
The full table
This is the table in force since July 2022, with the wording that goes on the document and, under each one, a concrete case, because the legal wording alone rarely lets anyone recognise their own sale. Codes M03 and M08 were withdrawn: M08 was split into M30–M34 and M40–M43, the reverse-charge codes.
| Code | Reason, as it prints on the document · and a concrete case |
|---|---|
| M01 | Artigo 16.º, n.º 6 do CIVAYou advance a trademark registration fee and bill it on at cost: that amount is excluded from the taxable base. |
| M02 | Artigo 6.º do Decreto-Lei n.º 198/90, de 19 de junhoYou sell goods to a national exporter, who exports them and gives you the proof. |
| M04 | Isento artigo 13.º do CIVARe-importing goods of yours that had left for repair abroad. |
| M05 | Isento artigo 14.º do CIVAYour shop ships an order to Brazil or the United States, with proof the goods left the EU. |
| M06 | Isento artigo 15.º do CIVAGoods sold while in a customs warehouse or free zone, before entering free circulation. |
| M07 | Isento artigo 9.º do CIVAA nutrition consultation, or certified professional training, billed by someone qualified to provide it. |
| M09 | IVA – não confere direito a dedução (artigo 62.º alínea b) do CIVA)You sell the company van whose purchase gave no right to deduct VAT. |
| M10 | Regime especial de isenção artigo 53.º do CIVAYou are a trainer or designer working alone, below the article 53 threshold: every invoice you issue comes out this way. |
| M11 | Regime particular do tabaco (Decreto-Lei n.º 346/85)Tobacco resale by an establishment operating under the sector's own regime. |
| M12 | Regime da margem de lucro – Agências de viagensAn agency sells a travel package: VAT falls on the margin, not on the amount charged to the customer. |
| M13 | Regime da margem de lucro – Bens em segunda mãoA shop selling refurbished phones or second-hand clothing bought from private individuals. |
| M14 | Regime da margem de lucro – Objetos de arteA gallery sells a painting it bought directly from the artist. |
| M15 | Regime da margem de lucro – Objetos de coleção e antiguidadesAn auction of collectors' coins or antique furniture. |
| M16 | Isento artigo 14.º do RITIYou ship physical product to a German company whose VAT number VIES confirmed as valid. |
| M19 | Outras isenções temporárias, em diploma próprioGoods covered by a temporary exemption created in its own statute, during the period it was in force. |
| M20 | IVA – regime forfetário (artigo 59.º-D n.º 2 do CIVA)A small farmer covered by the flat-rate scheme. |
| M21 | IVA – não confere direito à dedução (artigo 72.º n.º 4 do CIVA)You resell goods that had been used in an exempt activity and whose VAT was never deducted. |
| M25 | Mercadorias à consignação (artigo 38.º n.º 1 alínea a) do CIVA)You ship items on consignment to a shop: only the ones sold are invoiced with VAT. |
| M26 | Cabaz alimentar — isenção com direito a dedução (regime terminado a 04/01/2024)Only appears on documents from the food basket period. On a document issued today, it is wrong. |
| M30 | IVA – autoliquidação: sucatas e resíduos (artigo 2.º n.º 1 alínea i))Sale of scrap metal to a national operator, who accounts for the VAT. |
| M31 | IVA – autoliquidação: construção civil (artigo 2.º n.º 1 alínea j))A subcontractor invoices the works to the main contractor: the contractor accounts for the VAT. |
| M32 | IVA – autoliquidação: direitos de emissão (artigo 2.º n.º 1 alínea l))Transfer of greenhouse gas emission allowances. |
| M33 | IVA – autoliquidação: cortiça e madeira (artigo 2.º n.º 1 alínea m))A forestry producer sells raw cork to the processing industry. |
| M34 | IVA – autoliquidação: eletricidade em autoconsumo (artigo 2.º n.º 1 alínea n))You sell your solar panels' surplus to the electricity supplier under self-consumption. |
| M40 | IVA – autoliquidação: serviços a sujeito passivo de outro país (artigo 6.º n.º 6 alínea a), a contrário)You invoice consultancy, software licences or a subscription to a French company with a valid VIES number. |
| M41 | IVA – autoliquidação: operações triangulares (artigo 8.º n.º 3 do RITI)You buy in Spain and the goods go straight to your customer in Italy, never passing through Portugal. |
| M42 | IVA – autoliquidação: imóveis com renúncia (Decreto-Lei n.º 21/2007)You let a warehouse having waived the VAT exemption in that contract. |
| M43 | IVA – autoliquidação: ouro para investimento (Decreto-Lei n.º 362/99)Sale of a gold bar or coin meeting the investment gold requirements. |
| M44 | Não sujeito: operação não localizada em Portugal (artigo 6.º do CIVA)You supply a service on a property located in Spain: the operation is not located in Portugal. |
| M45 | Regime transfronteiriço de isenção (artigo 58.º-A do CIVA)A small Portuguese business selling to consumers in another member state under the cross-border SME exemption. |
| M46 | Bens em bagagem de viajante fora da UE, e-TaxFree (Decreto-Lei n.º 19/2017)A traveller from outside the EU buys in your shop and carries the goods in their luggage, with an e-TaxFree form validated on exit. |
| M99 | Não sujeito; não tributado (ou similar)An indemnity, a deposit or a membership fee: amounts outside the scope of VAT. |
There are many. In practice a Portuguese online shop uses five or six, and most of this table exists for specific sectors: construction, scrap, cork, art, travel, gold.
The ones that actually show up in e-commerce
M05, exempt under article 14 of the CIVA (export)
Goods that left the European Union. You sold to Brazil, to the United Kingdom, to the United States, and the goods actually left. It is a claim about where the goods went, which is why it has to be backed by proof of export.
M16, exempt under article 14 of the RITI (intra-EU reverse charge)
A business registered in another EU country, with a VAT number confirmed in VIES. The VAT becomes the buyer's obligation. Without VIES confirmation this code is not used. See Intra-EU reverse charge.
M40, reverse charge: services to a taxable person abroad
Services supplied to a business in another country, under article 6(6)(a) read the other way round. It is M16's counterpart for people selling services rather than goods. Confusing the two is the most common error of all: M16 is the RITI, for goods; M40 is the CIVA, for services.
M10, special exemption scheme, article 53
The seller is the one exempt, by being covered by article 53. It does not depend on the buyer or the country: while you are in that scheme, all your invoicing comes out this way.
M07, exempt under article 9
Activities exempt by their nature: health, education, training, certain cultural activities. Again a property of the seller and the service, not of the buyer.
M99, not subject, not taxed
The bag everything falls into when nobody decided anything. Sometimes it is legitimate, since some operations genuinely are outside the scope. Often it is just the symptom of a configuration nobody ever reviewed.
How to choose: start from the buyer, not from habit
This is the right order to think in. Who the buyer is determines the regime; the regime determines the rate; the rate, if it is zero, determines the code.
Who the buyer is decides the regime; the regime decides the rate and the code. In that order, never the reverse.Notice the code is never the first step. When somebody asks "which code do I put?", the question underneath is always "which regime is this sale?".
The M01 case, which is everywhere
M01 is article 16(6) of the CIVA: amounts excluded from the taxable base. Things like financial discounts and sums paid in the name and on behalf of the customer.
In other words, it is not a generic exemption code. But it is the default in half the software and integrations on the market, which is why you find M01 on documents where it makes no sense at all: exports, sales to foreign businesses, article 53 exemptions.
If you opened your account and never chose a code, you are probably issuing with M01. It is worth a look. Not because the tax authority will knock tomorrow, but because correcting ten documents is trivial and correcting two thousand is not.
Common mistakes
- A zero-rated code with no regime behind it. A 0% document with M16 and no buyer VAT number on it cannot be defended: the code asserts the buyer is a business registered in another member state, and the document does not show which.
- M16 on services, M40 on goods. The two are swapped in many configurations. If you sell physical goods to EU businesses, it is M16.
- M05 on sales inside the EU. Article 14 of the CIVA is export. A sale to Spain is not an export, however far away Spain feels.
- Changing the code mid-year without recording why. It is legitimate, since a product's classification can genuinely change, but whoever audits the older documents will see two codes for identical sales and will ask. Leave a note.
- Issuing at 0% "to keep things simple". It simplifies nothing: it moves the problem to the periodic return.
How Rioko helps
Rioko does not ask you to pick a code sale by sale. It asks you to declare your registrations: whether you are registered for OSS, whether you supply services under reverse charge, whether you are under article 53. From there it decides each sale's regime from facts about the buyer: the country, whether they are a business, and what VIES answered.
The code follows from that regime. The same decision serves InvoiceXpress, Moloni and Vendus, because it is taken before any of them sees the sale, rather than inside each integration with slightly different rules.
And there is one thing Rioko does not do: invent a code. If a sale is at 0% and nothing in your registrations justifies a concrete reason, issuing stops and says so, instead of stamping M01 and moving on.
Frequently asked questions
When do I have to put an exemption code on a line?
Only when the line comes out at 0%. A sale with VAT charged carries no code: the rate already says everything.
What is the difference between M16 and M40?
M16 is article 14 of the RITI and covers goods sold to businesses in another member state. M40 is article 6(6) of the CIVA and covers services supplied to a taxable person in another country. Swapping them is the most frequent error.
Why do all my invoices come out with M01?
Because it is the default in many packages and integrations. M01 is article 16(6), amounts excluded from the taxable base, and it is rarely the right code on an online sale.
Can I use M99 when I do not know which to choose?
It is a bad idea. M99 means not subject, not taxed. There are operations where it is legitimate, but using it as a catch-all just moves the problem to the periodic VAT return.
Have the codes ever changed?
They have. Since July 2022 M03 and M08 were withdrawn, and M08 was split into the reverse-charge codes M30 to M34 and M40 to M43.
Still have questions
Write the question. It reaches a person, not a form.