Skip to main content
Odoo Community Association

Account Invoice Import

Beta License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runboat

This module has been started by lazy accounting users who hate entering their vendor bills manually in Odoo. Almost all companies have several vendor bills to enter regularly in the system from the same vendors: phone bill, electricity bill, Internet access, train tickets, etc. Most of these invoices are available as PDF. If we are able to automatically extract from the PDF the required information to enter the invoice as vendor bill in Odoo, then this module will create it automatically. To know the full story behind the development of this module, read this blog post.

In order to reliably extract the required information from the invoice, two international standards exist to describe an invoice in XML:

  • CII (Cross-Industry Invoice) developed by UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business),

  • UBL (Universal Business Language) which is an ISO standard (ISO/IEC 19845) developed by OASIS (Organization for the Advancement of Structured Information Standards).

Some e-invoice standards such as Factur-X propose to embed the XML description of the invoice inside the PDF invoice. Other people think that the future is pure-XML invoices: a European initiative called Peppol aims at setting up an open network to exchange e-invoices as UBL XML. We don’t know yet which standard and which practice will prevail on electronic invoicing in the future, but we hope that lazy accountants won’t have to manually encode their vendor bills in the near future. This module is here to help achieve this goal!

This module doesn’t do anything useful by itself; it requires other modules to work: each module adds a specific invoice format.

Here is how the module works:

  • the user starts a wizard and uploads the PDF or XML invoice,

  • if it is an XML file, Odoo will parse it to create the invoice (requires additional modules for specific XML formats, such as the module account_invoice_import_ubl for the UBL format),

  • if it is a PDF file with an embedded XML file in Factur-X/CII format, Odoo will extract the embedded XML file and parse it to create the invoice (requires the module account_invoice_import_facturx),

  • otherwise, Odoo will use the invoice2data Python library to try to interpret the text of the PDF (requires the module account_invoice_import_invoice2data),

  • if the partner is matched, Odoo will use the partner’s vendor bill import settings or reuse the accounting configuration from the latest posted invoice of that partner,

  • otherwise, Odoo will create a new draft supplier invoice without a partner and propose to create or update the partner from the imported data.

This module also works with supplier refunds.

Table of contents

Configuration

Go to the form view of the suppliers and configure them with the following parameters:

  • Individual/Company: Company

  • the VAT Number (this field is used by default when searching the supplier in the Odoo partner database)

  • in the Accounting tab, configure the Vendor Bills Import fields: default product, default expense account, default taxes, forced invoice line description, single-line import, and forced purchase journal.

You can configure a mail gateway to import invoices from an email:

  • Go to the menu Settings > Technical > Email > Incoming Mail Servers and setup the access (POP or IMAP) to the mailbox that will be used to receive the invoices,

  • In the section Actions to perform on incoming mails, set the field Create a new record to Wizard to import supplier invoices/refunds (model account.invoice.import).

  • Go to the menu Invoicing > Configuration > Settings: in the section Vendor Bills Import, configure the adjustment accounts used for rounding differences. You can also enable supplier bank account auto-creation.

  • If you are in a multi-company setup, enter the email of the mailbox used to import invoices in the field Mail Gateway: Destination E-mail; it will be used to import the invoice in the proper company.

Usage

Go to the menu Invoicing > Vendors > Import Vendor Bills and follow the instructions of the wizard. You can also start the wizard from the Accounting Dashboard: on the purchase journal, click on the Upload button.

When a vendor cannot be matched automatically, the imported vendor bill is created without a partner. Use the Create or Update Partner button on the draft vendor bill to create a new partner or update an existing one from the imported data.

If you have a large volume of invoices to import, you may be interested by the script mass_invoice_import.py which is available in the scripts subdirectory of this module. If you run:

./mass_invoice_import.py --help

you will have detailed instructions on how to use the script.

A particular use case of this script is to have a directory where all the invoices saved are automatically uploaded in Odoo. For that, have a look at the sample script inotify-sample.sh available in the same subdirectory. Edit this sample script to adapt it to your needs.

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 to smash it by providing a detailed and welcomed feedback.

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

Credits

Authors

  • Akretion

Contributors

Maintainers

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.

Current maintainer:

alexis-via

This module is part of the OCA/edi project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_account_invoice_import-19.0.1.0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_account_invoice_import-19.0.1.0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 117767fea52919980c00e6d9dc328eb3534d9f29668d370a177e99bc7d7c15d5
MD5 77220ef33fec928d8a95ce2a28c84fde
BLAKE2b-256 716046b963602a11ff66fd1c70e1c5baa6fb95ecf80e798e57ec75036c0ba5ba

See more details on using hashes here.

Release history Release notifications | RSS feed

19.0.1.1.0

1 file

This release

19.0.1.0.0.2 This release

1 file

18.0.1.3.0.2

1 file

18.0.1.3.0.1

1 file

18.0.1.3.0

1 file

18.0.1.2.0

1 file

18.0.1.1.0.5

1 file

18.0.1.1.0.4

1 file

18.0.1.1.0

1 file

18.0.1.0.0.5

1 file

16.0.2.6.0

1 file

16.0.2.5.0.2

1 file

16.0.2.5.0.1

1 file

16.0.2.5.0

1 file

16.0.2.4.0

1 file

16.0.2.3.0

1 file

16.0.2.2.0.1

1 file

16.0.2.2.0

1 file

16.0.2.1.0.1

1 file

16.0.2.1.0

1 file

16.0.2.0.0.6

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page