Compare commits

..

1 Commits

Author SHA1 Message Date
therealthagomizer
3bc96b6b48 [IMP] Sales: Invoicing policy page rewrite
X-original-commit: 624a763891
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-12 05:00:09 +00:00
40 changed files with 97 additions and 376 deletions

View File

@@ -9,3 +9,4 @@ Integrations
integrations/geolocation
integrations/google_translate
integrations/cloud_storage
integrations/barcodelookup

View File

@@ -17,11 +17,6 @@ To start using an IoT box:
Devices can also be connected after the IoT box is added to the network and/or connected to the
database; however, a reboot of the IoT box might be required.
.. important::
Never make the IoT box accessible from the public Internet.
IoT systems are designed to provide your database with access to devices on your local network.
Exposing them to the public Internet would create a **security risk**.
.. _iot/iot_box/network:
Network connection

View File

@@ -27,11 +27,6 @@ The following prerequisites must be met before setting up and using the Windows
- It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However,
this option is not supported by Odoo, and no troubleshooting assistance will be provided.
.. important::
Never make the Windows virtual IoT accessible from the public Internet.
IoT systems are designed to provide your database with access to devices on your local network.
Exposing them to the public Internet would create a **security risk**.
.. _iot/windows-iot/installation:
Installation

View File

@@ -15,14 +15,6 @@ The states included in this localization are:
- Alabama (AL)
- Washington (WA)
- Nevada (NV)
- Vermont (VT)
- Illinois (IL)
- Virginia (VA)
- Washington, D.C (DC)
- Arizona (AZ)
- Idaho (ID)
- Oregon (OR)
- North Carolina (NC)
.. note::
Federal taxes (Income, :abbr:`FICA (Federal Insurance Contributions Act)`, and Unemployment) for

View File

@@ -11,7 +11,6 @@ Setup
setup/device_troubleshooting
setup/hardware
setup/software
setup/barcodelookup
setup/serial_numbers_lots
setup/operation_types
setup/rfid

View File

@@ -44,8 +44,9 @@ To enable automatic barcode look up, go to :menuselection:`Inventory app --> Con
Settings` and scroll down to the :guilabel:`Barcode` section to tick the box for :guilabel:`Stock
Barcode Database`.
.. seealso::
:doc:`Barcode Lookup <barcodelookup>`
.. note::
Databases hosted on **Odoo.sh** or **on-premise**, require :ref:`configuring an API key
<barcodelookup/configuration>`.
.. _inventory/barcode/set-barcodes:

View File

