Key Takeaways
- The ZM reports your intra-EU B2B supplies and stock transfers, never B2C or domestic German sales.
- It is due by the 25th day after the reporting period ends (§18a UStG), and the Dauerfrist extension does not apply to it.
- Zero-rating a cross-border B2B sale depends on the customer’s VAT ID being valid, which is why every ID is checked against VIES.
- Vaytax builds the ZM from the same uploaded sales report as your UStVA, and it is included in the monthly plan.
Information verified by Vaytax as of July 2026. Sources: §18a UStG (ZM periods and deadline), §6a UStG (zero-rated intra-Community supplies), EU VIES register.
If you are registered for German VAT and sell B2B into other EU countries, your monthly return is not your only filing. Alongside the UStVA sits the German EU sales list (ZM, short for the German recapitulative statement): a line-by-line report of every zero-rated cross-border B2B supply you made, and of every pallet a fulfilment network moved from Germany into another EU warehouse. Foreign sellers meet the ZM late and usually the hard way, through a mismatch query. This guide covers what it is, when it is due, and how Vaytax builds it from the sales report you already upload.
What is the ZM (EU sales list)?
The ZM is Germany’s EU sales list: the recapitulative statement that reports your intra-EU B2B supplies from Germany. It lists each zero-rated cross-border sale to a VAT-registered business in another EU country, plus intra-community stock transfers between EU warehouses, one line per customer VAT ID. It is filed alongside your UStVA, but it is a separate filing with its own deadline.
Where the UStVA goes to your local Finanzamt, the ZM goes to the Bundeszentralamt für Steuern (BZSt), Germany’s federal central tax office. Every EU member state collects an equivalent list, and the data is matched across borders: the intra-EU supply your ZM reports to a French customer should show up as an acquisition in that customer’s own French reporting. That cross-check is the whole point of the system, and it is why errors on a ZM tend to surface as letters rather than staying buried. The German VAT glossary has the one-paragraph definition if you just need the term.
Who has to file a ZM in Germany?
Any business registered for German VAT that makes intra-EU B2B supplies with valid customer VAT IDs has to file a ZM, and that fully includes foreign companies with a German VAT registration. If you sell zero-rated cross-border B2B from German stock, or a fulfilment network moves your inventory from Germany into another EU country, you have ZM entries to report.
Two things never appear on it. First, B2C sales: sales to consumers, whether German or cross-border, are not intra-EU B2B supplies. Cross-border B2C is handled through OSS or local VAT registrations, which are entirely separate systems with their own returns. Second, domestic German sales: a sale from your German stock to a German business or consumer carries German VAT and belongs on the UStVA only. The ZM is exclusively the cross-border B2B layer, which is also why a purely domestic or purely B2C seller can be German-VAT-registered for years without ever filing one.
When is the ZM due?
Under §18a UStG the ZM is due by the 25th day after the end of the reporting period. The reporting period is normally the calendar month once intra-EU goods supplies exceed €50,000 in a quarter; in smaller cases quarterly reporting is possible. So the cadence depends on your volumes, and a growing seller can be pulled from quarterly into monthly reporting mid-year.
One trap catches even organised filers: the Dauerfrist extension does not apply to the ZM. The permanent one-month deadline extension many foreign sellers hold applies to the UStVA, not the ZM. So even if your VAT return for May is extended into July, the May ZM is still due on 25 June. If your compliance calendar assumes both filings move together, the ZM is the one that quietly goes late. Where the 25th falls on a weekend or German public holiday, the deadline shifts to the next working day.
Why do customer VAT IDs matter (VIES)?
Zero-rating an intra-EU B2B supply depends on your customer holding a valid EU VAT ID. If the ID is invalid, expired, or belongs to someone else, the zero rate for that supply is at risk: German VAT can become due on a sale you never charged it on, and the margin on that order is gone. Validity is checked against VIES, the EU’s official VAT ID register.
The ZM makes this concrete because it is built from those IDs, one line per customer. An ID that fails VIES produces a line the cross-border matching system cannot reconcile, and unreconciled lines are what generate mismatch letters, from the BZSt or from your customer’s own tax authority via theirs. The practical habit that prevents all of this is checking the ID at the moment you take the order, not months later when the ZM is being prepared. You can verify a single customer’s ID in seconds with the free VAT ID checker.
What about Amazon Pan-EU stock transfers?
When Amazon moves your inventory from a German warehouse to a warehouse in another EU country, that movement is an intra-community transfer, and it belongs on your German ZM even though nothing was sold to anyone. Pan-EU FBA does this constantly and without asking you, which makes stock transfers the most commonly missed ZM entries among Amazon sellers.
The transfers are not invisible, though. Every one of them appears in your Amazon VAT Transactions Report, the same monthly file that carries your sales. A complete ZM therefore starts with reading that report properly: the B2B sales lines give you the customer entries, and the fulfilment-transfer lines give you the stock-movement entries. Sellers who prepare the ZM from their invoice list alone, without the report, systematically leave the transfers out.
How does Vaytax handle the ZM?
Vaytax builds your ZM from the same uploaded sales report as your UStVA. Your Amazon VAT Transactions Report or easybill export is read line by line: cross-border B2B sales and Pan-EU stock transfers become ZM lines, and every customer VAT ID is checked against the EU VIES register before you submit. You see the result before anything is filed; how it works walks through the full flow.
When a VAT ID fails the check, the line is flagged, and you fix or explicitly acknowledge every flagged line before submitting. Your return still files on time either way: open lines are resolved with your advisor afterwards rather than holding the deadline hostage. A licensed German tax advisor files the ZM, and it is included in the monthly plan whether you file one a quarter or one a month, with no per-line surcharge. See pricing for the two paths: €79/month if you already have a German VAT number, or €1,199/year all-in with German VAT registration included.
Frequently asked questions
Is the ZM the same as the UStVA?
No. The UStVA is your German VAT return and reports your figures to your local Finanzamt. The ZM is a separate EU sales list with its own deadline (the 25th day after the reporting period ends) and goes to the Bundeszentralamt für Steuern (BZSt). Filing one does not cover the other.
Do B2C sales go on the ZM?
No. The ZM only reports intra-EU B2B supplies to customers with valid EU VAT IDs, plus intra-community stock transfers. B2C sales and domestic German sales never appear on it. Cross-border B2C is handled through OSS or local VAT registrations, which are entirely separate systems.
What happens if a customer's VAT ID is invalid?
The zero-rating of that supply is at risk. An intra-EU B2B sale is only zero-rated if the customer holds a valid VAT ID, so an invalid ID can mean German VAT becomes due on a sale you never charged it on. Vaytax checks every VAT ID on your ZM against the EU VIES register before you submit.
Does Amazon Pan-EU FBA create ZM entries?
Yes. When Amazon moves your stock from a German warehouse to a warehouse in another EU country, that movement is an intra-community transfer and it belongs on your German ZM, even though nothing was sold. These movements appear in your Amazon VAT Transactions Report.
When is the ZM due?
By the 25th day after the end of the reporting period, under §18a UStG. The period is normally the calendar month once intra-EU goods supplies exceed €50,000 in a quarter, and quarterly in smaller cases. The Dauerfrist extension does not apply to the ZM.
Is ZM filing included in the Vaytax plan?
Yes. The ZM is included in the monthly fee, whether you file one a quarter or one a month. It is built from the same uploaded sales report as your UStVA and filed by a licensed German tax advisor, with no per-line or per-filing surcharge.