Compare commits
1 Commits
tmp.master
...
master-17.
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3bc96b6b48 |
[IMP] Sales: Invoicing policy page rewrite
X-original-commit:
|
|
|
@@ -9,3 +9,4 @@ Integrations
|
|||
integrations/geolocation
|
||||
integrations/google_translate
|
||||
integrations/cloud_storage
|
||||
integrations/barcodelookup
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -11,7 +11,6 @@ Setup
|
|||
setup/device_troubleshooting
|
||||
setup/hardware
|
||||
setup/software
|
||||
setup/barcodelookup
|
||||
setup/serial_numbers_lots
|
||||
setup/operation_types
|
||||
setup/rfid
|
||||
|
|
|
|||
|
|
@@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@@ -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.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
|
@@ -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>`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 30 KiB |
|
|
@@ -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>`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
|
@@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@@ -12,4 +12,3 @@ Products & Prices
|
|||
products_prices/returns
|
||||
products_prices/ewallets_giftcards
|
||||
products_prices/loyalty_discount
|
||||
products_prices/alternative_products
|
||||
|
|
|
|||
|
|
@@ -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`
|
||||
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||