Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Invoicing (account)
• Purchase (purchase) • Accounting (accountant) • Discuss (mail) |
Lines of code | 588 |
Technical Name |
manatec_datev_export |
License | OPL-1 |
Website | https://www.manatec.de |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Invoicing (account)
• Purchase (purchase) • Accounting (accountant) • Discuss (mail) |
Lines of code | 588 |
Technical Name |
manatec_datev_export |
License | OPL-1 |
Website | https://www.manatec.de |
manaTec DATEV Export
Extending the Standard DATEV Export in Odoo
Module Overview: Extending Odoo's DATEV Export
This module expands the Odoo DATEV export by adding export options for analytic accounts and auto-generating unique debtor/creditor partner numbers. It provides new configuration settings, extended export logic, and integration with analytic plans.
Module Insights: How to Use
Activate the Features
Go to General Settings → Accounting and scroll to the section Reporting. There, you can activate or deactivate the available module features:
- Export of analytic accounts (KOST1/KOST2)
- Automatic debtor/creditor number generation
- Unified DATEV reference (Belegfeld 1)
- Fixation of exported bookings

Feature 1: Export analytic accounts (KOST1/KOST2)
Odoo’s standard DATEV export does not include cost centers (Kostenstellen) in the export file. This module adds support for exporting up to two cost fields per line (KOST1 and KOST2), based on the configuration in the analytic accounts.
Important: Before using this feature, you must first activate analytic accounting in the general settings.
Then, you can proceed to configure the cost plan export. Go to Accounting → Configuration → Analytic Plans and define for each plan
whether it should map to KOST1
or KOST2
in the export file.

Feature 2: Auto-generate DATEV partner numbers
Odoo’s default DATEV export uses internal database IDs as partner numbers, which can lead to mismatches with external systems. This module introduces unique number sequences for debtors and creditors that can be automatically generated. If a partner has no number at export time, one is generated automatically and stored permanently.
The number generation can be triggered on contact creation or order confirmation – depending on your configuration.

Feature 3: Unified DATEV reference (Belegfeld 1)
In the standard Odoo 18 DATEV export, the field Belegfeld 1 contains the journal sequence number
(e.g. BNK1/2025/00123
). This often causes problems in DATEV, because invoice and bank payment lines
appear with different references and cannot be matched automatically.
This module changes the logic: a consistent DATEV reference – usually the invoice number – is written into Belegfeld 1 for both the invoice line and the reconciled payment line. This ensures that DATEV can correctly match and reconcile both entries.
Note: This applies only to reconciled transactions – unreconciled entries are not exported.

Feature 4: Lock exported entries
This feature allows you to fixate journal entries that have already been exported via the DATEV export. Fixated entries are excluded from future exports to avoid duplicate bookings in DATEV. The lock prevents unintentional re-exports and helps ensure clean, auditable data transfers to DATEV.
Two separate flags are used:
- Is Locked For Datev Export – for the standard DATEV export
- Is Locked For Datev Attachment Export – for the attachment export
Once an export is performed, the corresponding flag is set automatically. A special access rule ensures that
only accounting administrators (account.group_account_manager
) can manually unlock these flags
if needed.

Changelog
- First implementation of module
- FEATURE 1: export analytic accounts
- Add
res.config.settings
to activate exporting analytic accounts for DATEV and to choose the format of the cost-field export - Add selection-field in
account.analytic.plan
to map the plan to a DATEV cost-field (KOST1 or KOST2) - Extend DATEV export logic to fill columns for KOST1 and KOST2 accordingly
- Show warning in settings when KOST1/KOST2 column is selected in plan, since distributions are not exported
- FEATURE 2: automatic generation of unique DATEV debtor/creditor partner numbers
- Add Boolean field in settings to enable/disable this feature
- Add selection to define the trigger event (e.g. contact creation, order confirmation)
- Extend PO confirmation logic to generate creditor numbers if selected
- Extend SO confirmation logic to generate debtor numbers if selected
- Generate numbers on contact creation when configured
- Check and generate debtor/creditor numbers in export if empty
- FEATURE 3: unified DATEV reference in "Belegfeld 1"
- Add Boolean field
datev_export_reference
tores.company
and expose it inres.config.settings
- When enabled, export same reference (invoice number) in DATEV Belegfeld 1 for reconciled invoice/payment lines
- FEATURE 4: fixating bookings that already have been exported
- Add Boolean field in settings to enable/disable this feature
- Add Boolean field
is_locked_for_datev_export
toaccount.move
that will be set to true once that move has been exported - Add Boolean field
is_locked_for_datev_attachment_export
toaccount.move
that will be set to true once that move has been exported with attachments - Add inverse-methods for both boolean-fields to reset the field if the other one was resetted as well
- Add
is_locked_for_datev_export
andis_locked_for_datev_attachment_export
to tree and form view ofaccount.move
- Add a filter in search view of
account.move
to filter for only non fixated bookings for normal and attachment export - Add help-boolean-field to account.move to compute that
is_locked_for_datev_export
andis_locked_for_datev_attachment_export
are always readonly unless you are in theaccount.group_account_manager-group
, then the field is editable
Do you like this module ?
Try out our other apps !

Challenges with this module, wishes
for more functions or questions about Odoo ?
Contact us !
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module