Modul Inventory Docomentation
Modul Inventory Docomentation
Modul INVENTORY
Warehouse Management
o Products
Use Different Units of Measure
When Should you Use Packages, Units of Measure or Special
Packaging?
How to select the right replenishment strategy
o Warehouses
What is the difference between warehouses and locations?
o Inventory Adjustment
Resupply from another Warehouse
o Delivery Orders
How to choose the right inventory flow to handle delivery orders?
Process Delivery Orders in one Step (Shipping)
Process Delivery Orders in two Steps (Pick + Ship)
Process Delivery Orders in three Steps (Pick + Pack + Ship)
Send Products to Customers Directly from Suppliers (Drop-
shipping)
How can I change the label type?
o Incoming Shipments
How to choose the right flow to handle receipts?
Process a Receipt in one step (Receipt)
Process a Receipt in two steps (Input + Stock)
Process a Receipt in three steps (Input + Quality + Stock)
o Miscellaneous Operations
Manage Stock that you don’t own
Process Batch Transfers
o Planning
How is the Scheduled Delivery Date Computed
o Lots and Serial Numbers
What’s the difference between lots and serial numbers?
Work with serial numbers
Manage lots of identical products
Manage expiration dates
o Valuation Methods
Inventory valuation configuration
Using the inventory valuation
Integrating additional costs to products (landed costs)
Impact on the average price valuation when returning goods
Shipping
o Shipping Setup
How to setup a delivery method?
How to integrate a third party shipper?
How to get UPS credentials for integration with Odoo?
How to get DHL credentials for integration with Odoo?
o Shipping Operations
How to invoice the shipping cost to the customer?
How to manage multiple packs for the same delivery order?
How to print shipping labels?
How to cancel a shipping request to a shipper?
Advanced Routes
o Concepts
Using Routes and Pull/Push Rules
How to do inter-warehouses transfers?
Organize a cross-dock in a warehouse
Taking stock from different warehouses
o Putaway & Removal Strategies
What is a Putaway Rule?
What is a Removal Strategy (FIFO, LIFO, and FEFO)?
Barcodes
o Setup
Set up your barcode scanner
Activate the Barcodes in Odoo
o Daily Operations
Process to an Inventory Adjustment with Barcodes
Process to Transfers
Create a Transfer from Scratch
Overview
Warehouse Management
o Products
Use Different Units of Measure
In some cases, handling products in different units of measure is necessary. For example,
if you buy products in a country where the metric system is of application and sell in a
country where the imperial system is used, you will need to convert the units. Another
common use case is buying products in bigger packs to your supplier and selling them in
units to your customers.
You can set up Odoo to work with different units of measure for one product.
Configuration
In the Inventory application, go to Configuration ‣ Settings. In the Products section,
activate Units of Measure, then Save.
The category is important for unit conversion, you will be able to convert products from
one unit to another only if those units belong to the same category. The box of 6 is 6
times bigger than the reference unit of measure for the category which is “Units” here.
On the automatically generated purchase orders, the UoM used is the Box of 6, meaning
the Purchase UoM. You have of course the possibility to manually modify the UoM if
necessary. When you enter the Receipt which is linked to the purchase order, you can
observe that the 10 boxes of 6 units have been converted in 60 units. Indeed, the stock is
managed in units.
Replenishment
When doing a replenishment via the Replenish button on the product form, you have the
possibility to use a different unit of measure.
Units of Measure
Units of measure specify the unit used to handle a product. In Odoo, you have the possibility to
specify the unit of measure in which you manage your stock and the one which is used when
purchasing the product to your supplier.
The conversion between the different units of measure is done automatically. The only condition
is that all the units have to be in the same category (Unit, Weight, Volume, Length,…)
For example, if I have the following reordering rule for the egg and I run the scheduler, the
quantity added in the automatically generated purchase order will be in dozens but what will
enter the stock will be units.
Packages
The package is the physical container in which you put one or several products from a picking.
For example, when you deliver a product, you can decide to separate the quantity into two
different packages. It then allows you to have a report with the quantity of products for each
package.
To separate a delivery into different packages you will have to set the done quantity to the
desired package quantity then click on “PUT IN PACK”, do this for each package.
Packaging
The packaging is the physical container that protects your product. If you are selling computers,
the packaging contains the computer with the notice and the power plug.
In Odoo, packagings are used for indicative purposes on sale orders. They can be specified on
the product form, in the inventory tab.
Note
Another useful use of the packaging is for product reception. By scanning the barcode of the packaging, Odoo
adds the number of units contained in the packing on the picking.
Terminology
Make to Order
The Make to Order function will trigger a Purchase Order of the amount of the Sales
Order related to the product. The system will not check the current stock. This means that
a draft purchase order will be generated regardless of the quantity on hand of the product.
Configuration
Note
Show tooltips for “minimum quantity”, “maximum quantity” and “quantity multiple” fields
Then, click on your product to access the related product form and, on the “Inventory
submenu”, do not forget to select a supplier.
Tip
Don’t forget to select the right product type. A consumable can not be stocked and will thus not be
accounted for in the stock valuation.
Make to Order
The Make to Order configuration is available on your product form through
your Inventory ‣ Inventory control ‣ Products (or any other module where products are
available).
On the product form, under Inventory, click on “Make To Order”.
Warehouses
What is the difference between warehouses and locations?
In Odoo, a Warehouse is the actual building/place in which your items are stocked. You
can setup multiple warehouses and create moves between warehouses.
The Physical Locations are internal locations that are part of the warehouses for
which you are the owner. They can be the loading and unloading area of your
warehouse, a shelf or a department, etc.
The Partner Locations are spaces within a customer and/or vendor’s warehouse.
They work the same way as Physical Locations with the only difference being that
you are not the owner of the warehouse.
The Virtual Locations are places that do not exist, but in which products can be
placed when they are not physically in an inventory yet (or anymore). They come
in handy when you want to place lost products out of your stock (in
the Inventory loss), or when you want to take into account products that are on
their way to your warehouse (Procurements).
In Odoo, locations are structured hierarchically. You can structure your locations as a
tree, dependent on a parent-child relationship. This gives you more detailed levels of
analysis of your stock operations and the organization of your warehouses.
Inventory Adjustment
Resupply from another Warehouse
Configuration
In order to be able to resupply from another warehouse, you need to activate *multi-
warehouses* and *multi-step routes*. Storage locations will be automatically activated
when activating multi-warehouses.
You can then access your warehouses via Inventory ‣ Configuration ‣ Warehouses. Enter
the warehouse which should be resupplied by another one. You will have the possibility
to directly indicate through which warehouse it gets resupplied.
By activating this option, a new route will now be available on your products *Supply
Product from Second warehouse*. It can now be selected, along with either a
*reordering rule* or a *make to order*.
For the demonstration, I set a reordering rule with a minimum of 5 units in stock and a
maximum of 10 units in stock, having currently 0 units on hand. I will run the scheduler
by going to Inventory ‣ Operations ‣ Run scheduler.
The system automatically creates two pickings, one *delivery order* from my Second
Warehouse which contains the necessary products, and a receipt in my main warehouse
WH/Stock for the same products. The source document is the *reordering rule* which
triggered the route *Supply Product from Second warehouse*.
Delivery Orders
How to choose the right inventory flow to handle delivery orders?
Depending on factors such as the type of items you sell, the size of your warehouse, the number
of orders you register everyday… the way you handle deliveries to your customers can vary a
lot.
Odoo allows you to handle shipping from your warehouse in 3 different ways:
Configuration
Process a Delivery
You can also find the delivery order directly from the Inventory application. In the
dashboard, you can click the 1 TO PROCESS button under the Delivery Orders Kanban
card.
Enter the picking that you want to process. You will be able to click on Validate to
complete the move if you have products in stock.
Once you Validate the delivery order, the products leave your WH/Stock location and are
moved to the Customer location. You can easily see that the delivery took place thanks to
the status of the document which is now Done.
Process Delivery Orders in two Steps (Pick + Ship)
When an order goes to the shipping department for final delivery, Odoo is set up by
default to utilize a one-step operation: once all goods are available, they are able to be
shipped in a single delivery order.
However, your company’s business process may have one or more steps that happen
before shipping. In the two steps process, the products which are part of the delivery
order are picked in the warehouse and brought to an output location before being
effectively shipped.
Warehouse configuration
Once Multi-Step Routes has been activated, you can go to Inventory ‣ Configuration ‣
Warehouse and enter the warehouse which will use delivery in 2 steps. You can then
select the option Send goods in output and then deliver (2 steps) for Outgoing Shipments.
Activating this option will lead to the creation of a new Output location. If you want to
rename it go to Inventory ‣ Configuration ‣ Locations, Select Output and update its name.
In case you have the product in stock, it has automatically been reserved and you can
simply validate the picking document.
Once the picking has been validated, the delivery order is ready to be processed. Thanks
to the fact that the documents are chained, the products which have been previously
picked are automatically reserved on the delivery order.
If you click the button, you should now see three different pickings:
1. The first one with a reference PICK to designate the picking process,
2. The second one with the reference PACK that is the packing process,
3. The last one with a reference OUT to designate the shipping process.
In case you have the product in stock, it has automatically been reserved and you can simply
validate the picking document.
Once the picking has been validated, the packing order is ready to be processed. Thanks to the
fact that the documents are chained, the products which have been previously picked are
automatically reserved on the packing order which can be directly validated.
Once the packing has been validated, the delivery order is ready to be processed. Here again, it is
directly ready to be validated in order to transfer the products to the customer location.
Send Products to Customers Directly from Suppliers (Drop-shipping)
What is Drop-Shipping?
Drop-Shipping is a system that allows orders taken from your store to be shipped straight from
your supplier to your customer. On a usual delivery system, products are sent from your supplier
to your warehouse to be put in stock and then shipped to your customers after ordering.
With drop-shipping, no item is stocked. When a customer places an order in your shop, the item
is delivered straight from the supplier to the customer. Therefore, the product doesn’t need to get
through your warehouse.
Now, in the Sales app, go to Products ‣ Products. Select the product you would like to drop-ship
and add a vendor pricelist which contains the right supplier, via the purchase tab.
Send Products from the Suppliers Directly to
the Customers
Create a Sales Order and add the product on which you just set the vendor. Add the Route field
thanks to the widget on the right of the sale order line. Now, you are able to specify that your
products’ route is Drop-Shipping.
Once the sale order is confirmed, Odoo automatically generates a Request for Quotation for the
supplier who will proceed to the drop-shipping. You can find it in the Purchase app, with the
sale order as Source Document.
Once this Purchase Order is confirmed, a Receipt Order is created and linked to it. The source
location is the vendor location and the destination location is the customer location. Then, the
product won’t go through your own stock when you validate the dropship document.
You can also easily access the dropship document directly from your inventory dashboard.
How can I change the label type?
Overview
With Odoo, you can choose among different types of labels for your delivery orders. Follow the
steps below and give an appropriate label type to your delivery.
Configuration
In the Inventory module, Go to Configuration and click on Delivery methods.
Choose a delivery method and then click on Edit.
In the Pricing tab, under Fedex label stock type, you can choose one of the label types
available. The availability will vary depending on the carrier.
Once this is done, you can see the result if you go to the Sales module and you create a new sale
order.
As you confirm the sale and validate the delivery with the carrier for which you have modified
the label type, The label will appear in your history.
The default label type is paper letter, and if you choose the label type bottom half for example,
here is the difference :
Incoming Shipments
How to choose the right flow to handle receipts?
Overview
Depending on factors such as the type of items you receive, the size of your warehouse, the
number of receipt you register everyday… the way you handle receipts to your customers can
vary a lot.
Odoo allows you to handle receipts from your warehouse in 3 different ways:
Configuration
Configuration
Create a Purchase Order
To create a Request for Quotation, go to the Purchase application and click on Create.
Then, add some storable products to receive and confirm the RfQ.
Notice that, now, we see 1 receipt associated with the purchase order you just created. If
you click on the button, you will see your receipt order.
Process a Receipt
You can also fin the receipt directly from the Inventory app. When on the dashboard, you
can click the 1 TO PROCESS button under the Receipts Kanban card. Then, you will see
your receipt.
Now, enter the picking that you want to process. You will be able to click on Validate to
complete the move directly as products coming from suppliers are considered as being
always available.
Once you Validate the receipt, the products leave the Supplier Location to enter
your WH/Stock Location. You can easily see that the receipt took place thanks to the
status of the document, which is now Done.
Configuration
Odoo uses routes to define exactly how you will handle the different receipt steps. The
configuration is done at the Warehouse level. By default, the reception is a one-step process, but
changing the configuration can allow you to have 2 steps.
The 2 steps flow is like this: you receive the goods in an input area, then transfer them to your
stock. As long as the goods are not transferred in your stock, they will not be available for further
processing.
Activate Multi-Step Routes
The first step is to allow using multi-step routes. Indeed, routes provide a mechanism to chain
different actions together. In this case, we will chain the unload step in the input area to the step
entering the products in stock.
To allow multi-step routes, go to Configuration ‣ Settings and activate the feature. By default,
activating multi-step routes will also activate Storage Locations.
By default, a receipt is always considered as ready to be processed. Then, you will be able to
directly click on Validate to mark it as done.
Once the receipt has been validated, the internal transfer is ready to be processed. As documents
are chained, the products which have been received are automatically reserved on the internal
transfer. Once the transfer is validated, those products enter the stock and you will be able to use
them to fulfill customer deliveries or manufacture products.
Note
By default, activating Multi-Step Routes also activates Storage Locations.
In the receipt order, products are always considered available because they come from the
supplier. Then, the receipt can be validated.
Once the receipt has been validated, the transfer to quality becomes Ready. And, because the
documents are chained to each other, products previously received are automatically reserved on
the transfer. Then, the transfer can be directly validated.
Now, the transfer that enters the products to stock is Ready. Here, it is again ready to be
validated in order to transfer the products to your stock location.
Miscellaneous Operations
Manage Stock that you don’t own
Sometimes, suppliers can offer you to store and sell products without having to buy those
items. This technique is called consignee stock.
Consignee stock is a great way for manufacturers and suppliers to launch new products.
As resellers may be reluctant to buy a product they are not sure to be able to sell,
consignee stock will allow them to offer an item to check its market without having to
pay for it in the first place.
Of course, Odoo has the ability to manage those consignee stocks through advanced
settings.
Configuration
To use this feature, go to Inventory ‣ Configuration ‣ Settings in the inventory app. Then,
enable the Consignment feature in the Traceability section. Now, hit save.
Now, determine the batch transfer responsible and the type of transfers you want to
include in the batch. To add the types of transfers, click on Add a line.
In the example below, a filter was applied to only see the transfers that are in
the Pick step. After that, the different transfers that needed to be included in the batch
transfer were selected.
To see the products to pick for the different transfers, click on Select. If Multi-
locations has been activated, the document also shows the locations they have been
reserved from.
Next, determine if you want to add the transfers to an existing draft batch transfer or
create a new one.
In case all the products cannot be picked, you can create backorders for each individual
transfer which couldn’t be completely processed.
In the batch transfer, products are classified per location. The source document is visible
on each line and a color-code helps differentiate them.
To see the products to pick from another location, click on the Next button.
Once all the products have been picked, click on Validate (on the last page) to mark the
batch transfer as done.
Planning
How is the Scheduled Delivery Date Computed
Providing the best possible service to customers is vital for business. It implies planning
every move: manufacturing orders, deliveries, receptions, and so on. To do so, you need
to configure lead time properly and coordinate scheduled dates.
By using lead times, Odoo provides end dates, the Commitment Date, for each process.
On a sales order, for example, this is the date your customer will get the products he
ordered.
From the customers’ side, the commitment date is important because it gives them an
estimation of when they will receive their products. The dates take all other lead times,
such as manufacturing, delivery, or suppliers, into account.
Introduction
In Odoo, lots and serial numbers have similarities in their functional system but are different in
their behavior. They are both managed within the Inventory, Purchases and Sales app.
Lots correspond to a certain number of products you received and store altogether in one single
pack.
Serial numbers are identification numbers given to one product in particular, to allow to track
the history of the item from reception to delivery and after-sales.
When to use
Lots are interesting for products you receive in great quantity and for which a lot number can
help in reportings, quality controls, or any other info. Lots will help identify a number of pieces
having for instance a production fault. It can be useful for a batch production of clothes or food.
Serial numbers are interesting for items that could require after-sales service, such as
smartphones, laptops, fridges, and any electronic devices. You could use the manufacturer’s
serial number or your own, depending on the way you manage these products
Configurations
Application configuration
First, you need to activate the serial numbers tracking. To do so, go to Configuration ‣ Settings in
the Inventory application. Then, enable the feature and hit save.
Product configuration
Now, you have to configure the products you want to track by serial numbers. To do so, go
to Master Data ‣ Products and open the product of your choice. Edit it and select Tracking By
Unique Serial Number in the Inventory tab. Then, click on save.
Receipts
To receive a product that is tracked by serial number, you have to specify its serial number. Of
course, you have several ways of doing so:
Manual assignation
Multi-assignation
Copy/pasting from an Excel file
Whatever could be your favorite way to assign serial numbers, you firstly need to open the
detailed operations of your picking.
Tip
If you have inter-warehouse transfers and track products by lots, it can be useful to allow using existing lot
numbers in receipts too.
And, if you want to locate a serial number, you can do so by clicking on the Location button
available on the serial number form.
Setting Up
Application Configuration
First, you need to activate the tracking of lot numbers. To do so, go to Inventory ‣ Configuration
‣ Settings and tick Lots & Serial Numbers. Then, click on save.
Product Configuration
Now, you have to configure which products you want to track by serial numbers.
Go to Master Data ‣ Products and open the product of your choice. There, click on Edit and
select Tracking by Lots in the inventory tab.
Manage Lots
Receipts
In order to receive a product tracked by lots, you have to specify its lot numbers. You have
several ways of doing so:
Lots traceability
The lot number given to the products allows you to keep track of where they were received, put
in stock, to whom they were sold and where they were shipped to.
To track an item, open the Inventory module and, in Master Data ‣ Lots/Serial Numbers, click on
the lot number corresponding to your search.
When you open the Traceability information, you see in which documents the lot number has
been used.
Now, if you want to locate the lot number, you can do so by clicking on the Location stat button.
Configurations
Application configuration
To use expiration dates tracking, open the Inventory application and go to Configuration ‣
Settings and activate the Lots & Serial Numbers and Expiration Dates features.
Product configuration
Now, you have the possibility to define different dates in the inventory tab of the product form:
Product Use Time: it’s the number of days before the goods start deteriorating, without
being dangerous yet. It will be computed using the lot/serial number;
Product Life Time: refers to the number of days before the goods may become dangerous
and must not be consumed. It will be computed on the lot/serial number;
Product Removal Time: shows the number of days before the goods should be removed
from the stock. It will be computed on the lot/serial number;
Product Alert Time: refers to the number of days before an alert should be raised on the
lot/serial number.
Valuation Methods
Inventory valuation configuration
Inventory valuation refers to how you value your stock. It’s a very important aspect of a business
as the inventory can be the biggest asset of a company.
Inventory valuation implies two main choices:
The cost method you use to value your goods (standard, fifo, avco)
The way you record this value into your accounting books (manually or automatically)
Those two concepts are explained in the sections below.
€10 0 €0
In Standard Price, any product will be valued at the cost that you defined manually on the product
form. Usually, this cost is an estimation based on the material and labor needed to obtain the product.
This cost must be reviewed periodically.
Inventory valuation refers to how you value your stock. It’s a very important aspect of a business
as the inventory can be the biggest asset of a company.
Inventory valuation implies two main choices:
The cost method you use to value your goods (standard, fifo, avco)
The way you record this value into your accounting books (manually or automatically)
Those two concepts are explained in the sections below.
€10 0 €0
In Standard Price, any product will be valued at the cost that you defined manually on the product
form. Usually, this cost is an estimation based on the material and labor needed to obtain the product.
This cost must be reviewed periodically.
Continental Accounting
Vendor Bill Goods Receptions Customer Invoice Customer Shipping
Manufacturing Orders
Debit Credit
Assets: Inventory 50
Configuration:
Purchased Goods: defined on the product or on the internal category of related product
(Expense Account field)
Deferred Tax Assets: defined on the tax used on the purchase order line
Accounts Payable: defined on the vendor related to the bill
At the end of the month/year, your company does a physical inventory or just relies on the
inventory in Odoo to value the stock into your books.
Create a journal entry to move the stock variation value from your Profit&Loss section to your
assets.
Debit Credit
Assets: Inventory X
If the stock value decreased, the Inventory account is credited and te Inventory Variations debited.
Anglo-Saxon Accounting
Vendor Bill Goods Receptions Customer Invoice Customer Shipping
Manufacturing Orders
Debit Credit
Assets: Inventory 50
Configuration:
Purchased Goods: defined on the product or on the internal category of related product
(Expense Account field)
Deferred Tax Assets: defined on the tax used on the purchase order line
Debit Credit
Continental Accounting
Vendor Invoice (PO €50, Invoice €50) Vendor Goods Reception (PO €50, Invoice €50)
Vendor Invoice (PO €48, Invoice €50) Vendor Goods Reception (PO €48, Invoice €50)
Customer Invoice (€100 + 9% tax) Customer Shipping
Debit Credit Balance
1 Assets
11000 Cash
14000 Inventory
2 Liabilities
3 Equity
4 Revenue
41000 Goods
5 Expenses
Configuration:
Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
Revenues/Expenses: defined by default on product’s internal category; can be also set in product form
(Accounting tab) as a replacement value.
Anglo-Saxon Accounting
Vendor Bill (PO $50, Invoice $50) Supplier Goods Reception (PO $50, Invoice $50)
Vendor Bill (PO $48, Invoice $50) Supplier Goods Reception (PO $48, Invoice $50)
Customer Invoice Customer Shipping Production Order
Debit Credit Balance
1 Assets
11000 Cash
14000 Inventory
2 Liabilities
3 Equity
4 Revenue
41000 Goods
5 Expenses
Configuration:
Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
Revenues: defined on the product category as a default, or specifically to a specific product.
Expenses: this is where you should set the “Cost of Goods Sold” account. Defined on the product
category as a default value, or specifically on the product form.
Goods Received Not Purchased: to set as Stock Input Account in product’s internal category
Goods Issued Not Invoiced: to set as Stock Output Account in product’s internal category
Price Difference: to set in product’s internal category or in product form as a specific replacement
value
Receive a product
Each time a product enters or leaves your stock, the value of your inventory is impacted.
The way it is impacted depends on the configuration of your product (more info here).
Let’s take an example with a product - a table - configured with a FIFO costing
method and an automated inventory valuation.
I purchase 10 tables at a cost of $10.
When I’ll confirm the receipt of the products, the value of my inventory will be impacted.
If I want to know what this impact is, I can click on the valuation stat button.
Tip
The consignment feature allows you to set owners on your stock (discover more about the
consignment feature). When you receive products that are owned by another company, they are not
taken into account in your inventory valuation.
Note
You need access rights on the accounting module to see that button.
In this case, I can see that the 10 tables entered the stock for a total value of $100.
I can also easily access the accounting entry that has been generated (in case of
automated inventory valuation).
Deliver a product
In the same logic, when a table will be delivered, the stock valuation will be impacted
and you will have access to a similar information.
Configuration
First, you need to go in Inventory ‣ Configuration ‣ Settings and activate the landed costs
feature. You can also determine the default journal in which the landed cost accounting
entries will be recorded.
Note
The landed cost product must be of type service.
If this product is always a landed cost, you can also define it on the product and avoid
having to tick the box on each vendor bill.
At the top of my vendor bill, I’ll see a button create landed costs. I click on this button
and a landed cost is automatically created. I can now decide on which picking those
additional costs should apply.
I can now click on Compute and go in the tab Valuation Adjustments to see the impact on
my products costs. The last step is to validate the landed cost.
I can access the journal entry that has been created by the landed cost by clicking on the
journal entry.
When new products arrive in a warehouse, the new average cost is recomputed as:
When products leave the warehouse: the average cost does not change
Defining the purchase price
The purchase price is estimated at the reception of the products (you might not have received the
vendor bill yet) and reevaluated at the reception of the vendor bill. The purchase price includes
the cost you pay for the products, but it may also includes additional costs, like landed costs.
$0 0 $0
At the beginning, the Avg Cost is set to 0 set as there is no product in the inventory. When the
first reception is made, the average cost becomes logically the purchase price.
At the second reception, the average cost is updated because the total inventory value is now $80
+ 4*$16 = $144. As we have 12 units on hand, the average price per unit is $144 / 12 = $12.
By definition, the delivery of 10 products does not change the average cost. Indeed, the inventory
value is now $24 as we have only 2 units remaining of each $24 / 2 = $12.
$24 2 $12
$24 2 $12
As you can see in this example, this is not correct: an inventory valuation of $2 for 0 pieces in
the warehouse.
The correct scenario should be to return the goods at the current average cost:
$24 2 $12
On the other hand, using the average cost to value the return ensure a correct inventory value at
all times.
$0 0 $0
This is because the vendor refund will be made using the original purchase price, so to zero out
the effect of the return in the stock input in last operation, we need to reuse the original price.
The price difference account located on the product category is used to book the difference
between the average cost and the original purchase price.
Note
You are not forced to start from the vendor bill, you can also go in Inventory ‣ Operations ‣ Landed
Costs and directly create the landed cost from there.
Shipping
Shipping Setup
How to setup a delivery method?
Overview
Odoo can handle various delivery methods, but it is not activated by default. Delivery methods
can be used for your sale orders, your deliveries but also on your e-commerce.
Delivery methods allow you to manage the transport company, the price and the destination. You
can even integrate Odoo with external shippers to compute the real price and the packagings.
Configuration
Note
If you want to integrate delivery methods in your e-commerce, you’ll have to install the eCommerce
Delivery module.
Then you’ll have to set the pricing. It can be fixed or based on rules.
If the price is fixed, tick Fixed price. You’ll just have to define the price. If you want the
delivery to be free above a certain amount, tick the option Free if Order total is more
than and set a price.
If the price varies according to rules, tick Based on Rules. Click on add an item to a
pricing rule. Choose a condition based on either the weight, the volume, the price or the
quantity.
Finally you can limit the delivery method to a few destinations. The limit can be applied to some
countries, states or even zip codes. This feature limits the list of countries on your e-commerce.
Note
You can integrate Odoo with external shippers in order to compute the real price and packagings, and handle
the printing the shipping labels. See How to integrate a third party shipper?
Delivery process
Sale order
You can now choose the Delivery Method on your sale order. If you want to invoice the price of
the delivery charge on the sale order, click on Set price, it will add a line with the name of the
delivery method as a product.
Delivery
You can add or change the delivery method on the delivery itself.
On the delivery, check the Carrier Information. The carrier is the chosen delivery method.
See also
Overview
Odoo can handle various delivery methods, including third party shippers. Odoo can be linked
with the transportation company tracking system. It will allow you to manage the transport
company, the real prices and the destination.
Configuration
The first one is linked to your account (developer key, password,…). For more
information, please refer to the provider website.
The second column varies according to the provider. You can choose the packaging
type, the service type, the weight unit…
Uncheck Test Mode when you are done with the testings.
Finally you can limit the delivery method to a few destinations. You can limit it to some
countries, states or even zip codes. This feature limits the list of countries on your e-commerce.
It is useful for the domestic providers. For example, USPS US only delivers from the United
States to the United States.
Company configuration
In order to compute the right price, the provider needs your company information. Be sure your
address and phone number are correctly encoded.
To check your information, go to the Settings application and click on General Settings. Click
on the first link Configure your company data.
Product configuration
The shipper companies need the weight of your product, otherwise the price computation cannot
be done.
Go the menu Sales ‣ Sales ‣ Products. Open the products you want to ship and set a weight on it.
Tip
The weight on the product form is expressed in kilograms. Don’t forget to make the conversion if you are used
to the imperial measurement system.
Sale process
Sale order
You can now choose the carrier on your sale order. Click on Delivery method to choose the
right one.
The price is computed when you save the sale order or when you click on Set price.
If you want to invoice the price of the delivery charge on the sale order, click on Set price, it will
add a line with the name of the delivery method as a product. It may vary from the real price.
Otherwise, the real price (computed when the delivery is validated) will automatically be added
to the invoice. For more information, please read the document How to invoice the shipping cost
to the customer?
Delivery
The delivery created from the sale order will take the shipping information from it. You can
change the carrier if you want to.
If you create a delivery transfer from the inventory module, you can add the third party shipper
in the additional info tab.
The weight is computed based on the products weights. The shipping cost will be computed once
the transfer is validated.
Click on Validate to receive the tracking number. The Carrier Tracking ref field will
automatically be filled. Click on the Tracking button to check your delivery on the provider
website.
See also
1. Log in to the UPS.com website) using your UPS.com User ID and Password.
2. Click the My UPS tab.
3. Click the Account Summary link.
4. Click the Add an Existing UPS Account link in the UPS Account Details section of the
page.
5. In the Add New Account screen, enter the UPS Account Number, Account Name,
and Postal Code fields. The country defaults to United States.q
A DHL.com SiteID
A DHL Password
A DHL Account Number
Shipping Operations
How to invoice the shipping cost to the customer?
Overview
There are two ways to invoice the shipping costs:
1. Agree with the customer over a cost and seal it down in the sale order
2. Invoice the real cost of the shipping.
Configuration
To configure the price of your delivery methods, go to the Inventory app, click on Configuration
‣ Delivery ‣ Delivery Methods.
You can manually set a price for the shipping: It can be fixed or based on rules.
Or you can use the transportation company computation system. Read the document How to
integrate a third party shipper?
The price is computed when you save the sale order or when you click on Set price.
To invoice the price of the delivery charge on the sale order, click on Set price, it will add a line
with the name of the delivery method as a product. It may vary from the real price.
When you create the invoice, it will take the price set on the sale order.
Invoice the real shipping costs
On your sale order, choose the carrier that will be used. Click on Delivery Method to choose the
right one.
The price is computed when you save the sale order. Confirm the sale order and proceed to
deliver the product.
The real shipping cost is computed when the delivery order is validated, you can see the real cost
in the chatter of the delivery order.
Go back to the sale order, the real cost is now added to the sale order.
When you create the invoice, it will take the price computed by the carrier.
Note
If you split the delivery and make several ones, each delivery order will add a line to the sale order.
See also
How to integrate a third party shipper?
How to print shipping labels?
Overview
By default, Odoo considers that your delivery is composed of one package. But you can easily
ship your deliveries with more than one package. It is fully integrated with the third-party
shippers.
Configuration
To configure the use of packages, go to the menu Inventory ‣ Configuration ‣ Settings. Locate
the Packages section and tick Record packages used on packing: pallets, boxes,…
Sale process
Sale order
Click on a Delivery Method to choose the right one.
The price is computed when you save the sale order or when you click on Set price.
Multi-packages Delivery
The delivery created from the sale order will take the shipping information from it.
From here, you can split your delivery into multiple packages.
Choose the quantity you want to put in the first pack in the Done column, then click on the
link Put in Pack.
The labels to stick on your packages are available in the history underneath:
See also
Configuration
The first one is linked to your account (develop key, password,…). For more
information, please refer to the provider website.
The second column varies according to the provider. You can choose the packaging
type, the service type, the weight unit…
Uncheck Test Mode when you are done with the testings.
Company configuration
In order to compute the right price, the provider needs your company information. Be sure your
address and phone number are correctly encoded.
To check your information, go to the Settings application and click on General Settings. Click
on the first link Configure your company data.
Product configuration
The shipper companies need the weight of your product, otherwise the price computation cannot
be done.
Go the Sales module, click on Sales ‣ Products. Open the products you want to ship and set a
weight on it.
Tip
The weight on the product form is expressed in kilograms. Don’t forget to do the conversion if you are used to
the imperial measurement system.
Note
If you are doing multi-packages shippings, most of the time, there will be one label per package. Each label
will appear in the delivery history.
See also
Overview
Odoo can handle various delivery methods, including third party shippers. Odoo will be linked
with the transportation company tracking system.
It will allow you to manage the transport company, the real prices and the destination.
You can easily cancel the request made to the carrier system.
You will now see that the shipment has been cancelled.
You can now change the carrier if you wish.
Advanced Routes
Concepts
o Using Routes and Pull/Push Rules
In inventory management, the supply chain strategy determines when products should be
fabricated, delivered to distribution centers, and made available in the retail channel.
This kind of strategic process can be configured using Routes, featuring Pull and Push Rules.
Once everything is properly configured, the inventory app can automatically generate transfers
following the instructions given by the rules. Yes, Odoo simplifies your life.
In this example, vendor trucks unload pallets of ordered goods at receiving docks. Operators then
scan the products in the receiving area. Some of these products are sent to a quality control area
(those devoted to being used during the manufacturing process, for example), while others are
directly stored in their respective locations.
Here is an example of a fulfillment route. In the morning, items are picked for all the orders that
need to be prepared during the day. These items are picked from storage locations and moved to
the picking area, close to where the orders are packed. Then, the orders are packed in their
respective boxes and conveyors bring them close to the shipping docks, ready to be delivered to
customers.
Pull Rules
With Pull Rules, a demand for some products triggers procurements, while Push Rules are
triggered by products arriving in a specific location.
We can say that Pull Rules are used to fulfill a customer order, a sale order. So, Odoo generates a
need at the Customer Location for each product in the order. Because Pull Rules are triggered by
a need, Odoo looks for a Pull Rule defined on the Customer Location. In our case, a delivery
order pull rule that transfers products from the Shipping Area to the Customer Location is found,
and a transfer between the two locations is created.
Then, Odoo finds another pull rule that tries to fulfill the need for the Shipping Area: the Packing
Rule that transfers products from the Packing Area to the Shipping Area. And, finally, other rules
are triggered until a transfer between the Stock and the Picking Area is created.
Note
All theses transfers are pre-generated by Odoo, starting from the end and going backwards. While working, the
operator process these transfers in the opposite order: first the picking, then the packing, then the delivery
order.
Push Rules
On the other hand, Push Rules are much easier to understand. Instead of pre-generating
documents based on needs, they are live-triggered when products arrive in a specific
location. Push Rules basically say: “when a product arrives at a specific location, move it to
another location.”
A simple example would be: when a product arrives in the Receipt Area, move them to
the Storage Location. As different rules can be applied to different products, you can assign
different storage locations for different products.
Another rule could be: when products arrive at a location, move them to the Quality Control
Area. Then, once the quality check is done, move them to their Storage Location.
Note
Push Rules can be triggered only if no Pull Rule pre-generated the upstream transfers.
Important
Sets of rules like those are called routes. The grouping on the rule defines how products are grouped in the
same transfer or not. For example, during the picking operation, all orders are grouped in one transfer, whereas
the packing operation respects the grouping per customer order.
Pre-configured Routes
Odoo’s pre-configured routes are available in the warehouses’ menu. To find it, go to Inventory ‣
Configuration ‣ Warehouses. There, open your warehouse and edit it to see the pre-configured
routes for incoming and outgoing shipments.
Some more advanced routes, such as pick-pack-ship, are already configured to make your life
easier. Those are based on your choice for shipments. Once you made your choice, head
to Inventory ‣ Configuration ‣ Routes to see the routes Odoo generated for you.
Opening one of those routes allows you to see on what you can apply the route. Here, all the
selected product categories in the YourCompany warehouse are set up to follow the 3-steps route.
Easier for many businesses, this process might not fit yours. Thus, you can configure custom
routes in which you can define your own rules, but also the source and destination location of
each action. As an example, here are the rules for the pre-configured route.
Custom Routes
To create a custom route, go to Inventory ‣ Configuration ‣ Routes, click on create, and choose
the places where this route can be selected. Of course, combinations are available.
Each place has a different behavior, so it is important to tick only the useful ones and adapt each
route accordingly.
When applying the route on a product category (Inventory ‣ Configuration ‣ Product Categories),
all the rules configured in the route are applied to every product of the category. For example,
this can be useful if you use the dropshipping process for all the products from the same
category.
The same behavior applies to the warehouses. If you tick Warehouses, all the transfers occurring
inside the chosen warehouse, and meeting the conditions of the linked rules, then follow that
route.
For the Sales Order Lines, it is more or less the opposite. You have to choose the route yourself
when creating a quotation. This is pretty useful if some products go through different routes.
If you work with this kind of route, it is important to keep in mind that it must be selected on the
sales order, such as below.
Finally, there are routes that can be applied to products. Those work more or less like the product
categories: once selected, you have to manually set on which product it must be applied.
To do so, go to Inventory ‣ Master Data ‣ Products and open the one on which you want to apply
the route. Then go to the Inventory tab and select the route you’ve created.
If, prima facie, the routes’ configuration can appear quite easy, don’t forget that we haven’t set
up any rule yet. If not harder to set up, those are vital to have working routings.
Rules
The rules are to be defined on the routes. To do so, go to Inventory ‣ Configuration ‣ Routes,
then to the Rules section, and click on Add a line button.
The available rules trigger various actions. If Odoo offers Push and Pull rules, others are also
available. Here are some explanations for all of them:
Pull From: this rule is triggered by a need for the product in a specific stock location.
The need can come from a sale order which has been validated or for a manufacturing
order which requires a specific component. When the need appears in the source location,
Odoo generates a picking to fulfill this need.
Push To: this rule is triggered by the arrival of some products in the defined source
location. In case you move products to the source location, Odoo generates a picking to
move those products to the destination location.
Push & Pull: it allows to generate pickings in the two different situations explained
above. It means that when products are required at a specific location, a transfer is
created from the previous location to fulfill that need. Then, a need is created in the
previous location and a rule is triggered to fulfill it. Once the second need fulfilled, the
products are pushed to the first location and all the needs are fulfilled.
Buy: when products are needed at the destination location, a request for quotation is
created to fulfill the need.
Manufacture: when products are needed in the source location, a manufacturing order is
created to fulfill the need.
You must also define the Operation Type. This operation allows defining which kind of picking
is created from the rule. With our above screenshot, the created picking is, for example, an
internal transfer.
On the other hand, the Supply Method, allows defining what happens at the source location:
Take From Stock: the products are taken from the available stock of the source location;
Trigger Another Rule: the system tries to find a stock rule to bring the products to the
source location. The available stock is ignored.
Take From Stock, if Unavailable, Trigger Another Rule: the products are taken from
the available stock of the source location. If there is no stock available, the system tries to
find a rule to bring the products to the source location.
In the Scheduling section, you can determine how Odoo behaves when one of the chain’s
pickings is rescheduled. In case you decide to Propagate Rescheduling, the next move is also to
be rescheduled. If you prefer having the choice to reschedule the next move, you can decide to
receive an alert in the form of a next activity.
What about a full flow?
Do you remember our Pick - Pack - Ship custom route? Let’s use it to try a full flow with an
advanced custom route.
First, a quick look at our rules and their supply methods: we have three rules, all Pull
From rules. The supply methods are the following:
Take From Stock: When products are needed in WH/Packing Zone, Picks (internal
transfers from WH/Stock to WH/Packing Zone) are created from WH/Stock to fulfill the
need.
Trigger Another Rule: When products are needed in WH/Output, Packs (internal
transfers from WH/Packing Zone to WH/Output) are created from WH/Packing Zone to
fulfill the need.
Trigger Another Rule: When products are needed in Partner Locations/Customers,
Delivery Orders are created from WH/Output to fulfill the need.
This means that, when a customer orders products, a delivery order is created to fulfill the order.
Note
If the source document is the same sale order, the status is not the same. In fact, the status is Waiting Another
Operation if the previous transfer in the list is not done yet.
To prepare the order, conveyors need products packed at the output area, so an internal transfer is
requested from the packing zone.
Obviously, the packing zone needs products ready to be packed. So, an internal transfer is
requested to the stock and employees can gather the required products from the warehouse.
As explained in this documentation introduction, the last step in the process (here the delivery
order) is the first to be triggered, which then triggers other rules until we reach the first step in
the process (here, the internal transfer from to stock to the packing area). Now, everything is
ready to be processed so the customer can get the ordered items.
In our case, the product is delivered to the customer when all the rules have been triggered and
the transfers done.
How to do inter-warehouses transfers?
If you own different warehouses you might want to transfer goods from one warehouse to the
other. This is very easy thanks to the inventory application in Odoo.
Configuration
First of all you have to select the multi locations option. Go to Configuration ‣ Settings in
the Inventory application. Then tick the Manage several locations per warehouse option.
Please don’t forget to apply your changes.
Tip
This option should also be ticked if you wish to manage different locations and routes in your warehouse.
Next, click on Start Inventory. A new window will open where you will be able to input your
existing products. Select add an item and indicate the Real Quantity available in the warehouse.
The theoretical quantity can not be changed as it represents a computed quantity from purchase
and sales orders.
Don’t forget to validate your inventory once you have recorder the state of all yours product.
A new window will open where you will be able to select the source location zone (in this case
our “old warehouse”) and the destination location zone (in this case our “new” warehouse
located in Brussels).
Add the products you want to transfer by clicking on Add an Item and don’t forget
to Validate or Mark as TODO once you are done.
If you select Validate, Odoo will process all quantities to transfer.
If you select Mark as TODO, Odoo will put the transfer in Waiting Availability status. Click
on Reserve to reserve the amount of products in your source warehouse.
It is also possible to manually transfer each product:
1. Via your dashboard, select the transfer order in the source location.
3. Click on the little pencil logo in the lower right corner in order to open the operation details
window. In this new window you can manually indicate how much products you process
Tip
If you decide to partially process the transfer order (e.g. a part of the products can’t be shipped yet due to an
unexpected event), Odoo will automatically ask if you wish to create a backorder. Create a backorder if you
expect to process the remaining products later, do not create a backorder if you will not supply/receive the
remaining products.
Note
For more information on how to organize your warehouse, read our blog: What is cross-docking and
is it for me?
Configuration
In the Inventory app, open Configuration ‣ Settings and activate the Multi-Step Routes.
Note
Doing so will also enable the Storage Locations feature.
Now, both Incoming and Outgoing shipments should be configured to work with 2 steps.
To adapt the configuration, go to Inventory ‣ Configuration ‣ Warehouses and edit your
warehouse.
This modification will lead to the creation of a Cross-Docking route that can be found
in Inventory ‣ Configuration ‣ Routes.
Once done, create a sale order for the product and confirm it. Odoo will automatically
create two transfers which will be linked to the sale order. The first one is the transfer
from the Input Location to the Output Location, corresponding to the move of the product
in the Cross-Dock area. The second one is the delivery order from the Output Location to
your Customer Location. Both are in state *Waiting Another Operation because we still
need to order the product to our supplier.
Now, go to the Purchase app. There, you will find the purchase order that has been
automatically triggered by the system. Validate it and receive the products in the Input
Location.
When the products have been received from the supplier, you can go back to your initial
sale order and validate the internal transfer from Input to Output.
The delivery order is now ready to be processed and can be validated too.
Note
The Storage Location feature will be automatically enabled. Good news, because you will need it later
in the process.
Now, you have to make sure that the main stock locations of warehouse A and warehouse
B are children locations of the main stock location of warehouse A + B. Go to the
locations menu, and edit the main location of your two warehouses. Then, change their
parent location to main location of warehouse A+B.
Once you have done it, you can convert it to a sales order. Then, a delivery order will be
automatically generated, with a product reserved in warehouse A and one in warehouse
B.
Putaway & Removal Strategies
What is a Putaway Rule?
A good warehouse implementation takes care that products automatically move to their
appropriate destination location. To make that process easier, Odoo uses Putaway rules.
But what is a putaway rule? Putaway is the process of taking products off the receiving
shipments and directly putting them into the most appropriate location.
If, for example, a warehouse contains volatile substances, it is important to make sure
that certain products are not stored close to each other because of a potential chemical
reaction. That’s where putaway rules intervene, to avoid storing products wrongly.
Configuration
In the Inventory app, go to Configuration ‣ Settings and activate the Multi-Step Routes.
By doing so, the Storage Locations will be automatically activated.
Now, if I purchase apples and carrots to my supplier, they will be grouped in the same
receipt but redirected to the right location automatically, thanks to putaway rules. This
information is available from Inventory Report, under the reporting menu.
What is a Removal Strategy (FIFO, LIFO, and FEFO)?
Usually, Removal Strategies are defined in picking operations to select the best products
to optimize the distance for the worker, for quality control purposes, or to first move the
products with the closest expiration date.
When a product movement needs to be done, Odoo finds available products that can be
assigned to the transfer. The way Odoo assigns these products depends on the Removal
Strategy defined in the Product Category or on the Location.
Here, vendor trucks unload pallets of goods at the docks. Then, operators scan the
products in the receiving area, with the receiving date and, if the product has an
expiration date, the expiration date. After that, products are stored in their respective
locations.
Next, several orders for the same product are made, but you didn’t receive the goods the
same day and they don’t have the same expiration date. In that situation, you logically
prefer sending those with the closest date first. Depending on the removal strategy you
chose, Odoo generates a transfer with the products fitting your settings the best.
Note
On the transfer form, you can find the product’s lot/serial number to pick for delivery.
How does it work?
Note
To work with the FEFO strategy, activate the Expiration Dates feature.
Next, you need to define your removal strategy, on Product Categories via Inventory ‣
Configuration ‣ Product Categories.
The lot 000001 contains 5 shirts, 000002 contains 3 shirts, and 000003 contains 2. As it
can be seen above, 000001 has entered the stock first. Let’s create a sale order of six
white shirts to check that products from that lot are the first ones to move out.
On the delivery order linked to the picking, you can see that the oldest lot numbers have
been reserved thanks to the FIFO strategy.
Now, create a sale order for 4 white shirts and check that the reserved products are from
lots 000003 and 000002.
Important
Don’t forget that the LIFO strategy is banned in many countries!
For this particular case, let’s use hand cream. As usual, we have three lots of them.
Barcodes
Setup
o Set up your barcode scanner
Getting started with barcode scanning in Odoo is fairly easy. Yet, a good user experience relies
on an appropriate hardware setup. This guide will help you through the task of choosing and
configuring the barcode scanner.
An USB barcode scanner needs to be configured to use the same keyboard layout as your
operating system. Otherwise, your scanner won’t translate characters correctly (replacing a ‘A’
with a ‘Q’ for example). Most scanners are configured by scanning the appropriate barcode in
the user manual.
Automatic carriage return
By default, Odoo has a 50 milliseconds delay between each successive scan (it helps avoid
accidental double scanning). If you want to suppress this delay, you can configure your scanner
to insert a carriage return at the end of each barcode. This is usually the default configuration and
can be explicitly configured by scanning a specific barcode in the user manual (‘CR suffix ON’,
‘Apply Enter for suffix’, etc.).
Configuration
To use this feature, you first need to activate the Barcode functionality via Inventory ‣
Settings ‣ Barcode Scanner. Once you have ticked the feature, you can hit save.
Then, you have the possibility to assign barcodes to your products directly at creation on
the product form.
Note
Be careful to add barcodes directly on the product variants and not on the template product.
Otherwise, you won’t be able to differentiate them.
Note
You can easily print the barcode you allocate to the locations via the Print menu.
Barcode Formats
Most retail products use EAN-13 barcodes. They cannot be made up without proper
authorization. You must pay the International Article Numbering Association a fee in
exchange for an EAN code sequence.
Still, as Odoo supports any string as a barcode, you can always define your own barcode
format for internal use.
Daily Operations
Process to an Inventory Adjustment with Barcodes
To process an inventory adjustment by using barcodes, you first need to open
the Barcode app. Then, from the application, click on Inventory Adjustments.
Note
If you want to fully work with barcodes, you can download the sheet Commands for
Inventory.
Once you have clicked on Inventory Adjustments, Odoo will automatically create
one. Note that, if you work with multi-location, you first need to specify in which
location the inventory adjustment takes place.
If you don’t work with multi-location, you will be able to scan the different
products you want to include in the inventory adjustment.
Note
If you have 5 identical articles, scan it 5 times or use the keyboard to set the quantity.
Besides using the barcode scanner, you can also manually add a product if
necessary. To do so, click on Add Product and fill the information in manually.
When you have scanned all the items of the location, validate the inventory
manually or scan the Validate barcode.
Process to Transfers
Simple Transfers
To process a transfer from the Barcode app, the first step is to go to Operations.
Then, you have the choice to either enter an existing transfer, by going to the corresponding
operation type and manually selecting the one you want to enter, or by scanning the barcode of
the transfer.
From there, you will be able to scan the products that are part of the existing transfer and/or add
new products to this transfer. Once all the products have been scanned, you can validate the
transfer to proceed with the stock moves.
Note
If you have different storage locations in your warehouse, you can add additional steps for the different
operation types.
Receipts
When receiving a product in stock, you need to scan its barcode in order to identify it in the
system. Once done, you can either make it enter the main location of the transfer, for example
WH/Stock, or scan a location barcode to make it enter a sub-location of the main location.
Note
If you want the product to enter WH/Stock in our example, you can simply scan the next product.
Delivery Orders
When delivering a product, you have to scan the source location if it is different than the one
initially set on the transfer. Then, you can start scanning the products that are delivered from this
specific location.
Once the different products have been scanned, you have the possibility to scan another location,
such as WH/Stock, and another page will be added to your delivery order. You can move from
one to the other thanks to the Previous and Next buttons.
Now, you can validate your transfer. To do so, click on Next until you reach the last page of the
transfer. There, you will be able to validate it.
Internal Transfers
When realizing an internal transfer with multi-location, you first have to scan the source location
of the product. Then, you can scan the product in itself, before having to scan the barcode of the
destination location.
If the source and destination of the internal transfers are already correct, you don’t need to scan
them.
If you work with serial/lot numbers taking all products into consideration, you can scan
the barcode of the lot/serial number and Odoo will increase the quantity of the product,
setting its lot/serial number.
If you have the same lot/serial number for different products, you can work by scanning
the product barcode first, and then the barcode of the lot/serial number.
The first step is to specify the rule name, for example Weight Barcode with 3 Decimals. You
then have to specify the type for barcode nomenclature, in our case it will be Weighted Product.
The Barcode Pattern is a regular expression that defines the structure of the barcode. In this
example 21 defines the products on which the rule will be applied, those are the numbers by
which the product barcode should start. The 5 “dots” are the following numbers of the product
barcode and are there simply to identify the product in question. The “N” define a number and
the “D” define the decimals.
The encoding allows to specify the barcode encoding on which the rule should be applied.
Note
You can define different rules and order their priority thanks to the sequence. The first rule which matches the
scanned barcode will be applied.
Rule Types
Priced Product: allows you to identify the product and specify its price, used in POS.
Discounted Product: allows you to create one barcode per applied discount. You can
then scan your product in the POS and then scan the discount barcode, discount will be
applied on the normal price of the product.
Weighted Product: allows you to identify the product and specify its weight, used in
both POS (in which the price is computed based on the weight) and in inventory.
Client: allows you to identify the customer, for example used with loyalty program.
Cashier: allows you to identify the cashier when entering the POS.
Location: allows you to identify the location on a transfer when multi-location is
activated.
Package: allows you to identify packages on a transfer when packages are activated.
Credit Card: doesn’t need manual modification, exists for data from the Mercury
module.
Unit Product: allows you to identify a product for both POS and transfers.
Note
When the barcode pattern contains .*, it means that it can contain any number of characters, those characters
being any number.