Account Invoice Import
Account Invoice Import
This module has been started by lazy accounting users who hate enter they supplier invoices manually in Odoo. Almost all companies have several supplier invoices to enter regularly in the system from the same suppliers: phone bill, electricity bill, Internet access, train tickets, etc. Most of these invoices are available as PDF. We dream that we would be able to automatically extract from the PDF the required information to enter the invoice as supplier invoice in Odoo. To know the full story behind the development of this module, read this blog post.
In the future, we believe we will have structured information embedded inside the metadata of PDF invoices. There are 2 main standards for electronic invoicing:
- CII (Cross-Industry Invoice) developped by UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business),
- UBL (Universal Business Language) which is an ISO standard (ISO/IEC 19845) developped by OASIS (Organization for the Advancement of Structured Information Standards).
For example, there is already a standard in Germany called ZUGFeRD which is based on CII.
This module doesn't do anything useful by itself ; it requires other modules to work: each modules 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 ZUGFeRD/CII format, Odoo will extract the embedded XML file and parse it to create the invoice (requires the module account_invoice_import_zugferd),
- 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 there is already some draft supplier invoice for this supplier, Odoo will propose to select one to update or create a new draft invoice,
- otherwise, Odoo will directly create a new draft supplier invoice and attach the PDF to it.
This module also works with supplier refunds.
Go to the form view of the suppliers and configure it with the following parameters:
- is a Company ? is True
- Supplier is True
- the TIN (i.e. VAT number) is set (the VAT number is used by default when searching the supplier in the Odoo partner database)
- in the Accounting tab, create one or several Invoice Import Configurations.
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 received 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). The field Server Action should be left empty.
- If you are in a multi-company setup, you also have to go to the menu Accounting > Configuration > Settings: in the section Invoice Import, enter the email of the mailbox used to import invoices in the field Mail Gateway: Destination E-mail (it will be used to select the right company to import the invoice in).
To use this module, go to the menu Accounting > Purchases > Import Vendor Bill and upload a PDF or XML invoice of your supplier.