MANUFACTURING MODULE SPEC

04 β€” Costing Layer

Money. Translates all operations into financial figures and reveals problems. Inherits all rules from 00. Four components. The most valuable output is Variance Analysis.


4.1 Component: Costing Method

Purpose: Strategic decision on how inventory & production are valued. Set once; hard to change. Configurable per item.

costing_method ∈ { Standard, Actual, Average, FIFO }   (Item.costing_method)
Method Philosophy Suits
Standard Pre-set standard cost; difference = variance Stable mass production
Actual Real cost per order Job shops
Average Moving average Volatile prices
FIFO Oldest issued first Products with shelf life

Formulas

Average:  new_avg = (existing_qtyΓ—old_cost + new_qtyΓ—new_cost) / total_qty
FIFO:     issue at oldest batch prices in order

Standard cost build-up

Standard_Cost: { std_material_cost, std_labor_cost, std_overhead_cost,
                 std_total_cost, last_updated, update_frequency }

Generic-design note

System must support mixed methods: e.g. Standard for finished products (enables variances + stable inventory), Average for volatile raw materials. Per-item costing_method.

Melamine test case

Powder (volatile price) β†’ Average. Dishes β†’ Standard.


4.2 Component: Cost Elements

Purpose: Total product cost = three elements, each with its own source and calculation.

Total Cost = Direct Material + Direct Labor + Manufacturing Overhead

1. Direct Material

= Ξ£(BOM_qty Γ— material_price)
source: BOM (quantities) + Material Master (price per costing_method)
POST: Debit WIP / Credit Raw Materials

2. Direct Labor β€” generalized by labor_calc

Hourly:    labor_hours Γ— labor_rate
PieceRate: quantity Γ— piece_rate
POST: Debit WIP / Credit Labor Applied

Critical rule: only labor whose pay varies with output is Direct Labor. Fixed-salary workers (even if on the line) → Overhead. Test: does pay change with production? Yes→Direct, No→Overhead.

3. Manufacturing Overhead

overhead_rate = total_annual_overhead / total_annual_cost_driver
cost_driver ∈ { LaborHours, MachineHours, DirectMaterialCost, UnitsProduced }
POST (at confirmation): Debit WIP / Credit MOH Applied
month-end: applied vs actual β†’ over/under-applied β†’ P&L

Types: Variable OH (electricity, consumables), Fixed OH (rent, depreciation, salaries), Semi-variable (maintenance).

Generic-design notes

Melamine cost model

piece cost = material(powder + decor if printed)   [direct, varies/unit]
           + press labor (piece_rate)              [direct, varies/unit]
           + everything else (overhead rate)       [fixed pool]
           + that shape's mold depreciation
Only material & press-labor vary per piece; all else is overhead.

4.3 Component: Cost Center

Purpose: Accounting unit that accumulates costs for a part of the plant. Enables "pressing cost X, assembly cost Y".

Cost_Center: { cc_id, type∈{Production,Service,Auxiliary}, parent_cc,
               manager_id, budget_amount, actual_amount, status }

Allocation methods (service β†’ production)

Direct:     service β†’ production only
Step-Down:  service β†’ other services + production, sequentially
Reciprocal: all services allocate mutually + to production

Generic-design note

Service costs allocate by cause, not evenly. Maintenance of presses β†’ allocate mainly to the pressing center, not split equally (assembly shouldn't bear press maintenance).

Melamine test case

Maintenance 8000 (Direct method): CC-PRESS 90% β†’ 7200, CC-FINISH 10% β†’ 800,
CC-ASSEMBLY 0% (no presses).

4.4 Component: Variance Analysis

Purpose: THE key output β€” reveals production problems. Variance = actual βˆ’ standard. The total is useless alone; value is in decomposition, each type pointing to a problem and an owner.

The seven variances

1. Material Price Variance  MPV = (actual_price βˆ’ std_price) Γ— actual_qty       β†’ Purchasing
2. Material Usage Variance  MUV = (actual_qty βˆ’ std_qty) Γ— std_price            β†’ Production (waste)
3. Labor Rate Variance      LRV = (actual_rate βˆ’ std_rate) Γ— actual_hours       β†’ (n/a if piece-rate)
4. Labor Efficiency Var.    LEV = (actual_hours βˆ’ std_hours) Γ— std_rate         β†’ Production
5. Variable OH Spending     VOSV = actual_var_OH βˆ’ (actual_hours Γ— std_VOH_rate)β†’ Management
6. Variable OH Efficiency   VOEV = (actual_hours βˆ’ std_hours) Γ— std_VOH_rate
7. Fixed OH Volume Variance FOVV = (actual_production βˆ’ budgeted) Γ— std_fixed_OH/unit

Generic-design notes

Variance tolerance

< 2%   β†’ Normal, no investigation
2–5%   β†’ Monitor
> 5%   β†’ Investigation Required

Analysis logic

monthly, for each closed order:
  compute the 7 variances
  for each variance > tolerance:
      classify (material/labor/overhead) ; route to owner
  generate Pareto report (biggest causes)

Owner mapping (output)

Material Price ↑    β†’ Purchasing
Material Usage ↑    β†’ Production (waste)
Labor Efficiency ↑  β†’ Production
Overhead ↑          β†’ Management
Volume Variance     β†’ Sales/Management (output dropped)

Joint-products (recap from execution)

total_sale_value = Ξ£(grade.qty Γ— grade.price)
grade.cost = total_cost Γ— (grade.qty Γ— grade.price) / total_sale_value

Cost follows value, not equal split. Grade A (priciest) absorbs most cost/unit.