EC Sales List vs Intrastat in Germany
The ZM follows the VAT treatment of intra-EU transactions. Intrastat follows the physical movement of goods. They often overlap in operational data, but they do not answer the same question.
| Point | EC Sales List / ZM | Intrastat Germany |
| Purpose | VAT control and VIES cross-checks | Statistical monitoring of intra-EU trade in goods |
| Authority | BZSt | Destatis |
| Scope | Intra-EU goods, certain B2B services, triangular transactions | Physical movements of goods only |
| Services | Can be reportable | Never reportable |
| Main trigger | Relevant intra-EU VAT transaction | Annual threshold exceeded for dispatches or arrivals |
| Usual deadline | 25th day after the reporting period | 10th working day after the reference month |
| Filing channel | Official electronic channels such as ELSTER, BOP or BZSt procedures | Destatis electronic systems such as IDEV or file upload routes |
The ZM is not an Intrastat substitute, and Intrastat is not a VAT return. Treat them as three related compliance outputs: German VAT return, ZM and Intrastat. The source data should reconcile before filing, not after a query from BZSt or Destatis.
What is the German EC Sales List (ZM)?
The German EC Sales List is a VAT recapitulative statement for intra-EU transactions. In German, it is called the Zusammenfassende Meldung, usually shortened to ZM.
Its role is to let tax authorities cross-check VAT-exempt intra-Community supplies and reverse charge transactions through the EU VAT control framework. If you sell goods VAT-free from Germany to a VAT-registered customer in another EU Member State, the customer must account for the acquisition in its own country. The ZM gives the authorities the data needed to match both sides.
The ZM can include:
intra-Community supplies of goods from Germany;
certain intra-EU B2B services taxed where the customer is established under the reverse charge mechanism;
intra-EU triangular transactions;
certain stock movements or transaction structures depending on the VAT treatment.
For each customer or transaction category, the ZM typically requires the customer's EU VAT number, the value reported for the period and the relevant transaction code or category.
Validate customer VAT numbers in VIES before invoicing and again before filing. A valid USt-IdNr. or EU VAT number is not just a data field; it supports the VAT exemption and reduces correction work later.
ZM deadlines and filing channels
The usual deadline for the German ZM is the 25th day after the end of the reporting period. The statement must be transmitted electronically to the BZSt through official channels.
In practice:
intra-EU supplies of goods and triangular transactions are generally reported monthly;
intra-EU B2B services are generally reported quarterly;
monthly filing may apply or be chosen in specific cases;
the reporting profile must remain consistent with the German VAT return and the underlying transactions.
ZM filing is electronic. Depending on your setup and volume, the relevant channel may be ELSTER, the BZStOnline-Portal (BOP) or mass data transmission procedures.
Late, missing or inconsistent ZM filings can lead to reminders, correction requests and penalties. The bigger operational risk is often the VAT exemption itself: if the transaction is not supported by a valid VAT number, correct evidence and coherent reporting, the German tax position becomes harder to defend.
What is Intrastat in Germany?
German Intrastat is a statistical declaration for intra-EU movements of goods. It is handled by Destatis, the German Federal Statistical Office.
Intrastat does not follow the invoice alone. It follows the physical flow. If goods move from Germany to another EU Member State, this is a dispatch/export flow for German Intrastat. If goods arrive in Germany from another EU Member State, this is an arrival/import flow.
Services are never included in Intrastat. A consulting service, SaaS service or reverse charge B2B service may belong in the ZM, but it does not belong in Intrastat because no goods move.
German Intrastat thresholds from 2025
From reporting month January 2025, Germany applies higher Intrastat thresholds:
| Flow | German term | Threshold |
| Intra-EU exports / dispatches from Germany | Versendungen | More than EUR 1,000,000 |
| Intra-EU imports / arrivals into Germany | Eingänge | More than EUR 3,000,000 |
The thresholds are assessed by flow. A company may be required to file dispatches only, arrivals only, or both. If the relevant threshold is exceeded in the current or previous calendar year, the Intrastat obligation applies for that flow.
If the threshold is exceeded during the year, filing starts from the reporting month in which the threshold is exceeded. A company below the threshold may still file voluntarily, but the legal obligation depends on the threshold test.
Germany's 2025 thresholds are often copied the wrong way round. The lower threshold is for dispatches from Germany to the EU: EUR 1,000,000. The higher threshold is for arrivals into Germany from the EU: EUR 3,000,000.
What data goes into German Intrastat?
Intrastat needs logistics and product data, not only accounting values. Before you file, your ERP or reporting file should contain the operational details required by Destatis.
Typical German Intrastat data includes:
CN8 / NC code, the 8-digit Combined Nomenclature commodity code;
partner country, such as country of destination for dispatches or country of origin/consignment for arrivals depending on the field;
invoice value and, where required, statistical value;
net mass in kilograms;
supplementary units where the CN code requires them;
nature of transaction;
mode of transport;
delivery terms, including Incoterms where required.
Incorrect CN8 classification is one of the most common sources of Intrastat corrections. Weight and supplementary units are another weak point, especially when product master data was built for sales rather than customs or statistics.
Map CN8 codes, net mass and supplementary units at SKU level. If the data is added manually at filing time, the declaration becomes fragile as soon as volumes increase.
Intrastat deadline and electronic filing
German Intrastat is normally due by the 10th working day after the end of the reference month. The reference period is monthly.
Filings are sent electronically to Destatis. Smaller datasets are commonly entered through IDEV. Higher-volume businesses usually need a file-based process, such as the relevant Destatis upload route or software-supported export, because manual entry becomes too slow and too error-prone.
The filing process should be monthly even if accounting close is not fully complete. That means Intrastat data collection should be built into logistics, purchasing, sales and VAT close procedures rather than left as a separate tax task at month-end.
Who must file in Germany?
Any business with VAT in Germany reporting obligations and relevant intra-EU transactions can be affected, including non-German companies registered for VAT in Germany.
Typical cases include:
an EU company holding stock in Germany and dispatching goods to customers in other EU Member States;
a non-EU company VAT-registered in Germany through a fiscal representative or direct registration;
an ecommerce or marketplace seller moving inventory into and out of German warehouses;
a B2B supplier invoicing VAT-exempt intra-Community supplies from Germany;
a group moving own stock between Germany and other EU entities or warehouses.
Foreign companies should not assume that ZM or Intrastat are only for German-established businesses. Once a German VAT number, German stock or German intra-EU flows are involved, the reporting footprint must be reviewed.
How to keep VAT return, ZM and Intrastat coherent
The safest process starts with a single transaction dataset and splits it into the three filings only after controls have been run.
For the German VAT return, check the VAT boxes and taxable or exempt values. For the ZM, check the customer VAT number, transaction type and intra-EU value by period. For Intrastat, check the physical flow, CN8 code, partner country, net mass, value, transport and Incoterms.
The control questions are simple:
Do ZM goods values reconcile with the intra-Community supplies reported in the German VAT return?
Are B2B services included in the ZM but excluded from Intrastat?
Are Intrastat dispatches based on goods leaving Germany, not merely invoices issued from Germany?
Are stock transfers captured even when there is no third-party sale?
Are credit notes, returns and corrections treated consistently across the VAT return, ZM and Intrastat?
Timing differences are manageable if they are documented. Unexplained differences between VAT, ZM and Intrastat values are not. Keep a reconciliation file for each period, especially if logistics and invoicing dates differ.
Practical filing checklist
Before filing the ZM, confirm that:
your German VAT number is active;
ELSTER, BOP or the relevant BZSt electronic access is available;
customer VAT numbers have been checked in VIES;
goods, services and triangular transactions are separated correctly;
ZM totals reconcile with the German VAT return.
Before filing Intrastat, confirm that:
the correct flow threshold has been tested: dispatches above EUR 1,000,000, arrivals above EUR 3,000,000;
the obligation is assessed for the current and previous calendar year;
all CN8 codes are mapped;
net mass, supplementary units, value, partner country, transport and Incoterms are available;
services have been excluded;
the declaration can be submitted by the 10th working day after the reference month.
I'm Jim, VAT Specialist at Eurofiscalis. I help French and international companies secure their operations across Europe. If Germany is part of your stock, ecommerce or B2B sales model, the priority is not only filing on time; it is making sure the same transaction tells the same story in the VAT return, the ZM and Intrastat. Learn how to claim a VAT refund in Germany.
FAQ
Is the EC Sales List the same as Intrastat in Germany?
No. The EC Sales List, or ZM, is a VAT recapitulative statement filed with the BZSt. Intrastat is a statistical goods declaration filed with Destatis. Some goods transactions may appear in both, but the legal purpose, data fields and deadlines are different.
Are services included in German Intrastat?
No. Intrastat in Germany covers only physical movements of goods. Certain intra-EU B2B services may be reported in the German ZM under reverse charge rules, but they must not be included in Intrastat.
What are the German Intrastat thresholds from 2025?
From reporting month January 2025, the threshold is more than EUR 1,000,000 for intra-EU exports or dispatches from Germany and more than EUR 3,000,000 for intra-EU imports or arrivals into Germany. These thresholds are assessed separately by flow.
When is the German ZM due?
The usual ZM deadline is the 25th day after the end of the reporting period. Goods and triangular transactions are generally reported monthly, while B2B services are generally reported quarterly, subject to the detailed German rules and your filing profile.
When is German Intrastat due?
German Intrastat is due by the 10th working day after the reference month. Because the deadline is operationally short, CN8 codes, weights, partner country, value, transport and Incoterms should be captured before month-end close.
Can a non-EU company have to file ZM or Intrastat in Germany?
Yes. A non-EU company registered for VAT in Germany, directly or through a fiscal representative, can have the same ZM and Intrastat obligations as a German business if its transactions fall within scope.
What happens if VAT return, ZM and Intrastat figures do not match?
Differences can trigger questions from the BZSt or Destatis, especially when they cannot be explained by timing, returns or corrections. Reconcile the three filings before submission and keep a period-by-period audit trail.
Countries concerned