Factory MBOM

ERP & MES Integration

Map the Factory MBOM document into SAP, Oracle, 1C, or a cutting table: field mapping, JSON vs CSV, idempotent pulls, and audit.

This page is for the integration engineer wiring Scalarcut into an ERP, MES, or cutting-table controller.

The Factory MBOM document reaches your systems two ways:

  • Planner export — an Enterprise user plans in the planner and clicks the Factory MBOM button to download the JSON and CSV.
  • HTTP API — your middleware pulls the same document over the keyed endpoint.

Both produce the same scalarcut.factory_bom.v1.1 schema; the mapping below applies to either.

Choose JSON or CSV

  • JSON is the full document: header, pieces, recipes, consumables, totals, and optional geometry. Use it when your middleware can consume structured JSON.
  • CSV is the piece list only — the flat columns you can drop straight into a cutting table or a spreadsheet import. Packing, ids, rates, and totals are not in CSV.

Both describe the same cut list; the CSV is a lossy projection of the JSON pieces.

Mapping the fields

Factory MBOM field Typical ERP / MES target
schema Contract version gate (pin to scalarcut.factory_bom.v1.1)
scene_id / project_id Production order / work-order key
surface_id Zone or line (wall-a…wall-d, floor)
group_id Stable routing key for a cut group
letter Human cut-list legend for the shop floor
sku Material master / article number
w_mm / h_mm Cut dimensions for the cutting table
cut_type Cutting strategy / work centre
qty Order quantity for the group
fragile Quality hold / manual handling flag
cre_recycled / cre_parent Recycling traceability to the parent blank
is_l_cut L-cut routing
rates Consumable formula constants
totals.cut_qty Audit against the blueprint cut-list header
totals.boxes_to_order Cartons to purchase

Idempotent pulls

The endpoint is a GET with an ETag. Poll with If-None-Match so a re-request that has not changed returns 304 instead of re-processing the document. Treat the combination of scene_id/project_id + ETag as your idempotency key when ingesting into a queue.

Pull, not push

There are two delivery paths. A user can export the document from the planner header button (downloads JSON + CSV). For automation, your middleware can pull the document over the HTTP API on demand — there is no webhook push in this release. Schedule your poll on your own cadence and gate on the ETag.

Fragile cuts

A cut below the 50 mm fragility floor is flagged fragile: true. Route these for manual handling rather than sending them to a machine that will break them. Sliver Guard already tries to re-anchor layouts to avoid them; the flag is the final safety net.

Consumables

Adhesive, grout, and primer are always present in the Factory MBOM rates and totals — this is the opposite of the Online Store Widget cart, where consumables are an opt-in cart line. Map rates to your formula constants once; the document carries the computed kg/L so you do not need to recalculate them.

Audit

totals.cut_qty must equal the sum of piece qty. When you ingest a document, reconcile totals.cut_qty against the blueprint's cut-list header for the same scene. Any drift means the layout changed between export and ingest — pull again before releasing to production.

Live scene pull

Only the garage fixture (scene_id/project_id = 121) is served in this release. Live scene/project pull is on the roadmap; the endpoint contract (auth, headers, schema) will not change when it lands.