From bbc30bd26cd7a1e6f5cbab5d3b75e677a9da2aef Mon Sep 17 00:00:00 2001 From: afma-odoo Date: Tue, 11 Mar 2025 15:34:03 +0000 Subject: [PATCH] [IMP] accounting: update vendor bills tutorial link task-4207830 X-original-commit: 442ae8550899666abb178a3c62b1f61472620c1a --- .../finance/accounting/vendor_bills.rst | 165 +++++++++++------- .../vendor_bills/bill-completion.png | Bin 9310 -> 0 bytes 2 files changed, 105 insertions(+), 60 deletions(-) delete mode 100644 content/applications/finance/accounting/vendor_bills/bill-completion.png diff --git a/content/applications/finance/accounting/vendor_bills.rst b/content/applications/finance/accounting/vendor_bills.rst index 710816598..c39096b36 100644 --- a/content/applications/finance/accounting/vendor_bills.rst +++ b/content/applications/finance/accounting/vendor_bills.rst @@ -4,29 +4,65 @@ Vendor bills ============ -In Odoo, we can register vendor bills **manually** or **automatically**, while the -**Aged Payable report** provides an overview of all outstanding bills to help us pay the correct -amounts on time. +Vendor bills can be registered either **manually** or **automatically** in Odoo. The +:ref:`Aged Payable report ` provides an overview of all +outstanding bills to help ensure timely payment of the correct amounts. .. seealso:: - - Tutorial `Registering a vendor bill `_ + - Tutorial `Registering a vendor bill `_ - :doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage` + - :doc:`../accounting/customer_invoices/credit_notes` + +.. _accounting/vendor_bills/creation: Bill creation ============= +.. _accounting/vendor_bills/creation-manual: + Manually -------- -Create a vendor bill manually by going to :menuselection:`Accounting --> Vendors --> Bills` and -clicking :guilabel:`Create`. +To create a vendor bill manually, go to :menuselection:`Accounting --> Vendors --> Bills` and +click :guilabel:`New`. + +.. tip:: + Alternatively, it is possible to create a vendor bill from the Accounting dashboard: + + - either click :guilabel:`New` on the :guilabel:`Purchases` journal; + - or click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon of the + :guilabel:`Purchases` journal, then :guilabel:`Bill` under the :guilabel:`New` section. + +.. _accounting/vendor_bills/automatic: 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`. +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`. + +.. 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. + - Services such as digitizing scanned or PDF vendor bills in Odoo require :doc:`In-App + Purchase (IAP) ` credits. + +To automatically post bills from selected vendors, go to :menuselection:`Accounting --> Vendors --> +Vendors` and select the relevant vendor. In the :guilabel:`Accounting` tab, under the +:guilabel:`General` section, update the :guilabel:`Auto-post bills` field with one of the following +options: + +- :guilabel:`Always` +- :guilabel:`Ask after 3 validations without edits` +- :guilabel:`Never` + +.. _accounting/vendor_bills/bill-completion: Bill completion =============== @@ -34,82 +70,91 @@ Bill completion Whether the bill is created manually or automatically, make sure the following fields are appropriately completed: -- :guilabel:`Vendor`: Odoo automatically fills some information based on the vendor's registered - information, previous purchase orders, or bills. -- :guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do - the :ref:`matching ` when you receive the products. -- :guilabel:`Auto-Complete`: select a past bill/purchase order to automatically complete the - document. The :guilabel:`Vendor` field should be completed prior to completing this field. -- :guilabel:`Bill Date`: is the issuance date of the document. -- :guilabel:`Accounting Date`: is the date on which the document is registered in your accounting. -- :guilabel:`Payment Reference`: when registering the payment, it is automatically indicated in the - :guilabel:`Memo` field. -- :guilabel:`Recipient Bank`: to indicate to which account number the payment has to be made. -- :guilabel:`Due Date` or :guilabel:`Terms` to pay the bill. -- :guilabel:`Journal`: select in which journal the bill should be recorded and the :doc:`Currency +- :guilabel:`Vendor`: Odoo automatically fills in some information based on the information on the + vendor's contact record as well as previous purchase orders and bills. +- :guilabel:`Bill Reference`: Add the sales order reference provided by the vendor. This field is + used to :ref:`match ` the products when they are received. +- :guilabel:`Auto-Complete`: Select a past bill/purchase order to complete the document + automatically. The :guilabel:`Vendor` field should be completed before completing this field. +- :guilabel:`Bill Date`: Select the document's issuance date. +- :guilabel:`Accounting Date`: Update the document's accounting registration date if needed. +- :guilabel:`Payment Reference`: The :guilabel:`Memo` field automatically includes the payment + reference once the payment is registered. +- :guilabel:`Recipient Bank`: Indicates the account number to which the payment will be made. This + field is required when paying via batch payment files (such as :ref:`NACHA + ` and :doc:`SEPA `). +- :guilabel:`Due Date` or :guilabel:`Payment Terms` must be specified for the bill payment. +- :guilabel:`Journal`: Select which journal should record the bill and in which :doc:`currency `. -.. image:: vendor_bills/bill-completion.png - :alt: filling the vendor bill +In the :guilabel:`Invoice Lines` tab: + +- To access the product catalog, click :doc:`Catalog + `. +- Select the products and quantities, then click :guilabel:`Back to Bill` to return to the vendor + bill; the selected catalog items will appear in the vendor bill lines. +- Update the :guilabel:`Quantity`, :guilabel:`Price`, and :doc:`Taxes ` fields if needed. + +.. tip:: + If the bill line does not correspond to an existing product in the database, click :guilabel:`Add + a line` and enter a description for the bill line without linking it to a product. .. note:: - - Bills can be :doc:`digitized ` for - automatic completion by clicking :guilabel:`Send for Digitization`. - - If you upload the bill, the PDF document is displayed on the right of the screen, allowing you - to easily fill in the bill information. + Multiple bills for the same purchase order may be issued if the vendor is on back-order and sends + invoices as products are shipped or if the vendor sends partial bills or requests a deposit. In + this case, multiple bills may have the same :guilabel:`Bill Reference`. + +.. _accounting/vendor_bills/bill-confirmation: Bill confirmation ================= -Click :guilabel:`Confirm` when the document is completed. The status of your document changes to -:guilabel:`Posted` and a journal entry is generated based on the configuration on the invoice. +Click :guilabel:`Confirm` when the document is completed. The status changes to :guilabel:`Posted`, +and a journal entry is generated based on the vendor bill information. On confirmation, Odoo assigns +each vendor bill a unique number from a defined :doc:`sequence `. .. note:: - Once confirmed, it is no longer possible to update it. Click :guilabel:`Reset to draft` if + Once confirmed, a vendor bill can no longer be updated. Click :guilabel:`Reset to draft` if changes are required. -Bill Payment -============ +.. _accounting/vendor_bills/bill-payment: -Upon payment of the vendor bill, click on :guilabel:`Register Payment` to open a new payment window. +Payment and reconciliation +========================== -Select the :guilabel:`Journal`, the :guilabel:`Payment Method`, the :guilabel:`Amount` you wish to -pay (full or partial payment), and the :guilabel:`Currency`. In the case of a partial payment (when -the :guilabel:`Amount` paid is less than the total remaining amount on the vendor bill), the -:guilabel:`Payment Difference` field displays the outstanding balance. -You have two options: +To register a payment, click on :guilabel:`Pay`. In the :guilabel:`Pay` window, select the +:guilabel:`Journal`, the :guilabel:`Payment Method`, the :guilabel:`Amount`, and the +:guilabel:`Currency`. -- :guilabel:`Keep open`: to keep the bill open and mark it with a :guilabel:`Partial` banner; -- :guilabel:`Mark as fully paid`: In this case, select an account in the - :guilabel:`Post Difference In` field and change the :guilabel:`Label` if needed. A journal entry - will be created to balance the account receivable with the selected account. +When the :guilabel:`Amount` paid is less than the total remaining amount on the vendor bill, the +payment is :ref:`partial `, and the :guilabel:`Payment +Difference` field displays the outstanding balance. -.. image:: vendor_bills/partial-payment.png - :alt: register a partial payment - -The :guilabel:`Memo` field is filled automatically if the :guilabel:`Payment Reference` has been -set correctly in the vendor bill. If the field is empty, select the vendor invoice number as a +The :guilabel:`Memo` field is filled automatically if the :guilabel:`Payment Reference` has been set +correctly on the vendor bill. If the field is empty, select the vendor invoice number as a reference. -Once confirmed, an :guilabel:`In Payment` banner appears on the bill until it is :doc:`reconciled -`. +Then click :guilabel:`Create payment`. An :guilabel:`In Payment`/:guilabel:`Partial` banner appears +on the bill until it is :doc:`reconciled ` and its status updates to +:guilabel:`Paid`. + +.. seealso:: + - :doc:`payments` + - :doc:`bank/reconciliation` + +.. _accounting/vendor_bills/age-payable-report: Aged payable report =================== -To get an overview of your open vendor bills and their related due dates, you can use the -**Aged Payable report**. Go to :menuselection:`Accounting --> Reporting --> Partner Reports: Aged -payable`. +For an overview of the open vendor bills and their due dates, go to :menuselection:`Accounting --> +Reporting --> Aged payable`. -Click on a vendor's name to open up the details of all outstanding bills, the amounts due, the due -dates, etc. +Click the :icon:`fa-caret-right` :guilabel:`(right arrow)` icon next to a vendor to view the details +of all their outstanding bills, including the due dates and amounts. .. Note:: - - By clicking the :guilabel:`Save` button, you can export the information available on the screen - as a PDF or XLSX file and save it in the folder of your choice. - - You might receive several bills for the same purchase order if your vendor is in back-order and - is sending you invoices as they ship the products, or if your vendor is sending you a partial - bill or asking for a deposit. + Click :guilabel:`PDF` or :guilabel:`XLSX` to generate a PDF or XLSX file, respectively. .. toctree:: :titlesonly: diff --git a/content/applications/finance/accounting/vendor_bills/bill-completion.png b/content/applications/finance/accounting/vendor_bills/bill-completion.png deleted file mode 100644 index bebb9879cf5897226a7d78b0af37691a8be8dee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9310 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