From ddd957d303f3bceff218dc758ff4a9ced8aa6737 Mon Sep 17 00:00:00 2001 From: afma-odoo Date: Mon, 23 Jun 2025 17:10:21 +0200 Subject: [PATCH] [IMP] accounting: vendor bill digitization & update PO matching task-4865418 task-4844221 closes odoo/documentation#13928 Signed-off-by: Audrey Vandromme (auva) --- .../applications/finance/accounting/taxes.rst | 4 +- .../finance/accounting/vendor_bills.rst | 13 +- .../vendor_bills/invoice_digitization.rst | 206 ++++++++++++------ 3 files changed, 147 insertions(+), 76 deletions(-) diff --git a/content/applications/finance/accounting/taxes.rst b/content/applications/finance/accounting/taxes.rst index 247ff5dbf..3ba23171b 100644 --- a/content/applications/finance/accounting/taxes.rst +++ b/content/applications/finance/accounting/taxes.rst @@ -34,8 +34,8 @@ tax, and click on :guilabel:`Save`. .. _taxes/list_activation: -Activate sales taxes from the list view -======================================= +Activate taxes from the list view +================================= As part of your :ref:`fiscal localization package `, most of your country's sales taxes are already preconfigured on your database. However, only a few taxes are diff --git a/content/applications/finance/accounting/vendor_bills.rst b/content/applications/finance/accounting/vendor_bills.rst index 3f5444928..9bf3b2ea7 100644 --- a/content/applications/finance/accounting/vendor_bills.rst +++ b/content/applications/finance/accounting/vendor_bills.rst @@ -38,16 +38,23 @@ Automatically ------------- Vendor bills can be automatically created by **sending an email** to an :ref:`email alias -` associated with the purchase journal, or by **uploading a PDF** -in :menuselection:`Accounting --> Vendors --> Bills` and then clicking :guilabel:`Upload`. +` associated with the purchase journal, or by +:ref:`uploading a PDF `. .. note:: - Once the bill is uploaded, the PDF document appears on the right side of the screen, making it easy to fill in the bill information. - - Bills can be :doc:`digitized ` for automatic completion. + - Bills can be :doc:`digitized ` for automatic + completion and :ref:`matched with purchase orders + ` to replace OCR-detected data with the + existing purchase order's details. - Services such as digitizing scanned or PDF vendor bills in Odoo require :doc:`In-App Purchase (IAP) ` credit or tokens. +.. seealso:: + :ref:`Vendor bills matching with purchase orders + ` + .. _accounting/vendor_bills/bill-completion: Bill completion diff --git a/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst b/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst index 6bd270621..5180c0f75 100644 --- a/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst +++ b/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst @@ -1,101 +1,165 @@ -================================ -AI-powered document digitization -================================ +===================== +Document digitization +===================== -**Invoice digitization** is the process of converting paper documents into vendor bill and customer -invoice forms in your accounting. +Document digitization refers to the process of converting paper or digital documents into records +in a database. Using :abbr:`OCR (optical character recognition)` and artificial intelligence +technologies, Odoo reads the content and automatically creates and fills in the record's details. +This process is mainly used for vendor bills (or refunds). -Odoo uses :abbr:`OCR (optical character recognition)` and artificial intelligence technologies to -recognize the content of the documents. Vendor bill and customer invoice forms are automatically -created and populated based on the scanned invoices. +.. note:: + Although less common, this digitization process can also be applied to customer invoices and + credit notes. The :ref:`settings ` need to be + adjusted accordingly. .. seealso:: - `Test Odoo's invoice digitization `_ - `Odoo Tutorials: Vendor Bill Digitization `_ + - :doc:`/applications/essentials/in_app_purchase` + +.. _accounting/bill-digitization/configuration: Configuration ============= -In :menuselection:`Accounting --> Configuration --> Settings --> Digitization`, check the box -:guilabel:`Document Digitization` and choose whether :guilabel:`Vendor Bills` and -:guilabel:`Customer Invoices` (this includes customer credit notes) should be processed -automatically or on demand. - -If you enable the :guilabel:`Single Invoice Line Per Tax` option, only one line is created per tax -in the new bill, regardless of the number of lines on the invoice. - -Invoice upload -============== - -Upload invoices manually ------------------------- - -From the :guilabel:`Accounting Dashboard`, click on the :guilabel:`Upload` button of your vendor -bills journal. -Alternatively, go to :menuselection:`Accounting --> Customers --> Invoices` or -:menuselection:`Accounting --> Vendors --> Bills` and select :guilabel:`Upload`. - -.. _invoice-digitization/email-alias: - -Upload invoices using an email alias ------------------------------------- - -You can configure your connected scanner to send scanned documents to an email alias. Emails sent to -these aliases are converted into new draft customer invoices or vendor bills. - -You can modify the email alias of a journal. To do so, go to the :guilabel:`Settings` app. Under -:guilabel:`General Settings: Discuss`, enable :guilabel:`Custom Email Servers`, add an -:guilabel:`Alias Domain`, and :guilabel:`Save`. - -The email alias is now available in the :guilabel:`Advanced Settings` tab of the journal. Emails -sent to this address will be converted automatically into new invoices or bills. +Go to :menuselection:`Accounting --> Configuration --> Settings` and navigate to the +:guilabel:`Digitization` section. Enable the :guilabel:`Document Digitization` option and choose +whether :guilabel:`Vendor Bills` should be processed automatically or on demand. .. note:: - If you use the :doc:`Documents ` app, you can automatically - send your scanned invoices to the :guilabel:`Finance` workspace (e.g., - `inbox-financial@example.odoo.com`). + If the :guilabel:`Single Invoice Line Per Tax` option is enabled, only one line is created per + tax in the new vendor bill, regardless of the number of lines on it. -The default email aliases `vendor-bills@` and `customer-invoices@` followed by the -:guilabel:`Alias Domain` you set are automatically created for the :guilabel:`Vendor Bills` and -:guilabel:`Customer Invoices` journals, respectively. Emails sent to these addresses are converted -automatically into new invoices or bills. +.. _accounting/bill-digitization/vendor-bills-upload: -To change a default email alias, go to -:menuselection:`Accounting --> Configuration --> Accounting: Journals`. Select the journal you want -to edit, click on the :guilabel:`Advanced Settings` tab, and edit the `Email Alias`. +Vendor bills upload +=================== -Invoice digitization -==================== +Vendor bills are :ref:`uploaded manually ` or sent to a +:ref:`designated email alias ` to be digitized. Once the +bill is uploaded, the document preview appears on the right side of the screen. -According to your settings, the document is either processed automatically, or you need to click on -:guilabel:`Send for digitization` to do it manually. +.. seealso:: + :doc:`Vendor bills <../vendor_bills>` -Once the data is extracted from the PDF, you can correct it if necessary by clicking on the -respective tags (available in :guilabel:`Edit` mode) and selecting the proper information instead. +.. _accounting/bill-digitization/manual-upload: -Data recognition with AI -======================== +Manual upload +------------- -It is essential to review and correct (if needed) the information uploaded during digitization. -Then, you have to post the document by clicking on :guilabel:`Confirm`. In this manner, the AI -learns, and the system identifies the correct data for future digitizations. +From the :guilabel:`Accounting Dashboard`, click :guilabel:`Upload` on the :guilabel:`Vendor +Bills` journal. + +.. _accounting/bill-digitization/email-alias: + +Upload via email alias +---------------------- + +Vendor bills can be uploaded via an email alias associated with the relevant journal in two ways: + +- scanned from a connected scanner configured to send email to an email alias; +- sent directly to an email alias. + +Each PDF attached to the email is automatically converted into a new draft vendor bill. + +.. note:: + - Only PDF and XML formats are processed via an email alias associated with a journal. + - JPEG files must be processed via :ref:`email alias in the Documents app `. + +To add an email alias to a journal, follow these steps: + +#. Make sure an :doc:`alias domain <../../../websites/website/configuration/domain_names>` has been + configured. +#. The default email alias `vendor-bills@` followed by the alias domain is automatically created + and available in the :guilabel:`Advanced Settings` tab of the :guilabel:`Vendor Bills` journal. +#. To change a default email alias, go to :menuselection:`Accounting --> Configuration --> + Journals`, select the corresponding journal, and edit the :guilabel:`Email Alias` in the + :guilabel:`Advanced Settings` tab. +#. Configure the connected scanner to send scanned documents to the email alias, if needed. + +.. note:: + Alternatively, an :ref:`email alias in the Documents app ` can be used to + automatically send vendor bills to the :guilabel:`Finance` :ref:`workspace + ` (e.g., `inbox-financial@example.odoo.com`). + +.. _accounting/bill-digitization/digitization: + +Digitization and data recognition with AI +========================================= + +Depending on the :ref:`settings `, documents are either +automatically digitized or require manual processing if digitization is set to on-demand only. + +To manually digitize an :ref:`uploaded document +`, click :guilabel:`Digitize document`. + +Once the document has been digitized, a blue banner appears; click :icon:`oi-arrow-right` +:guilabel:`Refresh` if needed. Review and correct any information uploaded during digitization: +click on the related field(s) to edit them, or click :guilabel:`Reload AI data` to refresh the data. + +Then, click :guilabel:`Confirm` to post the document. + +.. tip:: + Once a document has been digitized, the :guilabel:`Vendor` field remains empty if the vendor + doesn't exist in the database. To add it, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` + in the :guilabel:`Vendor` field; the vendor name appears highlighted in the document preview on + the right. Click it to open a new vendor form with the name pre-filled. + +.. note:: + The following vendor bill fields are recognized by OCR: + + - :guilabel:`Vendor`, :guilabel:`Bill Reference`, :guilabel:`Bill Date`, :guilabel:`Payment + Reference` (only in the Belgian +++xxx/xxxx/xxxxx+++ format), :guilabel:`Recipient Bank`, + :guilabel:`Due Date`, and the currency (in a :doc:`multi-currency + <../get_started/multi_currency>` environment and if the currency is activated). + - From the :guilabel:`Invoices Lines` tab: :guilabel:`Product` description/label, + :guilabel:`Quantity`, unit :guilabel:`Price`, :guilabel:`Taxes` (if the :ref:`tax is activated + `; this field is not recognized by OCR for the :doc:`Indian + localization <../../fiscal_localizations/india>`), :guilabel:`Untaxed Amount`, and + :guilabel:`Total`. + +.. _accounting/bill-digitization/vendor-bills-matching-po: + +Vendor bill matching with purchase orders +----------------------------------------- + +When a digitized vendor bill is recognized by OCR, Odoo first searches the database for a matching +purchase order and its number. If a match is found, the system copies as much information as +possible from the purchase order to the vendor bill. For example, the vendor :guilabel:`Bill +Reference` number is overwritten by the :guilabel:`Vendor Reference` from the purchase order. + +.. note:: + - All changes are logged in the chatter. + - A smart button linking to the related purchase order is available on the vendor bill. + +To correct any mismatches, update the incorrect fields on the vendor bill. + +.. tip:: + - Electronic vendor bills with embedded XML ensure more accurate and efficient processing. + - Alternatively, the :ref:`Auto-complete ` feature + can be used to transfer information from the purchase order to the vendor bill, without + requiring OCR. + +.. _accounting/bill-digitization/pricing: Pricing ======= -The **invoice digitization** is an In-App Purchase (IAP) service that requires prepaid credits to -work. Digitizing one document consumes one credit. +The document digitization feature is an In-App Purchase (IAP) service requiring prepaid credits. +Digitizing one document uses one credit. -To buy credits, go to :menuselection:`Accounting --> Configuration --> Settings --> Digitization` -and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo IAP` and click on -:guilabel:`View My Services`. +To buy credits, :ref:`go to the Settings app ` or :menuselection:`Accounting --> +Configuration --> Settings`, navigate to the :guilabel:`Digitization` section, and click +:guilabel:`Buy credits`. .. note:: - Enterprise Odoo users with a valid subscription get free credits to test IAP features before - deciding to purchase more credits for the database. This includes demo/training databases, - educational databases, and one-app-free databases. + - Odoo Enterprise users with a valid subscription get free credits to test IAP features before + purchasing more credits for the database. This includes demo/training databases, educational + databases, and one-app-free databases. + - XML files don't require OCR credits because they contain structured data that can be processed + directly, without OCR. .. seealso:: - - `Our Privacy Policy `_ + - `Odoo In-App Purchase Privacy Policy `_ - :doc:`/applications/essentials/in_app_purchase`