Assembly Cost Management and Variance Detection
Managing costs for assemblies and kits requires special attention because their cost is derived from the components that make them up. AccuArk provides automatic cost calculation, variance detection, and reporting tools to help you keep assembly costs accurate. This guide explains how cost flows through the assembly system and how to identify and resolve discrepancies.
How Cost Flows for Assemblies
Assembly cost in AccuArk follows this flow:
- Component costs are maintained individually ÔÇö Each component item has its own cost, updated through purchase orders (via WAC calculation) or manual adjustments
- Assembly cost is derived from components ÔÇö The calculated assembly cost equals the sum of each component's cost multiplied by its required quantity in the recipe
- Assembly item has a saved cost ÔÇö The assembly's master record stores a cost value, which may or may not match the current calculated cost
- Variance is the gap ÔÇö When the saved cost differs from the calculated cost, a variance exists
Kit Cost Auto-Calculation
For Virtual Kits, AccuArk automatically recalculates the kit's cost whenever you view or edit the Sub-Items tab. The method RecalculateKitCostAsync() runs and performs the following:
- Retrieves all sub-items (components) for the kit
- For each component, multiplies the component's current cost by its quantity per package
- Sums all component costs to produce the total kit cost
- Updates the kit item's cost field with the new calculated value
This means Virtual Kit costs always stay in sync with their components ÔÇö you do not need to manually update them.
Physical Assembly Cost
Physical Assemblies work differently from kits. Because assemblies track their own physical stock, their cost is set at build time:
- When you build assemblies, the cost mismatch dialog gives you the choice to update the master cost or keep the existing one
- If you choose Yes, the assembly's saved cost updates to match the calculated component cost
- If you choose No, the assembly retains its previous cost, which may now be out of date
Over time, if component costs change (due to new purchase orders or cost adjustments) but you have not built any new assemblies, the saved cost on the assembly will drift away from the actual component cost.
Variance Detection on the Stock Quantities Report
The Stock Quantities Report (FrmStockQuantitiesReport) includes an automatic cost variance audit for assembly items. When the report loads, it compares each assembly's saved cost against the calculated component cost sum.
If the variance exceeds $0.01:
- The item name is displayed in red text instead of the normal color
- A tooltip appears when you hover over the item name, showing: "Cost Variance! WAC: $X.XX | Components: $Y.YY"
This makes it easy to spot assemblies that need attention without running a separate report. The red highlighting draws your eye to any assembly where the recorded cost does not match what the components would actually cost to assemble today.
What the Tooltip Values Mean
| Value | Description |
|---|---|
| WAC | The assembly item's currently saved cost (the weighted average cost stored on the item record) |
| Components | The sum of all component costs multiplied by their required quantities ÔÇö what it would cost to build one assembly unit right now |
Assembly Usage Count
AccuArk tracks an assembly_usage_count for each component item. This count reflects how many different assemblies reference that component in their recipes. It is useful for understanding the impact of changing a component's cost ÔÇö if a component is used in five different assemblies, a cost change on that component will affect all five assembly costs.
Build Stock Button
The Build Stock button on the Sub-Items tab provides a direct shortcut to the Assembly Build form (frmInventoryBuild). This button is only visible when the item's PackageType is 2 (Physical Assembly). For Virtual Kits and Standard items, this button does not appear.
Clicking Build Stock opens the build form with the current assembly pre-selected, saving you the step of searching for the item.
Resolving Cost Variances
When you notice a cost variance (either on the Stock Quantities Report or during a build), you have several options:
- Build new assemblies and choose Yes on the cost dialog ÔÇö This updates the master cost to reflect current component costs
- Manually adjust the assembly's cost ÔÇö Use a stock adjustment with a 'No Change' reason code and check 'Update Item Current Cost and Price' to set the cost without changing quantities
- Review component costs first ÔÇö Before updating the assembly, check whether the component costs themselves are correct. A variance might indicate that a component's cost needs correction rather than the assembly's.
Tips
- Check the Stock Quantities Report regularly ÔÇö Red item names indicate cost variances that need attention. Make this part of your monthly review process.
- Let WAC handle component costs ÔÇö When receiving purchase orders, let the Weighted Average Cost calculation update component costs automatically. This ensures assembly costs reflect real purchase prices.
- Rebuild after major cost changes ÔÇö If a key component's cost changes significantly (e.g., after a large purchase at a new price), consider building a small batch of assemblies and choosing Yes on the cost dialog to realign the assembly cost.
- Monitor high-usage components ÔÇö Components with a high assembly_usage_count affect many assemblies. When their cost changes, check all affected assemblies for variances.
- Use Virtual Kits when possible ÔÇö If you do not need to pre-build physical stock, Virtual Kits automatically keep their cost in sync. Reserve Physical Assemblies for items that genuinely need to be built before sale.