[IMP] purchase: update and merge 3-way matching and bill control

3-way matching and bill control are closely related and were very shorts docs,
so in order to make more sense, both docs were merged. Both also had to be updated
for v14 since Odoo behaviour changed: when the bill control policy is set to
'on received quantities' you cannot create a bill anymore unless you have received
at least some products. Previously, you could create a bill for "0" and the "should
be paid' status was set to 'no'. Info about the "Bill status" field was also added
as it is also closely related.
This commit is contained in:
Xavier (xpl) 2021-01-11 10:29:03 +01:00 committed by xpl-odoo
parent e6e7a241b9
commit 5ec4a7540c
13 changed files with 116 additions and 45 deletions

View File

@ -5,6 +5,5 @@ Advanced
.. toctree::
:titlesonly:
advanced/3_way_matching
advanced/dropshipping
advanced/analyze

View File

@ -1,42 +0,0 @@
=======================================================
Determine when to pay a vendor bill with 3-way matching
=======================================================
In some industries, you may receive a bill from a vendor before
receiving the ordered products. However, you might not want to pay it
until the products have been received.
To define whether the vendor bill should be paid or not, you can use
what we call *3-way matching*. It refers to the comparison of the
information appearing on the *Purchase Order*, the *Vendor Bill*
and the *Receipt*.
The 3-way matching helps you avoid paying incorrect or fraudulent
vendor bills.
Configuration
=============
For this feature to work, go to :menuselection:`Purchases -->
Configuration --> Settings` and activate the *3-way matching* feature
.. image:: media/3_way_matching01.png
:align: center
Should I pay the vendor bill?
=============================
With the feature activated you will have a new *Should be paid* line
appear on the vendor bill under the *Other info* tab.
That way Odoo let's you easily know if you should pay the vendor bill or
not.
.. image:: media/3_way_matching02.png
:align: center
.. tip::
The status is defined automatically by Odoo. However, if you want to
define this status manually, you can tick the box Force Status and then
you will be able to set manually whether the vendor bill should be paid
or not.

View File

@ -6,3 +6,4 @@ Manage deals
:titlesonly:
manage_deals/agreements
manage_deals/control_bills

View File

@ -0,0 +1,110 @@
=================================================
Control and know when vendor bills should be paid
=================================================
With Odoo, you can define how your vendor bills are controlled. For each purchase order, you can
decide when the related vendor bill should be paid: either before or after you have received your
products. You can also check at a glance what is the billing status of each purchase order.
With the 3-way matching feature, Odoo compares the information appearing on the *Purchase Order*,
the *Vendor Bill* and the *Receipt*, and lets you know if you should pay the bill. This way you can
avoid paying incorrect or fraudulent vendor bills.
Vendor bills default control policy
===================================
As a first step, open your Purchase app and go to :menuselection:`Configuration --> Settings` to set
the default bill control policy for all the products created onwards.
.. image:: media/control-bills-quantities-default-setting.png
:align: center
:alt: Vendor bills default control setting for new products in Odoo Purchase
By selecting *On ordered quantities*, you can create a vendor bill as soon as you confirm an order.
The quantities mentioned in the purchase order are used to generate the draft bill.
If you choose *On received quantities* instead, you can only create one once you have at least
received some of the products you have ordered. The quantities you have received are used to
generate the draft bill. If you try to create one without having received any product, you get an
error message.
.. image:: media/control-bills-no-invoiceable-line.png
:align: center
:alt: No invoiceable line error message in Odoo Purchase
Change a specific product's control policy
------------------------------------------
If you want to modify a specific product's control policy, go to :menuselection:`Products -->
Products`, open it, click on *Edit* and go to the *Purchase tab*. There you can change a product's
default bill control policy.
.. image:: media/control-bills-quantities-on-product.png
:align: center
:alt: Vendor bills default control setting for new products in Odoo Purchase
View a purchase order's billing status
======================================
Once you confirm an order, you can view its *Billing Status* by going to the *Other Information*
tab.
.. image:: media/control-bills-billing-status.png
:align: center
:alt: Purchase order billing status in Odoo Purchase
Below you can find a list of the different *Billing Status*, and when they are displayed, depending
on the products' bill control policy.
+--------------------+--------------------------------------------------------------------------+
| **Billing status** | **Conditions** |
| +------------------------------------------------+-------------------------+
| | *On received quantities* | *On ordered quantities* |
+--------------------+------------------------------------------------+-------------------------+
| *Nothing to Bill* | PO confirmed; no products received | *(Not applicable)* |
+--------------------+------------------------------------------------+-------------------------+
| *Waiting Bills* | All/some products received; bill not created | PO confirmed |
+--------------------+------------------------------------------------+-------------------------+
| *Fully Billed* | All/some products received; draft bill created | Draft bill created |
+--------------------+------------------------------------------------+-------------------------+
Determine when to pay with 3-way matching
=========================================
First, go to :menuselection:`Configuration --> Settings` and activate *3-way matching*.
.. image:: media/control-bills-3-way-matching-setting.png
:align: center
:alt: 3-way-matching setting in Odoo Purchase
.. note::
3-way matching is intended to work with the bill control policy set to *On received quantities*.
Should I pay the vendor bill?
-----------------------------
With the feature activated, your vendor bills now display the *Should Be Paid* field under the
*Other info* tab.
.. image:: media/control-bills-should-be-paid.png
:align: center
:alt: Should Be Paid field under a vendor bill in Odoo Purchase
As you can't create a bill until you have received your products - and if you haven't received all
of them, Odoo only includes the products you have received in the draft bill - the *Should Be Paid*
status is set to *Yes* when you create one.
If you edit a draft bill to increase the billed quantity, change the price, or add other products,
the *Should Be Paid* status is set to *Exception*. It means Odoo notices the discrepancy, but that
you might have a valid reason to have done so.
Once the payment has been registered and mentions *Paid*, the *Should Be Paid* status is set to
*No*.
.. image:: media/control-bills-paid-status.png
:align: center
:alt: Paid bill in Odoo Purchase
.. tip::
The *Should Be Paid* status is set automatically by Odoo. However, you can change the status
manually when you are viewing a bill in edit mode.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -36,7 +36,7 @@ must order to benefit from that price.
.. tip::
By default, a draft purchase order is created. However, if you have enabled *Purchase
Agreements*, you can *Propose a call for tenders* instead as shown in the image above. For more
information, see :doc:`../agreements/call_for_tender`
information, see :doc:`../manage_deals/agreements`
Next, make sure the correct route is selected under the Inventory tab of your product. If you
created your product within the Purchase app, the *Buy* route is selected by default. If you are

View File

@ -182,4 +182,7 @@ crm/optimize/mail_client_extension.rst crm/optimize/outlook_extension.rst
crm/optimize/google_calendar_credentials.rst general/calendars/google/google_calendar_credentials.rst # (#765)
purchase/purchases/tender/blanket_orders.rst purchase/manage_deals/agreements.rst # (#823)
purchase/purchases/tender/call_for_tender.rst purchase/manage_deals/agreements.rst # (#823)
purchase/purchases/tender/call_for_tender.rst purchase/manage_deals/agreements.rst # (#823)
purchase/purchases/rfq/3_way_matching.rst purchase/manage_deals/control_bills.rst # (#829)
purchase/purchases/rfq/bills.rst purchase/manage_deals/control_bills.rst # (#829)