OdooWiki OCA HUB

Netherlands ICP Statement

l10n_nl_tax_statement_icp folder_open OCA/l10n-netherlands open_in_new
Localization License: AGPL-3

This module extends the Netherlands BTW Statement module (BTW aangifte report), by adding the statement for the Intra-Community transactions declaration (ICP declaration).

The ICP declaration report is based on line 3b - Leveringen naar landen binnen de EU (omzet) of the BTW aangifte report. The period is also the same as the one selected in the BTW aangifte report.

This ICP declaration report includes:

  • the VAT identification numbers of your customers;
  • the total amount of intra-Community supplies from the Netherlands for every customer during the selected period.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds an ICP Statement tab to the Dutch VAT statement where you can see, per EU customer, the total intra-Community supplies of goods and services, and print or export it to PDF or Excel.

This module extends the Dutch VAT statement (l10n.nl.vat.statement) with an extra "ICP Statement" tab. There you find a list of lines, one per customer, showing the customer, country code, VAT number, currency, amount for products and amount for services, plus a total ICP amount.

  • Lines are generated automatically when the VAT statement is posted, based on the transactions tagged with the 3b (intra-Community supplies) tax tag. Goods and services are separated using the product type or the tax name.
  • A button "Update" lets you recompute the lines while the statement is posted; it is blocked on a final statement.
  • When the statement is reset to draft, the ICP lines are removed.
  • A check prevents lines with a Dutch country code or a country outside Europe from being kept.

Two reports are available on the VAT statement: "NL ICP Statement" (PDF) and "NL ICP Statement XLS export" (Excel), both showing the period, the customer details and the amounts, with a total line.

Required by other modules

Models and fields (3)
  • l10n.nl.vat.statement · extends an existing modelicp_total (Total ICP amount), icp_line_ids (ICP Lines)
  • l10n.nl.vat.statement.icp.line · new modelvat (VAT), format_vat, partner_id, currency_id, country_code, partner_name, statement_id, currency_name (Currency Name), amount_products, amount_services, format_amount_products, format_amount_services
  • report.l10n_nl_tax_statement_icp.report_tax_statement_icp_xlsx · new model

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 7 confirmed, 2 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/l10n-netherlands.

terminal Installation and usage

OCA documentation · Odoo 18.0

This module makes use of the tax tags "3b".

If the default Odoo Dutch chart of accounts is installed (module l10n_nl) then "3b" tag is automatically present in the database.

If a non-standard chart of accounts is installed, you have to manually create the tax tags and properly set them into the tax definition. The name of the tags must contain the substring "3b", eg.: be formatted this way: "3bl (omzet)", "3bt (omzet)".

Taxes should be set differently, whether they refer to products or services. In particular the taxes for services should contain the "dienst" substring in the name. For example: Verkopen export binnen EU (producten) for products and Verkopen export binnen EU (diensten) for services.

Notice that, when selecting a product in invoice lines, its product type should be consistent with the selected tax:

  • a product of type "service" should have a tax with "dienst" in its name
  • a consumable or storable product should have a tax without "dienst" in its name

To use this module, you need to:

  • Create a BTW Statement: a new tab ICP Statement will be displayed; the tab contains the lines of the ICP declaration report.
  • In tab ICP Statement press the Update button in order to recompute the ICP statement lines.

Printing a PDF report:

  • If you need to print the report in PDF, open a statement form and click: Print -\> NL ICP Statement

Exporting in XLS:

  • If you need to export the report in XLS format, open a statement form and click: Print -\> NL ICP Statement XLS export

Multicompany fiscal unit:

  • In case one single tax statement is created for companies belonging to a fiscal unit, the sum of the intra-Community supplies and services of all the companies will be written down in the totals of that tax statement.
  • After the fiscal unit tax statement is created and posted, for each of the companies belonging to a fiscal unit that trades intra-Community, create its own ICP report separately.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.