Skip to main content

Create Manual MO Operation

POST 

/api/manufacturing/manufacturing-orders/:manufacturingOrder/operations

Create a manual operation against a specific MO. The new row is stamped source='manual' with bom_operation_id=null.

Required scope: manufacturing:write

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

Body fields:

  • sequence (required, integer, min 0) — ordering on the MO; can interleave with from_bom rows
  • name (required, string, max 255)
  • type (required, enum) — one of: process, setup, per_unit, fixed_cost. Stored on the row as operation_type.
  • work_center_id (optional, integer, exists:work_centers,id)
  • default_operator_id (optional, integer, exists:users,id) — planned operator (distinct from operator_id which is set when the timer starts)
  • expected_duration_minutes (optional, integer, min 0)
  • hourly_rate (optional, numeric, min 0)
  • fixed_cost (optional, numeric, min 0) — flat per-run cost added on top of labour for any operation type (or the entire cost of a fixed_cost operation). Capitalized onto finished goods like labour, but never marked up by work-center overhead.
  • notes (optional, string, max 1000)

Refused with 422 {code:'mo_locked'} when MO status is completed | closed | cancelled.

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