| 1 | --- |
| 2 | name: netherlands-vat-return |
| 3 | description: Use this skill whenever asked to prepare, review, or classify transactions for a Netherlands VAT return (OB aangifte / btw-aangifte) for a self-employed individual or small business in the Netherlands. Trigger on phrases like "prepare OB aangifte", "Dutch VAT return", "BTW aangifte", "classify transactions for Dutch VAT", or any request involving Netherlands VAT filing. This skill covers the Netherlands only, standard BTW regime. Kleineondernemersregeling (KOR), partial exemption, margin scheme (margeregeling), and VAT groups (fiscale eenheid) are in the refusal catalogue. MUST be loaded alongside BOTH vat-workflow-base v0.1 or later AND eu-vat-directive v0.1 or later. ALWAYS read this skill before touching any Dutch VAT work. |
| 4 | version: 2.0 |
| 5 | --- |
| 6 | |
| 7 | # Netherlands VAT Return Skill (OB Aangifte / BTW) v2.0 |
| 8 | |
| 9 | ## Section 1 — Quick reference |
| 10 | |
| 11 | **Read this whole section before classifying anything. The workflow runbook is in `vat-workflow-base` Section 1 — follow that runbook with this skill providing the country-specific content and `eu-vat-directive` providing the EU directive content.** |
| 12 | |
| 13 | | Field | Value | |
| 14 | |---|---| |
| 15 | | Country | Netherlands (Koninkrijk der Nederlanden) | |
| 16 | | Standard rate | 21% | |
| 17 | | Reduced rate | 9% (food and drinks, books, medicines, hotels, cultural events, passenger transport, hairdressers, repairs of bicycles/shoes/clothing) | |
| 18 | | Zero rate | 0% (exports, intra-EU B2B supplies of goods) | |
| 19 | | Return form | OB aangifte (Omzetbelasting aangifte) — rubrieken 1 through 5 | |
| 20 | | Filing portal | https://www.belastingdienst.nl (Mijn Belastingdienst Zakelijk) | |
| 21 | | Authority | Belastingdienst | |
| 22 | | Currency | EUR only | |
| 23 | | Filing frequencies | Quarterly (standard); Monthly (if assigned by Belastingdienst or on request); Annual (if assigned) | |
| 24 | | Deadline | Last business day of the month following the period (e.g. Q1 due 30 April) | |
| 25 | | Companion skill (Tier 1, workflow) | **vat-workflow-base v0.1 or later — MUST be loaded** | |
| 26 | | Companion skill (Tier 2, EU directive) | **eu-vat-directive v0.1 or later — MUST be loaded** | |
| 27 | | Contributor | Open Accountants contributors | |
| 28 | | Validation date | April 2026 | |
| 29 | |
| 30 | **Key OB aangifte rubrieken (the boxes you will use most):** |
| 31 | |
| 32 | | Rubriek | Meaning | |
| 33 | |---|---| |
| 34 | | 1a | Supplies/services taxed at 21% (omzet + BTW) | |
| 35 | | 1b | Supplies/services taxed at 9% (omzet + BTW) | |
| 36 | | 1c | Supplies/services taxed at other rates (omzet + BTW) | |
| 37 | | 1d | Private use (privégebruik) and other internal supplies (omzet + BTW) | |
| 38 | | 1e | Supplies/services taxed at 0% or not taxed (omzet only) | |
| 39 | | 2a | Supplies/services to EU countries (intracommunautaire leveringen/diensten, omzet only) | |
| 40 | | 3a | Acquisitions from EU countries (omzet + BTW) | |
| 41 | | 3b | Acquisitions from outside EU (omzet + BTW) | |
| 42 | | 4a | Supplies/services from EU countries — reverse charge received (omzet + BTW) | |
| 43 | | 4b | Supplies/services from outside EU — reverse charge received (omzet + BTW) | |
| 44 | | 5a | Total BTW due (verschuldigde omzetbelasting) | |
| 45 | | 5b | Total deductible BTW (voorbelasting) | |
| 46 | | 5c | Sub-total (5a minus 5b) | |
| 47 | | 5d | Reduction under KOR (only if KOR applies — we refuse this) | |
| 48 | | 5e | Estimated result from prior period | |
| 49 | | 5f | Total to pay / to receive | |
| 50 | | 5g | Total to pay / to receive | |
| 51 | |
| 52 | **Conservative defaults — Netherlands-specific values for the universal categories in `vat-workflow-base` Section 2:** |
| 53 | |
| 54 | | Ambiguity | Default | |
| 55 | |---|---| |
| 56 | | Unknown rate on a sale | 21% | |
| 57 | | Unknown VAT status of a purchase | Not deductible | |
| 58 | | Unknown counterparty country | Domestic Netherlands | |
| 59 | | Unknown B2B vs B2C status for EU customer | B2C, charge 21% | |
| 60 | | Unknown business-use proportion (vehicle, phone, home office) | 0% recovery | |
| 61 | | Unknown SaaS billing entity | Reverse charge from non-EU (rubriek 4b) | |
| 62 | | Unknown blocked-input status (entertainment, personal use) | Blocked | |
| 63 | | Unknown whether transaction is in scope | In scope | |
| 64 | |
| 65 | **Red flag thresholds — country slot values for the reviewer brief in `vat-workflow-base` Section 3:** |
| 66 | |
| 67 | | Threshold | Value | |
| 68 | |---|---| |
| 69 | | HIGH single-transaction size | €5,000 | |
| 70 | | HIGH tax-delta on a single conservative default | €400 | |
| 71 | | MEDIUM counterparty concentration | >40% of output OR input | |
| 72 | | MEDIUM conservative-default count | >4 across the return | |
| 73 | | LOW absolute net VAT position | €10,000 | |
| 74 | |
| 75 | --- |
| 76 | |
| 77 | ## Section 2 — Required inputs and refusal catalogue |
| 78 | |
| 79 | ### Required inputs |
| 80 | |
| 81 | **Minimum viable** — bank statement for the period in CSV, PDF, or pasted text. Must cover the full period. Acceptable from any Dutch or international business bank: ING, ABN AMRO, Rabobank, SNS Bank, ASN Bank, Triodos Bank, Bunq, Knab, Revolut Business, Wise Business, N26 Business, or any other. |
| 82 | |
| 83 | **Recommended** — sales invoices for the period (especially for intra-EU B2B services and zero-rated supplies), purchase invoices for any input BTW claim above €400, the client's BTW-id in writing (NL + 9 digits + B + 2 digits). |
| 84 | |
| 85 | **Ideal** — complete invoice register, prior period OB aangifte, reconciliation of any prior period credit. |
| 86 | |
| 87 | **Refusal policy if minimum is missing — SOFT WARN.** If no bank statement at all → hard stop. If bank statement only → proceed but record in reviewer brief: "This OB aangifte was produced from bank statement alone. Reviewer must verify input BTW claims above €400 are supported by compliant invoices and reverse-charge classifications match supplier invoices." |
| 88 | |
| 89 | ### Netherlands-specific refusal catalogue |
| 90 | |
| 91 | These refusals apply on top of the EU-wide refusals in `eu-vat-directive` Section 13. |
| 92 | |
| 93 | **R-NL-1 — Kleineondernemersregeling (KOR).** *Trigger:* client is registered under the KOR (small business scheme, turnover below €20,000). *Message:* "KOR-registered businesses are exempt from charging BTW and cannot recover input BTW. They do not file OB aangiften. This skill covers the standard BTW regime only. If you have opted out of KOR, please confirm." |
| 94 | |
| 95 | **R-NL-2 — Partial exemption (pro rata / BUA).** *Trigger:* client makes both taxable and exempt-without-credit supplies and the exempt proportion is not de minimis. *Message:* "You make both taxable and exempt supplies. Input BTW must be apportioned under the pro rata (Art. 11 Wet OB 1968) or BUA (Besluit Uitsluiting Aftrek) rules. Please use a belastingadviseur." |
| 96 | |
| 97 | **R-NL-3 — Margin scheme (margeregeling).** *Trigger:* client deals in second-hand goods, art, antiques, or collectables. *Message:* "Margeregeling transactions require transaction-level margin computation. Out of scope." |
| 98 | |
| 99 | **R-NL-4 — Fiscal unity (fiscale eenheid).** *Trigger:* client is part of a fiscale eenheid BTW. *Message:* "Fiscale eenheden require consolidation. Out of scope." |
| 100 | |
| 101 | **R-NL-5 — Fiscal representative.** *Trigger:* non-resident with a fiscal representative in the Netherlands. *Message:* "Non-resident registrations with fiscal representatives have specific obligations beyond this skill." |
| 102 | |
| 103 | **R-NL-6 — BES islands filing.** *Trigger:* client is based in Bonaire, Sint Eustatius, or Saba. *Message:* "The BES islands have a separate ABB (Algemene Bestedingsbelasting) system, not BTW. This skill covers European Netherlands only." |
| 104 | |
| 105 | **R-NL-7 — Real estate (BTW on onroerend goed).** *Trigger:* client deals in new property or opted for BTW on property lease. *Message:* "BTW on real estate is complex. Please use a belastingadviseur." |
| 106 | |
| 107 | **R-NL-8 — Income tax instead of BTW.** *Trigger:* user asks about inkomstenbelasting or vennootschapsbelasting instead of BTW. *Message:* "This skill only handles Dutch BTW returns. For income tax, use a dedicated Dutch income tax skill." |
| 108 | |
| 109 | --- |
| 110 | |
| 111 | ## Section 3 — Supplier pattern library (the lookup table) |
| 112 | |
| 113 | This is the deterministic pre-classifier. Match by case-insensitive substring. If none match, fall through to Section 5. |
| 114 | |
| 115 | ### 3.1 Dutch banks (fees exempt — exclude) |
| 116 | |
| 117 | | Pattern | Treatment | Notes | |
| 118 | |---|---|---| |
| 119 | | ING, ING BANK | EXCLUDE for bank charges/fees | Financial service, exempt | |
| 120 | | ABN AMRO, ABN | EXCLUDE for bank charges/fees | Same | |
| 121 | | RABOBANK, RABO | EXCLUDE for bank charges/fees | Same | |
| 122 | | SNS BANK, ASN BANK | EXCLUDE for bank charges/fees | Same | |
| 123 | | TRIODOS, BUNQ, KNAB | EXCLUDE for bank charges/fees | Same | |
| 124 | | REVOLUT, WISE, N26 (fee lines) | EXCLUDE for transaction/maintenance fees | Check for separate taxable subscription invoices | |
| 125 | | RENTE, INTEREST | EXCLUDE | Interest income/expense, out of scope | |
| 126 | | LENING, HYPOTHEEK | EXCLUDE | Loan principal movement, out of scope | |
| 127 | |
| 128 | ### 3.2 Dutch government, regulators, and statutory bodies (exclude entirely) |
| 129 | |
| 130 | | Pattern | Treatment | Notes | |
| 131 | |---|---|---| |
| 132 | | BELASTINGDIENST | EXCLUDE | Tax payment (BTW, IB, Vpb), not a supply | |
| 133 | | RIJKSOVERHEID | EXCLUDE | Government | |
| 134 | | GEMEENTE | EXCLUDE | Municipal fees/taxes | |
| 135 | | UWV | EXCLUDE | Employee insurance, social security | |
| 136 | | SVB | EXCLUDE | Social insurance bank | |
| 137 | | KVK, KAMER VAN KOOPHANDEL | EXCLUDE | Chamber of Commerce fees | |
| 138 | | RVO, RIJKSDIENST VOOR ONDERNEMEND | EXCLUDE | Government agency | |
| 139 | | DOUANE | EXCLUDE | Customs (but check for import BTW) | |
| 140 | | CBS, CENTRAAL BUREAU STATISTIEK | EXCLUDE | Government statistics | |
| 141 | |
| 142 | ### 3.3 Dutch utilities |
| 143 | |
| 144 | | Pattern | Treatment | Rubriek | Notes | |
| 145 | |---|---|---|---| |
| 146 | | VATTENFALL | Domestic 21% | 5b (input) | Electricity/gas — standard rate | |
| 147 | | ENECO | Domestic 21% | 5b (input) | Energy | |
| 148 | | ESSENT | Domestic 21% | 5b (input) | Energy | |
| 149 | | GREENCHOICE | Domestic 21% | 5b (input) | Energy | |
| 150 | | NUON (now Vattenfall) | Domestic 21% | 5b (input) | Energy | |
| 151 | | KPN, KPN BV | Domestic 21% | 5b (input) | Telecoms/broadband — overhead | |
| 152 | | T-MOBILE NL, T-MOBILE NETHERLANDS | Domestic 21% | 5b (input) | Telecoms | |
| 153 | | VODAFONE NL, VODAFONE NETHERLANDS | Domestic 21% | 5b (input) | Telecoms | |
| 154 | | ZIGGO | Domestic 21% | 5b (input) | Cable/broadband | |
| 155 | | VITENS, DUNEA, EVIDES | Domestic 9% | 5b (input) | Water supply at reduced rate | |
| 156 | |
| 157 | ### 3.4 Insurance (exempt — exclude) |
| 158 | |
| 159 | | Pattern | Treatment | Notes | |
| 160 | |---|---|---| |
| 161 | | ACHMEA, CENTRAAL BEHEER, INTERPOLIS | EXCLUDE | Insurance, exempt | |
| 162 | | NATIONALE NEDERLANDEN, NN | EXCLUDE | Same | |
| 163 | | AEGON, ASR | EXCLUDE | Same | |
| 164 | | UNIVÉ, CZ, MENZIS, VGZ, ZILVEREN KRUIS | EXCLUDE | Health insurance, exempt | |
| 165 | | VERZEKERING, PREMIE | EXCLUDE | All insurance exempt | |
| 166 | |
| 167 | ### 3.5 Post and logistics |
| 168 | |
| 169 | | Pattern | Treatment | Rubriek | Notes | |
| 170 | |---|---|---|---| |
| 171 | | POSTNL (standard mail) | EXCLUDE for standard postage | | Universal postal service, exempt | |
| 172 | | POSTNL (parcels) | Domestic 21% | 5b | Non-universal services taxable | |
| 173 | | DHL EXPRESS NL, DHL PARCEL | Domestic 21% | 5b | Express courier | |
| 174 | | DPD, GLS NETHERLANDS | Domestic 21% | 5b | Courier | |
| 175 | | UPS NEDERLAND | Domestic 21% | 5b | Courier | |
| 176 | |
| 177 | ### 3.6 Transport (Netherlands domestic) |
| 178 | |
| 179 | | Pattern | Treatment | Rubriek | Notes | |
| 180 | |---|---|---|---| |
| 181 | | NS, NEDERLANDSE SPOORWEGEN | Domestic 9% | 5b (input) | Rail transport at reduced rate | |
| 182 | | GVB, RET, HTM, CONNEXXION, ARRIVA | Domestic 9% | 5b (input) | Public transport, reduced rate | |
| 183 | | OV-CHIPKAART | Domestic 9% | 5b (input) | Public transport card top-up | |
| 184 | | UBER NL, UBER NETHERLANDS | Domestic 9% (transport) | 5b | Ride-hailing | |
| 185 | | BOLT NL | Domestic 9% | 5b | Ride-hailing | |
| 186 | | KLM (domestic) | Domestic 21% | 5b | Domestic flights at standard rate | |
| 187 | | KLM, TRANSAVIA, EASYJET (international) | EXCLUDE / 0% | | International flights exempt | |
| 188 | | TAXI | Domestic 9% | 5b | Local taxi, reduced rate | |
| 189 | |
| 190 | ### 3.7 Food retail (blocked unless hospitality business) |
| 191 | |
| 192 | | Pattern | Treatment | Notes | |
| 193 | |---|---|---| |
| 194 | | ALBERT HEIJN, AH | Default BLOCK input BTW | Personal provisioning. | |
| 195 | | JUMBO, LIDL, ALDI, PLUS | Default BLOCK | Same | |
| 196 | | DIRK, DEKAMARKT, HOOGVLIET | Default BLOCK | Same | |
| 197 | | RESTAURANT, EETCAFE, CAFE | Default BLOCK | Entertainment — see Section 5.12 | |
| 198 | |
| 199 | ### 3.8 SaaS — EU suppliers (reverse charge, rubriek 4a) |
| 200 | |
| 201 | | Pattern | Billing entity | Rubriek | Notes | |
| 202 | |---|---|---|---| |
| 203 | | GOOGLE (Ads, Workspace, Cloud) | Google Ireland Ltd (IE) | 4a + 5b | Reverse charge: output in 5a via 4a, input in 5b | |
| 204 | | MICROSOFT (365, Azure) | Microsoft Ireland Operations Ltd (IE) | 4a + 5b | Reverse charge | |
| 205 | | ADOBE | Adobe Systems Software Ireland Ltd (IE) | 4a + 5b | Reverse charge | |
| 206 | | META, FACEBOOK ADS | Meta Platforms Ireland Ltd (IE) | 4a + 5b | Reverse charge | |
| 207 | | LINKEDIN (paid) | LinkedIn Ireland Unlimited (IE) | 4a + 5b | Reverse charge | |
| 208 | | SPOTIFY TECHNOLOGY | Spotify AB (SE) | 4a + 5b | EU reverse charge | |
| 209 | | DROPBOX | Dropbox International Unlimited (IE) | 4a + 5b | Reverse charge | |
| 210 | | SLACK | Slack Technologies Ireland Ltd (IE) | 4a + 5b | Reverse charge | |
| 211 | | ATLASSIAN (Jira, Confluence) | Atlassian Network Services BV (NL) | 1a (domestic!) | NL entity — domestic 21%, NOT reverse charge | |
| 212 | | ZOOM | Zoom Video Communications Ireland Ltd (IE) | 4a + 5b | Reverse charge | |
| 213 | | STRIPE (subscription fees) | Stripe Technology Europe Ltd (IE) | 4a + 5b | Transaction fees may be exempt — see 3.11 | |
| 214 | |
| 215 | ### 3.9 SaaS — non-EU suppliers (reverse charge, rubriek 4b) |
| 216 | |
| 217 | | Pattern | Billing entity | Rubriek | Notes | |
| 218 | |---|---|---|---| |
| 219 | | AWS (standard) | AWS EMEA SARL (LU) — check | 4a + 5b | LU entity → EU reverse charge | |
| 220 | | NOTION | Notion Labs Inc (US) | 4b + 5b | Non-EU reverse charge | |
| 221 | | ANTHROPIC, CLAUDE | Anthropic PBC (US) | 4b + 5b | Non-EU reverse charge | |
| 222 | | OPENAI, CHATGPT | OpenAI Inc (US) | 4b + 5b | Non-EU reverse charge | |
| 223 | | GITHUB (standard plans) | GitHub Inc (US) | 4b + 5b | Check if billed by IE entity | |
| 224 | | FIGMA | Figma Inc (US) | 4b + 5b | Non-EU reverse charge | |
| 225 | | CANVA | Canva Pty Ltd (AU) | 4b + 5b | Non-EU reverse charge | |
| 226 | | HUBSPOT | HubSpot Inc (US) or IE — check | 4b or 4a | Depends on billing entity | |
| 227 | | TWILIO | Twilio Inc (US) | 4b + 5b | Non-EU reverse charge | |
| 228 | |
| 229 | ### 3.10 SaaS — the exception (NOT reverse charge) |
| 230 | |
| 231 | | Pattern | Treatment | Why | |
| 232 | |---|---|---| |
| 233 | | ATLASSIAN (NL entity) | Domestic 21% rubriek 1a / 5b | Atlassian Network Services BV is a Dutch entity — domestic purchase, not reverse charge. | |
| 234 | | AWS EMEA SARL | EU reverse charge rubriek 4a + 5b (LU entity) | Standard EU reverse charge. If invoice shows Dutch BTW, treat as domestic 21%. | |
| 235 | |
| 236 | ### 3.11 Payment processors |
| 237 | |
| 238 | | Pattern | Treatment | Notes | |
| 239 | |---|---|---| |
| 240 | | STRIPE (transaction fees) | EXCLUDE (exempt) | Payment processing fees are exempt financial services | |
| 241 | | PAYPAL (transaction fees) | EXCLUDE (exempt) | Same | |
| 242 | | STRIPE (monthly subscription) | EU reverse charge 4a + 5b | Stripe IE entity | |
| 243 | | MOLLIE | Domestic 21% or EXCLUDE | Check — Mollie BV is Dutch; transaction fees exempt, subscription fees taxable | |
| 244 | | ADYEN | Domestic 21% or EXCLUDE | Adyen NV is Dutch; same distinction | |
| 245 | | SUMUP, SQUARE, ZETTLE | Check invoice | If Dutch: domestic; if IE: reverse charge | |
| 246 | |
| 247 | ### 3.12 Professional services (Netherlands) |
| 248 | |
| 249 | | Pattern | Treatment | Rubriek | Notes | |
| 250 | |---|---|---|---| |
| 251 | | ACCOUNTANT, BELASTINGADVISEUR | Domestic 21% | 5b | Always deductible | |
| 252 | | ADVOCAAT, ADVOCATENKANTOOR | Domestic 21% | 5b | Deductible if business legal matter | |
| 253 | | NOTARIS, NOTARISKANTOOR | Domestic 21% | 5b | Deductible if business | |
| 254 | | ADMINISTRATIEKANTOOR | Domestic 21% | 5b | Bookkeeper | |
| 255 | |
| 256 | ### 3.13 Payroll and social security (exclude entirely) |
| 257 | |
| 258 | | Pattern | Treatment | Notes | |
| 259 | |---|---|---| |
| 260 | | UWV, WERKNEMERSVERZEKERINGEN | EXCLUDE | Employee insurance contributions | |
| 261 | | LOONHEFFING, LOONBELASTING | EXCLUDE | Payroll tax remittance | |
| 262 | | SALARIS, LOON | EXCLUDE | Wages — outside BTW scope | |
| 263 | | PENSIOEN, ABP, PFZW | EXCLUDE | Pension contributions | |
| 264 | |
| 265 | ### 3.14 Property and rent |
| 266 | |
| 267 | | Pattern | Treatment | Notes | |
| 268 | |---|---|---| |
| 269 | | HUUR BEDRIJFSPAND, KANTOORHUUR | Domestic 21% | Commercial lease where landlord opted for BTW (optie belaste verhuur) | |
| 270 | | HUUR, HUURPRIJS (residential) | EXCLUDE | Residential lease exempt | |
| 271 | | OZB, ONROERENDEZAAKBELASTING | EXCLUDE | Property tax, not a supply | |
| 272 | | WOZ | EXCLUDE | Property valuation, not a supply | |
| 273 | |
| 274 | ### 3.15 Internal transfers and exclusions |
| 275 | |
| 276 | | Pattern | Treatment | Notes | |
| 277 | |---|---|---| |
| 278 | | OVERBOEKING EIGEN REKENING | EXCLUDE | Internal movement | |
| 279 | | SPAARREKENING, NAAR SPAREN | EXCLUDE | Own savings transfer | |
| 280 | | DIVIDEND | EXCLUDE | Dividend payment, out of scope | |
| 281 | | AFLOSSING, AFLOSSING LENING | EXCLUDE | Loan repayment | |
| 282 | | GELDOPNAME, PINOPNAME | TIER 2 — ask | Default exclude; ask what cash was spent on | |
| 283 | | STORTING, PRIVÉSTORTING | EXCLUDE | Owner injection | |
| 284 | |
| 285 | --- |
| 286 | |
| 287 | ## Section 4 — Worked examples |
| 288 | |
| 289 | These are six fully worked classifications drawn from a hypothetical bank statement of a Netherlands-based self-employed IT consultant (zzp'er, standard BTW regime). |
| 290 | |
| 291 | ### Example 1 — Non-EU SaaS reverse charge (Notion) |
| 292 | |
| 293 | **Input line:** |
| 294 | `03.04.2026 ; NOTION LABS INC ; DEBIT ; Monthly subscription ; USD 16.00 ; EUR 14.68` |
| 295 | |
| 296 | **Reasoning:** |
| 297 | Notion Labs Inc is a US entity (Section 3.9). No BTW on the invoice. This is a service from a non-EU supplier. The Dutch client must self-assess BTW (verlegging) under Art. 12 lid 2 Wet OB. Output BTW on rubriek 4b, input BTW on rubriek 5b. Net effect zero for a fully taxable client. |
| 298 | |
| 299 | **Output:** |
| 300 | |
| 301 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek (input) | Rubriek (output) | Default? | Question? | Excluded? | |
| 302 | |---|---|---|---|---|---|---|---|---|---|---| |
| 303 | | 03.04.2026 | NOTION LABS INC | -14.68 | -14.68 | 3.08 | 21% | 5b | 4b | N | — | — | |
| 304 | |
| 305 | ### Example 2 — EU service, reverse charge (Google Ads) |
| 306 | |
| 307 | **Input line:** |
| 308 | `10.04.2026 ; GOOGLE IRELAND LIMITED ; DEBIT ; Google Ads April 2026 ; -850.00 ; EUR` |
| 309 | |
| 310 | **Reasoning:** |
| 311 | Google Ireland Limited is an IE entity — EU reverse charge (verlegging). Output BTW on rubriek 4a, input BTW on rubriek 5b. Net effect zero. |
| 312 | |
| 313 | **Output:** |
| 314 | |
| 315 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek (input) | Rubriek (output) | Default? | Question? | Excluded? | |
| 316 | |---|---|---|---|---|---|---|---|---|---|---| |
| 317 | | 10.04.2026 | GOOGLE IRELAND LIMITED | -850.00 | -850.00 | 178.50 | 21% | 5b | 4a | N | — | — | |
| 318 | |
| 319 | ### Example 3 — Entertainment, BUA blocked |
| 320 | |
| 321 | **Input line:** |
| 322 | `15.04.2026 ; RESTAURANT DE KAS AMSTERDAM ; DEBIT ; Business dinner ; -220.00 ; EUR` |
| 323 | |
| 324 | **Reasoning:** |
| 325 | Restaurant transaction. In the Netherlands, the Besluit Uitsluiting Aftrek (BUA) blocks deduction of BTW on business entertainment (relatiegeschenken, spijzen en dranken) unless it relates to staff meals in specific circumstances. Business meals with external relations (zakenrelaties) have blocked BTW under Art. 1 lid 1 sub c BUA. Default: block. If this is a staff canteen or company event → may be deductible. |
| 326 | |
| 327 | **Output:** |
| 328 | |
| 329 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek | Default? | Question? | Excluded? | |
| 330 | |---|---|---|---|---|---|---|---|---|---| |
| 331 | | 15.04.2026 | RESTAURANT DE KAS AMSTERDAM | -220.00 | -220.00 | 0 | — | — | Y | Q1 | "Restaurant: BUA blocks BTW on business entertainment. Staff event or external?" | |
| 332 | |
| 333 | ### Example 4 — Capital goods (bedrijfsmiddel) |
| 334 | |
| 335 | **Input line:** |
| 336 | `18.04.2026 ; DELL NETHERLANDS BV ; DEBIT ; Invoice DEL2026-0041 Laptop XPS 15 ; -1,595.00 ; EUR` |
| 337 | |
| 338 | **Reasoning:** |
| 339 | The gross amount is €1,595. In the Netherlands, capital goods (bedrijfsmiddelen) used for business are subject to BTW correction over the herzieningsperiode (5 years movable, 10 years immovable). There is no minimum threshold for capitalisation for BTW purposes — the herzieningsregeling applies to goods used for more than one year. Input BTW is deductible in full on rubriek 5b at time of purchase (for fully taxable businesses). The distinction matters for BUA and herzieningsregeling tracking. |
| 340 | |
| 341 | **Output:** |
| 342 | |
| 343 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek | Default? | Question? | Excluded? | |
| 344 | |---|---|---|---|---|---|---|---|---|---| |
| 345 | | 18.04.2026 | DELL NETHERLANDS BV | -1,595.00 | -1,318.18 | -276.82 | 21% | 5b | N | — | — | |
| 346 | |
| 347 | ### Example 5 — EU B2B service sale (inbound receipt) |
| 348 | |
| 349 | **Input line:** |
| 350 | `22.04.2026 ; STUDIO KREBS GMBH ; CREDIT ; Invoice NL-2026-018 IT consultancy March ; +3,500.00 ; EUR` |
| 351 | |
| 352 | **Reasoning:** |
| 353 | Incoming €3,500 from a German company. B2B services: place of supply is customer's country (Germany) under Art. 6 lid 1 Wet OB / Art. 44 VAT Directive. Client invoices at 0% with "BTW verlegd" (reverse charge). Report on rubriek 2a (intracommunautaire diensten). No output BTW. Verify German USt-IdNr on VIES. |
| 354 | |
| 355 | **Output:** |
| 356 | |
| 357 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek | Default? | Question? | Excluded? | |
| 358 | |---|---|---|---|---|---|---|---|---|---| |
| 359 | | 22.04.2026 | STUDIO KREBS GMBH | +3,500.00 | +3,500.00 | 0 | 0% | 2a | Y | Q2 (HIGH) | "Verify German USt-IdNr on VIES" | |
| 360 | |
| 361 | ### Example 6 — Motor vehicle, BUA correction |
| 362 | |
| 363 | **Input line:** |
| 364 | `28.04.2026 ; LEASE PLAN NEDERLAND ; DEBIT ; Lease payment VW Golf ; -550.00 ; EUR` |
| 365 | |
| 366 | **Reasoning:** |
| 367 | Car lease payment. In the Netherlands, BTW on car leases IS deductible at the time of purchase/lease (unlike Malta's hard block). However, the BUA requires a correction at year-end for private use (privégebruik). The correction is 2.7% of the catalogue value (cataloguswaarde) of the car per year, or actual private use percentage. For a zzp'er with mixed use: deduct BTW fully now, correct at year-end via rubriek 1d (privégebruik). Default: deduct in full, flag for year-end BUA correction. |
| 368 | |
| 369 | **Output:** |
| 370 | |
| 371 | | Date | Counterparty | Gross | Net | VAT | Rate | Rubriek | Default? | Question? | Excluded? | |
| 372 | |---|---|---|---|---|---|---|---|---|---| |
| 373 | | 28.04.2026 | LEASE PLAN NEDERLAND | -550.00 | -454.55 | -95.45 | 21% | 5b | Y | Q3 | "Car: BTW deductible now, year-end BUA privégebruik correction needed. What is the cataloguswaarde?" | |
| 374 | |
| 375 | --- |
| 376 | |
| 377 | ## Section 5 — Tier 1 classification rules (compressed) |
| 378 | |
| 379 | ### 5.1 Standard rate 21% (Art. 9 lid 1 Wet OB) |
| 380 | |
| 381 | Default rate. Sales → rubriek 1a. Purchases → rubriek 5b. |
| 382 | |
| 383 | ### 5.2 Reduced rate 9% (Tabel I bij Wet OB) |
| 384 | |
| 385 | Applies to: food and non-alcoholic drinks (on-premises and takeaway), books (print and digital), medicines, hotels, camping, cultural events (museums, cinema, theatre), passenger transport, hairdressers, repairs of bicycles/shoes/clothing/household linen. Sales → rubriek 1b. Purchases → rubriek 5b. |
| 386 | |
| 387 | ### 5.3 Zero rate and exempt with credit |
| 388 | |
| 389 | Exports outside EU → rubriek 1e (zero-rated). Intra-EU B2B supplies of goods → rubriek 2a (intracommunautaire levering, zero-rated with VIES verification). Intra-EU B2B services → rubriek 2a (diensten, place of supply customer's country). |
| 390 | |
| 391 | ### 5.4 Exempt without credit (Art. 11 Wet OB) |
| 392 | |
| 393 | Medical/paramedical, education, insurance, financial services, residential rent, postal universal service, cultural/sporting (in some cases), child care. No output BTW, no input deduction. If significant → **R-NL-2 refuses**. |
| 394 | |
| 395 | ### 5.5 Local standard purchases |
| 396 | |
| 397 | Input BTW on a compliant invoice from a Dutch supplier is deductible. Map to rubriek 5b. |
| 398 | |
| 399 | ### 5.6 Reverse charge — EU services received (verlegging, Art. 12 lid 2) |
| 400 | |
| 401 | EU supplier invoices at 0% with reverse charge: output BTW on rubriek 4a, input BTW on rubriek 5b. Net effect zero. |
| 402 | |
| 403 | ### 5.7 Reverse charge — EU goods received (intracommunautaire verwerving) |
| 404 | |
| 405 | Goods from EU: output BTW on rubriek 3a, input BTW on rubriek 5b. |
| 406 | |
| 407 | ### 5.8 Reverse charge — non-EU |
| 408 | |
| 409 | Non-EU services and goods: output BTW on rubriek 4b, input BTW on rubriek 5b. |
| 410 | |
| 411 | ### 5.9 Capital goods (bedrijfsmiddelen / herzieningsregeling) |
| 412 | |
| 413 | No minimum threshold for BTW capitalisation. Herzieningsperiode: 5 years movable, 10 years immovable (Art. 13 Uitvoeringsbeschikking OB). Input BTW deductible in full at purchase for fully taxable businesses. Corrections for change of use over the herzieningsperiode. |
| 414 | |
| 415 | ### 5.10 BUA — Besluit Uitsluiting Aftrek (blocked deductions) |
| 416 | |
| 417 | The BUA blocks deduction of BTW on: |
| 418 | - Business gifts (relatiegeschenken) to external parties if total per recipient > €227 per year. Below → deductible. |
| 419 | - Food, drink, tobacco provided in connection with external business relations (entertainment). |
| 420 | - Private use of company car (privégebruik auto): correct at year-end via rubriek 1d. Correction = 2.7% of cataloguswaarde per year (or actual private use %). |
| 421 | - Staff provisions: meals at workplace, canteen → partially blocked if below cost. |
| 422 | - Accommodation for external relations → blocked. |
| 423 | - NOTE: unlike Malta's hard block on entertainment, the Netherlands blocks via BUA year-end correction mechanism. BTW is initially deductible, then corrected. |
| 424 | |
| 425 | ### 5.11 Private use correction (rubriek 1d) |
| 426 | |
| 427 | At year-end (or in Q4 / last period), the client must declare output BTW on private use of business goods via rubriek 1d. Most common: car (2.7% cataloguswaarde), phone, home office. |
| 428 | |
| 429 | ### 5.12 Intracommunautaire opgave (ICP — Listing) |
| 430 | |
| 431 | In addition to the OB aangifte, if the client makes intra-EU supplies, they must file an ICP (Intracommunautaire opgave) listing the EU customers and amounts. This is separate from the OB aangifte but the data comes from the same rubriek 2a transactions. Flag for reviewer. |
| 432 | |
| 433 | ### 5.13 Sales — local domestic |
| 434 | |
| 435 | Charge 21% or 9% as applicable. Map to rubriek 1a or 1b. |
| 436 | |
| 437 | ### 5.14 Sales — cross-border B2C |
| 438 | |
| 439 | Above €10,000 EU-wide → **R-EU-5 OSS refusal fires**. Below → Dutch BTW. |
| 440 | |
| 441 | ### 5.15 Import BTW |
| 442 | |
| 443 | Since 2023, businesses with an Art. 23 licence (vergunning) can defer import BTW to the OB aangifte instead of paying at customs. Output on rubriek 3b or 4b, input on 5b. |
| 444 | |
| 445 | --- |
| 446 | |
| 447 | ## Section 6 — Tier 2 catalogue (compressed) |
| 448 | |
| 449 | ### 6.1 Fuel and vehicle costs |
| 450 | |
| 451 | *Pattern:* SHELL, BP, ESSO, TANGO, TINQ. *Default:* deductible in full, flag for BUA year-end correction. *Question:* "What is the cataloguswaarde of the car? What % private use?" |
| 452 | |
| 453 | ### 6.2 Restaurants and entertainment |
| 454 | |
| 455 | *Pattern:* restaurant, eetcafe, hotel. *Default:* block (BUA). *Question:* "Staff event or external business entertainment?" |
| 456 | |
| 457 | ### 6.3 Ambiguous SaaS billing entities |
| 458 | |
| 459 | *Default:* non-EU reverse charge rubriek 4b. *Question:* "Check invoice for legal entity and country." |
| 460 | |
| 461 | ### 6.4 Round-number incoming transfers from owner-named counterparties |
| 462 | |
| 463 | *Default:* exclude as owner injection. *Question:* "Customer payment, own money, or loan?" |
| 464 | |
| 465 | ### 6.5 Incoming transfers from individual names |
| 466 | |
| 467 | *Default:* domestic B2C 21%. *Question:* "Sale? Business or consumer?" |
| 468 | |
| 469 | ### 6.6 Incoming transfers from foreign counterparties |
| 470 | |
| 471 | *Default:* domestic 21%. *Question:* "B2B with BTW-id, B2C, goods or services, which country?" |
| 472 | |
| 473 | ### 6.7 Large one-off purchases |
| 474 | |
| 475 | *Default:* deductible, flag for herzieningsregeling tracking. *Question:* "Confirm invoice amount." |
| 476 | |
| 477 | ### 6.8 Mixed-use phone, internet, home office |
| 478 | |
| 479 | *Default:* 0% if mixed. *Question:* "Dedicated business line or mixed-use? Business %?" |
| 480 | |
| 481 | ### 6.9 Outgoing transfers to individuals |
| 482 | |
| 483 | *Default:* exclude. *Question:* "Contractor, wages, refund, or personal?" |
| 484 | |
| 485 | ### 6.10 Cash withdrawals |
| 486 | |
| 487 | *Pattern:* geldopname, pinopname. *Default:* exclude. *Question:* "What was the cash used for?" |
| 488 | |
| 489 | ### 6.11 Rent payments |
| 490 | |
| 491 | *Default:* no BTW (residential). *Question:* "Commercial property with BTW option (optie belaste verhuur)?" |
| 492 | |
| 493 | ### 6.12 Foreign hotel and accommodation |
| 494 | |
| 495 | *Default:* exclude from input BTW. *Question:* "Business trip?" |
| 496 | |
| 497 | ### 6.13 Airbnb income |
| 498 | |
| 499 | *Default:* [T2] flag. *Question:* "Short-stay rental? Duration? Tourist tax (toeristenbelasting)?" |
| 500 | |
| 501 | ### 6.14 Domestic reverse charge (construction) |
| 502 | |
| 503 | *Pattern:* aanneming, onderaanneming, construction. *Why insufficient:* the Netherlands has domestic verlegging for construction subcontracting (Art. 12 lid 5 Wet OB). *Default:* [T2] flag. *Question:* "Construction subcontractor with verlegging?" |
| 504 | |
| 505 | ### 6.15 Platform sales |
| 506 | |
| 507 | *Default:* if EU cross-border above €10,000 → R-EU-5. Otherwise: domestic 21% for sales; platform fees as EU reverse charge. *Question:* "Sell outside Netherlands?" |
| 508 | |
| 509 | --- |
| 510 | |
| 511 | ## Section 7 — Excel working paper template (Netherlands-specific) |
| 512 | |
| 513 | The base specification is in `vat-workflow-base` Section 3. This section provides the Netherlands overlay. |
| 514 | |
| 515 | ### Sheet "Transactions" |
| 516 | |
| 517 | Column H accepts rubriek codes from Section 1. For reverse charge, enter both (e.g. "4a/5b"). |
| 518 | |
| 519 | ### Sheet "Rubriek Summary" |
| 520 | |
| 521 | ``` |
| 522 | | 1a | Omzet 21% + BTW | =SUMIFS(...) | |
| 523 | | 1b | Omzet 9% + BTW | =SUMIFS(...) | |
| 524 | | 1e | 0% / niet belast | =SUMIFS(...) | |
| 525 | | 2a | Intracommunautaire prestaties | =SUMIFS(...) | |
| 526 | | 3a | Verwervingen uit EU | =SUMIFS(...) | |
| 527 | | 4a | Verlegging EU | =SUMIFS(...) | |
| 528 | | 4b | Verlegging niet-EU | =SUMIFS(...) | |
| 529 | | 5a | Verschuldigde BTW | =SUM(BTW on 1a,1b,1d,3a,4a,4b) | |
| 530 | | 5b | Voorbelasting | =SUM(deductible input BTW) | |
| 531 | | 5c | Subtotaal | =5a - 5b | |
| 532 | | 5g | Te betalen / te ontvangen | =5c + 5e | |
| 533 | ``` |
| 534 | |
| 535 | ### Mandatory recalc step |
| 536 | |
| 537 | ```bash |
| 538 | python /mnt/skills/public/xlsx/scripts/recalc.py /mnt/user-data/outputs/netherlands-vat-<period>-working-paper.xlsx |
| 539 | ``` |
| 540 | |
| 541 | --- |
| 542 | |
| 543 | ## Section 8 — Dutch bank statement reading guide |
| 544 | |
| 545 | **CSV format conventions.** Dutch banks export in CSV with comma or semicolon delimiters and DD-MM-YYYY dates. Common columns: Datum, Naam/Omschrijving, Rekening, Tegenrekening, Bedrag, Mutatiesoort, Mededelingen. ING uses YYYYMMDD in their CSV. |
| 546 | |
| 547 | **Dutch language variants.** Huur (rent), salaris/loon (salary), rente (interest), overboeking (transfer), factuur (invoice), terugbetaling (refund), storting (deposit), opname (withdrawal). Treat as English equivalents. |
| 548 | |
| 549 | **Mutatiesoort codes.** BA = betaalautomaat (card payment), GT = girale telebankieropdracht (bank transfer), IC = incasso (direct debit), OV = overboeking (internal transfer), ST = storting (deposit). These help classify. |
| 550 | |
| 551 | **Internal transfers.** "Overboeking eigen rekening", "naar spaarrekening". Always exclude. |
| 552 | |
| 553 | **Belastingdienst payments.** Tax payments appear as "BELASTINGDIENST" with a specific aanslagnummer. Always exclude. |
| 554 | |
| 555 | **Foreign currency.** Convert to EUR at transaction date ECB rate. |
| 556 | |
| 557 | **IBAN prefix.** NL = Netherlands. IE, LU, FR, DE = EU. US, GB, AU, CH = non-EU. |
| 558 | |
| 559 | --- |
| 560 | |
| 561 | ## Section 9 — Onboarding fallback (only when inference fails) |
| 562 | |
| 563 | ### 9.1 Entity type |
| 564 | *Inference rule:* BV = company; eenmanszaak = sole trader; VOF = partnership; zzp'er = freelancer. *Fallback:* "Eenmanszaak, BV, VOF, or zzp'er?" |
| 565 | |
| 566 | ### 9.2 BTW regime |
| 567 | *Inference rule:* if filing OB aangifte, they are standard regime. *Fallback:* "Standard BTW regime or KOR?" |
| 568 | |
| 569 | ### 9.3 BTW-id |
| 570 | *Fallback:* "What is your BTW-id? (NL + 9 digits + B + 2 digits)" |
| 571 | |
| 572 | ### 9.4 Filing period |
| 573 | *Fallback:* "Which quarter/month?" |
| 574 | |
| 575 | ### 9.5 Industry |
| 576 | *Fallback:* "What does the business do?" |
| 577 | |
| 578 | ### 9.6 Employees |
| 579 | *Inference rule:* UWV, loonheffing outgoing. *Fallback:* "Employees?" |
| 580 | |
| 581 | ### 9.7 Exempt supplies |
| 582 | *Fallback:* "Any exempt sales?" *If yes → R-NL-2.* |
| 583 | |
| 584 | ### 9.8 Credit carried forward |
| 585 | *Always ask.* "BTW credit from prior period?" |
| 586 | |
| 587 | ### 9.9 Cross-border customers |
| 588 | *Fallback:* "Customers outside Netherlands? EU/non-EU? B2B/B2C?" |
| 589 | |
| 590 | ### 9.10 Art. 23 import licence |
| 591 | *Conditional fallback:* "Do you have an Art. 23 vergunning for deferred import BTW?" |
| 592 | |
| 593 | --- |
| 594 | |
| 595 | ## Section 10 — Reference material |
| 596 | |
| 597 | ### Validation status |
| 598 | |
| 599 | v2.0, April 2026, three-tier Accora architecture. |
| 600 | |
| 601 | ### Sources |
| 602 | |
| 603 | 1. Wet op de omzetbelasting 1968 (Wet OB) — https://wetten.overheid.nl |
| 604 | 2. Uitvoeringsbeschikking OB 1968 — herzieningsregeling |
| 605 | 3. Besluit Uitsluiting Aftrek omzetbelasting 1968 (BUA) |
| 606 | 4. Belastingdienst OB aangifte guidance — https://www.belastingdienst.nl |
| 607 | 5. Council Directive 2006/112/EC — via eu-vat-directive companion skill |
| 608 | 6. VIES — https://ec.europa.eu/taxation_customs/vies/ |
| 609 | |
| 610 | ### Known gaps |
| 611 | |
| 612 | 1. KOR details not covered (R-NL-1 refuses). |
| 613 | 2. BUA year-end correction calculation is simplified (2.7% cataloguswaarde). |
| 614 | 3. Art. 23 import deferral details are flagged T2 only. |
| 615 | 4. Herzieningsregeling tracking requires multi-year data. |
| 616 | 5. ICP listing is flagged but not generated. |
| 617 | 6. Domestic construction verlegging flagged T2 only. |
| 618 | |
| 619 | ### Change log |
| 620 | |
| 621 | - **v2.0 (April 2026):** Full rewrite to Malta v2.0 structure. 10 sections. |
| 622 | - **v1.0/1.1:** Initial skill. |
| 623 | |
| 624 | ### Self-check (v2.0) |
| 625 | |
| 626 | 1. Quick reference with rubrieken table: yes. |
| 627 | 2. Supplier library (15 sub-tables): yes. |
| 628 | 3. Worked examples (6): yes. |
| 629 | 4. Tier 1 rules (15): yes. |
| 630 | 5. Tier 2 catalogue (15): yes. |
| 631 | 6. Excel template: yes. |
| 632 | 7. Onboarding fallback (10): yes. |
| 633 | 8. 8 refusals: yes. |
| 634 | 9. Reference material: yes. |
| 635 | 10. BUA mechanism (key NL difference from Malta hard block): yes. |
| 636 | 11. Privégebruik auto correction via rubriek 1d: yes. |
| 637 | 12. Atlassian NL entity exception: yes. |
| 638 | 13. EU B2B services on rubriek 2a: yes. |
| 639 | 14. Non-EU SaaS reverse charge rubriek 4b: yes. |
| 640 | 15. Art. 23 import deferral mentioned: yes. |
| 641 | |
| 642 | ## End of Netherlands VAT Return Skill v2.0 |
| 643 | |
| 644 | This skill is incomplete without BOTH companion files: `vat-workflow-base` v0.1+ AND `eu-vat-directive` v0.1+. |
| 645 | |
| 646 | |
| 647 | --- |
| 648 | |
| 649 | ## Disclaimer |
| 650 | |
| 651 | This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a belastingadviseur, registeraccountant, or equivalent licensed practitioner) before filing or acting upon. |
| 652 | |
| 653 | The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com). Log in to access the latest version, request a professional review from a licensed accountant, and track updates as tax law changes. |
| 654 |
Run this skill, then get an accountant to check it
After running the full skill pack in Claude, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.
Depends on
Quality
Q2: Research-verified
Deep research against tax authority sources. Not yet tested on real data.
Needs real client data + practitioner sign-off to reach Q1.
Accountant Review
About
Use this skill whenever asked to prepare, review, or classify transactions for a Netherlands VAT return (OB aangifte / btw-aangifte) for a self-employed individual or small business in the Netherlands. Trigger on phrases like "prepare OB aangifte", "Dutch VAT return", "BTW aangifte", "classify transactions for Dutch VAT", or any request involving Netherlands VAT filing. This skill covers the Netherlands only, standard BTW regime. Kleineondernemersregeling (KOR), partial exemption, margin scheme (margeregeling), and VAT groups (fiscale eenheid) are in the refusal catalogue. MUST be loaded alongside BOTH vat-workflow-base v0.1 or later AND eu-vat-directive v0.1 or later. ALWAYS read this skill before touching any Dutch VAT work.