---
title: "Intrastat Report"
space: "ERPNext"
url: "https://www.prilk.com/docs/erpnext/localization/europe/intrastat"
updated: "2026-05-15"
---

# Intrastat Report

Intrastat is the EU's trade-statistics regime. Any business above a
country-specific threshold must report cross-border movements of goods
(not services) to the national statistics office — in NL, the CBS
(Centraal Bureau voor de Statistiek). The data feeds national accounts,
GDP figures, and EU-wide trade analysis.

## Dispatches vs Arrivals

Intrastat splits into two declarations:

- **Dispatches** — goods leaving your country for another EU country.
  Sources: Sales Invoices to EU Customers, Stock Entries marked "Send
  to Subcontractor" where the subcontractor is in another EU country.
- **Arrivals** — goods entering your country from another EU country.
  Sources: Purchase Invoices from EU Suppliers, Subcontracting Receipts
  from EU subcontractors.

Each direction has its own filing schedule and its own threshold. In NL
the dispatch threshold is roughly €1M/year and the arrival threshold is
about €5M/year — below those, filing is voluntary but recommended.

## Generating the report

Open the **Intrastat Report** in the awesomebar. Filters:

- **Company**
- **From Date / To Date** — typically a calendar month
- **Direction** — Dispatches or Arrivals
- **Country** (optional) — limit to one trade partner

Run it. Each line in the report represents one shipment with:

| Field | Source |
|---|---|
| Commodity Code | Item.customs_tariff_number |
| Partner Country | Customer / Supplier Country |
| Origin Country | Item.country_of_origin |
| Transaction Type | Default 11 (sale) for invoices, 41 for subcontracting |
| Transport Code | Shipping Rule.intrastat_transport_code, or Warehouse / EU Settings default |
| Region Code | Warehouse.intrastat_region_code, or EU Settings default |
| Invoiced Amount | Net amount in EUR |
| Net Mass | Item.weight_per_unit × qty (kg) |
| Supplementary Unit | Item.intrastat_supplementary_unit × qty, if defined |

## Per-country thresholds

EU Intracommunity Settings has a child table of member states with
per-country thresholds. The report flags any country where you've
crossed the threshold — you must file Intrastat to that country's
statistics office, even if you're below the threshold in NL.

In practice most SMBs only cross thresholds in 1–2 countries; the report
makes it visible without you needing to track manually.

## Filing

Filing is per-country and outside this module. In NL it goes to CBS via
their IDEP+ portal — you export the report as CSV / XML in the format
CBS publishes, upload it, done. Other countries have similar portals.

The app provides the report; the filing tool depends on which country.

## Commodity-code accuracy

The single biggest source of Intrastat errors is misclassified
commodity codes. CN8 codes update yearly (the European Commission
publishes a new annex) and codes for borderline products do change. If
you're uncertain, lean on:

- [TARIC consultation](https://taxation-customs.ec.europa.eu/online-services/online-services-and-databases-customs/taric-consultation_en) — the EU's official lookup.
- Your customs broker if you have one.
- The annual CN8 revision from the European Commission (published Oct
  for the following year).

Common pitfalls:

- Software shipped on a disk (chapter 85) vs downloaded electronically
  (no commodity code — services, not Intrastat).
- Mixed-material products — the highest-value component typically
  determines the code.
- Spare parts vs whole goods — different codes; check the chapter notes.
