Skip to Content
Q&A

File an ICP return for intra-Community supplies

Accurately report how much each EU customer purchased—automatically from Odoo.

Back to all Q&A
April 28, 2026 by
File an ICP return for intra-Community supplies
DAADit Group, Nick

Do you supply goods or services to business customers in other EU countries at 0% VAT? Then the Dutch Tax Administration (Belastingdienst) expects a declaration of intra-community supplies — ICP for short — every quarter (or every month, depending on your volume). Retyping VAT numbers and amounts from invoices by hand is asking for errors. Odoo already tracks everything; all you need to do is export it.

What goes into an ICP return?

For each EU customer you report the VAT number and the total amount of your supplies in the period. The Tax Administration compares your return with what your customer declares in their own country. If those figures don't match, questions follow — or worse, an additional assessment with interest. Take a machine builder in Eindhoven that supplies three German customers every month: three lines, three VAT numbers, three totals. Sounds simple, but one missing number and the return no longer adds up.

How to prepare the return in Odoo

  1. Go to Accounting → Reporting → EC Sales List (ICP).
  2. Select the right period at the top (quarter or month).
  3. Check that all EU customers are listed with their VAT number and total.
  4. Export as XML and submit the file to the Dutch Tax Administration.

Odoo fills the list automatically based on all invoices posted with the intra-community fiscal position. Amounts and VAT numbers therefore come straight from your accounts — no separate spreadsheet needed.

The pitfalls we see most often

  • No or an invalid VAT number on the customer record. Odoo runs a VIES check when you enter it: use it.
  • A wrong fiscal position on the customer, so the invoice falls outside the ICP list even though 0% VAT was charged.
  • Credit notes forgotten: they belong in the return too and reduce the total per customer.

Finally

Practical tip: before every submission, check the list for customers with 0% VAT but without a validated VAT number — exactly those cases are the first to surface in a tax audit. Would you like us to review your VAT settings in Odoo? Contact DAADit Group, we're happy to take a look with you.

Do you supply goods or services to business customers in other EU countries at 0% VAT? Then the Dutch Tax Authorities expect a declaration of intra-Community transactions — the ICP return — every quarter (or every month, depending on your volume). Retyping VAT numbers and amounts from invoices by hand is asking for trouble. Odoo already records everything; you only need to export it.

What goes into an ICP return?

For each EU customer you report the VAT number and the total value of your supplies in the period. The tax office matches your return against what your customer declares in their own country. If the figures differ, questions follow — or worse, an additional assessment with interest. Picture a machine builder in Eindhoven shipping to three German customers every month: three lines, three VAT numbers, three totals. Sounds simple, but one missing number and the return no longer adds up.

Creating the return in Odoo

  1. Go to Accounting → Reporting → EC Sales List (ICP).
  2. Select the correct period at the top (quarter or month).
  3. Check that every EU customer appears with a VAT number and total.
  4. Export as XML and file it with the Tax Authorities.

Odoo fills the list automatically from every invoice booked with the intra-Community fiscal position, so amounts and VAT numbers come straight from your accounting — no separate spreadsheet required.

The pitfalls we see most often

  • A missing or invalid VAT number on the customer record. Odoo runs a VIES check when you enter one: use it.
  • A wrong fiscal position on the customer, which keeps the invoice out of the ICP list even though it was invoiced at 0% VAT.
  • Forgotten credit notes — they belong in the return too and reduce the total per customer.

One last thing

Practical tip: before each filing, scan the list for customers invoiced at 0% VAT without a validated VAT number — those are exactly the cases a tax audit surfaces first. Want a second pair of eyes on your VAT setup in Odoo? Get in touch with DAADit Group and we will gladly take a look.

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
Prepare and File a VAT Return Using Odoo
From the general ledger to digital tax filings with the Tax Authority — in Odoo.