German VAT Statement

Technical Name:
  • Odoo Version

Terms and Conditions 

German VAT Statement

Beta License: AGPL-3 OCA/l10n-germany Translate me on Weblate Try me on Runbot

This module provides the German VAT Statement (Umsatzsteuervoranmeldung). You can use the German VAT Statement report to declare your taxes on

Table of contents


To install this module, you need to:

  1. Install module l10n_de_tax_statement version >=
  2. This module depends on module account_tax_balance available at


This module makes use of the tax tags (eg.: 81, 86, 91, 89, 93 ...) as prescribed by the German tax laws and represented by the tax declaration form "Umsatzsteuervoranmeldung".

If the default Odoo German chart of accounts is installed (module l10n_de) you are able to select in the settings if you want to use the skr03 or skr04 chart variant. By installing and configuring your favored german account chart the tax tags from the module l10n_de are automatically present in the database. If this is the case, go to menu: Invoicing -> Configuration -> Accounting -> German Tax Tags, and check that the tags are correctly set. Click finally Apply to confirm the right tax - tax tags mappings.

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. If you create another german account chart (f.e. l10n_de_ikr) you can still depend on l10n_de module in order to benefit from the generic tax tags for germany. If you won't use l10n_de as a base module you have to configure at first your own tax tags. After that, go to go to menu: Invoicing -> Configuration -> Accounting -> German Tax Tags, and manually set the tags in the configuration form; click Apply to confirm (for more information about the installation and configuration of that module, check the README file).


To create a statement you need to:

  1. Verify that you have enough permits. You need to belong at least to the Accountant group.
  2. Go to the menu: Invoicing -> Reports > Taxes Balance > German Tax Statement
  3. Create a statement, providing a name and specifying start date and end date
  4. Press the Update button to calculate the report: the report lines will be displayed in the tab Statement
  5. Eventually you have to manually enter the tax base amounts of lines '20', '21', '22', '23', '24','26', '27', '28', '29', '30','32', '33', '34', '35', '36','38', '39', '40', '41', '42','48', '49', '50', '51', '52','64', '65', '67') if you want to change the values from float format to integer (in Edit mode, click on the amount of the line to be able to change the value).
  6. 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:

  1. Open the tab Past Undeclared Invoices, available when the statement is in status Draft.
  2. Set an initial date (field From Date) from which the past undeclared invoices will be displayed.
  3. One by one, add the displayed undeclared invoices, by clicking on the Add Invoice button present in each line.
  4. Press the Update button in order to recompute the statement lines.

Extra info about the workflow:

  1. 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
  2. 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:

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

Known issues / Roadmap

  • Add checks to avoid errors in the report, e.g. no VAT code, tax-code not matching fiscal position, etc..
  • Re-formatting of tax base values from float format to integer. Currently in the official tax forms we need to enter integer format for some of the base tax values (f.e. instead of 250,52 € -> 251 €). The non writable tax calculation is based on the integer format. We propose to do that change manually in the tax declaration forms. It should be easy to adopt.
  • Report in .xml format in order to import the vat statement on portal in order to avoid manuall transmission of the values.

Bug Tracker

Bugs are tracked on GitHub 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.

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



  • Onestein


This module is maintained by the OCA.

Odoo Community Association

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-germany project on GitHub.

You are welcome to contribute. To learn how please visit

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products