---
tags: cru
---
# E2 Inventory Pricing Updates
Below is an information-flow diagram of purchased-inventory price.
Notably:
* RFQs alone do not update an item's vendor price-breaks. (Can't do easy forecasts in quotes to customers.)
* Price breaks can only be updated by processing a PO.
* While recording an invoice users can optionally update the unit-cost on a PO. This update does not trigger re-processing of a PO. Invoices do not affect:
* price-breaks,
* stocking costs, or
* bin costs.
* POs spawned *without* RFQs will effectively pull the "last PO price break".
* While E2 supports recording that a part can be sourced from multiple vendors, E2 does not support vendor-specific price breaks or vendor specific SKUs.
* When two suppliers exist, extra care must be taken during the purchase process. RFQs —while time-consuming for all parties— are the safest process.
Out of scope of this diagram: There is a company-setting for how parts in bins get posted to a job. It defaults to using the average cost of the parts. Other options include using stocking, FIFO, or LIFO costs.
```graphviz
digraph purchasing{
//rankdir="BT"
edge [color="blue" fontcolor="blue"]
subgraph cluster_QuickView{
label="Inventory Item"
scost[label="stocking\ncost"]
bincost[label="bin cost\n(actual value)"]
avgcost[label="average cost:\nweighted avg\nof on-hand"]
price [label="vendor\nprice breaks"]
bincost->avgcost
}
subgraph cluster_quote{
label="Request\nfor Quote\n(Optional)"
rfqprice [label="unit price\n(& break)"]
}
subgraph cluster_po{
label="Purchase\nOrder"
//edge[style="invis"]
oprice [label="initial\nunit price\n(& break)"]
opprice [label="unit price\n(& break)\nduring\nprocessing"]
ilprice [label="unit price\nafter\nprocessing"]
oprice->opprice
}
subgraph cluster_receive{
label="Receiver"
rece [label="there is no field\nfor unit price.\nReferences PO's\nunit price."]
}
subgraph cluster_invoice{
label="Invoice\nfrom\nVendor"
iprice [label="Initial\ntotal $\namount"]
ioprice [label="manually\noverwritten\ntotal cost"]
iprice ->ioprice
}
price->oprice [style="dotted"]
rfqprice->oprice [style="dotted"]
opprice->{price scost}[label="optional" style="dashed"]
opprice->rece
rece->iprice
rece->bincost[label="creates new tag & bin"]
//oprice->iprice [label="Initial"]
ioprice->ilprice [label="optional" style="dashed"]
//ljprice->qprice
}