From 102cb27fb2b31fcb48e64259bd9986ef265f2d63 Mon Sep 17 00:00:00 2001 From: afma-odoo Date: Mon, 23 Jun 2025 15:10:21 +0000 Subject: [PATCH] [IMP] accounting: vendor bill digitization & update PO matching task-4865418 task-4844221 closes odoo/documentation#14332 X-original-commit: ddd957d303f3bceff218dc758ff4a9ced8aa6737 Signed-off-by: Audrey Vandromme (auva) --- .../applications/finance/accounting/taxes.rst | 4 +- .../finance/accounting/vendor_bills.rst | 19 +- .../vendor_bills/invoice_digitization.rst | 258 +++++++++++++----- .../purchase/manage_deals/rfq.rst | 2 + 4 files changed, 202 insertions(+), 81 deletions(-) diff --git a/content/applications/finance/accounting/taxes.rst b/content/applications/finance/accounting/taxes.rst index 482b3c6b7..3f7514c30 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 566eff3c1..0824d0bcd 100644 --- a/content/applications/finance/accounting/vendor_bills.rst +++ b/content/applications/finance/accounting/vendor_bills.rst @@ -38,18 +38,17 @@ click :guilabel:`New`. Automatically ------------- -Vendor bills can be automatically created through various methods: - -- Emailing to an :ref:`email alias ` associated with the purchase - journal. If the email does not contain a valid file, an automatic response notifies the sender - that no document was received. -- Uploading a PDF: To upload a bill, go to :menuselection:`Accounting --> Vendors --> Bills`, then - click :guilabel:`Upload`. +Vendor bills can be automatically created by sending an email to an :ref:`email alias +` 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) ` credits. @@ -62,6 +61,10 @@ following options: - :guilabel:`Ask after 3 validations without edits` - :guilabel:`Never` +.. 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..7c4f20948 100644 --- a/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst +++ b/content/applications/finance/accounting/vendor_bills/invoice_digitization.rst @@ -1,101 +1,217 @@ -================================ -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. They can +also be :ref:`automatically posted ` for selected +vendors. -According to your settings, the document is either processed automatically, or you need to click on -:guilabel:`Send for digitization` to do it manually. +.. note:: + Once the bill is uploaded, the document preview appears on the right side of the screen. -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. +.. seealso:: + :doc:`Vendor bills <../vendor_bills>` -Data recognition with AI -======================== +.. _accounting/bill-digitization/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. +Manual upload +------------- + +In the Accounting dashboard, drag and drop vendor bills into the desired purchase journal or click +:guilabel:`Upload` on the purchase 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:`folder + ` (e.g., `inbox-financial@example.odoo.com`). + +.. _accounting/bill-digitization/auto-post-bills: + +Automatic vendor bill posting +----------------------------- + +.. note:: + To use the :guilabel:`Auto-post bills` option, the :guilabel:`Digitize automatically` setting in + the :ref:`Document Digitization ` section must be + enabled for vendor bills. + +To automatically post digitized vendor bills for specific vendors, go to :menuselection:`Accounting +--> Vendors --> Vendors` and click the desired vendor. In the :guilabel:`Accounting` tab of the +contact form, select an :guilabel:`Auto-post bills` option in the :guilabel:`Automation` section: + +- :guilabel:`Always` +- :guilabel:`Ask after 3 validations without edits`: When the third uploaded bill is confirmed + without any edits, an :guilabel:`Autopost Bills` window appears. The following options can be + chosen: :guilabel:`Activate auto-validation`, :guilabel:`Ask me later`, or :guilabel:`Never for + this vendor`. +- :guilabel:`Never` + +.. note:: + Since automation is triggered after three validated bills without edits, the contact name must + already exist in the database, and each uploaded vendor bill must include a bill date. + +.. _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`. 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: + +Purchase order matching +======================= + +When a digitized vendor bill is recognized by :abbr:`OCR (optical character recognition)`, Odoo +searches the database for a matching purchase order. If found, the vendor bill can be manually +matched with the existing open purchase order lines. + +Once a vendor bill has been :ref:`uploaded ` and +:ref:`digitized `, click the :guilabel:`Purchase +matching` smart button to access the :guilabel:`Purchase matching` list view, displaying all +purchase order lines linked to the vendor assigned to the vendor bill. Then, select the relevant +purchase order lines and the draft vendor bill (shown in grey), and click :guilabel:`Match`. + +.. tip:: + In the :guilabel:`Purchase Matching` list view, update the :guilabel:`Quantity` and + :guilabel:`Price` in the purchase order lines, if necessary. + +If there is no existing purchase order related to the vendor of the uploaded vendor bill, a new +purchase order can be directly created from the vendor bill lines. To do so, follow these steps: + +#. Once the vendor bill is uploaded, make sure the :guilabel:`Vendor` field is filled in with the + correct vendor. +#. Click the :guilabel:`Purchase matching` smart button, select the draft vendor bill in the list + (shown in grey), and click :guilabel:`Add to PO`. +#. In the :guilabel:`Add to Purchase Order` window, start typing in the :guilabel:`Purchase Order` + field and select :guilabel:`Create and edit`. +#. In the :guilabel:`Create Purchase Order` window, select the vendor assigned to the vendor bill, + then complete all :ref:`required fields ` and click + :guilabel:`Confirm`. +#. In the :guilabel:`Purchase Matching` list view, select the relevant purchase order lines and the + draft vendor bill (shown in grey), and click :guilabel:`Match`. + +.. Note:: + If any information required for the purchase order fields is missing, click :guilabel:`Save and + Close` in the :guilabel:`Create Purchase Order` window. Then, open the Purchase app to fill in + the fields and :ref:`confirm the purchase order `. + +.. tip:: + - Electronic vendor bills with embedded XML ensure more accurate and efficient processing. + - Alternatively, the :ref:`Auto-complete ` feature + can 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` diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/rfq.rst b/content/applications/inventory_and_mrp/purchase/manage_deals/rfq.rst index 37218f339..55b52686f 100644 --- a/content/applications/inventory_and_mrp/purchase/manage_deals/rfq.rst +++ b/content/applications/inventory_and_mrp/purchase/manage_deals/rfq.rst @@ -187,6 +187,8 @@ Clicking :guilabel:`Print RFQ` downloads a PDF of the |RFQ|. .. seealso:: :doc:`../../../essentials/contacts` +.. _purchase/manage_deals/confirm-order: + Confirm order -------------