@@ -5,82 +5,8 @@ FEFO removal
The *First Expired, First Out* (FEFO) removal strategy targets products for removal based on their
assigned removal dates.
.. _inventory/warehouses_storage/fefo_enable:
Enabling the FEFO removal strategy
==================================
Lots and serial numbers differentiate identical products and track information like arrival or
expiration dates. To enable this feature, navigate to :menuselection:`Inventory --> Configuration
--> Settings`. Under the :guilabel:`Traceability` heading, check the box beside :guilabel:`Lots &
Serial Numbers`. After :guilabel:`Lots & Serial Numbers` is enabled, the :guilabel:`Expiration Date`
feature appears. Enable it to track expiration dates, best-before dates, removal dates, and alert
dates.
.. image:: fefo/enable-features.png
:alt: Enable Lots & Serial Numbers and Expiration Dates in the Inventory settings.
Enable tracking by lots or serial numbers
-----------------------------------------
Next, ensure the intended product is tracked by lots or serial numbers by navigating to the product
form through :menuselection:`Inventory --> Products --> Products` and selecting the desired product.
On the product form, open the :guilabel:`General Information` tab and select the check box next to
the :guilabel:`Track Inventory` field, then select either :guilabel:`By Unique Serial Number` or
:guilabel:`By Lots`.
.. image:: fefo/track-by-lots.png
:alt: Enable tracking by lot.
Setting dates
-------------
Next, set the :guilabel:`Expiration Date`, :guilabel:`Best Before Date`, :guilabel:`Removal Date`,
and :guilabel:`Alert Date` settings for the product. In the :guilabel:`Inventory` tab of the product
form, under the :guilabel:`Traceability` heading, select the :guilabel:`Expiration Date` check box.
The :guilabel:`Dates` heading appears. See :ref:`Removal date
<inventory/warehouses_storage/removal-date>` for more information.
Assigning lots and serial numbers
---------------------------------
After enabling the features, assign lot or serial numbers to products using an :doc:`inventory
adjustment <../../warehouses_storage/inventory_management/count_products>` or during :ref:`product
reception <inventory/product_management/assign-lots>`.
Setting removal strategies
--------------------------
After lot or serial numbers have been assigned, set the removal strategy on the storage location or
product category.
.. image:: fefo/location-categories.png
:alt: Find the Locations or Categories from the Configuration menu.
On the location
~~~~~~~~~~~~~~~
Open :menuselection:`Inventory app --> Configuration --> Locations`. Select the desired location. On
the location form, under the :guilabel:`Logistics` heading, select :guilabel:`First Expiry First Out
(FEFO)` from the list of removal strategies.
.. image:: fefo/set-on-location.png
:alt: Set First Expiry First Out as the location removal strategy.
On the product category
~~~~~~~~~~~~~~~~~~~~~~~
Configure removal strategies on product categories by going to :menuselection:`Inventory app -->
Configuration --> Categories` and selecting the intended product category. Next, in the
:guilabel:`Force Removal Strategy` field, specify :guilabel:`First Expiry First Out (FEFO)`.
.. image:: fefo/set-on-category.png
:alt: Set First Expiry First Out as the product category removal strategy.
.. important::
When there are different removal strategies applied on both the location and product category for
a product, the value set on the :guilabel:`Force Removal Strategy` field set on a product
category form is applied as top priority.
.. seealso::
:doc:`About removal strategies <../removal_strategies>`
.. _inventory/warehouses_storage/removal-date:
@@ -108,6 +34,9 @@ number of days specified in the :guilabel:`Expiration Date` field of the product
The removal date takes this expiration date, and subtracts the number of days specified in the
:guilabel:`Removal Date` field of the product form.
.. seealso::
:doc:`Expiration dates <../../product_management/product_tracking/expiration_dates>`
.. example::
In the :guilabel:`Inventory` tab of the product, `Egg`, the following :guilabel:`Dates` are set
by the user:
@@ -116,6 +45,7 @@ The removal date takes this expiration date, and subtracts the number of days sp
- :guilabel:`Removal Date`: `15` days before expiration date
.. image:: fefo/user-set-date.png
:align: center
:alt: Display expiration and removal dates set on the product form.
A shipment of Eggs arrive at the warehouse on January 1st. So, the expiration date of the Eggs is
@@ -124,20 +54,16 @@ The removal date takes this expiration date, and subtracts the number of days sp
.. _inventory/warehouses_storage/exp-date:
To view the expiration dates of items in stock, go to :menuselection:`Inventory app --> Products -->
Lots / Serial Numbers`. By default, this report is grouped by location. If necessary, remove that
grouping in the search bar and group by product. Expand the product to show its lots. Next, click
the :icon:`oi-settings-adjust` :guilabel:`(settings adjust)` icon, located on the far-right, and
select the columns: :guilabel:`Expiration Date` and :guilabel:`Removal Date`.
To view the expiration dates of items in stock, navigate to the product form, and click the
:guilabel:`On Hand` smart button.
Next, click the additional options icon, located on the far-right, and select the columns:
:guilabel:`Expiration Date` and :guilabel:`Removal Date`.
.. image:: fefo/removal-date.png
:alt: Show expiration dates from the Lots / Serial Numbers list.
Alternatively, view these dates by clicking the :guilabel:`Lot/Serial Numbers` smart button on the
product form.
.. image:: fefo/removal-date-lots-serial-numbers.png
:alt: Show expiration dates from the Lots/Serial Numbers list on the product form.
:align: center
:alt: Show expiration dates from the inventory adjustments model accessed from the *On Hand*
smart button from the product form.
Workflow
========
@@ -146,10 +72,15 @@ Using the :abbr:`FEFO (First Expired, First Out)` removal strategy ensures that
nearest removal date are picked first.
To understand how this removal strategy works, consider the following example below about the
product, `Carton of Eggs`, which is a box containing twelve eggs.
product, `Carton of eggs`, which is a box containing twelve eggs.
The product is tracked :guilabel:`By Lots`, and the product category's :guilabel:`Force Removal
Strategy` is set to :guilabel:`First Expiry First Out (FEFO)`.
Strategy` is set to :guilabel:`First Expired, First Out (FEFO)`.
.. seealso::
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- `Odoo Tutorials: Perishable Products <https://www.odoo.com/slides/slide/5324/share>`_
.. list-table::
:header-rows: 1
@@ -164,38 +95,32 @@ Strategy` is set to :guilabel:`First Expiry First Out (FEFO)`.
- 2
- 1
* - Expiration date
- January 8, 2026
- January 15, 2026
- January 22, 2026
- April 4
- April 10
- April 15
* - :ref:`Removal date <inventory/warehouses_storage/exp-date>`
- December 24, 2025
- December 31, 2025
- January 7, 2026
- February 26
- March 4
- March 9
To see the removal strategy in action, go to the :menuselection:`Sales app` and create a new
quotation.
Clicking :guilabel:`Confirm` creates a delivery order for today, December 9th, and the lot numbers
Clicking :guilabel:`Confirm` creates a delivery order for today, December 29th, and the lot numbers
with the soonest expiration dates are reserved, using the :abbr:`FEFO (First Expired, First Out)`
removal strategy.
To view the detailed pickings, click the :guilabel:`Details` link, located on the far-right of the
Carton of Eggs' product line, in the :guilabel:`Operations` tab of the delivery order. Doing so
opens the :guilabel:`Detailed Operations` pop-up window.
To view the detailed pickings, click the :guilabel:`⦙≣ (bulleted list)` icon, located on the
far-right of the Carton of egg's product line, in the :guilabel:`Operations` tab of the delivery
order. Doing so opens the :guilabel:`Open: Stock move` pop-up window.
In the :guilabel:`Detailed Operations` pop-up window, the :guilabel:`Pick From` field displays where
In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where
the quantities to fulfill the :guilabel:`Demand` are picked from.
Since the order demanded six Cartons of Eggs, using the :abbr:`FEFO (First Expired, First Out)`
removal strategy, all five Cartons from `LOT1`, with the removal date of December 24, are picked.
The remaining Carton is selected from `LOT2`, which has a removal date of December 31.
Since the order demanded six Cartons of eggs, using the :abbr:`FEFO (First Expired, First Out)`
removal strategy, all five Cartons from `LOT1`, with the removal date of February 26th, are picked.
The remaining Carton is selected from `LOT2`, which has a removal date of March 4th.
.. image:: fefo/eggs-picking.png
:alt: The detailed operations window that shows the lots to be removed using FEFO.
.. seealso::
- :doc:`Removal strategies <../removal_strategies>`
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :doc:`Expiration dates <../../product_management/product_tracking/expiration_dates>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- `Odoo Tutorials: Perishable Products <https://www.odoo.com/slides/slide/5324/share>`_
:align: center
:alt: The stock moves window that shows the lots to be removed using FEFO.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -3,84 +3,25 @@ FIFO removal
============
The *First In, First Out* (FIFO) removal strategy selects products with the earliest arrival dates.
This method is useful for companies selling products that have short demand cycles, like clothes.
By using :abbr:`FIFO (First In, First Out)`, companies can prevent prolonged stock retention of
specific styles.
This method is useful for companies selling products that have short demand cycles, like clothes,
for example. By using :abbr:`FIFO (First In, First Out)`, companies can prevent prolonged stock
retention of specific styles.
.. seealso::
:doc:`About removal strategies <../removal_strategies>`
.. example::
Different shipments of t-shirts, tracked by lot numbers, arrive in a business's warehouse between
August 1st and August 25th. When a customer makes an order on September 1st, the :abbr:`FIFO
(First In, First Out)` removal strategy prioritizes lots that have been in stock the longest. So,
products received on August 1st are selected first for picking.
Various quantities of the product, `T-shirt`, tracked by lot numbers, arrive on August 1st and
August 25th. For an order made on September 1st, the :abbr:`FIFO (First In, First Out)` removal
strategy prioritizes lots that have been in stock the longest. So, products received on August
1st are selected first for picking.
.. image:: fifo/fifo-example.png
:align: center
:alt: Illustration of FIFO selecting the oldest products in stock.
.. _inventory/warehouses_storage/fifo_enable:
Enabling the FIFO removal strategy
==================================
Lots and serial numbers differentiate identical products and track information like arrival or
expiration dates. To enable this feature, navigate to :menuselection:`Inventory --> Configuration
--> Settings`. Under the :guilabel:`Traceability` section, check the box beside :guilabel:`Lots &
Serial Numbers`.
.. image:: fifo/enable-lots-serial-numbers.png
:alt: Enable Lots & Serial Numbers in the Inventory settings.
Enable tracking by lots or serial numbers
-----------------------------------------
Next, ensure the intended product is tracked by lots or serial numbers by navigating to the product
form through :menuselection:`Inventory --> Products --> Products` and selecting the desired product.
On the product form, open the :guilabel:`General Information` tab and select the check box next to
the :guilabel:`Track Inventory` field, then select either :guilabel:`By Unique Serial Number` or
:guilabel:`By Lots`.
.. image:: fifo/track-by-serial-number.png
:alt: Enable tracking by serial number.
Assigning lots and serial numbers
---------------------------------
After enabling the features, assign lot or serial numbers to products using an :doc:`inventory
adjustment <../../warehouses_storage/inventory_management/count_products>` or :ref:`during
reception <inventory/product_management/assign-lots>`.
Setting removal strategies
--------------------------
After lot or serial numbers have been assigned, set the removal strategy on the product category or
storage location.
.. image:: fifo/location-categories.png
:alt: Find the Locations or Categories from the Configuration menu.
On the location
~~~~~~~~~~~~~~~
Open :menuselection:`Inventory app --> Configuration --> Locations`. Select the desired location. On
the location form, under the :guilabel:`Logistics` heading, select :guilabel:`First In First Out
(FIFO)` from the list of removal strategies.
.. image:: fifo/fifo-on-location.png
:alt: Set First In First Out as the location removal strategy.
On the product category
~~~~~~~~~~~~~~~~~~~~~~~
Configure removal strategies on product categories by going to :menuselection:`Inventory app -->
Configuration --> Categories` and selecting the intended product category. Next, in the
:guilabel:`Force Removal Strategy` field, specify :guilabel:`First In First Out (FIFO)`.
.. image:: fifo/fifo-on-category.png
:alt: Set First In First Out as the product category removal strategy.
.. important::
When there are different removal strategies applied on both the location and product category for
a product, the value set on the :guilabel:`Force Removal Strategy` field set on a product
category form is applied as top priority.
.. seealso::
:ref:`Lot/serial number setup details <inventory/warehouses_storage/lots-setup>`
.. _inventory/warehouses_storage/arrival_date:
@@ -88,19 +29,18 @@ Arrival date
============
To see the product lot or serial number that arrived in inventory first, navigate to
:menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. By default, this list is
grouped by location. If necessary, remove that grouping and group by product instead.
:menuselection:`Inventory app --> Products --> Lots/Serial Numbers`.
Then, select the :icon:`fa-caret-right` :guilabel:`(right-pointing arrow)` icon on the left of a
product line, in order to reveal a list of the product's lots or serial numbers that are in stock.
The :guilabel:`Created on` field shows the lot/serial number creation date, which the system
considers to be the arrival date.
Then, select the :guilabel:`▶️ (right-pointing arrow)` icon on the left of a product line, in order
to reveal a list of the product's lots or serial numbers that are in stock. The :guilabel:`Created
On` field shows the lot/serial number creation date, which is, essentially, the arrival date.
.. example::
Serial number `0000000000500` of the product, `Cabinet with Doors`, arrived on December 9th, as
displayed in the :guilabel:`Created on` field.
Serial number `00000000500` of the product, `Cabinet with Doors`, arrived on December 29th, as
displayed in the :guilabel:`Created On` field.
.. image:: fifo/created-on.png
:align: center
:alt: Display arrival date of a lot for an item.
Workflow
@@ -115,6 +55,10 @@ the :guilabel:`Force Removal Strategy`.
The white shirts are tracked :guilabel:`By Lots` in the :guilabel:`Inventory` tab of the product
form.
.. seealso::
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
The following table represents the on-hand stock and lot number details of white shirts.
.. list-table::
@@ -140,19 +84,14 @@ for six white shirts by navigating to the :menuselection:`Sales app` and creatin
After clicking :guilabel:`Confirm` on the sales order, a delivery order with the oldest lot numbers
for shirts are reserved, using the :abbr:`FIFO (First In, First Out)` removal strategy.
To view the detailed pickings, click the :guilabel:`Details` link, located on the far-right of the
white shirt's product line in the :guilabel:`Operations` tab of the delivery order. Doing so opens
the :guilabel:`Detailed Operations` pop-up window.
To view the detailed pickings, click the :guilabel:`⦙≣ (bulleted list)` icon, located on the
far-right of the white shirt's product line in the :guilabel:`Operations` tab of the delivery order.
Doing so opens the :guilabel:`Open: Stock move` pop-up window.
In the :guilabel:`Detailed Operations` pop-up window, the :guilabel:`Pick From` field displays where
In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where
the quantities to fulfill the :guilabel:`Demand` are picked from. Since the order demanded six
shirts, all five shirts from `LOT1`, and one shirt from `LOT2`, are selected.
.. image:: fifo/white-shirt-picking.png
:align: center
:alt: Two lots being reserved for a sales order with the FIFO strategy.
.. seealso::
- :doc:`Removal strategies <../removal_strategies>`
- :ref:`Lot/serial number setup details <inventory/warehouses_storage/lots-setup>`
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -9,85 +9,23 @@ Every time an order is placed for products using the :abbr:`LIFO (Last In, First
transfer is created for the lot/serial number that has most recently entered the stock (the **last**
lot/serial number that entered the warehouse's inventory).
.. seealso::
:doc:`About removal strategies <../removal_strategies>`
.. warning::
In many countries, the :abbr:`LIFO (Last In, First Out)` removal strategy is banned, since it can
potentially result in old, expired, or obsolete products being delivered to customers.
.. _inventory/warehouses_storage/lifo_enable:
Enabling the LIFO removal strategy
==================================
Lots and serial numbers differentiate identical products and track information like arrival or
expiration dates. To enable this feature, navigate to :menuselection:`Inventory --> Configuration
--> Settings`. Under the :guilabel:`Traceability` section, check the box beside :guilabel:`Lots &
Serial Numbers` to enable the feature.
.. image:: lifo/enable-lots-serial-numbers.png
:alt: Enable Lots & Serial Numbers in the Inventory settings.
Enable tracking by lots or serial numbers
-----------------------------------------
Next, ensure the intended product is tracked by lots or serial numbers by navigating to the product
form in the :menuselection:`Inventory app --> Products --> Products`, then selecting the desired
product. On the product form, open the :guilabel:`General Information` tab, select the checkbox next
to the :guilabel:`Track Inventory` field, then choose either :guilabel:`By Unique Serial Number` or
:guilabel:`By Lots`.
.. image:: lifo/track-by-serial-number.png
:alt: Enable tracking by serial number.
Assigning lots and serial numbers
---------------------------------
After enabling the features, assign lot or serial numbers to products using an :doc:`inventory
adjustment <../../warehouses_storage/inventory_management/count_products>` or :ref:`during reception
<inventory/product_management/assign-lots>`.
Setting removal strategies
--------------------------
After lots or serial numbers have been assigned, set the removal strategy on the product category or
storage location.
.. image:: lifo/location-categories.png
:alt: Find the Locations or Categories from the Configuration menu.
On the storage location
~~~~~~~~~~~~~~~~~~~~~~~
Open :menuselection:`Inventory app --> Configuration --> Locations`. Select the desired location. On
the location form, under the :guilabel:`Logistics` heading, select :guilabel:`Last In First Out
(LIFO)` from the list of removal strategies.
.. image:: lifo/lifo-on-location.png
:alt: Set Last In First Out as the location removal strategy.
On the product category
~~~~~~~~~~~~~~~~~~~~~~~
Configure removal strategies on product categories by going to :menuselection:`Inventory app -->
Configuration --> Categories` and selecting the intended product category. In the
:guilabel:`Logistics` section, specify :guilabel:`Last In First Out (LIFO)` in the :guilabel:`Force
Removal Strategy` field.
.. image:: lifo/lifo-on-category.png
:alt: Set Last In First Out as the product category removal strategy.
.. important::
When there are different removal strategies applied on both the location and product category for
a product, the value set on the :guilabel:`Force Removal Strategy` field set on a product
category form is applied as top priority.
Workflow
========
Consider the following example, with the product, `Cinder Block`, which is tracked :guilabel:`By
Lots` in the :guilabel:`General Information` tab of the product form. The :guilabel:`Force Removal
Strategy` for the cinder block's product category is set to :guilabel:`Last In, First Out (LIFO)`.
Lots` in the :guilabel:`Inventory` tab of the product form. The :guilabel:`Force Removal Strategy`
for the cinder block's product category is set to :guilabel:`Last In, First Out (LIFO)`.
The following table lists the cinder blocks in stock and their respective lot numbers.
.. seealso::
- :ref:`Set up force removal strategy <inventory/warehouses_storage/removal-config>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- :ref:`Check arrival date <inventory/warehouses_storage/arrival_date>`
The following table represents the cinder blocks in stock, and their various lot number details.
.. list-table::
:header-rows: 1
@@ -107,28 +45,21 @@ The following table lists the cinder blocks in stock and their respective lot nu
- June 6
To see the removal strategy in action, create a :ref:`delivery order <inventory/delivery/one-step>`
for seven cinder blocks by navigating to the **Sales** app and creating a new quotation.
for seven cinder blocks by navigating to the :menuselection:`Sales app` and creating a new
quotation.
Click :guilabel:`Confirm` on the sales order form to create a delivery order. Doing so reserves the
newest lot numbers using the :abbr:`LIFO (Last In, First Out)` removal strategy.
:guilabel:`Confirm` the sales order to create a delivery order. Doing so reserves the newest lot
numbers are using the :abbr:`LIFO (Last In, First Out)` removal strategy.
To view the detailed pickings, click the :guilabel:`Details` link at the far-right of the cinder
block's product line in the :guilabel:`Operations` tab of the delivery order.
To view the detailed pickings, click the :guilabel:`⦙≣ (bulleted list)` icon, located on the
far-right of the cinder block's product line in the :guilabel:`Operations` tab of the delivery
order. Doing so opens the :guilabel:`Open: Stock move` pop-up window.
.. image:: lifo/details-link.png
:alt: Find the Details link in the Operations tab of the delivery order.
Clicking the :guilabel:`Details` link opens the :guilabel:`Detailed Operations` pop-up window.
In the :guilabel:`Detailed Operations` pop-up window, the :guilabel:`Pick From` field shows where
the quantities to fulfill the :guilabel:`Demand` are picked. Since the order demanded seven cinder
blocks, the newest cinder blocks from `LOT3` are selected using the :abbr:`LIFO (Last In, First
Out)` removal strategy.
In the :guilabel:`Open: Stock move` pop-up window, the :guilabel:`Pick from` field displays where
the quantities to fulfill the :guilabel:`Demand` are picked from. Since the order demanded seven
cinder blocks, the newest cinder blocks from `LOT3` are selected, using the :abbr:`LIFO (Last In,
First Out)` removal strategy.
.. image:: lifo/cinder-block-picking.png
:align: center
:alt: The detailed operations shows which lots are being selected for the picking.
.. seealso::
- :doc:`Removal strategies <../removal_strategies>`
- :ref:`Enable lots tracking <inventory/warehouses_storage/lots-setup>`
- :ref:`Check arrival date <inventory/warehouses_storage/arrival_date>`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -10,10 +10,6 @@ customer transactions through several `physical terminals
- The Odoo Pine Labs module is only available for Indian companies.
- Pine Labs terminals accept credit/debit cards (Visa, MasterCard, and RuPay) and UPI QR codes
by swiping, scanning, or tapping.
- When an Odoo database is hosted outside India, Pine Labs requires a proxy to operate, as its
services only accept traffic from Indian IP addresses. A proxy ensures the connection is
routed through India for better integration. To activate a proxy on an Odoo Online or Odoo.sh
database, `reach out to Odoo support <https://www.odoo.com/help>`_.
.. _pos/pine-labs/credentials:

View File

@@ -12,4 +12,3 @@ Products & Prices
products_prices/returns
products_prices/ewallets_giftcards
products_prices/loyalty_discount
products_prices/alternative_products

View File

@@ -1,51 +0,0 @@
====================
Alternative products
====================
The use of alternative products is a marketing strategy that involves upselling related products
alongside a desired core product. For instance, by configuring alternative products, a customer
could be suggested a mechanical keyboard or a wireless keyboard when they visit the eCommerce
website page for a standard keyboard.
.. note::
Alternative products are different from accessory and optional products because of where they
show up in the customer's shopping experience.
- Alternative products are suggested at the bottom of an eCommerce product page whenever the
product page is viewed. This creates an opportunity for upselling during the shopping process.
- Accessory products appear as suggestions when viewing an eCommerce cart. This creates an
opportunity for cross-selling during the checkout process.
- Optional products are suggested when a core product has been added to a cart or a quotation.
This creates an opportunity for cross-selling during the shopping process.
Configuring alternative products
================================
To add an alternative product to a product form, navigate to :menuselection:`Sales --> Products -->
Products` and choose a product. Ensure that the product's :guilabel:`Sales` checkbox is ticked and
click the :guilabel:`Sales` tab. In the :guilabel:`Upsell & Cross-sell` section, click the
:guilabel:`Alternative Products` drop-down menu to set alternative products. Products are displayed
in alphabetical order. If the desired product isn't readily visible, type its name in the field to
bring it up, then select it to add it as an alternative product.
.. figure:: alternative_products/product-form-alternative-products.png
:alt: The alternative product field on the product form with multiple entries.
Entries in the :guilabel:`Alternative Products` field on a product form.
How alternative products appear to customers
============================================
Although the **Sales** app is used to configure alternative products, customers will only encounter
them when visiting a website created with the **eCommerce** app. Alternative products are
automatically suggested during the shopping process when a customer visits the webpage for an
associated core product. They appear underneath the product listing under the header
:guilabel:`Alternative Products`.
.. figure:: alternative_products/alternative-products-ecommerce.png
:alt: Alternative products as they appear on an eCommerce website.
The alternative products section of an eCommerce product page.
.. seealso::
:doc:`/applications/websites/ecommerce/products/cross_upselling`

View File

@@ -37,7 +37,7 @@ page. When you :guilabel:`Save`, the product page is automatically published.
.. seealso::
:doc:`Create new products using the Barcode Lookup database
</applications/inventory_and_mrp/barcode/setup/barcodelookup>`.
</applications/general/integrations/barcodelookup>`.
.. _ecommerce/products/import-products:
@@ -182,6 +182,9 @@ and select the relevant media. In the :guilabel:`Customize` tab, use the followi
- :guilabel:`Extra Images`: :guilabel:`Add` more extra images or videos (including via URL) or
:guilabel:`Remove all`.
.. note::
Images must be in PNG or JPG format and with a minimum size of 1024x1024 to trigger the zoom.
.. _ecommerce/products/products-block:
Products block

View File

@@ -62,7 +62,3 @@ applications/websites/website/pages.rst applications/websites/website/structure/
applications/websites/website/pages/seo.rst applications/websites/website/structure/seo.rst
applications/websites/ecommerce/products/price_management.rst applications/websites/ecommerce/products/prices.rst
applications/websites/ecommerce/cart.rst applications/websites/ecommerce/checkout.rst
# applications/general
applications/general/integrations/barcodelookup.rst applications/inventory_and_mrp/barcode/setup/barcodelookup.rst