Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Document Management
  3. DW Accounting v 19.0
  4. Sales Conditions FAQ

DW Accounting

by codebar Solutions AG https://www.codebar.ch
Odoo

$ 1677.02

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
DW Authentication
Lines of code 5067
Technical Name docuware_accounting
LicenseLGPL-3
Websitehttps://www.codebar.ch
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
DW Authentication
Lines of code 5067
Technical Name docuware_accounting
LicenseLGPL-3
Websitehttps://www.codebar.ch

DocuWare Accounting Import

Turn DocuWare-indexed vendor invoices into posted Odoo bills, with closed-loop status writeback.

codebar Solutions AG

DocuWare Accounting Import 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.

Includes one year of updates and helpdesk@codebar.ch support. Requires DW Authentication (free); DW Master Data is strongly recommended.

At a glance

  • Vendor bills and credit notes, polled from DocuWare on a configurable schedule.
  • Header and line-table mapping configured entirely in the UI — no Python.
  • Resolve partners, accounts, taxes and currencies by VAT, code, external ID, name or email.
  • Optional auto-post and index-field writeback (status, ODOO_REF, error message) to DocuWare.
  • Per-document audit trail with redacted error messages — failed docs become an error inbox.
  • Dry-run wizard validates filters before going live; one connection per cabinet/dialog flow.

Who this is for

  • Accounting teams whose vendor invoices land in DocuWare via OCR or scan workflows, ready for posting in Odoo.
  • Finance operations needing closed-loop status writeback so DocuWare and Odoo never drift out of sync.
  • Managed-service partners running multi-cabinet imports per customer, with different mappings and writeback rules.
  • Companies replacing manual data entry of scanned bills with a configurable, audited import pipeline.

Key features

Multiple import connections

One Accounting Import Connection per (DocuWare connection, file cabinet, dialog) tuple. A single tenant can feed several import flows with different filters, mappings and writeback policies — for example, one connection per document type or per legal entity.

Header mapping with flexible resolvers

Bind any DocuWare index field to any account.move field via the UI. Many2one targets resolve by VAT, code, external ID, name or email, with optional transforms (strip, upper, lower, parse decimal, parse ISO date) and a fallback when no match is found. Required-field validation runs before the move is created.

Table-based booking lines

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. Same resolver and transform options as the header.

Round-trip status writeback

After every import attempt — success or error — user-configured rules update DocuWare index fields. Triggers: success, error or always. Value sources: literal string (e.g. STATUS = imported-to-odoo), Odoo move field path (e.g. name, partner_id.vat), connection field, or the redacted error message. 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 with redacted payloads, capped error messages, and a deep link back to the original DocuWare document.

Auto-post and PDF attach

Optional auto-post posts valid bills the moment they are imported; validation errors flip the link to error state and fire error-triggered writeback. The original PDF is downloaded and attached to the move, with a deep-link URL back to the DocuWare Web Client on the bill form.

Dry-run wizard

Before going live, the Dry run button on each connection runs the same search as the cron without creating anything in Odoo — it returns the matching document count and a preview of the first hits, so you can validate filters and the status field choice in seconds.

How it works

  1. Configure a connection in DocuWare → Connections (provided by docuware_authentication) and authorize via OAuth.
  2. Open DocuWare → Accounting Imports and create one entry per (cabinet, document type) flow. Pick the file cabinet, search dialog, status field and the value that triggers an import (e.g. STATUS = ready-to-import-at-odoo).
  3. Define the header mapping (DocuWare index field → account.move field) and the line mapping (DocuWare table column → account.move.line field). Resolve relational targets by VAT, code, external ID, name or email.
  4. 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.
  5. Click Dry run to validate filters, then 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.

The DocuWare connector family

Three modules from codebar Solutions AG, designed to layer. You are looking at the inbound half — turning DocuWare-indexed documents into Odoo bookings.

Module Direction Role
DW Authentication Foundation OAuth, REST client, audit log, shared schema cache.
DW Master Data Odoo → DocuWare Push contacts, accounts, taxes & any Odoo model as indexed records.
DW Accounting Import — you are here DocuWare → Odoo Create vendor bills & credit notes from DocuWare documents.

Why DW Master Data is strongly recommended: this module’s VAT, code and email resolvers match DocuWare values against existing Odoo records. Pushing Odoo’s contacts, chart of accounts and taxes into DocuWare via Master Data ensures the values that arrive on inbound documents match cleanly — without it, every missing master is an import error.

Scope — what this module does and doesn’t do

This module is a vendor-inbound import pipeline. It creates Odoo bookings from DocuWare-indexed documents — nothing more, nothing less.

  • Vendor inbound only. Vendor bills (in_invoice) and vendor credit notes (in_refund). Customer invoices, sales orders, purchase orders and receipts are out of scope.
  • Does not OCR. Index fields and table rows are read from DocuWare as-is; the assumption is that DocuWare’s capture and OCR workflows have already populated them. If DocuWare hasn’t indexed it, this module can’t map it.
  • Resolves existing records only. The mapping layer matches DocuWare values against Odoo partners, accounts, taxes and currencies that already exist; it never creates new ones on the fly. To keep the DocuWare side aligned with Odoo’s current data, install DW Master Data.
  • Writeback updates index fields, not the file. Round-trip writeback writes back to DocuWare index fields (status, ODOO_REF, error message). The original PDF stays in DocuWare; this module does not delete or re-file it.
  • One company, one cabinet per connection. Each Accounting Import Connection is scoped to a single company and a single cabinet/dialog. Multi-company or multi-cabinet setups use multiple connection records.
  • Single PDF only. The main document file is downloaded and attached to the move; ancillary attachments on the same DocuWare document are not pulled.

Frequently asked questions

Does this module OCR my invoices?

No. OCR happens upstream in DocuWare. This module reads DocuWare index fields and Index Tables that DocuWare’s capture workflow has already populated, and turns them into Odoo bookings. If a value isn’t indexed in DocuWare, it isn’t available for mapping.

Will it auto-create vendors or accounts I don’t have yet?

No. The relational resolvers (VAT, code, external ID, name, email) match DocuWare values against existing Odoo records. Missing masters become import errors that surface in the connection’s error inbox. Install DW Master Data to push Odoo’s contacts, chart of accounts and taxes into DocuWare so the values that arrive on inbound documents are the same ones Odoo expects.

Can it import customer invoices or sales documents?

No. Only vendor bills (in_invoice) and vendor credit notes (in_refund). Customer invoices, sales orders, purchase orders and receipts are out of scope and not on the roadmap — the mapping model and writeback semantics are tuned for accounts-payable inbound.

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. Concurrent runs are serialised by a per-connection PostgreSQL advisory lock, so cron tick N+1 never piles on top of an in-flight tick N.

Module version follows the 19.0.<module_major>.<module_minor>.<patch> scheme. The leading 19.0. matches the Odoo 19.0 platform version used at runtime.

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. Implies account.group_account_manager so managers can also work with imported bills.
  • All DocuWare credentials remain on the dw.connection record (gated to base.group_system); this module adds no secret-bearing fields.

Privacy & telemetry

Telemetry is off by default and is configured once on DW Authentication (the connector family shares a single telemetry surface). This module forwards no additional data of its own; with no DSN configured, nothing is sent.

See the DW Authentication description for the full privacy and telemetry details.

Setup walkthrough

Configure a DocuWare connection, create an import connection, map header and line fields, add optional writeback, dry-run, then enable polling.

  1. Connect DocuWare. Authorize a connection under DocuWare → Connections via DW Authentication, and click Sync to cache cabinets and dialogs.
  2. Create an import connection. Open DocuWare → Accounting Imports and add one entry per (cabinet, document type) flow. Choose the DocuWare connection, file cabinet and search dialog.
  3. Pick the trigger. Set the status field on the cabinet and the value that flags a document as ready-to-import (e.g. STATUS = ready-to-import-at-odoo). Add additional AND-combined filters as needed.
  4. Map the header. Bind DocuWare index fields to account.move fields. For Many2one targets (partner, journal, account, currency), pick a resolver: VAT, code, external ID, name or email. Add transforms and fallbacks where needed.
  5. Map the lines. Pick the DocuWare Index Table field that holds the booking lines. For each column, bind it to an account.move.line field with the appropriate resolver.
  6. Add writeback rules. Optional: configure rules that fire on success, error or always — e.g. flip the DocuWare status to imported-to-odoo on success, write the Odoo move name into ODOO_REF, write the redacted error message on failure.
  7. Dry-run. Click Dry run to execute the same search the cron will run, without creating any moves. Review the matching count and the preview to validate filters and the status value.
  8. Enable polling. Activate the connection and let the cron pick it up (default every 15 minutes, editable in Settings → Technical → Scheduled Actions). Or click Run now for a one-shot poll.
  9. Review. Imported bills appear in Accounting with the original PDF attached and a deep link back to DocuWare. Errors surface on the connection’s link list and in DocuWare → Sync Log.

Annotated screenshots will follow in a future release.

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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with