Unit price on move

Hi,

I would like to have your views on the following question. This concerns the unit price on the receipt movement, I details (sorry it’s a bit long :-))

Purchase

Product Unit price qty
some_product 1.92 60

Stock

Detail of the evolution of the price in the reception movement (only the unit price)

Step 1: purchase confirmation

Product Unit price qty
some_product 1.92 60

Step 2: Reception (no change)

Product Unit price qty
some_product 1.92 60

Step 3: 1st invoice (but partial)

Invoice

Product Unit price qty
some_product 2.00 35

Movement (Point of view 1)

Product Unit price qty details
some_product 2.00 60 because invoice to the PU of 2.00

Movement (Point of view 2)

Product Unit price qty details
some_product 1.96 60 ((35 * 2.00) + (25 * 1.92))/60 (because of the invoice and the rest at the purchase price)

step 4: 2nd invoice

Invoice

Product Unit price qty
some_product 1.93 25

Mouvement

Product Unit price qty details
some_product 1.97 60 ((35 * 2.00) + (25 * 1.93))/60

As you can imagine, the discussion revolves around stage 3, because point of view 1 thinks that it is necessary to take into account only the invoices (because it may very well never have a balance invoice) and point of view 2 think that it is also necessary to take into account the lines not yet invoiced, at the purchase price, because it is very rare that a supplier “permanently” forgets an invoice but it is common to have delays.
In fact, everything depends on the time between stages 3 and 4 and what are the challenges of stock valuation.

What do you think ?

The problem here is that there is some point that the system has two diferent values for the price and None of them may be the right one. I think we should follow KISS and always use the last value introduced on the system as it’s the one that has most probabilities of being right.

All the options will be wrong in some cases, so for me the most important part is that the system has the correct unit_prices when all the information is entered to Tryton.

Given a purchase is a bilateral contract, normally the invoicing needs to be conformant to the purchase agreement.
If the invoicing is not in order, the supplier needs to be informed immediately to correct the invoice(s) in order to arrive at the agreed upon price or perhaps the invoice should even be refused with motivation according to the relationship between the parties.
Perhaps there are technical reasons that a short shipment has unagreed upon prices, it does create an uneasy situation that should be clarified without delay.
BTW, it seems to me there was a recent push to synchronise the prices in stock moves with the invoiced amounts.

To do a reply to @risto3 “as saler”: it is not unusally for me to receive order from some customers using an old order-form with outdated prices on it. When I do the invoice, I am using the new prices :smiley:. But my customers aren’t industrial, but small retails.

Sebastien, I’m sure in these cases you confirm the order with the current prices before shipping.
That would be part of the handshake process. Otherwise…