All articles
Technical guides19 September 20269 min

Invoicing Shopify Orders in Portugal: The Complete Guide

What Shopify does not do on its own in Portugal, how to collect the VAT number at checkout, when to issue, and how to connect the shop to certified software without touching the checkout.

Shopify is excellent at selling and it does not issue a single valid invoice in Portugal. That is not a flaw: Shopify is not software certified by the tax authority, and in Portugal only certified software may issue tax documents.

What Shopify produces is an order confirmation. It looks like an invoice, it carries amounts and VAT, and it is worth nothing for tax purposes. No ATCUD, no QR Code, no filed series, nothing in your SAF-T.

This guide is the whole path, from checkout to certified document.

What has to exist before you sell

Three things, in this order:

  1. An account with certified software. InvoiceXpress, Moloni and Vendus are the three most used. If you are still choosing, there is a comparison of all three.
  2. A series filed with the tax authority, with an ATCUD validation code. Guides per software: InvoiceXpress, Moloni, Vendus.
  3. A bridge between the shop and that software, turning every paid order into a document.

The classic mistake is doing this in reverse: opening the shop, selling for three months, and only then realising there are no tax documents for that period. Regularising 200 past orders is expensive and never entirely clean.

The path of an order

ShopifyPaid orderRIOKOPayment confirmedIt only enters once it is paid.Buyer and VAT numberFrom the checkout or the customer record.Regime and VATCountry, business or consumer, VIES.Series and typeThe filed series, the right type.Certified softwareIssues the documentThe certified software always issues. Rioko decides what to send it, and refuses to send what it cannot justify.From Shopify to Certified software: what gets decided on the way.

The VAT number: the field Shopify does not have

The Shopify checkout has no tax number field. There are three ways around it, with different results:

| Approach | How it works | Limitation | |---|---|---| | Extra checkout field | An additional field, through a Checkout UI extension or an app | Certain checkout positions require Shopify Plus | | Order notes | The customer types the number into the notes | Free text: it arrives with spaces, dots, "VAT:" in front | | Customer record | The number is stored on the customer and reused on later orders | Only works from the second purchase onwards |

Whichever you use, the number has to be cleaned and validated before it reaches the invoicing software. A number with spaces or letters creates a new, wrong customer in the certified package, and correcting it later means editing the customer record, not the document.

For business customers in other EU countries the number needs its country prefix (ES, FR, DE) and has to pass VIES. See Intra-EU reverse charge.

When to issue: paid, not ordered

An order created is not a sale completed. In Portugal, with Multibanco, MB Way or bank transfer, the order exists long before the money does, and a share of them are never paid.

The sane rule is to invoice when the order's financial status becomes paid. Invoicing on creation produces documents for sales that never happened, and each one has to be undone with a credit note.

There are legitimate exceptions: anyone working on credit with business customers issues the invoice and gets paid later. But that is a decision, not a configuration accident.

Which document type

| Situation | Document | |---|---| | Paid at once, customer asked for an invoice with a VAT number | Invoice-receipt (FR) | | Paid at once, consumer with no VAT number, up to €1,000 | Simplified invoice (FS) | | On credit, to be paid later | Invoice (FT), then a Receipt (RC) | | Refund or cancellation | Credit note (NC) |

Each type needs its own filed series. A typical shop needs at least two: sales and credit notes.

VAT: what Shopify calculates and what stays yours

Shopify calculates VAT and, configured properly, applies rates by country. The tax document has to come out with exactly the total the customer paid: if the invoicing software recalculates on its own and lands three cents away, the document stops matching the payment.

What remains your responsibility, outside Shopify:

  • Being registered for OSS if you sell above the threshold into the EU (guide).
  • Applying reverse charge to EU businesses, which Shopify does not do on its own.
  • Carrying the right exemption code on zero-rated lines (table).
  • Shipping: as a rule it follows the rate of the goods being shipped. A basket with mixed rates has to be apportioned.

Refunds

A Shopify refund is not a tax document. An invoice already issued is only undone by a credit note, in its own series.

Two distinct situations, and treating them as one is where the accounting drifts:

  • Partial refund: the credit note carries the returned lines, not a lump sum.
  • Full cancellation: the credit note mirrors the entire invoice.

Shopify app or external bridge

The invoicing apps on the Shopify store solve the simple case: Portuguese shop, Portuguese customers, VAT at 23%, no complicated refunds.

Where they typically stop being enough:

  • EU sales with OSS and per-country rates.
  • Business customers with reverse charge and VIES validation.
  • More than one payment source (Shopify and Stripe and manual payments).
  • Automatic credit notes from refunds.
  • Reconciliation: knowing, at month end, that no sale went uninvoiced.

How Rioko helps

Rioko connects to the shop by webhook, with no checkout extensions and without touching the theme. When an order becomes paid, the webhook arrives, the buyer and the VAT number are resolved, the VAT regime is decided from the buyer's country and status, and the document comes out in the series you chose, in the certified software you already use.

What is rarely there in the alternatives, and where the time goes:

  • Daily reconciliation. Every morning the period's orders are compared against the documents that exist. An uninvoiced sale shows up in the dashboard instead of being discovered by your accountant in April.
  • No guessing. If VIES does not answer, or the series is not configured, issuing stops and says so. A late invoice can be fixed; a wrong certified invoice takes a credit note.
  • Idempotency. The same order is not invoiced twice, even when Shopify repeats the webhook, and it does.

Connect your Shopify store →

#Shopify#Invoicing#VAT number#E-commerce#ATCUD

Frequently asked questions

Does the Shopify order confirmation count as an invoice?

No. Shopify is not certified by the Portuguese tax authority: the document it produces has no ATCUD, no filed series, and never enters your SAF-T file.

Where does the customer enter a VAT number in the Shopify checkout?

There is no native field. It is solved with an extra checkout field, with the order notes, or by storing the number on the customer record for later purchases.

Should I invoice when the order is created or when it is paid?

When it is paid, unless you have decided to work on credit. With bank transfer and local payment methods the order exists long before the money, and some orders are never paid.

Does a Shopify refund cancel the invoice?

No. A certified document is only undone by a credit note: with the returned lines if it is partial, mirroring the whole invoice if it is a cancellation.

Are the Shopify invoicing apps enough?

For the simple case, yes. They stop being enough with OSS, with reverse charge and VIES, with more than one payment source in the same shop, or when you need to know at month end that no sale went uninvoiced.

Still have questions

Write the question. It reaches a person, not a form.

Related articles

Invoicing Shopify Orders in Portugal: The Complete Guide — Rioko blog