diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst b/content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst index a694f4848..8f60bc63b 100644 --- a/content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst +++ b/content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst @@ -2,226 +2,251 @@ Manage vendor bills =================== -The **Purchase** application allows you to manage your purchase orders, -incoming products, and vendor bills all seamlessly in one place. +.. _inventory/purchase/manage_deals/manage: -If you want to set up a vendor bill control process, the first thing you -need to do is to have purchase data in Odoo. Knowing what has been -purchased and received is the first step towards understanding your -purchase management processes. +A *vendor bill* is an invoice received for products and/or services that a company purchases from a +vendor. Vendor bills record payables as they arrive from vendors, and can include amounts owed for +the goods and/or services purchased, sales taxes, freight and delivery charges, and more. -Here is the standard work flow in Odoo: +In Odoo, a vendor bill can be created at different points in the purchasing process, depending on +the *bill control* policy chosen in the *Purchase* app settings. -1. You begin with a **Request for Quotation (RFQ)** to send out to your - vendor(s). +Bill control policies +===================== -2. Once the vendor has accepted the RFQ, confirm the RFQ into a - **Purchase Order (PO)**. +To view and edit the default bill control policy and make changes to it, go to +:menuselection:`Purchase app --> Configuration --> Settings`, and scroll down to the +:guilabel:`Invoicing` section. -3. Confirming the PO generates an **Incoming Shipment** if you purchased - any stockable products. +Here, there are two :guilabel:`Bill Control` policy options: :guilabel:`Ordered quantities` and +:guilabel:`Received quantities`. After a policy is selected, click :guilabel:`Save` to save changes. -4. Upon receiving a **Vendor Bill** from your Vendor, validate the bill - with products received in the previous step to ensure accuracy. +.. image:: manage/manage-configuration-settings.png + :align: center + :alt: Bill control policies in purchase app settings. -This process may be done by three different people within the company, -or only one. +The policy selected will be the default for any new product created. The definition of each policy +is as follows: -Configuration -============= - -Installing the Purchase and Inventory applications --------------------------------------------------- - -From the **Apps** application, search for the **Purchase** module and -install it. Due to certain dependencies, installing Purchase will -automatically install the **Inventory** and **Accounting** applications. - -Creating products ------------------ - -Creating products in Odoo is essential for quick and efficient -purchasing within Odoo. Simply navigate to the Products submenu under -Purchase and click create. - -.. image:: manage/manage01.png - :align: center - -When creating the product, pay attention to the **Product Type** field, -since it is important: - -- Products that are set as **Stockable or Consumable** will allow you - to keep track of their inventory levels. These options imply - stock management and will allow for receiving these kinds of - products. - -- Conversely, products that are set as a **Service or Digital Product** - will not imply stock management, simply due to the fact that - there is no inventory to manage. You will not be able to receive - products under either of these designations. +- :guilabel:`Ordered quantities`: creates a vendor bill as soon as a purchase order is confirmed. + The products and quantities in the purchase order are used to generate a draft bill. +- :guilabel:`Received quantities`: a bill is only created **after** part of the total order has been + received. The products and quantities **received** are used to generate a draft bill. .. tip:: - It is recommended that you create a **Miscellaneous** product for all purchases - that occur infrequently and do not require inventory valuation or management. - If you create such a product, it is recommended to set the product type to **Service**. + If a product needs a different control policy, the default bill control policy can be overridden + by going to the :guilabel:`Purchase` tab in a product's template, and modifying its + :guilabel:`Control Policy` field. -Managing your Vendor Bills -========================== +.. image:: manage/manage-product-form.png + :align: center + :alt: Control policy field on product form. -Purchasing products or services -------------------------------- +3-way matching +-------------- -From the purchase application, you can create a purchase order with as -many products as you need. If the vendor sends you a confirmation or -quotation for an order, you may record the order reference number in the -**Vendor Reference** field. This will enable you to easily match the PO -with the the vendor bill later (as the vendor bill will probably include -the Vendor Reference) +*3-way matching* ensures vendor bills are only paid once some (or all) of the products included in +the purchase order have actually been received. -.. image:: manage/manage02.png - :align: center +To activate it, go to :menuselection:`Purchase app --> Configuration --> Settings`, and scroll down +to the :guilabel:`Invoicing` section. Then, check the box next to :guilabel:`3-way matching: +purchases, receptions, and bills`, and click :guilabel:`Save` to save changes. -Validate the purchase order and receive the products from the Inventory -application. +.. important:: + :guilabel:`3-way matching` is **only** intended to work with the :guilabel:`Bill Control` policy + set to :guilabel:`Received quantities`. -Receiving Products ------------------- + .. image:: manage/manage-three-way-matching.png + :align: center + :alt: Activated three-way matching feature in purchase settings. -If you purchased any stockable products that you manage the inventory -of, you will need to receive the products from the Inventory application -after you confirm a purchase order. From the **Inventory dashboard**, you -should see a button linking you directly to the transfer of products. -This button is outlined in red below: +Create and manage vendor bills on receipts +========================================== -.. image:: manage/manage03.png - :align: center +When products are received into a company's warehouse, receipts are created. Once the company +processes the received quantities, they can choose to create a vendor bill directly from the +warehouse receipt form. Depending on the bill control policy chosen in the settings, vendor bill +creation is completed at different steps of the procurement process. -Navigating this route will take you to a list of all orders waiting to -be received. +With the bill control policy set to ordered quantities +------------------------------------------------------ -.. image:: manage/manage04.png - :align: center +To create and manage vendor bills on receipts using the *ordered quantities* bill control policy, +first go to :menuselection:`Purchase app --> Configuration --> Settings`, scroll down to the +:guilabel:`Invoicing` section, and select :guilabel:`Ordered quantities` under :guilabel:`Bill +Control`. Then, click :guilabel:`Save` to save changes. -If you have a lot of awaiting orders, apply a filter using the search -bar in the upper right. With this search bar, you may filter based on -the vendor (partner), the product, or the source document (also known as -the reference of your purchase order). You can also -group the orders by different criteria under **Group By**. Selecting an -item from this list will open the following screen where you then will -receive the products. +Next, go to the :menuselection:`Purchase` app, and click :guilabel:`Create` to create a new request +for quotation (RFQ). Doing so reveals a blank :abbr:`RFQ (request for quotation)` detail form. -.. image:: manage/manage05.png - :align: center +On the blank detail form, add a vendor to the :abbr:`RFQ (request for quotation)` in the +:guilabel:`Vendor` field, and add products to the :guilabel:`Product` lines by clicking +:guilabel:`Add a line`. -Purchasing service products does not trigger a delivery order. +Then, confirm the :abbr:`RFQ (request for quotation)` by clicking the :guilabel:`Confirm Order` +button above the detail form. Doing so turns the :abbr:`RFQ (request for quotation)` into a purchase +order. -Managing Vendor Bills ---------------------- +Then, click the :guilabel:`Create Bill` button to create a vendor bill for the purchase order. -When you receive a vendor bill for a previous purchase, be sure to -record it in the Purchases application under the **Control Menu**. You -need to create a new vendor bill even if you already registered a -purchase order. +Clicking the :guilabel:`Create Bill` button reveals the :guilabel:`Draft Bill` page for the purchase +order. -.. image:: manage/manage06.png - :align: center +On the :guilabel:`Draft Bill`, click the :guilabel:`Edit` button to modify the bill, and add a bill +date in the :guilabel:`Bill Date` field. If needed, add additional products to the +:guilabel:`Product` lines by clicking :guilabel:`Add a line` in the :guilabel:`Invoice Lines` tab. -The first thing you will need to do upon creating a vendor bill is to -select the appropriate vendor, since doing so will also pull up any associated -accounting or pricelist information. From there, you can choose to -specify one or multiple Purchase Orders to populate the Vendor Bill -with. When you select a Purchase Order from the list, Odoo will pull any -uninvoiced products associated to that Purchase Order and automatically -populate that information below. If you are having a hard time finding -the appropriate vendor bill, you may search through the list by -inputting the vendor reference number or your internal purchase order -number. +Next, confirm the bill by clicking the :guilabel:`Confirm` button on the :guilabel:`Draft Bill` +page. -.. image:: manage/manage07.png - :align: center +.. tip:: + Since the bill control policy is set to *ordered quantities*, the draft bill can be confirmed as + soon as it is created, before any products have been received. -While the invoice is in a draft state, you can make any modifications you -need (i.e. remove or add product lines, modify quantities, and change -prices). +On the new :guilabel:`Vendor Bill`, add a :guilabel:`Bill Reference` number, which can be used to +match the bill with additional documents (such as the :abbr:`PO (purchase order)`). Then, click +:menuselection:`Confirm --> Register Payment`. Doing so causes a pop-up to appear, wherein a payment +:guilabel:`Journal` can be chosen; a :guilabel:`Payment Method` selected; and a :guilabel:`Recipient +Bank Account` can be selected from a drop-down menu. + +Additionally, the bill :guilabel:`Amount`, :guilabel:`Payment Date`, and :guilabel:`Memo` +(:dfn:`Reference Number`) can be changed from this pop-up. Once ready, click :guilabel:`Create +Payment` to finish creating the :guilabel:`Vendor Bill`. Doing so causes a green :guilabel:`In +Payment` banner to display on the :abbr:`RFQ (request for quotation)` form. + +.. image:: manage/manage-draft-vendor-bill.png + :align: center + :alt: Vendor bill form for ordered quantities control policy. .. note:: - Your vendor may send you several bills for the same Purchase Order if: + Each vendor bill provides the option to either :guilabel:`Add Credit Note` or :guilabel:`Add + Debit Note`. A *credit note* is typically issued when a vendor or supplier of goods get some + quantity of products back from the customer to whom they were sold, while *debit notes* are + reserved for goods returned from the customer/buyer to the vendor or supplier. - #. Your vendor is in back-order and is sending you invoices as they ship the products. - #. Your vendor is sending you a partial bill or asking for a deposit. +With the bill control policy set to received quantities +------------------------------------------------------- -Every time you record a new vendor bill, Odoo will automatically -populate the product quantities based on what has been received from the -vendor. If this value is showing a zero, this means that you have not -yet received this product and simply serves as a reminder that the -product is not in hand and you may need to inquire further into this. At -any point in time, before you validate the Vendor Bill, you may override -this zero quantity. +.. warning:: + If the creation of a vendor bill is attempted without receiving any quantities of a product + (while using the *received quantities* bill control policy), an error message appears, and + settings must be changed before proceeding. -Vendor Bill Matching -==================== +To create and manage vendor bills on receipts using the *received quantities* bill control policy, +first go to :menuselection:`Purchase app --> Configuration --> Settings`, scroll down to the +:guilabel:`Invoicing` section, and select :guilabel:`Received quantities` under :guilabel:`Bill +Control`. Then, click :guilabel:`Save` to save changes. -What to do if your vendor bill does not match what you received ---------------------------------------------------------------- +Next, go to the :menuselection:`Purchase` app, and click :guilabel:`Create` to create a new +:abbr:`RFQ (request for quotation)`. Doing so reveals a blank :abbr:`RFQ (request for quotation)` +detail form. -If the bill you receive from the vendor has quantities that do not match -the quantities automatically populated by Odoo, this could be due to -several reasons: +On the blank detail form, add a vendor to the :abbr:`RFQ (request for quotation)` in the +:guilabel:`Vendor` field, and add products to the :guilabel:`Product` lines by clicking +:guilabel:`Add a line`. -- The vendor is incorrectly charging you for products and/or services - that you have not ordered. +Then, confirm the :abbr:`RFQ (request for quotation)` by clicking the :guilabel:`Confirm Order` +button above the detail form. Doing so turns the :abbr:`RFQ (request for quotation)` into a purchase +order. -- The vendor is billing you for products that you might not have - received yet, as the invoicing control may be based on ordered or - received quantities. +Finally, click the :guilabel:`Create Bill` button to create a bill for the purchase order. -- The vendor did not bill you for previously purchased products. +.. note:: + Clicking :guilabel:`Create Bill` before any products have been received will cause a + :guilabel:`User Error` pop-up to appear. The :guilabel:`Purchase Order` requires the receipt of + at least partial quantity of the items included on the order to create a vendor bill. -In these instances it is recommended that you verify that the bill, and -any associated purchase order to the vendor, are accurate and that you -understand what you have ordered and what you have already received. +.. image:: manage/manage-user-error-popup.png + :align: center + :alt: User error pop-up for received quantities control policy. -If you are unable to find a purchase order related to a vendor bill, -this could be due to one of a few reasons: +Next, click the :guilabel:`Receipt` smart button to view the warehouse receipt form. -- The vendor has already invoiced you for this purchase order; - therefore it is not going to appear anywhere in the selection. +On the warehouse receipt form, click :menuselection:`Validate --> Apply` to mark the +:guilabel:`Done` quantities. Then, navigate back to the :menuselection:`Purchase Order` (via the +breadcrumbs), and click the :guilabel:`Create Bill` button on the purchase order form. -- Someone in the company forgot to record a purchase order for this - vendor. +Doing so reveals the :guilabel:`Draft Bill` for the purchase order. On the :guilabel:`Draft Bill`, +click the :guilabel:`Edit` button, and add a :guilabel:`Bill Date`. If needed, add additional +products to the :guilabel:`Product` lines by clicking :guilabel:`Add a line`. -- The vendor is charging you for something you did not order. +Next, click the :guilabel:`Confirm` button to confirm the :guilabel:`Draft Bill`. +.. note:: + Since the bill control policy is set to *received quantities*, the draft bill can **only** be + confirmed when at least some of the quantities are received. +On the new :guilabel:`Vendor Bill`, add a :guilabel:`Bill Reference` number, which can be used to +match the bill with additional documents (such as the :abbr:`PO (purchase order)`). Then, click +:menuselection:`Confirm --> Register Payment`. Doing so causes a pop-up to appear, wherein a payment +:guilabel:`Journal` can be chosen; a :guilabel:`Payment Method` selected; and a :guilabel:`Recipient +Bank Account` can be selected from a drop-down menu. -How product quantities are managed ----------------------------------- +Additionally, the bill :guilabel:`Amount`, :guilabel:`Payment Date`, and :guilabel:`Memo` +(:dfn:`Reference Number`) can be changed from this pop-up. Once ready, click :guilabel:`Create +Payment` to finish creating the vendor bill. Doing so causes a green **In Payment** banner to +display on the :abbr:`RFQ (request for quotation)` form. -By default, services are managed based on ordered quantities, while -stockables and consumables are managed based on received quantities. +Create and manage vendor bills in Accounting +============================================ -If you need to manage products based on ordered quantities over received -quantities, you will need to belong to the group **Purchase Manager**. -Ask your system administrator to enable these access on :menuselection:`Settings ---> Users --> Users --> Access Rights`. Once you belong to the correct group, -select the product(s) you wish to modify, and you should see a new field appear, -labeled **Control Purchase Bills**. +Vendor bills can also be created directly from the *Accounting* app, **without** having to create a +purchase order first. To do this, go to :menuselection:`Accounting app --> Vendors --> Bills`, and +click :guilabel:`Create`. Doing so reveals a blank vendor bill detail form. -.. image:: manage/manage08.png - :align: center +On this blank vendor bill detail form, add a vendor in the :guilabel:`Vendor` field, and add +products to the :guilabel:`Product` lines (under the :guilabel:`Invoice Lines` tab), by clicking +:guilabel:`Add a line`. Then, add a bill date in the :guilabel:`Bill Date` field, and any other +necessary information. Finally, click :guilabel:`Confirm` to confirm the bill. -You can then change the default management method for the selected -product to be based on either: +From here, click the :guilabel:`Journal Items` tab to view (or change) the :guilabel:`Account` +journals that were populated based on the configuration on the corresponding :guilabel:`Vendor` and +:guilabel:`Product` forms. -- Ordered quantities +Then, click :guilabel:`Add Credit Note` or :guilabel:`Add Debit Note` to add credit or debit notes +to the bill. Or, add a :guilabel:`Bill Reference` number (while in :guilabel:`Edit` mode). -- or Received quantities +Then, when ready, click :menuselection:`Register Payment --> Create Payment` to complete the +:guilabel:`Vendor Bill`. -Batch Billing -------------- +.. tip:: + To tie the draft bill to an existing purchase order, click the drop-down menu next to + :guilabel:`Auto-Complete`, and select a :abbr:`PO (purchase order)` from the menu. The bill will + auto-populate with the information from the :abbr:`PO (purchase order)`. -When creating a vendor bill and selecting the appropriate purchase -order, you may continue to select additional purchase orders. Odoo -will add the additional line items from the purchase orders you select. If you -have not deleted the previous line items from the first purchase order, -the bill will be linked to all the appropriate purchase orders. + .. image:: manage/manage-auto-complete.png + :align: center + :alt: Auto-complete drop-down list on draft vendor bill. + +Batch billing +============= + +Vendor bills can be processed and managed in batches in the *Accounting* app. + +To do this, go to :menuselection:`Accounting app --> Vendors --> Bills`. Then, click the +:guilabel:`checkbox` at the top left of the page, beside the :guilabel:`Number` column, under the +:guilabel:`Create` button. This selects all existing vendor bills with a :guilabel:`Posted` or +:guilabel:`Draft` :guilabel:`Status`. + +From here, click the :guilabel:`Action` gear icon to export, delete, or send & print the bills; +click the :guilabel:`Print` icon to print the invoices or bills; or click :guilabel:`Register +Payment` to create and process payments for multiple vendor bills at once. + +When :guilabel:`Register Payment` is selected, a pop-up appears. In this pop-up window, select the +appropriate journal in the :guilabel:`Journal` field, choose a payment date in the +:guilabel:`Payment Date` field, and choose a :guilabel:`Payment Method`. There is also the option to +:guilabel:`Group Payments` on this pop-up, as well. + +When ready, click the :guilabel:`Create Payment` button, which creates a list of journal entries on +a separate page. This list of journal entries are all tied to their appropriate vendor bills. + +.. image:: manage/manage-batch-billing.png + :align: center + :alt: Batch billing register payment pop-up. + +.. note:: + The :guilabel:`Register Payment` option for vendor bills in batches will only work for journal + entries whose :guilabel:`Status` is set to :guilabel:`Posted`. + +.. seealso:: + :doc:`/applications/inventory_and_mrp/purchase/manage_deals/control_bills` diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-auto-complete.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-auto-complete.png new file mode 100644 index 000000000..1bac74738 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-auto-complete.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-batch-billing.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-batch-billing.png new file mode 100644 index 000000000..88c6874d8 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-batch-billing.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-configuration-settings.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-configuration-settings.png new file mode 100644 index 000000000..ab0546a66 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-configuration-settings.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-draft-vendor-bill.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-draft-vendor-bill.png new file mode 100644 index 000000000..46cd68d3a Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-draft-vendor-bill.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-product-form.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-product-form.png new file mode 100644 index 000000000..408e9f104 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-product-form.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-three-way-matching.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-three-way-matching.png new file mode 100644 index 000000000..87c207765 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-three-way-matching.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-user-error-popup.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-user-error-popup.png new file mode 100644 index 000000000..452613455 Binary files /dev/null and b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage-user-error-popup.png differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage01.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage01.png deleted file mode 100644 index f07620b91..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage01.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage02.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage02.png deleted file mode 100644 index d4e2279f7..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage02.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage03.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage03.png deleted file mode 100644 index 8f24389a8..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage03.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage04.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage04.png deleted file mode 100644 index f06688a81..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage04.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage05.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage05.png deleted file mode 100644 index 5d4beab5a..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage05.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage06.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage06.png deleted file mode 100644 index 9acc678f3..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage06.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage07.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage07.png deleted file mode 100644 index eb3aa8d71..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage07.png and /dev/null differ diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage08.png b/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage08.png deleted file mode 100644 index 32ae048e2..000000000 Binary files a/content/applications/inventory_and_mrp/purchase/manage_deals/manage/manage08.png and /dev/null differ