Module 5 · 5.6
English
Invoices and record-keeping
Module 5: Obligations and terms · Reading time: 10 minutes
Learning objective: After this lesson you can explain when a web shop must issue an invoice, what has to be on it in each country, how to handle refunds in your records and how long to keep everything, and you can choose how to get invoices out of WooCommerce.
Key concepts: invoice, receipt, invoice requirements, sequential invoice number, simplified invoice, credit note, OSS and invoices, intra-Community supply, e-invoice (B2B), Peppol, retention obligation, accounting integration
This lesson explains the rules as they apply on 9 November 2026. It is not legal or tax advice. If you are unsure about your situation, ask a lawyer, your trade association or your accountant.
Does a shop actually have to issue invoices?
That depends on who is buying and where.
- To businesses (B2B) you must issue an invoice in the EU. Without an invoice your business customer cannot deduct the VAT.
- To consumers (B2C) in your own country an invoice is usually not required for VAT; an order confirmation or receipt is often enough. Many customers do expect one, though, and a sequentially numbered document is useful for your own records.
- Distance sales to consumers in other EU countries (lesson 4.2): if you use the Union scheme (One-Stop Shop, OSS) in the Netherlands, the Dutch invoicing rules apply and you do not have to issue an invoice for VAT, according to the Belastingdienst (Dutch Tax Administration). If you file the return in the other country yourself, that country's invoicing rules apply.
A simplified invoice (fewer details) is allowed in the Netherlands up to € 100 including VAT, but not for intra-Community supplies, distance sales and a few other cross-border cases.
What must be on an invoice
The requirements come from the European VAT Directive and are almost the same in every country. An overview:
| Detail | Netherlands (Belastingdienst) | Germany (§ 14 Abs. 4 UStG) |
|---|---|---|
| Date of issue | yes | yes ("Ausstellungsdatum") |
| Unique, sequential invoice number | yes, in one or more series | yes ("fortlaufende Nummer") |
| Name and address of you and the customer | yes | yes ("vollständiger Name und Anschrift") |
| Your VAT identification number (or in DE the Steuernummer) | yes | yes |
| KVK number (Dutch Chamber of Commerce) | yes | no (but it is in the Impressum, lesson 5.1) |
| What was supplied and how much | yes | yes |
| Date of supply (or advance payment) | yes | yes |
| Amount excluding VAT, per rate | yes | yes |
| VAT rate and VAT amount | yes | yes |
| For reverse charge or exemption: the reason | yes | yes |
The same European principles apply in Belgium; have your accountant confirm what must be on the invoice in your case, especially regarding the company number and reverse charges.
For an intra-Community supply to a business (lesson 4.1), the invoice also shows the customer's VAT number and a statement that the VAT is reverse-charged.
Refunds and credit notes
If you have issued an invoice and the customer withdraws (lesson 5.2) or you refund part of the amount, you do not change the original invoice. You create a credit note: a new document with its own number, a reference to the original invoice, and negative amounts. That keeps your numbering free of gaps and your VAT return correct: the VAT on the credit note is deducted again in the period of the refund.
Pitfalls:
- Deleting or renumbering an invoice. That leaves a gap in the series, and it stands out in an audit.
- Making a refund in WooCommerce without creating a credit note. WooCommerce records the refund on the order, but your accounting knows nothing about it if there is no integration.
- Leaving a test order with a real invoice number. Use a different number series in the test shop, or switch off invoice creation there.
How to get invoices out of WooCommerce
WooCommerce does not create an invoice PDF by default, nor sequential invoice numbers: the order number is an internal number that is not always sequential (cancelled and failed orders get a number too). You have three routes:
- An invoice plugin that creates a PDF with its own sequential number at a certain status (usually "Processing" or "Completed") and attaches it to the email. Choose one that can create credit notes and lets you set the numbering yourself.
- An integration with your accounting software: the order goes to the accounting software, which creates and sends the invoice. Everything is then in one place, including OSS overviews per country and VAT rate. Many accounting packages have a WooCommerce integration.
- The payment provider or an external service that creates invoices. Check that the numbering and the details meet the requirements.
Assess each plugin or integration as in the WordPress course, lesson 5.3, and ask your accountant which route suits your records. At Theehuis Example the accounting software creates the invoices; the shop only passes on the order details. That way Theehuis has a single number series and an overview of sales per EU country for the OSS return.
E-invoices between businesses
If you also sell to businesses, keep an eye on e-invoicing: an invoice in a structured format that a computer can read (not a PDF).
- Belgium: since 1 January 2026, e-invoices between Belgian VAT-registered businesses are mandatory, in practice via the Peppol network (FPS Finance (FOD Financiën), efactuur.belgium.be).
- Germany: between businesses established in Germany, the e-invoice is the norm (§ 14 UStG); businesses must be able to receive them, and sending them is becoming mandatory in phases.
- Netherlands: (as of November 2026) no general obligation between businesses yet.
Nothing changes for consumers: they simply get a PDF or a confirmation. If you sell to Belgian or German businesses, ask your accounting software provider whether it can send e-invoices.
How long to keep records
| Country | What | How long | Source |
|---|---|---|---|
| Netherlands | Your records, including invoices | 7 years | Article 52 of the General State Taxes Act (Algemene wet inzake rijksbelastingen, AWR); Belastingdienst |
| Belgium | Invoices for VAT | 10 years (for VAT that became due from 2023) | Article 60 of the Belgian VAT Code (Btw-Wetboek) |
| Germany | Invoices | 8 years | § 14b UStG |
Keeping records also means keeping them readable and retrievable, even if you switch shop software or remove a plugin. Export invoices regularly to your accounting system or archive. And align this with the retention periods in WooCommerce (lessons 2.3 and 5.5): if you anonymise completed orders after a few years, make sure the invoice data is kept elsewhere.
Summary
- Always an invoice for businesses; for consumers in your own country usually not required; within the OSS the Dutch rules apply and no invoice is needed for VAT.
- On an invoice: date, sequential number, details of both parties, VAT identification number, what was supplied and when, amounts per rate and VAT; in Germany according to § 14 Abs. 4 UStG.
- A refund means a credit note with a reference, never deleting an invoice.
- WooCommerce does not create invoices itself: choose a plugin, an accounting integration or a service.
- Retention: Netherlands 7 years, Belgium 10 years for VAT, Germany 8 years for invoices.
Quiz
Exercise
Exercise D5.6: Check your invoice. Place a test order in your test shop and create the invoice (or, if you do not issue invoices to consumers, the confirmation the customer receives). Compare it with the invoice requirements for your country from this lesson. Tick off: all required details checked; sequential numbering checked (also after a cancelled order); credit note for a refund arranged; retention period and storage location recorded; your OSS situation taken into account.
Answer: which details were missing and how will you fix that? How do you create invoices: plugin, accounting software or payment provider, and why? What happens with a refund, from WooCommerce to your accounting? How long and where do you keep the invoices, including if you ever switch shop software?
Exercise D5.6: Check your invoice
You do this exercise yourself; no one checks it. Tick off what you've done and mark the exercise as done.
A list that matches the country (NL: Belastingdienst (Dutch Tax Administration), BE, DE: § 14 Abs. 4 UStG); consecutive numbers with no gaps or duplicates; credit note referring to the original invoice; retention period NL 7, BE 10 (VAT), DE 8 years (invoices).
Your ticks and notes only stay in this browser; we don't send them anywhere. If you're signed in, we only save in My courses that you've done the exercise.
Further reading
- What requirements must invoices meet? (Belastingdienst, Dutch): https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/facturen_maken/factuureisen/factuureisen
- Simplified invoice (Belastingdienst, Dutch): https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/facturen_maken/factuureisen/aangepaste_regels_facturen/vereenvoudigde_factuur
- Keeping your invoices (Belastingdienst, Dutch): https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/facturen_maken/uw_facturen_bewaren
- Distance sales within the EU and the Union scheme (Belastingdienst, Dutch): https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/zakendoen_met_het_buitenland/afstandsverkopen-zoals-e-commerce-en-diensten-voor-particulieren-in-andere-eu-landen/afstandsverkopen-zoals-e-commerce-binnen-de-eu/
- E-invoicing in Belgium (FPS Finance, Dutch): https://efactuur.belgium.be/nl
- § 14 UStG, Ausstellung von Rechnungen (German): https://www.gesetze-im-internet.de/ustg_1980/__14.html
- § 14b UStG, Aufbewahrung von Rechnungen (German): https://www.gesetze-im-internet.de/ustg_1980/__14b.html
- Free WordPress course 5.3: Choosing and assessing plugins
