Hi,
We have the following business case:
1. as a book distributor, we handle consignment stock from other publishers. Sold items are invoiced to us when we send the customer invoice.
2. as a book diffusor, we sometimes do « deposit » in bookshops: our books and distributed ones are shipped without invoice to some bookshops and we invoice them when the books are sold.
The module stock_consignment seems to handle (1) correctly. (2) seems to work too, for books that are from our own production.
But we cannot manage to make it work for supplier consigned books.
Here is the stock configuration we tested:
WH
|- Storage STO
|- Consignment Supplier S1 (type=supplier)
Customer (type=customer)
|- Consignment Client C1 (type=storage)
|- Consignment Supplier C1-S1 (type=supplier)
Having a product move from Consignment Supplier S1 to Customer creates a supplier invoice line (ie, we sold the item).
Having a product move from Consignment Client C1 to Customer creates a client invoice line (ie, we sold the item).
Having a product move from Consignment Supplier C1-S1 to Customer creates no line. We would expect it to create 2: both customer and client invoice line.
PS: I’m surprised by the asymmetry between customer and client storage types. Why are consignment client storages to be created below Customer global location? Supplier consignment locations are created below our Warehouse, not below the top most Supplier location. Why can’t we create Client consignment locations below a new Consignment storage that would not be child of Customer CUS? Customer CUS location seems to me it contains all sold items. But customer consignment stocks are not sold yet…
Jean-Christophe Michel
--
30 rue Jean-Baptiste Say
69001 LYON
FRANCE
tél : +33 (0) 478 29 52 14
Hi Cedric
Thks for your quick reply.
If I understand correctly, the error here is to make an internal shipment from Location(type=supplier) to Location(type=customer).
If I do an Internal Shipment from Consignment Supplier S1 to Consignment Client C1 the item will be purchased from S1, this is not what I wish.
What kind of procedure could represent in Tryton the fact that
— a product is stored as consignment (not yet sold) in a Client (hence visible when doing an inventory on the Client location)
— this product comes from Supplier Consignment and must be purchased to supplier once it’s been invoiced to client.
If it’s outside stock_consignment’s scope, I’ll simply use products defined with zero cost price, to be able to represent at least the real place where they are stored.
PS: I’m surprised by the asymmetry between customer and client storage
types. Why are consignment client storages to be created below Customer
global location? Supplier consignment locations are created below our
Warehouse, not below the top most Supplier location. Why can’t we
create Client consignment locations below a new Consignment storage that
would not be child of Customer CUS? Customer CUS location seems to me it
contains all sold items. But customer consignment stocks are not sold
yet…I do not understand what is named "client storage".
Error, I meant consignment client location. I try again :
I’m surprised by the asymmetry between customer and client storage
types.
a. Why are consignment Client locations to be created below Customer
global location? Supplier consignment locations are created below our
Warehouse, not below the top most Supplier location.
b. Why can’t we create Client consignment locations below a new Consignment storage that
would not be child of Customer CUS? Customer CUS location seems to me it
contains all sold items. But customer consignment stocks are not sold
yet…
Jean-Christophe Michel
--
Hi,
On 18 Jun 2018, at 16:29, Cédric Krier wrote:
If I understand correctly, the error here is to make an internal
shipment from Location(type=supplier) to Location(type=customer).
If I do an Internal Shipment from Consignment Supplier S1 to Consignment
Client C1 the item will be purchased from S1, this is not what I wish.I do not understand what is the problem and neither what does it matter
the "purchased from"?
Before selling something, you must buy it first so this means that the
product must be taking out of the supplier location to a storage
location. Then it can be sold to the customer.
In fact I’m really confused by your last sentence.
Seems that sometimes locations are real places where products are located and sometimes they are symbolic places meaning whom they belong to and in what state they are. [1] mentions « real places » and « virtual locations ».
So to sell a product from a supplier location (meaning it belongs to the supplier), but really located at client address, to that client, I need to encode a shipment from that supplier location to an intermediary storage ? This shipment would be virtual, no item really moved. Only their status changed, from « consigned=at client address, waiting to be sold » to « invoiced=bought by the client ».
So in your case, I would make it like this:
- Customer
- Main consignment
- Supplier consignment
- Consignment
I would register sales with internal shipment from Consignment to
Customer and refill Consignment using the Supplier consignment.
I would put no product in Main consignment, it would be better to have
it as a view but it is not supported for now.
Ok, will try this. In your scheme is Customer the already defined generic and unique Customer location or is it a new location specific to that Customer ? And where is the necessary storage type: is it Consignment ?
I still do not understand, this is the exact same sentences. I do not
understand what are the names used: client and customer storage.
Maybe it’s simply that I don’t understand this sentence:
The consignment stock at customer warehouse is managed by creating a storage location under the customer location. [2]
Does « customer » mean here Location(type=customer), ie the already created Location(code=CUS) ?
Or a Location(type=warehouse, name=MyCustomer) to be created ?
Thanks for your patience,