productUpdateBomRevisionCosts
Changes what the components of a bill of materials cost, without raising a revision.
A revision records what a product is built from - its components, their quantities, and the specifications around them. What those components cost moves on its own schedule, so costing a line does not require a new revision and can be done against the revision currently in effect.
Business Rules
- Only a draft or the revision in effect can be costed.
- Quantities, components and specifications are untouched; only cost, cost source, price tier and supplier change.
- A line the revision does not contain is ignored.
- A line sent without a cost source keeps its current cost.
- A newly chosen price tier must be a current supplier quote with a cost.
Error Scenarios
- **BOM revision not found**: The revision does not exist.
- **Only the revision in effect, or a draft, can be costed**: The revision has been superseded or discarded.
- **A component cost cannot be negative**: A line carries a cost below zero.
- **That price tier belongs to a different component**: The tier does not quote this component.
- **That price tier is not a supplier quote**: The tier is not tied to a supplier.
- **That supplier belongs to another company**: The supplier is not one of yours.
- **That price tier has been archived**: An archived tier cannot be newly chosen.
Permissions Required
Requires the products:update_composition_lines permission.
productUpdateBomRevisionCosts(
input: UpdateBomRevisionCostsInput!
): BomRevision!
Arguments
productUpdateBomRevisionCosts.input ● UpdateBomRevisionCostsInput! non-null input common
Parameters for UpdateBomRevisionCosts
Type
BomRevision object products
A numbered, point-in-time version of a product bill of materials.