-
Notifications
You must be signed in to change notification settings - Fork 9.7k
[IMP] accounting: vendor bill digitization & update PO matching #13928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 17.0
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -2,99 +2,152 @@ | |||||||||
AI-powered document digitization | ||||||||||
================================ | ||||||||||
|
||||||||||
**Invoice digitization** is the process of converting paper documents into vendor bill and customer | ||||||||||
invoice forms in your accounting. | ||||||||||
**Digitization** converts paper documents into vendor bills and customer invoices. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||||||||||
|
||||||||||
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. | ||||||||||
Odoo recognizes the content of documents using :abbr:`OCR (optical character recognition)` and | ||||||||||
artificial intelligence technologies. Based on the scanned documents, vendor bills and customer | ||||||||||
invoices are automatically created and populated. | ||||||||||
|
||||||||||
.. seealso:: | ||||||||||
- `Test Odoo's invoice digitization <https://www.odoo.com/app/invoice-automation>`_ | ||||||||||
- `Odoo Tutorials: Vendor Bill Digitization | ||||||||||
<https://www.odoo.com/slides/slide/vendor-bill-digitization-7065>`_ | ||||||||||
- :doc:`/applications/essentials/in_app_purchase` | ||||||||||
|
||||||||||
.. _accounting/invoice-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. | ||||||||||
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` and :guilabel:`Customer Invoices` should be processed automatically | ||||||||||
or on demand. | ||||||||||
|
||||||||||
.. note:: | ||||||||||
If the :guilabel:`Single Invoice Line Per Tax` option is enabled, only one line is created per | ||||||||||
tax in the new bill/invoice, regardless of the number of lines on it. | ||||||||||
|
||||||||||
.. _accounting/invoice-digitization/vendor-bills-invoices-upload: | ||||||||||
|
||||||||||
Vendor bills and invoices upload | ||||||||||
================================ | ||||||||||
|
||||||||||
Vendor bills and invoices are :ref:`uploaded manually | ||||||||||
<accounting/invoice-digitization/manual-upload>` or sent to a :ref:`designated email alias | ||||||||||
<accounting/invoice-digitization/email-alias>` to be digitized. | ||||||||||
|
||||||||||
.. seealso:: | ||||||||||
:doc:`Vendor bills <../vendor_bills>` | ||||||||||
|
||||||||||
.. _accounting/invoice-digitization/manual-upload: | ||||||||||
|
||||||||||
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. | ||||||||||
Uploading manually | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
------------------ | ||||||||||
|
||||||||||
Invoice upload | ||||||||||
============== | ||||||||||
From the :guilabel:`Accounting Dashboard`, click :guilabel:`Upload` on the :guilabel:`Vendor | ||||||||||
Bills` journal. | ||||||||||
|
||||||||||
Upload invoices manually | ||||||||||
------------------------ | ||||||||||
Alternatively, go to :menuselection:`Accounting --> Vendors --> Bills` or :menuselection:`Accounting | ||||||||||
--> Customers --> Invoices` and click :guilabel:`Upload`. | ||||||||||
|
||||||||||
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`. | ||||||||||
.. _accounting/invoice-digitization/email-alias: | ||||||||||
|
||||||||||
.. _invoice-digitization/email-alias: | ||||||||||
Uploading using an email alias | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
------------------------------ | ||||||||||
|
||||||||||
Upload invoices using an email alias | ||||||||||
------------------------------------ | ||||||||||
Vendor bills (or customer invoices) can be uploaded with an email alias in two ways: | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
and I think I would mention that this alias is associated with the relevant journal somewhere here? |
||||||||||
|
||||||||||
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. | ||||||||||
- scanned from a connected scanner configured to send email to an email alias; | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is one example where I would leave "scanned", of course 😉 ! |
||||||||||
- sent directly to an email alias. | ||||||||||
|
||||||||||
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`. | ||||||||||
Each PDF attached to the email is automatically converted into a new draft vendor bill (or customer | ||||||||||
invoices). | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Also, I understand from the note below that it's not just PDFs? do you know how XMLs are processed then? Or do we mean PDFs with embedded XML in the note below? Are there other formats as well? |
||||||||||
|
||||||||||
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. | ||||||||||
.. note:: | ||||||||||
- Only PDF and XML formats are processed via email alias associated with a journal. | ||||||||||
- JPEG files must be processed via :ref:`email alias in the Documents app <documents/upload>` | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Also, I think I would point to this section of the Documents doc instead: https://www.odoo.com/documentation/17.0/applications/productivity/documents.html#digitize-documents-with-ai-and-optical-character-recognition-ocr |
||||||||||
|
||||||||||
To add an email alias to a journal, follow these steps: | ||||||||||
|
||||||||||
#. Open the Settings app, navigate to the :guilabel:`Discuss` section, enable :guilabel:`Custom | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
Email Servers`, and :guilabel:`Save`. | ||||||||||
#. :ref:`Add an Alias Domain <email-inbound-custom-domain>`. | ||||||||||
#. The default email aliases `vendor-bills@` and `customer-invoices@` followed by the | ||||||||||
:guilabel:`Alias Domain` set, are automatically created and available in the :guilabel:`Advanced | ||||||||||
Comment on lines
+76
to
+77
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
since we are referring to the general concept here |
||||||||||
Settings` tab of the :guilabel:`Vendor Bills` and :guilabel:`Customer Invoices` journals, | ||||||||||
respectively. | ||||||||||
#. To change a default email alias, go to :menuselection:`Accounting --> Configuration --> | ||||||||||
Journals`, select the corresponding journal, and edit the :guilabel:`Email Alias` on the | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
:guilabel:`Advanced Settings` tab. | ||||||||||
#. Configure the connected scanner to send scanned documents to the email alias, if needed. | ||||||||||
|
||||||||||
.. note:: | ||||||||||
If you use the :doc:`Documents </applications/productivity/documents>` app, you can automatically | ||||||||||
send your scanned invoices to the :guilabel:`Finance` workspace (e.g., | ||||||||||
Alternatively, an :ref:`email alias in the Documents app <documents/upload>` can be used to | ||||||||||
automatically send scanned bills/invoices to the :guilabel:`Finance` workspace (e.g., | ||||||||||
`inbox-financial@example.odoo.com`). | ||||||||||
|
||||||||||
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/invoice-digitization/digitization: | ||||||||||
|
||||||||||
Digitization and data recognition with AI | ||||||||||
========================================= | ||||||||||
|
||||||||||
Depending on the :ref:`settings <accounting/invoice-digitization/configuration>`, the document is | ||||||||||
either digitized automatically or requires manual processing. | ||||||||||
Comment on lines
+95
to
+96
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
To manually digitize an :ref:`uploaded vendor bill | ||||||||||
<accounting/invoice-digitization/vendor-bills-invoices-upload>`, follow these steps: | ||||||||||
|
||||||||||
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`. | ||||||||||
#. In the uploaded vendor bill, click :guilabel:`Digitize document`. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see this 🙈 I'd suggest maybe splitting the info: l98-99: change to something like: To manually digitize an uploaded document, click Digitize document. Then add: Once the document has been digitized, follow these steps: (or something similar; the list might not even be necessary). Then add the steps. What do you think? (sorry, I hope this is clear, I realize I just wrote down my whole thought process 😅 ) |
||||||||||
#. A blue :guilabel:`All fields will be automated by Artificial Intelligence, it might take 5 | ||||||||||
seconds` banner appears; click :icon:`oi-arrow-right` :guilabel:`Refresh` if needed. | ||||||||||
#. If necessary, review and correct the information uploaded during digitization. Click on the | ||||||||||
related field(s) to edit and make updates, or click :guilabel:`Reload AI data` to refresh the | ||||||||||
data. | ||||||||||
Comment on lines
+104
to
+106
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Also, I noticed the following: I uploaded a document, refreshed the data; the Vendor field was still empty. When I went to select a vendor, some data was highlighting in the uploaded document on the right: and I could click it in the document to create a new vendor: I think it might be worth adding a tip with this info maybe? I wasn't able to do it for other fields but you might want to double-check? |
||||||||||
#. Click :guilabel:`Confirm` to post the document. | ||||||||||
|
||||||||||
Invoice digitization | ||||||||||
==================== | ||||||||||
This process helps the AI learn and improves data recognition for future digitizations. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we really need this? |
||||||||||
|
||||||||||
According to your settings, the document is either processed automatically, or you need to click on | ||||||||||
:guilabel:`Send for digitization` to do it manually. | ||||||||||
.. _accounting/invoice-digitization/vendor-bills-matching-po: | ||||||||||
|
||||||||||
Vendor bills matching with purchase orders | ||||||||||
------------------------------------------ | ||||||||||
|
||||||||||
When a purchase order is detected on a vendor bill through OCR, Odoo searches the database for a | ||||||||||
matching purchase order number. If found, it pulls in as much information as possible from the | ||||||||||
purchase order and replaces the OCR-detected data on the vendor bill. | ||||||||||
Comment on lines
+116
to
+118
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I’m having trouble understanding how this works exactly; I wasn’t able to test it based on the current info or the task description 😞. More specifically:
I suggest reviewing this section a bit to make sure everything is clear and accurate. |
||||||||||
|
||||||||||
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. | ||||||||||
|
||||||||||
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. | ||||||||||
To correct any mismatches, either edit the incorrect section of the purchase order or leave it | ||||||||||
blank. | ||||||||||
|
||||||||||
Data recognition with AI | ||||||||||
======================== | ||||||||||
.. tip:: | ||||||||||
- Use electronic invoices with embedded XML to ensure more accurate and efficient processing. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure this is actually up to the Odoo user when it comes to digitized documents (since they receive the documents in this case) so maybe we should rephrase this sentence a bit (to remove "use") |
||||||||||
- Alternatively, the :ref:`Auto-complete <accounting/vendor_bills/bill-completion>` feature | ||||||||||
transfers information from the purchase order to the vendor bill without OCR required. | ||||||||||
Comment on lines
+132
to
+133
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
||||||||||
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. | ||||||||||
.. _accounting/invoice-digitization/pricing: | ||||||||||
|
||||||||||
Pricing | ||||||||||
======= | ||||||||||
|
||||||||||
The **invoice digitization** is an In-App Purchase (IAP) service that requires prepaid credits to | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we really keep "invoice" here (you removed it elsewhere on this doc page)? And I would also add "feature": The document (or XX) digitization feature |
||||||||||
work. Digitizing one document consumes one credit. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. uses instead of consumes? |
||||||||||
|
||||||||||
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 <iap/buying_credits>` 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 | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Odoo Enterprise? |
||||||||||
deciding to purchase more credits for the database. This includes demo/training databases, | ||||||||||
educational databases, and one-app-free databases. | ||||||||||
purchasing more credits for the database. This includes demo/training databases, educational | ||||||||||
databases, and one-app-free databases. | ||||||||||
|
||||||||||
.. seealso:: | ||||||||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_ | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.