Compare commits

...

4 Commits

Author SHA1 Message Date
lman-odoo
61c3c3f40e [FIX] ecommerce: fix info about product images
task-5073971

closes odoo/documentation#15650

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2025-12-11 14:42:12 +00:00
therealthagomizer
81aec5c228 [IMP] Sales: Invoicing policy page rewrite
closes odoo/documentation#15647

X-original-commit: 04e96e024f
Signed-off-by: Thomas Jude Cavazos (thjud) <thjud@odoo.com>
Co-authored-by: Lara Martini <larm@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Niki Brown <nikbr@odoo.com>
2025-12-11 12:41:17 +00:00
Christophe Monniez
05f672ff6c [IMP] Makefile: allow to choose the export path
closes odoo/documentation#15629

X-original-commit: cb75529d9a
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2025-12-11 10:44:24 +00:00
jero-odoo
7a222894b8 [IMP] Appointments: resource capacity note
closes odoo/documentation#15598

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2025-12-11 10:44:01 +00:00
11 changed files with 130 additions and 66 deletions

View File

@@ -13,6 +13,10 @@ ifndef CURRENT_LANG
CURRENT_LANG = en
endif
ifndef EXPORT_PATH
EXPORT_PATH = locale/sources
endif
SPHINX_BUILD = sphinx-build
CONFIG_DIR = .
SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSION) \
@@ -69,7 +73,7 @@ latexpdf:
gettext:
@echo "Generating translatable files..."
$(SPHINX_BUILD) -c $(CONFIG_DIR) -b gettext $(SOURCE_DIR) locale/sources
$(SPHINX_BUILD) -c $(CONFIG_DIR) -b gettext $(SOURCE_DIR) $(EXPORT_PATH)
@echo "Generation finished."
$(HTML_BUILD_DIR)/_static/style.css: extensions/odoo_theme/static/style.scss extensions/odoo_theme/static/scss/*.scss

View File

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

View File

@@ -37,11 +37,26 @@ designates one or more resources that can be used in combination to handled a bi
*Linked resources* are only used when using the :ref:`auto-assign <appointments/configure>`
:guilabel:`Assignment Method`.
Lastly, add a :guilabel:`Description` for this resource.
Lastly, add a :guilabel:`Description` for this resource. The contents of the :guilabel:`Description`
tab are visible to customers when booking an appointment online.
.. note::
The contents of the :guilabel:`Description` tab are visible to customers when booking an
appointment online.
Resource capacity
~~~~~~~~~~~~~~~~~
When booking an appointment based on resource availability, the website only displays capacity up to
`12`. This occurs even if the resource has a higher capacity. To avoid this, a new *System
Parameter* needs to be added to the database.
First, ensure that :ref:`developer mode <developer-mode>` is enabled. Then, navigate to the
:menuselection:`Settings app --> Technical --> Parameters --> System Parameters`. Click
:guilabel:`New` to add a new parameter.
In the :guilabel:`Key` field, enter `appointment.resource_max_capacity_allowed`. In the
:guilabel:`Value` field, enter the maximum capacity that should be allowed. Click
:icon:`fa-cloud-upload` :guilabel:`(Save manually)` when finished.
.. image:: appointments/system-parameter.png
:alt: The new system parameter for capacity limits.
.. _appointments/configure:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

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
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.
Configuring an invoicing policy
===============================
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
=========================
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`.
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.
.. image:: invoicing_policy/invoicing-policy-setting.png
:align: center
:alt: Choosing an invoicing policy on Odoo Sales.
:alt: Choosing an invoicing policy in the Sales app.
.. 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
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
the :guilabel:`Invoicing Policy` option located under the :guilabel:`General Information` tab. It
can be changed manually using the drop-down menu.
After the invoicing policy has been configured in *Settings*, navigate to a product's form through
:menuselection:`Sales app --> Products --> Products` and choosing a product. Locate the
: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
:align: center
:alt: How to change your invoicing policy on a product form on Odoo Sales.
:alt: How to change invoicing policy on a product form in the **Sales** app.
Impact on sales flow
====================
.. _invoice-on-order:
In Odoo *Sales*, the basic sales flow starts with the creation of a quotation. Then, that quotation
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.
Invoicing what is ordered
=========================
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
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.
This invoicing policy has no impact on the basic Odoo sales flow.
Invoice ordered quantity workflow
---------------------------------
Confirm that the product's invoicing policy is set to :guilabel:`Ordered quantities` in the product
form. :ref:`Create a quotation and sales order <sales/create-quotation>` as normal. After the sales
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.
.. example::
A independent artisan with a small business sells handmade jewelery nationwide online. Because
they have direct control over their inventory levels and ship with 3rd party carriers, they
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
:alt: How to see delivered and invoiced quantities on Odoo Sales.
Invoice delivered quantity workflow
-----------------------------------
Confirm that the product's invoicing policy is set to :guilabel:`Delivered quantities` in the
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 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.`
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
:align: center
:alt: If Delivered Quantities invoicing policy is chosen, ensure a quantity has been delivered.
:alt: If Delivered Quantities invoicing policy is chosen, ensure a quantity has been
delivered.
.. note::
Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent` to
:guilabel:`Sales order`, the delivered and invoiced quantities are available to view, directly
from the sales order. This is true for both invoicing policy rule options.
.. image:: invoicing_policy/invoicing-policy-order-lines.png
:align: center
:alt: How to see your delivered and invoiced quantities on Odoo Sales.
Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and
: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`,
:guilabel:`Down payment (percentage)` or :guilabel:`Down payment (fixed amount)`.
.. 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::
Be sure to check out the documentation explaining down payment options to learn more:
:doc:`/applications/sales/sales/invoicing/down_payment`
- :doc:`../sales_quotations/create_quotations`
- :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
quotation.
.. _sales/create-quotation:
Create quotation
================

View File

@@ -184,7 +184,8 @@ and select the relevant media. In the :guilabel:`Customize` tab, use the followi
:guilabel:`Remove all`.
.. note::
Images must be in PNG or JPG format and with a minimum size of 1024x1024 to trigger the zoom.
Images must be in PNG or JPG format, with at least one dimension (height or width) greater than
1024 pixels to trigger the zoom.
.. _ecommerce/products/products-block: