Sale Stock Deposit
This module helps you to create and control stock deposits for customer sales.
With the deposits, you will be able to create:
Deposit Sales: Sales and pickings that act as a stock reservation in your deposit for a customer
Deposit Deliveries: Sales and pickigs that act as the delivery of the reserved stock of the deposit. This sales are not invoiced.
This is achieved with some special warehouse operation types and routes, that this module provides.
NOTE: As the deposits are reservation locations, we represent this putting in them negative amounts. That decreases the stock count of the warehouse, and prevents it from being taking into account in the available stock calculation. For this reason, despite that the stock is correcly calculated, the special warehouse operations are less intuitive.
Table of contents
Installation
Note: Once installed the module will create the warehouses, types of operations, routes and rules for each warehouse available. This will also be done automatically for each warehouse you create after the installation.
Configuration
To configure this module, you need to:
Go to the Inventory module
Click on Configuration and then Settings
In the Traceability section activate ‘Lots & Serial Numbers’.
In the Warehouse section activate ‘Storage Locations’ and ‘Multi-Step Routes’.
To create a customer’s deposit:
From the contact, go to the ‘Stock deposit’ tab and click on ‘Create New Deposit’.
Enter the name. By default ‘Deposit + <contact_name>’.
Select the Location from the different available deposits and save.
Usage
To use this module, you need to:
To create a new ‘Deposit Sale’:
Create a new quotation.
Select a customer who has a deposit.
Go to the ‘Other Info’ tab -> ‘Delivery’ section
Select the warehouse where the customer’s deposit is located.
Add a new product and Select the Route: ‘(<warehouse_name>) / Deposit Sale’
Confirm the Sale
Validate the generated picking. Remember to set the done quantities manually.
This picking will ‘reserve’ the stock of that product in your warehouse for the customer. This is achieved by moving (in Odoo) the stock from the deposit location to the customer location. Though the product is still in warehouse and it has not been delivered yet, it belongs to the customer, and the negative stock in the deposit location represents this, reserving the product for him.
To create a new ‘Deposit Delivery’:
Create a new quotation.
Select a customer who has a deposit.
Go to the ‘Other Info’ tab -> ‘Delivery’ section
Select the warehouse where the customer’s deposit is located.
Add the same product that was added to the deposit in the sale to deposit.
Select the Route: ‘(<warehouse_name>) / Deposit Delivery’
Confirm the Sale
Validate the generated picking
This picking will remove the stock from the deposit, completing the delivery cicle in odoo. This is achieved by moving the stock (in odoo) from the deposit location to the customer location. This operation works correcly because the stock has previously been moved (in odoo) to the customer location, and the deposit location is negative.
On the other hand, you will be able to see the state of the customer’s deposits.
Go to the ‘Stock Deposits’ tab of the contact and click on ‘View Deposit Status’, if you only want to see the status of one deposit.
From the contact’s view header click on ‘Deposits’ to see the status of all the customer’s deposits.
Known issues / Roadmap
In future versions, we will consider modifying the sale order line widget to show the available quantity of the product in the customer’s deposit.
Note: If you make a ‘Deposit Sale’ of a product with lot numbers. You will need to use the same lot number in the ‘Deposit Delivery’, or another existing lot in the deposit. Odoo is not able to automatically select by default a lot that is in the deposit, because deposit delivery operations do not have the deposit as origin (the location odoo uses to get the lots). You can also make an inventory adjustment to fix this.
The code inside the _search_rule() has been encapsulated in another function and also called from _get_rule(). Now, _get_rule() does not call _search_rule() inside sales confirmations, so the code to get the deposit rule has been moved to _get_rule(). Other functions could have been inherited, but, as they were too complex, this is the best way.
The res_partner fields should be reviewed to determine if they should be commercial fields.
Potential issue with multi-company configuration.
Potential issue with contact merging.
Review inherited functions.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
-
Ángel García de la Chica Herrera
Valentin Vinagre
Alberto Martínez
Harald Panten
Maintainers
This module is part of the sygel-technology/sy-sale-workflow project on GitHub.
You are welcome to contribute.
Metadata
Release files for odoo-addon-sale-stock-deposit 18.0.1.0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| odoo_addon_sale_stock_deposit-18.0.1.0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / odoo_addon_sale_stock_deposit-18.0.1.0.0.1-py3-none-any.whl
| Download URL | odoo_addon_sale_stock_deposit-18.0.1.0.0.1-py3-none-any.whl |
|---|---|
| Size | 58.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b35d2e43139b924082a9f40470eccfbc2212a1477d2fe2c6cf644e7711e0f2a
|
|
BLAKE2b-256 checksum How to use checksums |
6a60f9db3fbd37f83739cbc14fe0f97ca0e30fa7a861220c3f410ac40eaed94f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|