Stock reconciliation, valuation rate, warehouse level, consignment arrangement

Hi everyone,
We run a consignment business whereby we deliver our products to our retail partners regularly. These deliveries are not invoiced, and we value the items price according to each respective sales channel, grouped in 2 main price list. Sales Invoices are made on a monthly basis based on the sales of consigned items made at each retail partner location.

In ERPNEXT, we have 3 warehouses -
a. main warehouse (our location, default warehouse). Items are are received through inbound material receipt at this warehouse. Products are manufactured but not documented. hence, stock items are registered with stock entry type - material receipt. Items received are valued at standard selling rate as default.
b. warehouse A (retail partner A) - stock entry type - Send to warehouse, receive at warehouse with a transit interval in between the two entries. Items received and sold are based on standard selling rate.
c. warehouse B (retail partner B) - stock entry type - Send to warehouse, receive at warehouse with a transit interval in between the two entries. Items received and sold are priced at a discounted rate.

I did a an opening stock entry (stock reconciliation) dated 31 dec 2020 for warehouse B and no opening reconciliation for both the main warehouse and warehouse A.

We adopted the default accounting setup (easy install, production use) with perpetual accounting and FIFO on.

End Note


  1. I read somewhere in the forum that valuation rate can supposedly be set a warehouse level. Does this mean that we can apply valuation rate of a particular item differently for different warehouses ?

  2. If indeed the valuation rate is set at warehouse level, then the following occurred in a stock entry:

main warehouse - item X valued at 100 (item master)
sales channel A ( warehouse A) - item X valued at 100
sales channel B (warehouse B) - item X valued at 95

I noticed during a stock entry from main warehouse to warehouse A (send to warehouse), the item was valued at 95 (dated 01 feb 2021). Why is the case? Thought both items at main warehouse and warehouse A should have the default valuation rate ?

  1. I read that we can apply stock reconciliation to adjust this accordingly. Can this be done at different rates for each particular warehouse? When should we record the stock reconciliation ? can it be backdated, so we can establish a uniform valuation rate per warehouse at the beginning of the accounting period?

Sorry for the messy illustration. Thank you


Yes. ERPNext indeed maintails separate valuation levels at the warehouse level.

Could this be because the only transaction you’ve made is for Warehouse B at 95. Since the main warehouse has to have stock before you can send it to warehouse A, if you make the transaction into Mail Warehouse at 100, your transfer to A should go through at a valuation rate of 100.

Yes, it can be done at different rates for each warehouse. Your best bet is to work with quantities that are remaining and adjust those rates. You may have to run a report of all outbound transactions that you’ve made and pass a General Ledger entry to correct the valuations of items you have sent out of your system. Or to other warehouses. It’s a bit complicated. Not sure if immutable ledger (in ver 13 will let you do a revaluation of stocks retrospectively and if yes, whether all transactions are updated with the updated values.

Hope this helps.



Hi Jay,

  1. Thank you for confirming this.
  2. Apparently, this is the case. Though, I’m not sure why.

3a. Thank you for the solution. Will look into it. Not sure if the system allow for a 0 qty, xxx valuation rate stock reconciliation attempt. I read this link sometime ago Updates in Stock Reconciliation.

3b. currently running ERPNext: v12.18.0 (version-12), Frappe Framework: v12.15.0 (version-12). with immutable ledger implemented in ver 13, does it mean it’s better for us to tidy our books up prior to upgrading ?

Again thank you.