[IMP] Sales: Invoicing policy page rewrite

X-original-commit: 81aec5c228
Co-authored-by: Lara Martini <larm@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Niki Brown <nikbr@odoo.com>
This commit is contained in:
therealthagomizer
2025-11-26 23:30:05 +00:00
parent 759101d188
commit c33c2d2dc8
7 changed files with 104 additions and 60 deletions

View File

@@ -72,6 +72,8 @@ delivery order has been completed.
:align: center :align: center
:alt: The Packages smart button on a delivery order. :alt: The Packages smart button on a delivery order.
.. _inventory/shipping/backorders:
Create a backorder for items to be shipped later Create a backorder for items to be shipped later
================================================ ================================================

View File

@@ -1,85 +1,125 @@
================================================ ==================
Invoice based on delivered or ordered quantities Invoicing policies
================================================ ==================
Different business policies might require different options for invoicing: Depending on business needs, it may be advantageous to choose whether to invoice customers based on
the goods and services that they order or when those goods and services are delivered to them. To
allow businesses maximum flexibility to best meet their needs, Odoo offers two invoicing policies
that can be enabled in the **Sales** app: :ref:`Invoice what is ordered <invoice-on-order>` and
:ref:`Invoice what is delivered <invoice-on-delivery>`.
- The *Invoice what is ordered* rule is used as the default mode in Odoo *Sales*, which means Configuring an invoicing policy
customers are invoiced once the sales order is confirmed. ===============================
- The *Invoice what is delivered* rule invoices customers once the delivery is done. This rule is
often used for businesses that sell materials, liquids, or food in large quantities. In these
cases, the ordered quantity may differ slightly from the delivered quantity, making it preferable
to invoice the quantity actually delivered.
Being able to have different invoicing options provides more flexibility. To configure an invoicing policy, go to :menuselection:`Sales app --> Configuration --> Settings`,
and under the :guilabel:`Invoicing` heading, select an :guilabel:`Invoicing Policy` option:
:guilabel:`Invoice what is ordered` or :guilabel:`Invoice what is delivered`.
Invoicing policy features Activating an invoicing policy option automatically applies the chosen option to all newly created
========================= products. Existing products **must** have their invoicing policy manually updated on their product
forms.
To activate the necessary invoicing policy features, go to :menuselection:`Sales app -->
Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an
:guilabel:`Invoicing Policy` rule: :guilabel:`Invoice what is ordered` or :guilabel:`Invoice what is
delivered`.
.. image:: invoicing_policy/invoicing-policy-setting.png .. image:: invoicing_policy/invoicing-policy-setting.png
:align: center :alt: Choosing an invoicing policy in the Sales app.
:alt: Choosing an invoicing policy on Odoo Sales.
.. important:: .. important::
If the :guilabel:`Invoice what is delivered` rule is chosen, it is **not** possible to activate If the :guilabel:`Invoice what is delivered` option is chosen, it is **not** possible to activate
the :guilabel:`Automatic Invoice` feature, which automatically generates invoices when an online the :guilabel:`Automatic Invoice` feature, which automatically generates invoices when an online
payment is confirmed. payment is confirmed.
Invoicing policy on product form Changing the invoicing policy for existing products
================================ ---------------------------------------------------
On any product page, via the :menuselection:`Sales app --> Products --> Products dashboard`, locate After the invoicing policy has been configured in *Settings*, navigate to a product's form through
the :guilabel:`Invoicing Policy` option located under the :guilabel:`General Information` tab. It :menuselection:`Sales app --> Products --> Products` and choosing a product. Locate the
can be changed manually using the drop-down menu. :guilabel:`Invoicing Policy` option located under the :guilabel:`General Information` tab. Use the
drop-down menu to change the policy.
.. image:: invoicing_policy/invoicing-policy-general-info-tab.png .. image:: invoicing_policy/invoicing-policy-general-info-tab.png
:align: center :alt: How to change invoicing policy on a product form in the **Sales** app.
:alt: How to change your invoicing policy on a product form on Odoo Sales.
Impact on sales flow .. _invoice-on-order:
====================
In Odoo *Sales*, the basic sales flow starts with the creation of a quotation. Then, that quotation Invoicing what is ordered
is sent to a customer. Next, it needs to be confirmed, which turns the quotation into a sales order. =========================
This, in turn, creates an invoice.
The following is a breakdown of how invoicing policy rules impact the aforementioned sales flow: The *Invoice what is ordered* option is used as the default mode in the **Sales** app, which means
customers are invoiced once a quotation has been sent to the customer and confirmed. The creation of
a quotation in turn leads to the creation and confirmation of a sales order. An invoice can then be
created as soon as the sales order is confirmed.
- :guilabel:`Invoice what is ordered`: No impact on the basic sales flow. An invoice is created as This invoicing policy has no impact on the basic Odoo sales flow.
soon as a sale is confirmed.
- :guilabel:`Invoice what is delivered`: Minor impact on sales flow, because the delivered quantity
needs to be manually entered on the sales order. Or, the *Inventory* app can be installed and used
to confirm the delivered quantity before creating an invoice with the *Sales* app.
.. warning:: Invoice ordered quantity workflow
If a user attempts to create an invoice without validating the delivered quantity, the following ---------------------------------
error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered
quantities invoicing policy, please make sure that a quantity has been delivered.`
.. image:: invoicing_policy/invoicing-policy-error-message.png Confirm that the product's invoicing policy is set to :guilabel:`Ordered quantities` in the product
:align: center form. :ref:`Create a quotation and sales order <sales/create-quotation>` as normal. After the sales
:alt: If Delivered Quantities invoicing policy is chosen, ensure a quantity has been delivered. order has been confirmed, create an invoice by clicking the :guilabel:`Create Invoice` button on the
sales order form. Choose the type of invoice to be sent, click :guilabel:`Create Draft Invoice`,
confirm the invoice when ready, and proceed with the payment flow as normal.
.. note:: .. example::
Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent` to A independent artisan with a small business sells handmade jewelery nationwide online. Because
:guilabel:`Sales order`, the delivered and invoiced quantities are available to view, directly they have direct control over their inventory levels and ship with 3rd party carriers, they
from the sales order. This is true for both invoicing policy rule options. invoice their customers after a sales order has been confirmed.
The artisan receives an order for a necklace. They send their customer a quotation, confirm it,
and create a sales order. After the sales order has been confirmed, an invoice can be created and
sent to the customer for payment without any additional steps be taken. The invoice gets paid,
the necklace is shipped and delivered, and the transaction is complete.
.. _invoice-on-delivery:
Invoicing what is delivered
===========================
The *Invoice what is delivered* option invoices customers as different amounts of the ordered goods
are delivered. This option is often used for businesses that sell large quantities of physical goods
in each sales order, but may not always be able to completely fulfill a given order all at once. In
these cases, the ordered quantity may differ slightly from the delivered quantity based on product
availability. Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent`
to :guilabel:`Sales order`, Odoo automatically adds both the delivered and invoiced quantities to
the invoice and sales order. Both partial and complete deliveries are tracked. :ref:`Backorders
<inventory/shipping/backorders>` can be created for partial orders that will be completed at a later
time.
This invoicing policy has a minor impact on the sales flow because the delivered quantity of a
product needs to be manually entered on the sales order.
.. image:: invoicing_policy/invoicing-policy-order-lines.png .. image:: invoicing_policy/invoicing-policy-order-lines.png
:align: center :alt: How to see delivered and invoiced quantities on Odoo Sales.
:alt: How to see your delivered and invoiced quantities on Odoo Sales.
Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and Invoice delivered quantity workflow
:guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed. -----------------------------------
Finally, there are a few different options to create an invoice: :guilabel:`Regular invoice`, Confirm that the product's invoicing policy is set to :guilabel:`Delivered quantities` in the
:guilabel:`Down payment (percentage)` or :guilabel:`Down payment (fixed amount)`. product form. :ref:`Create a quotation and sales order <sales/create-quotation>` as normal. After
the sales order has been confirmed, the product must be delivered before an invoice can be created.
Once the product has been shipped and delivery has been confirmed, click the :guilabel:`Delivery`
smart button on the sales order screen and click :guilabel:`Validate` to validate the delivery
order. Once at least a partial delivery has been confirmed, return to the sales order form. The
:guilabel:`Create Invoice` button is now purple to indicate that an invoice can be created and
confirmed, and that it is possible to proceed with the payment flow as normal.
.. warning::
If a user attempts to create an invoice without validating the delivered quantity, the system
returns an error message alerting them to the issue.
.. image:: invoicing_policy/invoicing-policy-error-message.png
:alt: If Delivered Quantities invoicing policy is chosen, ensure a quantity has been
delivered.
.. example::
A produce distributor using the invoice what is delivered option sells 50 heads of lettuce to a
local restaurant. At the time the delivery is made, only 40 heads are available. The distributor
delivers the available heads of lettuce and creates an invoice for what was delivered. Later,
when more supply comes in, the distributor delivers the remaning 10 heads of lettuce and creates
a second invoice to complete the order.
.. seealso:: .. seealso::
Be sure to check out the documentation explaining down payment options to learn more: - :doc:`../sales_quotations/create_quotations`
:doc:`/applications/sales/sales/invoicing/down_payment` - :doc:`down_payment`
- :doc:`../../../inventory_and_mrp/inventory`
- :doc:`../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/multipack`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -66,6 +66,8 @@ To view and/or modify any listed quotation from the :guilabel:`Quotations` dashb
desired quotation line from the list, and Odoo reveals the specific form for that selected desired quotation line from the list, and Odoo reveals the specific form for that selected
quotation. quotation.
.. _sales/create-quotation:
Create quotation Create quotation
================ ================