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 months ago
Was this helpful?
Thanks!