TIP: You can type at any time to perform a new search.
Datev Export XML
datev_export_xml · OCA/l10n-germany
- Repository
- OCA/l10n-germany · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Accounting
- Folder size
- 3.29 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/l10n-germany
- Last tracking update
- 2026-08-07 08:42:57
- Authors
- Odoo Community Association (OCA), initOS GmbH, Guenter Selbert, Thorsten Vocks, Maciej Wichowski, Daniela Scarpa, Maria Sparenberg, Jan Sierpina
- Maintainers
- Odoo Community Association (OCA), initOS GmbH, Guenter Selbert, Thorsten Vocks, Maciej Wichowski, Daniela Scarpa, Maria Sparenberg, Jan Sierpina
- Committers
- Holger Brunn, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
## Odoo Export to DATEV XML The datev_export_xml module allows to export invoices and bills with their origin digitized receipts in order to transmitt structured accounting data via file-based DATEV XML format. The transfer of these files created by this module to the invoice books in DATEV Unternehmen Online can be done currently via the free DATEV document transfer app. The DATEV XML interface cannot cover use cases such as: - Pure G/L account postings (G/L account to G/L account, e.g. payment postings) - Master data transfer for business partners (customers/creditors) - certain §13b UStG issues (see permissible tax codes for DATEV Unternehmen online)
Code Analysis ⓘ
Views touched (13)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
datev_export_view_kanban |
datev.export.xml.kanban | datev.export.xml | kanban | New |
datev_export_view_tree |
datev.export.xml.view.list | datev.export.xml | list | New |
export_invoice |
export_invoice | ir.ui.view | qweb | New |
export_invoice_document |
export_invoice_document | ir.ui.view | qweb | New |
export_invoice_line |
export_invoice_line | ir.ui.view | qweb | New |
export_invoice_line_item |
export_invoice_line_item | ir.ui.view | qweb | New |
export_party |
export_party | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.datev.view.form | res.config.settings | form | Inherits datev_export.res_config_settings_view_form |
view_account_invoice_filter |
account.move | Inherits account.view_account_invoice_filter | ||
view_datev_export_form |
datev.export.xml.form | datev.export.xml | form | New |
view_datev_export_popup_form |
datev.export.xml.popup.form | datev.export.xml | form | Inherits view_datev_export_form |
view_move_datev_validation |
account.move | list | New | |
view_move_form |
account.move | form | Inherits account.view_move_form |
HTTP endpoints (1)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/datev/xml/download/<int:line_id> |
DatevHome.datev_xml_download_attachment |
user | http | ALL |
Models touched (9)
New fields (2)
-
datev_exportedBooleancopy=Falsehelp='When finishing a datev export the processed invoices are marked as exported.\nIf you need to export the invoices again, set this field to False.'string='Exported to Datev' -
datev_validationText
-
datev_delivery_date(self) -
datev_filename(self, extension='.pdf') -
datev_format_total(self, value, prec=2) -
datev_invoice_id(self) -
datev_invoice_type(self) -
datev_order_id(self) -
datev_party_attributes(self, partner) -
datev_sanitize(self, value, length=36)
New fields (0)
No new fields.
Public methods (2)-
datev_analytic_account(self) -
datev_price_information(self)
New fields (19)
-
check_xsdBooleandefault=Truerequired=True args: 'Check XSD' -
client_numberCharreadonly=Truerelated='company_id.datev_client_number' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=True args: 'res.company' -
consultant_numberCharreadonly=Truerelated='company_id.datev_consultant_number' -
date_startDatedefault=_default_start args: 'From Date' -
date_stopDatedefault=_default_stop args: 'To Date' -
exception_infoTextreadonly=True -
export_invoiceBooleandefault=True args: 'Export Invoices' -
export_refundBooleandefault=True args: 'Export Refunds' -
export_typeSelectiondefault='out'required=True args: [('out', 'Customers'), ('in', 'Vendors')] -
invoice_idsMany2many → account.movecomodel_name='account.move'string='Invoices' -
invoices_countIntegercompute='_compute_invoices_count'store=Truestring='Total Invoices' -
invoices_exported_countIntegercompute='_compute_invoices_count'store=Truestring='Exported Invoices' -
line_countIntegercompute='_compute_line_count' -
line_idsOne2many → datev.export.xml.lineargs: 'datev.export.xml.line', 'export_id', 'Lines' -
manually_document_selectionBooleandefault=False -
nameChar -
problematic_invoices_countIntegercompute='_compute_problematic_invoices_count' -
stateSelectiondefault='draft'readonly=Truerequired=Truestring='Status'tracking=True args: [('draft', 'Draft'), ('pending', 'Pending'), ('running', 'Running'), ('done', 'Done'), ('failed', 'Failed')]
-
action_done(self) -
action_draft(self) -
action_invalidate_lines(self) -
action_pending(self) -
action_show_invalid_invoices_view(self) -
action_show_related_invoices_view(self) -
action_validate(self) -
create(self, vals_list)@api.model_create_multi -
cron_run_pending_export(self)@api.modelA Cron job can't execute parallel, so if we run this cron and there is currently a running datev export we can restart it. -
export_zip(self) -
export_zip_invoice(self, invoice_ids=None)@api.model -
get_invoices(self) -
get_type_list(self) -
get_zip(self) -
validate_types(self)@api.constrains('export_invoice', 'export_refund', 'export_type') -
write(self, vals)
New fields (6)
-
attachment_idMany2one → ir.attachmentondelete='cascade'readonly=True args: 'ir.attachment' -
export_idMany2one → datev.export.xmlreadonly=True args: 'datev.export.xml' -
filenameCharreadonly=Truerelated='attachment_id.name' -
filesizeCharcompute='_compute_filesize' -
invoice_idsMany2many → account.movereadonly=True args: 'account.move' -
invoices_countIntegercompute='_compute_invoices_count'store=Truestring='Invoices'
-
action_datev_download(self) -
action_open_invoices(self) -
unlink(self)
New fields (0)
No new fields.
Public methods (3)-
find_existing_attachments(self, invoice)@api.model -
generate_pdf(self, invoice)@api.model -
report_name(self)@api.model
New fields (0)
No new fields.
Public methods (3)-
check_xml_file(self, doc_name, root, xsd=None, invoice=None)@api.model -
generate_xml_document(self, invoices, check_xsd=True)@api.model -
generate_xml_invoice(self, invoice, check_xsd=True)@api.model
New fields (0)
No new fields.
Public methods (2)-
check_valid_data(self, invoices)@api.model -
generate_zip(self, invoices, check_xsd)@api.model
New fields (5)
-
datev_customer_order_refSelectiondefault='odoo'required=True args: [('odoo', 'Odoo Reference'), ('partner', 'Partner Reference'), ('payment', 'Payment Reference')], 'Customer Order Reference' -
datev_default_periodSelectiondefault='week'help='Used to get default values for start and stop date at DATEV Export!' args: [('day', 'Day'), ('week', 'Week'), ('month', 'Month'), ('year', 'Year')] -
datev_export_stateBooleanhelp='If set, the invoices are marked as exported when finishing a Datev export.' -
datev_package_limitIntegerdefault=100string='Package Limit in MB' -
datev_vendor_order_refSelectiondefault='odoo'required=True args: [('odoo', 'Odoo Reference'), ('partner', 'Partner Reference'), ('payment', 'Payment Reference')], 'Vendor Order Reference'
No public methods.
New fields (5)
-
datev_customer_order_refSelectionreadonly=Falserelated='company_id.datev_customer_order_ref' -
datev_default_periodSelectionreadonly=Falserelated='company_id.datev_default_period' -
datev_export_stateBooleanreadonly=Falserelated='company_id.datev_export_state' -
datev_package_limitIntegerreadonly=Falserelated='company_id.datev_package_limit' -
datev_vendor_order_refSelectionreadonly=Falserelated='company_id.datev_vendor_order_ref'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…