Key takeaways

  • A financial statement audit tests whether annual accounts present a true and fair view under NL GAAP or IFRS-EU. A Belastingdienst boekenonderzoek tests whether the tax return is acceptable under the AWR and tax law. Same records, different standards.
  • The CAB sampling methodology uses its own materiality table and extrapolates even a single error across the full population, producing corrections far larger than a financial statement audit would flag.
  • A clean audit opinion is not a tax clearance. Transactions that pass ISA 550 related-party procedures can still be reclassified as disguised dividend distributions by the Belastingdienst.
  • The two auditors have fundamentally different powers: the financial statement auditor serves shareholders and the public interest; the tax inspector represents the state with enforcement powers including penalties and criminal referral.

The fundamental difference in audit objective

A financial statement audit asks one question: do these annual accounts, taken as a whole, give the insight required by BW2 article 2:362 (a true and fair view of equity, financial position, and result)? The auditor forms an opinion on the financial statements. ISA 200.11 defines this as "reasonable assurance," which is a high but not absolute level of assurance. The opinion addresses whether material misstatements exist in the financial statements, not whether individual transactions are correct.

A Belastingdienst boekenonderzoek asks a different question: is this tax return acceptable (aanvaardbaar)? What the financial statements look like is irrelevant to the inspector. What matters is whether the taxable profit, the VAT declarations, and the payroll tax filings are correct under tax law. The standard is not "true and fair view." The standard is compliance with the Algemene wet inzake rijksbelastingen (AWR) and the relevant tax legislation.

This distinction matters because the same set of accounting records produces both the financial statements and the tax returns, but the two processes evaluate those records against completely different criteria. A transaction can be correctly recorded for financial reporting purposes under NL GAAP and still be wrong for tax purposes. Transfer pricing adjustments, non-deductible costs under article 3.14 Wet IB 2001, and the treatment of provisions under tax law versus NL GAAP are all areas where the financial statements can be clean while the tax return is not.

Who performs each type and under what authority

The financial statement audit is performed by a registered auditor (registeraccountant or accountant-administratieconsulent with audit authority) working at a firm with a Wta licence. BW2 article 2:393 provides the legal basis. The auditor is appointed by the shareholders' meeting. Reports are issued to the shareholders in the form of an auditor's report (accountantsverklaring) that accompanies the annual accounts.

The Belastingdienst boekenonderzoek is performed by a tax inspector (controlemedewerker), often supported by an EDP-auditor when statistical sampling or data analysis is involved. The legal basis is article 47 AWR, which gives the tax authority broad powers to request information, inspect records, and access premises. There is no appointment process. The Belastingdienst selects taxpayers for audit based on risk analysis, sector-wide campaigns, or specific triggers.

The two auditors have fundamentally different relationships with the entity. The financial statement auditor serves the shareholders and the public interest. Professional independence requirements under the ViO prohibit the auditor from having any financial or personal interest in the entity. The tax inspector represents the state. The inspector has enforcement powers, including the ability to issue additional assessments (navorderingsaanslagen), impose penalties, and in serious cases refer matters for criminal prosecution.

One implication for the financial statement auditor: the Belastingdienst can and does request the entity's financial records during a boekenonderzoek, and those records include the audited financial statements. If the boekenonderzoek reveals errors in the underlying accounting records that also affect the financial statements, the financial statement auditor's opinion may come under scrutiny, even though the auditor was testing against a different standard.

How materiality works differently in each

In a financial statement audit, materiality is set at planning under ISA 320 based on a benchmark (typically profit before tax, revenue, or total assets) and applied to the financial statements as a whole. Misstatements below materiality are not corrected unless they are qualitatively significant. The ISA 320 materiality calculator walks through this process. A €50M revenue entity might have overall materiality set at €500K, meaning individual errors below that threshold may not even be identified during testing.

In a Belastingdienst boekenonderzoek, the materiality concept is entirely different. The CAB (Controleaanpak Belastingdienst, updated 2021) uses its own materiality table to determine the tolerance for errors in a tax return. The CAB materiality is based on the size of the population being tested (typically the total expenses or cost base), not on profit or revenue benchmarks. For an entity with €24M in costs, the CAB sets materiality at approximately €600K and the sampling interval at approximately €200K, resulting in a theoretical sample of around 120 items.

Where this gets consequential: if the Belastingdienst finds even one error in the sample, the return cannot be "approved" as acceptable. The burden shifts to the taxpayer to either reconstruct the full population or conduct their own statistical sample to disprove the extrapolation. The Belastingdienst may propose a correction based on the formula: number of error fractions multiplied by the sampling interval. A single misclassified invoice in a sample of 120 can be extrapolated to a correction across the full population.

Compare this to a financial statement audit where a single misstatement of €10K in a population of €24M wouldn't even be posted to the summary of unadjusted differences. Different thresholds, different consequences.

What triggers each type of audit

A financial statement audit is triggered by law. BW2 article 2:393 requires medium-sized and large entities to have their annual accounts audited. It happens every year, on a predictable cycle. The auditor is appointed in advance.

A Belastingdienst boekenonderzoek is triggered by risk. The tax authority selects entities for audit based on data analytics, sector risk profiles, specific red flags in filed returns, or random selection. VAT audits are the most common type. Corporate income tax (VpB) audits tend to focus on profit levels, deductibility of costs, related-party transactions, and transfer pricing.

There is no fixed cycle. Some entities go decades without a boekenonderzoek. Others get audited repeatedly because their sector or profile attracts attention. Horizontaal Toezicht (cooperative compliance) arrangements between larger entities and the Belastingdienst can reduce the frequency and intensity of audits, but they don't eliminate them entirely.

