| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3773 |
| Technical Name |
docuware_accounting |
| License | LGPL-3 |
| Website | https://www.codebar.ch |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3773 |
| Technical Name |
docuware_accounting |
| License | LGPL-3 |
| Website | https://www.codebar.ch |
DocuWare Accounting Import
Import vendor bills and credit notes from DocuWare into Odoo Accounting.
codebar Solutions AG
docuware_accounting polls DocuWare file cabinets
for documents flagged ready-to-import (configurable status
field) and creates Odoo vendor bills or vendor credit notes
from them. Header fields and line items (DocuWare index
tables) are mapped to account.move and
account.move.line via a flexible UI; partner,
journal, account, tax and currency are resolved by VAT,
code, external ID, name or email. Per-document audit log,
dedupe via per-connection link records, optional auto-post,
and configurable index-field writeback to DocuWare on
success or error.
What’s in the box
Multiple import connections
One Accounting Import Connection per (DocuWare connection, file cabinet) pair. A single tenant can feed several import flows with different filters, mappings and writeback policies.
Table-based bookings
Each booking’s lines come from a DocuWare Index Table
field on the document. Every row in the table becomes one
account.move.line, with per-column mapping to
account, tax, quantity, price and analytic distribution.
Round-trip status writeback
After every import attempt — success or error —
user-configured rules update DocuWare index fields (e.g.
STATUS = imported-to-odoo, ODOO_REF =
bill number). DocuWare and Odoo stay in lockstep without a
separate sync.
Dedupe + per-document audit
A per-(connection, DocuWare document) link record prevents double imports and surfaces failed documents as the operator’s error inbox. Every event lands in the shared DocuWare log.
How it works
-
Configure a connection in
DocuWare → Connections (provided by
docuware_authentication) and authorize via OAuth. -
Open DocuWare → Accounting Imports and
create one entry per (cabinet, document type) flow.
Pick the file cabinet, optional search dialog,
status field and the value that
triggers an import (e.g.
STATUS = ready-to-import-at-odoo). -
Define the header mapping (DocuWare
index field →
account.movefield) and the line mapping (DocuWare table column →account.move.linefield). Resolve relational targets by VAT, code, external ID, name or email. - Add optional writeback rules that fire on success, on error, or always — e.g. flip the DocuWare status, write the Odoo bill number back into DocuWare.
- Enable polling and let the cron run, or click Run now. Imported bills appear in Accounting with the original PDF attached and a deep link back to the DocuWare document. Errors land on the connection’s link list with a redacted message.
Requirements
- Odoo: 19.0
-
Odoo modules:
docuware_authentication>= 19.1.0.0.0 (provides the OAuth connection, REST client, and the shared cabinet / dialog cache — pulled in automatically) and the standard Accounting app (account). -
Strongly recommended:
docuware_masterdata>= 19.1.0.0.0, which pushes Odoo’s chart of accounts, contacts (with VAT) and taxes into DocuWare so this module’s mapping layer can resolve VAT/code lookups against live DocuWare values. - A DocuWare tenant with one or more file cabinets exposing a status index field and an Index Table field for booking lines.
- Optional: OCA queue_job with a running worker for asynchronous import execution. Without it, polls run inline in the cron / button thread — fine for small deployments.
Permissions
-
docuware_accounting.group_docuware_accounting— read access on connections, links and imported moves; sees the menu but cannot edit configuration. -
docuware_accounting.group_docuware_accounting_manager— full CRUD on connections, mappings and writeback rules. Impliesaccount.group_account_managerso managers can also work with imported bills. -
All DocuWare credentials remain on the
dw.connectionrecord (gated tobase.group_system); this module adds no secret-bearing fields.
License & support
Released under LGPL-3.0-or-later .
Built and maintained by codebar Solutions AG. Support: helpdesk@codebar.ch.
Privacy: see codebar.ch for our data protection notice.
Please log in to comment on this module