Metadata-Version: 2.1
Name: odoo-addon-account_invoice_import
Version: 19.0.1.0.0.2
Requires-Dist: odoo-addon-base_business_document_import==19.0.*
Requires-Dist: odoo-addon-pdf_xml_attachment==19.0.*
Requires-Dist: odoo==19.0.*
Summary: Import supplier invoices/refunds as PDF or XML files
Home-page: https://github.com/OCA/edi
License: AGPL-3
Author: Akretion,Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 19.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Description-Content-Type: text/x-rst

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

======================
Account Invoice Import
======================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:0cdf1bcfa2316e116d31c9789bcc6df7a75e5c8c05d892eb012e082d432711b3
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github
    :target: https://github.com/OCA/edi/tree/19.0/account_invoice_import
    :alt: OCA/edi
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/edi-19-0/edi-19-0-account_invoice_import
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=19.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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 <http://www.akretion.com/blog/akretions-christmas-present-for-the-odoo-community>`__.

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

- `CII <http://tfig.unece.org/contents/cross-industry-invoice-cii.htm>`__
  (Cross-Industry Invoice) developed by
  `UN/CEFACT <http://www.unece.org/cefact>`__ (United Nations Centre for
  Trade Facilitation and Electronic Business),
- `UBL <https://www.oasis-open.org/committees/ubl/>`__ (Universal
  Business Language) which is an ISO standard (`ISO/IEC
  19845 <https://www.iso.org/standard/66370.html>`__) developed by
  `OASIS <https://www.oasis-open.org/>`__ (Organization for the
  Advancement of Structured Information Standards).

Some e-invoice standards such as
`Factur-X <https://fnfe-mpe.org/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 <https://peppol.org/>`__ 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**

.. contents::
   :local:

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 <https://github.com/OCA/edi/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 <https://github.com/OCA/edi/issues/new?body=module:%20account_invoice_import%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Akretion

Contributors
------------

- Alexis de Lattre <alexis.delattre@akretion.com>
- Andrea Stirpe <a.stirpe@onestein.nl>
- Nicolas JEUDY <https://github.com/njeudy>
- Yannick Vaucher <yannick.vaucher@camptocamp.com>
- Ronald Portier <ronald@therp.nl>
- Simone Orsi <simone.orsi@camptocamp.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

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.

.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
    :target: https://github.com/alexis-via
    :alt: alexis-via

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-alexis-via| 

This module is part of the `OCA/edi <https://github.com/OCA/edi/tree/19.0/account_invoice_import>`_ project on GitHub.

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