Repository
OCA/l10n-netherlands · module folder · Try on Runboat
Module version
1.0.0
Category
Localization
Folder size
0.18 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-netherlands
Last tracking update
2026-08-07 09:06:36
Authors
Odoo Community Association (OCA), Onestein
Maintainers
Odoo Community Association (OCA), Onestein
Committers
Ronald Portier, OCA-git-bot, oca-ci
Odoo dependencies
OCA/reporting-engine:
odoo/odoo:
- web
- bus
- uom
Python dependencies
xlrd, xlsxwriter
System dependencies
None
Required by
None
Description
This module provides you with the Tax Statement in the Dutch format.

The Tax Statement can be generated in two ways, according to the chosen
Dutch accounting system:

- Kasstelsel
- Factuurstelsel

By default the Tax Statement is generated according to the
*Factuurstelsel* system. 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>

About the *Kasstelsel* system instead, more information can be found 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>

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
l10n_nl_tax_statement.report_tax_statement l10n_nl_tax_statement.report_tax_statement ir.ui.view qweb New
l10n_nl_tax_statement.report_tax_statement_filters l10n_nl_tax_statement.report_tax_statement_filters ir.ui.view qweb New
res_config_settings_view_form res.config.settings form Inherits account.res_config_settings_view_form
view_l10n_nl_vat_report_form l10n.nl.vat.statement form New
view_l10n_nl_vat_report_tree l10n.nl.vat.statement list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (2)
  • l10n_nl_vat_statement_id Many2one → l10n.nl.vat.statement
    copy=False args: 'l10n.nl.vat.statement'
  • l10n_nl_vat_statement_include Boolean
    copy=False args: 'Include in VAT Statement'
Public methods (3)
  • l10n_nl_add_move_in_statement(self)
  • l10n_nl_unlink_move_from_statement(self)
  • write(self, values)

New fields (2)
  • l10n_nl_vat_statement_id Many2one
    related='move_id.l10n_nl_vat_statement_id' store=True string='Related Move Statement'
  • l10n_nl_vat_statement_include Boolean
    related='move_id.l10n_nl_vat_statement_include' store=True
Public methods (1)
  • write(self, values)

New fields (20)
  • btw_total Monetary
    compute='_compute_btw_total' string='5g. Total (5c + 5d)'
  • company_id Many2one → res.company
    default=<expr> readonly=True required=True args: 'res.company', 'Company'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' args: 'res.currency'
  • date_posted Datetime
    readonly=True
  • date_update Datetime
    readonly=True
  • display_button_add_all_undeclared_invoices Boolean
    compute='_compute_display_button_add_all_undeclared_invoices'
  • display_multicompany_fiscal_unit Boolean
    compute='_compute_display_multicompany_fiscal_unit'
  • fiscal_unit_company_ids Many2many → res.company
    args: 'res.company'
  • format_btw_total Char
    compute='_compute_amount_format_btw_total' string='5g - Total'
  • from_date Date
    required=True
  • is_invoice_basis Boolean
    related='company_id.l10n_nl_tax_invoice_basis' string='NL Tax Invoice Basis'
  • line_ids One2many → l10n.nl.vat.statement.line
    args: 'l10n.nl.vat.statement.line', 'statement_id', 'Lines'
  • move_line_ids One2many → account.move.line
    readonly=True string='Entry Lines' args: 'account.move.line', 'l10n_nl_vat_statement_id'
  • multicompany_fiscal_unit Boolean
  • name Char
    compute='_compute_name' readonly=False required=True store=True string='Tax Statement'
  • parent_id Many2one → l10n.nl.vat.statement
    compute='_compute_parent_statement_id' args: 'l10n.nl.vat.statement', 'Parent Statement'
  • state Selection
    copy=False default='draft' readonly=True string='Status' args: [('draft', 'Draft'), ('posted', 'Posted'), ('final', 'Final')]
  • to_date Date
    required=True
  • unreported_move_from_date Date
    compute='_compute_unreported_move_from_date' readonly=False store=True
  • unreported_move_ids One2many → account.move
    compute='_compute_unreported_move_ids' search='_search_unreported_move_ids' string='Unreported Journal Entries' args: 'account.move'
Public methods (7)
  • add_all_undeclared_invoices(self)
  • default_get(self, fields_list)
    @api.model
  • finalize(self)
  • post(self)
  • reset(self)
  • statement_update(self)
  • write(self, values)

New fields (11)
  • btw Monetary
    string='VAT'
  • code Char
  • currency_id Many2one → res.currency
    help='Utility field to express amount currency' related='statement_id.company_id.currency_id' args: 'res.currency'
  • format_btw Char
    compute='_compute_amount_format'
  • format_omzet Char
    compute='_compute_amount_format'
  • is_group Boolean
    compute='_compute_is_group'
  • is_readonly Boolean
    compute='_compute_is_readonly'
  • is_total Boolean
    compute='_compute_is_group'
  • name Char
  • omzet Monetary
    string='Turnover'
  • statement_id Many2one → l10n.nl.vat.statement
    args: 'l10n.nl.vat.statement'
Public methods (3)
  • get_lines_action(self, tax_or_base='tax')
  • view_base_lines(self)
  • view_tax_lines(self)

New fields (0)

No new fields.

Public methods (2)
  • format_line_from_obj(self, line, report_data, is_pair_line)
    Write statement line on current row
  • generate_xlsx_report(self, workbook, data, objects)

New fields (1)
  • l10n_nl_tax_invoice_basis Boolean
    default=True string='NL Tax Invoice Basis'
Public methods (0)

No public methods.

New fields (1)
  • l10n_nl_tax_invoice_basis Boolean
    readonly=False related='company_id.l10n_nl_tax_invoice_basis' string='NL Tax Invoice Basis'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…