Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] l10n_nl_tax_statement #372

Merged
merged 49 commits into from
Jul 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ae0d9a4
[RFC][ADD] l10n nl tax statement for V10 (#70)
astirpe Apr 20, 2017
4abd5f5
OCA Transbot updated translations from Transifex
oca-transbot May 1, 2017
4f2ff3a
OCA Transbot updated translations from Transifex
oca-transbot Jun 3, 2017
fa8b3df
OCA Transbot updated translations from Transifex
oca-transbot Jun 17, 2017
498175c
Fix onchange_date_range_id()
astirpe Jun 21, 2017
5d181a5
Make use of update() + renamed button method
astirpe Jun 21, 2017
801e2dc
Add multicompany security rule (#93)
astirpe Jul 4, 2017
d0e82c7
OCA Transbot updated translations from Transifex
oca-transbot Jul 22, 2017
606f04f
Remove domain for date range
astirpe Jul 19, 2017
4b21f33
[ADD] Missing Dutch Translations (#99)
ploegvde Jul 25, 2017
b335f96
OCA Transbot updated translations from Transifex
oca-transbot Jul 29, 2017
b3206e6
OCA Transbot updated translations from Transifex
oca-transbot Aug 19, 2017
5465eaa
[IMP][10.0] l10n_nl_tax_statement: add lines 5d, 5e, 5f and 5g in rep…
astirpe Aug 21, 2017
4d0ebb4
[MIG] Porting to V11
astirpe Dec 2, 2017
a45e34a
OCA Transbot updated translations from Transifex
oca-transbot Jan 16, 2018
3817364
OCA Transbot updated translations from Transifex
oca-transbot Jan 17, 2018
cffea8e
[11.0][FIX] l10n_nl_tax_statement: printing report
astirpe Jan 18, 2018
ecc1279
OCA Transbot updated translations from Transifex
oca-transbot Jan 27, 2018
a7a2e71
[FIX] CSS Namespace conflict with account_financial_report_qweb
StefanRijnhart Mar 6, 2018
d2d521e
[11.0][IMP] Include past undeclared invoices
astirpe Jan 16, 2018
83e9f3c
Remove tag 5b btw bis
astirpe Aug 22, 2018
4d69023
Add tag_3b_omzet diensten in l10n_nl_tax_statement
astirpe Sep 6, 2018
a94ec78
Code review
astirpe Sep 13, 2018
4a95228
[MIG] Port l10n_nl_tax_statement to 12.0
astirpe Oct 4, 2018
3632992
Port latest changes from 11.0
astirpe Oct 31, 2018
bf0acaf
Add coverage
astirpe Nov 30, 2018
1f634d5
[IMP] Add buttons to display detailed move lines
astirpe Dec 3, 2018
8d2d394
[UPD] README.rst
OCA-git-bot Jan 28, 2019
6bd8cca
[ADD] icon.png
OCA-git-bot Apr 3, 2019
adeeb9b
[UPD] README.rst
OCA-git-bot Jul 29, 2019
458283e
[FIX] Include past invoices in report
astirpe Feb 8, 2019
0cb84e1
Fix _compute_is_invoice_basis()
astirpe Sep 13, 2019
51ee1b6
Pre-commit
astirpe Apr 17, 2020
5480eea
[13.0][MIG] l10n_nl_tax_statement
astirpe Apr 17, 2020
d29fa80
Improve UX
astirpe Jul 30, 2020
0f04a78
pre-commit
astirpe Jan 12, 2021
91ded7d
[14.0][MIG] l10n_nl_tax_statement
astirpe Jan 12, 2021
3dc0141
[UPD] Update l10n_nl_tax_statement.pot
oca-travis Feb 26, 2021
5bc91e3
[UPD] README.rst
OCA-git-bot Feb 26, 2021
576d43a
Translated using Weblate (Dutch)
bosd Feb 28, 2021
a36e1bb
[IMP] update dotfiles [ci skip]
OCA-git-bot Mar 30, 2022
ac54eef
[MIG] l10n_nl_tax_statement: Migration to 15.0
tarteo May 10, 2022
22f9821
[UPD] Update l10n_nl_tax_statement.pot
Sep 19, 2022
e9f8c45
[UPD] README.rst
OCA-git-bot Sep 19, 2022
19c225f
l10n_nl_tax_statement 15.0.1.0.1
OCA-git-bot Sep 19, 2022
922477c
[16.0][MIG] l10n_nl_tax_statement
astirpe Jan 18, 2023
54f2012
[16.0][MIG] l10n_nl_tax_statement: make use of _for_xml_id() when rea…
astirpe Jun 13, 2023
ad86463
[16.0][MIG] l10n_nl_tax_statement: computing default name
astirpe Jun 27, 2023
fb6662b
[IMP] l10n_nl_tax_statement: add XLS export
astirpe Jun 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
161 changes: 161 additions & 0 deletions l10n_nl_tax_statement/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
=========================
Netherlands BTW Statement
=========================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--netherlands-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-netherlands/tree/16.0/l10n_nl_tax_statement
:alt: OCA/l10n-netherlands
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-netherlands-15-0/l10n-netherlands-15-0-l10n_nl_tax_statement
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/176/16.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

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

**Table of contents**

.. contents::
:local:

Configuration
=============

This module makes use of the tax tags (eg.: 1a, 1b, 1c, 1d, 2a...) as prescribed by the Dutch tax laws.

If the default Odoo Dutch chart of accounts is installed (module ``l10n_nl``) then these tags are automatically present in the database.

If a non-standard chart of accounts is installed, you have to manually create the tax tags and properly set them into the tax definition.
The name of the tags must be formatted this way: "+1a (omzet)", "+1a (btw)", "-1a (omzet)", "-1a (btw)", "+2a (omzet)", "+2a (btw)", etc...

This module provides an accounting setting *Invoice basis* (Factuurstelsel)
that is enabled by default. This option makes the *invoice date* leading for
the tax declaration of a period, rather than the accounting date, and
allows you to change the accounting date of incoming invoices to the period
to which the costs apply and still create a legally valid Dutch tax
declaration. Without this option, the entries on the tax statement are
collected using only their accounting dates (what Odoo calls *standard
taxes*).

This setting is not compatible with the Odoo *Cash basis* (Kasstelsel) setting
which leads to the creation of tax journal lines at the moment that a payment
is received, so when using *Cash basis* you need to disable the *Invoice
basis* setting to create a valid Dutch tax declaration using this module.
To disable the *Invoice basis* for a company, you need to:

#. Open your Company form and verify that Country is set to ``Netherlands``.
#. Go to ``Invoicing -> Configuration -> Settings``, enable/disable ``NL Tax Invoice Basis (Factuurstelsel)`` and ``Apply``.

Usage
=====

To create a statement you need to:

#. Verify that you have enough permits. You need to belong at least to the *Billing Manager* or the *Accountant* group.
#. Go to the menu: `Invoicing -> Reporting > NL BTW Statement`
#. Create a statement, providing a name and specifying start date and end date
#. Press the Update button to calculate the report: the report lines will be displayed in the tab `Statement`
#. Manually enter the BTW amounts of lines '5d', '5e', '5f' (in Edit mode, click on the amount of the line to be able to change it)
#. Press the Post button to set the status of the statement to Posted; the statements set to this state cannot be modified

To add past undeclared invoices/moves:

#. Open the tab `Past Undeclared Moves`, available when the statement is in status Draft.
#. Set an initial date (field From Date) from which the past undeclared moves will be displayed.
#. One by one, add the displayed undeclared moves, by clicking on the `Add Move` button present in each line.
#. Press the Update button in order to recompute the statement lines.

Extra info about the workflow:

#. If you need to recalculate or modify or delete a statement already set to Posted status you need first to set it back to Draft status: press the button Reset to Draft
#. Instead, if you send the statement to the Tax Authority, you may want to avoid that the statement is set back to Draft: to avoid this, press the button Final. If you then confirm, it will be not possible to modify this Statement or reset it back to draft anymore.

Printing a PDF report:

#. If you need to print the report in PDF, open a statement form and click: `Print -> NL Tax Statement`

Multicompany fiscal unit:

#. According the Dutch Tax Authority, for all the companies belonging to a
fiscal unit, it's possible to declare one single tax statement.
#. To create one tax statement for a fiscal unit, log in into the parent
company and select the child companies in the statement (be sure the user
belongs to the multicompany group).
#. The child companies must have the same Tax codes labels (Tax Tags) as the
parent company, the same currency as the parent company and must be located
in The Netherlands.

Known issues / Roadmap
======================

* Exporting in SBR/XBLR format not yet available
* Limit invoices to last 5 year based on fiscal year end date (legal requirement)
* The unreported from date is calculate as 1 quarter, it should take 1 fiscal year based on fiscal year end date

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-netherlands/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-netherlands/issues/new?body=module:%20l10n_nl_tax_statement%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Onestein

Contributors
~~~~~~~~~~~~

* Andrea Stirpe <a.stirpe@onestein.nl>
* Antonio Esposito <a.esposito@onestein.nl>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-netherlands <https://github.com/OCA/l10n-netherlands/tree/16.0/l10n_nl_tax_statement>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions l10n_nl_tax_statement/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import report
22 changes: 22 additions & 0 deletions l10n_nl_tax_statement/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2017-2019 Onestein (<https://www.onestein.eu>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Netherlands BTW Statement",
"version": "16.0.1.0.0",
"category": "Localization",
"license": "AGPL-3",
"author": "Onestein, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/l10n-netherlands",
"depends": ["account", "report_xlsx"],
"data": [
"security/ir.model.access.csv",
"security/tax_statement_security_rule.xml",
"data/paperformat.xml",
"views/l10n_nl_vat_statement_view.xml",
"views/report_tax_statement.xml",
"views/res_config_settings.xml",
"report/report_tax_statement.xml",
],
"installable": True,
}
20 changes: 20 additions & 0 deletions l10n_nl_tax_statement/data/paperformat.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Onestein (<https://www.onestein.eu>)
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="paperformat_nl_tax_statement" model="report.paperformat">
<field name="name">Dutch Tax Statement qweb paperformat</field>
<field name="default" eval="True" />
<field name="format">A4</field>
<field name="page_height">0</field>
<field name="page_width">0</field>
<field name="orientation">Portrait</field>
<field name="margin_top">12</field>
<field name="margin_bottom">8</field>
<field name="margin_left">5</field>
<field name="margin_right">5</field>
<field name="header_line" eval="False" />
<field name="header_spacing">10</field>
<field name="dpi">110</field>
</record>
</odoo>
Loading