to select ↑↓ to navigate
ERPNext

ERPNext

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

VAT Returns

BTW Returns

The Dutch BTW return (Aangifte omzetbelasting, or OB declaration) is what the Belastingdienst expects from every BTW-registered business each quarter (or monthly for larger filers). This feature builds the full return inside ERPNext, end-to-end, with every figure traceable back to the source invoice.

Filing cadence

The Belastingdienst sets your filing cadence when you register for BTW:

  • Quarterly — most SMBs. Filing window is the month after the quarter ends (e.g. Q1 returns are due by 30 April).
  • Monthly — typically required if your annual BTW liability exceeds €15,000 or if you're a frequent refund case.
  • Yearly — rare; small businesses on the kleineondernemersregeling (KOR).

This module supports all three — you choose the period when you create the return.

Creating a return

Search "NL VAT Return" in the awesomebar and click New:

  1. Company — pick the company filing this return.
  2. From Date / To Date — the period start and end. For Q1 2026, that's 2026-01-01 to 2026-03-31.
  3. Save — ERPNext fetches every Sales Invoice and Purchase Invoice in the period and routes each line into the correct box based on the Tax Category on the party.

The return page shows all 24 boxes (1a through 5g) with computed totals, plus a per-box drill-down so you can audit any unexpected number against the source documents.

Box-by-box, in plain Dutch

Box What goes here
1a Domestic supplies at 21% (standard rate)
1b Domestic supplies at 9% (reduced rate — food, books, hotels, transport)
1c Domestic supplies at other rates (rare; mostly unused)
1d Private use (BUA) — VAT on personal use of company assets
1e Domestic supplies at 0% (legal zero rate, e.g. some medical goods)
2a Reverse charge — supplies received where you owe the VAT (construction services, foreign-supplier services)
3a Exports outside the EU
3b Intra-community deliveries (zero-rated, customer reports via ICP)
3c Distance selling to other EU consumers (OSS scheme — declare here if not using OSS)
4a Imports from outside the EU
4b Intra-community acquisitions
5a Total BTW owed (sum of boxes 1a–1e and 2a–4b)
5b Input VAT — what you can deduct from purchases
5c Sub-total to pay (5a minus 5b)
5d KOR reduction (small-business scheme rebate, if applicable)
5e Corrections from earlier periods (rounded €1000+)
5f KIA reduction (if applicable)
5g Final amount payable (or refundable, if negative)

Refreshing data

Late invoices happen. After creating the return, you can click Refresh Data from the form's menu to recompute totals from the current state of Sales Invoice / Purchase Invoice tables — useful if a backdated invoice landed after you generated the draft.

Submitting to the Belastingdienst

Submission is done outside this module — print the NL VAT Return Official print format, log into Mijn Belastingdienst Zakelijk, type the box values into the official form, submit. The print format includes a per-box layout matching the Belastingdienst's own form layout to make the typing painless.

Direct electronic filing via Digipoort is not yet supported — on the roadmap for a future release.

Common gotchas

  • A Customer or Supplier without a Tax Category falls into a default bucket and may land in the wrong box. Always tag the party.
  • Items with no Item Tax Template fall back to the company default — fine if that matches your typical rate, problematic if you sell mixed rates. Tag the items.
  • Credit notes are netted into the relevant box automatically; they don't need a separate line.
  • Pre-payments / advance invoices count in the period the VAT is owed, which is usually the invoice date, not the payment date. Confirm with your accountant if you're on cash accounting.
Last updated 3 days ago
Was this helpful?
Thanks!