The unpredictability of the boekenonderzoek is precisely why clients confuse it with the financial statement audit. When the letter arrives, they assume "being audited" means the same thing. It does not.

Worked example: same transaction, two different audit conclusions

Scenario: Van Dijk Installatietechniek B.V. is a medium-sized mechanical installation company in Amersfoort. Revenue is €38M. The company has 85 employees. Both a statutory financial statement audit and a Belastingdienst boekenonderzoek are conducted for the 2024 financial year.

The transaction. Van Dijk paid €145,000 to a related-party management company for advisory services. The invoice describes "strategic advisory services for Q1-Q4 2024." The management company is owned by the spouse of Van Dijk's majority shareholder.

Financial statement audit conclusion

The auditor identifies the related-party transaction during ISA 550 procedures. The amount (€145K) is well below planning materiality (set at €380K, based on 1% of revenue). The auditor confirms the transaction is disclosed in the notes as a related-party transaction per RJ 330. The auditor tests whether the expense is recorded in the correct period and that the invoice exists. The transaction passes. The auditor's report is unmodified.

Belastingdienst conclusion

The tax inspector selects this invoice in the CAB sample. The inspector asks for supporting documentation: what advisory services were delivered? Where are the deliverables? Is the fee at arm's length? The inspector finds no written advisory reports, no time sheets, and no evidence of deliverables. The inspector reclassifies the payment as a disguised dividend distribution (verkapte winstuitdeling), adds it back to taxable profit, and assesses additional VpB plus a 25% penalty under article 67d AWR (vergrijpboete) for intentional filing of an incorrect return.

The takeaway for the client: A clean audit opinion is a statement about the financial statements. It is not a statement about tax compliance. If a transaction lacks substance from a tax perspective, the Belastingdienst will find it regardless of what the financial statement auditor concluded.

Practical checklist

  1. When a client receives a boekenonderzoek announcement, explain that the statutory audit and the tax audit test different things. Do this in writing, ideally before the first meeting with the inspector.
  2. Review the prior-year tax file for the areas the Belastingdienst is likely to focus on (VAT deductions, related-party transactions, intercompany pricing, employee benefits in kind). Flag any items where the tax treatment differs from the accounting treatment.
  3. Advise the client to discuss the sampling methodology with the inspector at the opening meeting. Under the CAB, the entity has the right to understand how the sample will be drawn and what the extrapolation methodology will be if errors are found.
  4. If you are the statutory auditor and the Belastingdienst requests the audited financial statements during the boekenonderzoek, that is permitted. But remind the client that the auditor's report is a statement about the financial statements, not a tax clearance.
  5. For entities under Horizontaal Toezicht, verify that the Tax Control Framework covers all tax types the Belastingdienst may audit, not only VpB. VAT and payroll tax are the areas where corrections most frequently arise.

Common mistakes

  • Assuming a clean statutory audit opinion means the entity's tax filings are correct. The financial statement audit tests against NL GAAP or IFRS-EU, not against the AWR. A transaction can be correctly recorded for financial reporting and still violate tax law.
  • Failing to prepare for the CAB extrapolation mechanism. If the Belastingdienst finds one error in a statistical sample, it extrapolates across the full population. Clients who don't understand this before the boekenonderzoek starts are caught off guard by the size of the proposed correction.

Get practical audit insights, weekly.

No exam theory. Just what makes audits run faster.

No spam — we're auditors, not marketers.

Related tools and reading

Put audit concepts into practice with these free tools:

Frequently asked questions

What is the difference between a financial statement audit and a tax audit?

A financial statement audit under BW2 article 2:393 asks whether the annual accounts present a true and fair view under NL GAAP or IFRS-EU. A Belastingdienst boekenonderzoek asks whether the tax return is acceptable under the AWR and applicable tax law. They test the same accounting records against completely different criteria, apply different materiality thresholds, and produce different outcomes when errors are found.

Does a clean audit opinion protect against Belastingdienst findings?

No. A clean audit opinion is a statement about whether the financial statements present a true and fair view. It is not a statement about tax compliance. A transaction can be correctly recorded for financial reporting purposes and still violate tax law, particularly in areas like transfer pricing, non-deductible costs, and the treatment of provisions where NL GAAP and tax law diverge.

How does materiality differ between the two audit types?

In a financial statement audit, materiality is set under ISA 320 based on a benchmark like revenue or profit, and misstatements below materiality may not be corrected. In a boekenonderzoek, the CAB materiality is based on the total cost population. If even one error is found in the sample, the Belastingdienst may extrapolate the error across the full population, resulting in corrections far larger than anything the financial statement audit would flag.

What triggers a Belastingdienst boekenonderzoek?

Unlike the statutory financial statement audit which occurs every year for medium and large entities, a boekenonderzoek is triggered by risk. The Belastingdienst selects entities based on data analytics, sector risk profiles, specific red flags, or random selection. There is no fixed cycle. Horizontaal Toezicht arrangements can reduce the frequency but don't eliminate audits entirely.

Further reading and source references

  • BW2 article 2:393: The statutory basis for the financial statement audit obligation.
  • Algemene wet inzake rijksbelastingen (AWR), article 47: The legal basis for Belastingdienst information powers during a boekenonderzoek.
  • Controleaanpak Belastingdienst (CAB, 2021): The Belastingdienst's audit methodology, including the materiality table and sampling approach.
  • ISA 320: Materiality in planning and performing an audit. Operates on fundamentally different principles than CAB materiality.
  • ISA 550: Related parties. Relevant for understanding why related-party transactions can pass a financial statement audit but fail a tax audit.