OdooWiki OCA HUB

NL Tax Invoice Basis (Factuurstelsel)

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

In the Netherlands, two types of accounting systems are allowed:

  • Kasstelsel
  • Factuurstelsel

By installing this module, you have the option to adopt the Factuurstelsel system for your Company in Odoo. It means that, when validating an invoice, the system uses the invoice date instead of accounting date to determine the date of the move line for tax lines. See https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/btw_aangifte_doen_en_betalen/bereken_het_bedrag/hoe_berekent_u_het_btw_bedrag/factuurstelsel

Without this module installed for example, when you use an accounting date with vendor invoices, the Generic TAX reports and the Aangifte omzetbelasting show the VAT in the wrong period/date. So this module is meant to fill the gap between the standard Odoo way and the Factuurstelsel system, commonly used in the Netherlands.

The Kasstelsel system instead is provided by the standard Odoo module account_tax_cash_basis. Find more information about the kasstelsel system in: https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/btw_aangifte_doen_en_betalen/bereken_het_bedrag/hoe_berekent_u_het_btw_bedrag/kasstelsel/kasstelsel

auto_awesome What this module does

AI-generated from the code · Odoo 13.0

Adds a company setting to use the Dutch invoice basis (Factuurstelsel) for VAT, so tax reports use the invoice date instead of the accounting date for Dutch companies.

This module adds a company-level option called "NL Tax Invoice Basis" that you can turn on or off in the Accounting settings. It is meant for Dutch companies that follow the Factuurstelsel system, where VAT is reported based on the invoice date rather than the accounting date.

When the option is enabled for a Dutch company, the system stores the invoice date on each invoice line and uses it for tax reporting. This affects how VAT appears in tax reports and the Dutch VAT return, so amounts land in the correct period.

  • The setting appears in the Accounting settings screen, next to the other company-specific options.
  • The option is enabled by default for companies, but only takes effect when the company's country is the Netherlands and the document is an invoice.
  • For lines where no invoice date is stored, the regular accounting date is still used, so nothing is lost.
  • The module extends account.move.line, account.tax, res.company and res.config.settings.

It does not create new menus or reports; it changes how existing tax reports select the dates of tax lines.

Depends on

Models and fields (4)
  • account.tax · extends an existing model
  • res.company · extends an existing modell10n_nl_tax_invoice_basis (NL Tax Invoice Basis)
  • account.move.line · extends an existing modell10n_nl_date_invoice
  • res.config.settings · extends an existing modell10n_nl_tax_invoice_basis (NL Tax Invoice Basis)

Text generated by AI (DeepSeek) from reading the Odoo 13.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: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 13.0

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

terminal Installation and usage

OCA documentation · Odoo 13.0

Install this module if you want to enable the Factuurstelsel system for your Company.

If you want to adopt the Kasstelsel system instead, consider to install the standard Odoo module account_tax_cash_basis.

To enable the factuurstelsel, you need to:

  • Open your Company form and set its Country to Netherlands.
  • Go to Invoicing -> Configuration -> Settings, enable NL Tax Invoice Basis (Factuurstelsel) and Apply.

In a multi-company environment, repeat the above steps for all the companies for which you want to enable the factuurstelsel.

As an example, a use case of this module could be:

  • Create a Vendor Bill (Purchase Invoice) and set Accounting Date in a period different than the one of the invoice date (for example, the invoice date = 14-aug and the accounting date = 14-jul).
  • Generate your VAT statement report, it will be computed according to the factuurstelsel.
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.