Skip to Content
Menú
This question has been flagged
1 Respondre
1339 Vistes

My client has multiple suppliers and customers who also hold some of my client's stock on consignment. The problem comes when my client sets up the warehouse for this consignment stock, and - as would seem natural to them - selects the main customer/vendor address as the warehouse address. The problem is that Odoo then treats any subsequent Sales order delivery or Purchase order receipt for that company as an internal transfer rather than as a sale/purchase. They only realize this later when looking at their stock.  

What ways do you deal with this to prevent users making this to-easy-to-make mistake?

Version 17.0 Enterprise


Avatar
Descartar
Best Answer

The address for the warehouse should always be the physical address.  The premises.  Nothing else. Do not set up warehouse according to the owner. There are other functions to set owner of stock - consignment stock

You need to set up routes that define from which warehouse you want to deliver from.  Set possible to select either on product or om sales order - or both. 

For purchase order there is available to set the operation type for the incoming to the correct warehouse.  Each warehouse should have their own transfer for incoming.

Avatar
Descartar
Autor

I think I need to clarify. In this case, the customer's delivery address for sales IS exactly the same as the address of the warehouse to which consignment stock is sent. e.g. Sales to Bob's Cool Foods Ltd are delivered to Bob's Coolstore, 14 Smith Street, Jonesville. Other stock, which remains the company's stock, may also be shipped, by way of transfer, for storage at Bob's Coolstore, 14 Smith Street, Jonesville. If the Address "Bob's Coolstore, 14 Smith Street, Jonesville" is selected as the Warehouse address (only natural for a user to do, as it is exactly that address), any sales order will be treated as an internal transfer with no transparency to the user that this will be the case. 

Why is the customer and the warehouse the same address? Is this like the business sell their own stock to customer, but keeps the stock in the warehouse for the customer.
In that case it is not directly supported. But what we do in other businesses is to process and outbound delivery to the customer, and then take a return where we set the owner of the returned stock to the customer partner.
To ship it when customer want it sent, we create an outbound delivery without reference to sales order.

Autor

Imagine you're the owner of Pete's Pineapple Juicery. You're a primary producer of Pineapple juice, predominantly for wholesale supply to secondary producers. You also make a variety of fruit iceblocks for the retail market for which you buy in other juices. 4 hours away is Arnie's Apple Juicery, selling Apple juice to secondary producers, and also making a variety of retail fruit leathers. Another 4 hours away is Bernie's Berrys; They sell berry pulp and juice to secondary producers, and also have a retail line of fruit jellies.
In common to all three businesses is that they each own the only coolstore in their town, attached to their factory. They buy the wholesale juice products off each other, as ingredients for their respective secondary products. AND because the coolstore attached to each factory is the only coolstore in their respective town, each business also uses the other business' coolstores as their storage depot in that town for their retail products. So, the same physical address is a delivery address for sales, and an address for purchases, and a Warehouse address for their own stock.
In Odoo, the moment you select an address as the address for a warehouse, the Customer Location and Vendor location (hidden except in Dev mode) get updated to the Inter-warehouse transit location. Unfortunately Odoo doesn't block an address that's been set as a warehouse address from being selected as a customer or delivery address in a Sales order, or as vendor in a Purchase order. Sales orders isn't so bad, because at time of confirming the order it'll error because there isn't a defined replenishment route for the Inter-warehouse transit location. It only becomes a problem if that delivery address is set as a warehouse address after the confirmation and before the delivery. In Purchase orders through, it'll allow it through without the user knowing better, and on receipt, the stock transaction is that of the inward side of a transfer rather than that of a purchase. So that's a bit of a gaping hole.
I've now set an automation rule on contacts so that when the customer or vendor location is updated to a Transit type location, it adds a blocking message on that contact for both Sales Orders and Purchase Orders, and it also changes the Address Type from Delivery Address to Other Address, so that it won't default as delivery address on sales orders. Open to better suggestions though.
Without knowing if there are *legitimate* use cases for internal warehouse addresses being allowed on Sales and Purchase orders, it would make sense to me that there should be tighter control around this, including at the very least an additional Address Type "Internal Warehouse" on the contact.

From your description it looks like your business is operating a third party warehouse: You provide warehouse operations for other companies?
As far as I have found, there is not a full support for such a business in Odoo. But the solution should be to set a owner on the products when you recieve the product, and you must set owner on the product also for shipping out. My recommendation in cases like that is to use specific products by customer, as it will be easier to separate. And maybe also product categories for each customer.

What you seems to do is connect owner of the products with name on the warehouse. So you have define one physical warehouse as several warehouses by customer? This will not work properly.

The solution in Odoo would be to manage owner of the stock and not define different warehouse by customer. Odoo is missing a sales order type to help on create outbound shipment, and a purchase order for create inbound shipment for a third party operator. The solution for that is to manually create directly the transfer in and out.

There is a third party app that might help. But it looks to me that it is ment to be for business that rent warehouse services.

Autor

I probably shouldn't use the word "Consignment", because we decided not to use Odoo's consignment feature on this site; we didn't want the other business' stock sitting in our stock at all. It's more like, they just rent space in our warehouse. Each business still manages their own stock within each others' warehouse as if it's their own warehouse. We do internal transfers for our stock that's just moving between warehouses, versus Sales and Purchase orders when we're actually buying and selling the stock. That's all working just fine. We just had to find a way to stop the users from using an internal warehouse address on a Sales or Purchase order, because, well, from the user's point of view, it's the same address.

Related Posts Respostes Vistes Activitat
2
de febr. 25
1168
2
d’ag. 25
1520
1
de jul. 25
601
1
de maig 25
1282
1
de febr. 25
1437