Skip to main content

Create BOM

POST 

/api/manufacturing/boms

Create a new BOM with output lines, component lines, and (optional) operations.

Required scope: manufacturing:write

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Consumption method fields:

  • default_consumption_method (optional, enum: forward_flush | backflush) — BOM-level default inherited by component lines that omit their own consumption_method. Null means no default (lines fall back to forward_flush).
  • component_lines[].consumption_method (optional, enum: forward_flush | backflush) — how the component is issued when production is recorded. forward_flush (the default) waits for the operator to issue the component explicitly with an actual consumed quantity; backflush auto-consumes it from the produced output quantity multiplied by the BOM per-unit usage, with no operator entry required. An explicit null behaves exactly like omitting the field — the line inherits default_consumption_method, falling back to forward_flush when the BOM has no default. The method is snapshotted onto each manufacturing-order component line at confirmation, so later BOM edits never change how an already-open order consumes.

Operation cost fields: each operations[] row accepts time_minutes, cost_per_hour, and fixed_cost (optional, numeric, min 0) — a flat per-run cost added on top of time-based labour. Fixed cost is capitalized onto finished goods the same way labour is, but is never marked up by work-center overhead. Auth: requires Bearer token.

cost_classification (optional, labor|overhead, default labor) sets the expense classification independently of the rate basis: labor posts the operation's variable cost to the Labor bucket (marked up by the work center's overhead %); overhead posts machine/tooling-style cost to the Overhead bucket with no additional markup.

Request

Responses

Created

Response Headers
    Content-Type