Enterprise · Factory MBOM

Automate the tile cutting layout into a manufacturing BOM JSON.

Storefront layout in, factory data out. Factory MBOM (Manufacturing Bill of Materials): the same millimetre engine that builds the blueprint PDF exports machine-readable manufacturing JSON — a web-to-factory ERP data pipeline for flooring. Schema scalarcut.factory_bom.v1.1. Pieces in millimetres, FRAGILE flags, cut-recycling recipes, box packing. SAP, Oracle, 1C, or MES ingest it. Nobody retypes the sheet.

Web layout to factory desk — one schema

Unified pipeline: storefront to cutting desk. No screenshot of a calc, no offline CAM in the middle. Waste recovery (recipes[]) and logistical packing (pack_mode) ride in the same payload.

  1. LAYOUT

    Customer or consultant runs millimetre layout on the product page or in Tile Layout Studio.

  2. JSON

    Schema scalarcut.factory_bom.v1.1 — pieces, FRAGILE, CRE recipes, full boxes plus loose tiles.

  3. FACTORY

    SAP, Oracle, 1C, or MES ingest Manufacturing BOM (MBOM) fields without retyping a sheet.

Two worlds, one millimetre schema

Legacy ERPs and offline CAD/CAM both need geometry. Factory MBOM is the bridge — not another desktop tool and not another square-metre guess.

ERP / MES ingest geometry

SAP (discrete manufacturing), Oracle, Frontier ERP (Friedman), OptiProERP, 1C, and industry MES stacks.

They turn raw data into a Manufacturing BOM (MBOM) for inventory, routing, and work centers. They do not compute millimetre tile layouts natively — someone retypes a static sheet or a calc export. Scalarcut JSON lets the ERP speak geometry.

CAD/CAM & nesting desks

Architectural fabrication software and CNC nesting engines on the cutting floor.

They own millimetre tolerances, L-cuts, and cut optimization — the same story as our recipes[] array. That work usually lives offline on a factory PC, isolated from the customer-facing website. Factory MBOM is that lattice on the product page and in the outbound payload.

What operations and IT actually get

Trace every run

Stable project_id, scene_id, and surface_id on every export so the same job maps in ERP, 1C, SAP, or Oracle.

Order pieces or boxes

order_pieces, then full_boxes plus loose_tiles (pack_mode: full_boxes_plus_loose). Ops orders without rebuilding the count.

A cut list the saw can follow

Size in millimetres, cut type, quantity, FRAGILE, CRE parent or recycled, and L-cuts — the same millimetre truth the saw and the ERP share.

Waste that becomes stock

recipes[] leftover strips for the cutting desk. This is cut-recycling on the millimetre lattice — not a generic nesting optimization API.

Consumables in the same rollup

Adhesive, grout, primer, and net area in one totals object with the pieces.

Storefront in, factory out

Pairs with the enterprise iFrame: millimetre layout on the product page, Factory MBOM JSON on the other side of the web-to-factory pipeline.

Engineered to Meet Corporate IT & Continuity Requirements

We build our data layer for mission-critical operations. Scalarcut is designed to integrate with enterprise governance models, security frameworks, and production workflows. Detailed SLA numbers and MSA terms are scoped in sales — not listed as public guarantees here.

  • Enterprise Identity & Access Governance

    Engineered to support centralized access management, allowing corporate IT teams to secure and control data pipeline permissions across the organization — including SSO and directory-oriented access governance.

  • Production-Grade Infrastructure

    Built for high-availability manufacturing environments, with stable JSON payload generation aimed at keeping cutting desks free of bottlenecks.

  • Long-Term Data & Schema Predictability

    We treat data contracts with discipline. Predictable integration lifecycles and enterprise-first deprecation policy protect internal ERP parsers from surprise breaks.

Ask for a live key / MSA discussion

Preview the machine-readable manufacturing BOM

Garage fixture, prices stripped. Schema scalarcut.factory_bom.v1.1. Drop it into your parser.

{
  "schema": "scalarcut.factory_bom.v1.1",
  "unit_system": "metric",
  "lattice_unit": "mm",
  "unit_policy": "mm is canonical; UI inch/ft convert from this lattice; dual display fields may appear in a later schema",
  "generated_at": "2026-09-06T00:00:00.000Z",
  "scene_id": 121,
  "project_id": 121,
  "title": "Garage fixture (prices stripped)",
  "rates": {
    "adhesive_kg_per_sqm": 4.5,
    "adhesive_bag_kg": 25,
    "primer_l_per_sqm": 0.2,
    "grout_density_kg_m3": 1200,
    "grout_compaction_factor": 1.05
  },
  "surfaces": [
    {
      "surface_id": "wall-a",
      "sku": "",
      "tile_w_mm": 300,
      "tile_h_mm": 600,
      "pack_qty": 8,
      "pack_mode": "full_boxes_plus_loose",
      "order_pieces": 16,
      "full_boxes": 2,
      "loose_tiles": 0,
      "boxes_to_order": 2,
      "boxes": 2,
      "wastage_pct": 10,
      "adhesive_kg": 12.15,
      "adhesive_bags": 1,
      "grout_kg": 2.4,
      "primer_l": 0.54,
      "net_area_sqm": 2.45,
      "gross_tile_area_sqm": 2.7
    },
    {
      "surface_id": "floor",
      "sku": "",
      "tile_w_mm": 300,
      "tile_h_mm": 600,
      "pack_qty": 8,
      "pack_mode": "full_boxes_plus_loose",
      "order_pieces": 36,
      "full_boxes": 4,
      "loose_tiles": 4,
      "boxes_to_order": 4,
      "boxes": 4,
      "wastage_pct": 10,
      "adhesive_kg": 29.25,
      "adhesive_bags": 2,
      "grout_kg": 5.1,
      "primer_l": 1.3,
      "net_area_sqm": 5.9,
      "gross_tile_area_sqm": 6.5
    }
  ],
  "pieces": [
    {
      "surface_id": "wall-a",
      "letter": "A",
      "group_id": "wall-a:300×600",
      "sku": "",
      "w_mm": 300,
      "h_mm": 600,
      "cut_type": "full",
      "qty": 12,
      "fragile": false,
      "cre_recycled": false,
      "cre_parent": "",
      "is_l_cut": false
    },
    {
      "surface_id": "wall-a",
      "letter": "B",
      "group_id": "wall-a:180×600",
      "sku": "",
      "w_mm": 180,
      "h_mm": 600,
      "cut_type": "vert",
      "qty": 2,
      "fragile": false,
      "cre_recycled": true,
      "cre_parent": "300×600",
      "is_l_cut": false
    },
    {
      "surface_id": "wall-a",
      "letter": "C",
      "group_id": "wall-a:48×600",
      "sku": "",
      "w_mm": 48,
      "h_mm": 600,
      "cut_type": "vert",
      "qty": 1,
      "fragile": true,
      "cre_recycled": true,
      "cre_parent": "300×600",
      "is_l_cut": false
    },
    {
      "surface_id": "floor",
      "letter": "A",
      "group_id": "floor:300×600",
      "sku": "",
      "w_mm": 300,
      "h_mm": 600,
      "cut_type": "full",
      "qty": 28,
      "fragile": false,
      "cre_recycled": false,
      "cre_parent": "",
      "is_l_cut": false
    },
    {
      "surface_id": "floor",
      "letter": "B",
      "group_id": "floor:300×220",
      "sku": "",
      "w_mm": 300,
      "h_mm": 220,
      "cut_type": "horiz",
      "qty": 4,
      "fragile": false,
      "cre_recycled": true,
      "cre_parent": "300×600",
      "is_l_cut": false
    },
    {
      "surface_id": "floor",
      "letter": "C",
      "group_id": "floor:150×400",
      "sku": "",
      "w_mm": 150,
      "h_mm": 400,
      "cut_type": "both",
      "qty": 1,
      "fragile": false,
      "cre_recycled": false,
      "cre_parent": "",
      "is_l_cut": true
    }
  ],
  "recipes": [
    {
      "surface_id": "wall-a",
      "leftover_kind": "strip",
      "leftover_mm": 72,
      "leftover_w_mm": 72,
      "leftover_h_mm": 600,
      "tiles": 1,
      "parts": [
        {
          "key": "180×600",
          "count": 1
        },
        {
          "key": "48×600",
          "count": 1
        }
      ]
    },
    {
      "surface_id": "floor",
      "leftover_kind": "strip",
      "leftover_mm": 160,
      "leftover_w_mm": 300,
      "leftover_h_mm": 160,
      "tiles": 2,
      "parts": [
        {
          "key": "300×220",
          "count": 2
        }
      ]
    }
  ],
  "totals": {
    "surface_count": 2,
    "cut_qty": 48,
    "order_pieces": 52,
    "full_boxes": 6,
    "loose_tiles": 4,
    "boxes_to_order": 6,
    "boxes": 6,
    "adhesive_kg": 41.4,
    "adhesive_bags": 3,
    "grout_kg": 7.5,
    "primer_l": 1.84,
    "net_area_sqm": 8.35,
    "gross_tile_area_sqm": 9.2
  }
}

Drop a real document into your parser

Download the sample, or talk to sales about an Enterprise Key so production layouts leave as Factory MBOM — not as a PDF someone retypes into SAP or Oracle.

Frequently asked questions

The same millimetre CAD that draws the installer blueprint also exports Factory MBOM JSON (schema scalarcut.factory_bom.v1.1): piece sizes, cut types, packing, recycling recipes, and room totals. Enterprise Key required for production export.

A versioned document your plant and ERP can ingest without retyping a sheet. Scalarcut Factory MBOM lists pieces in millimetres, FRAGILE flags, CRE parent or recycled rows, L-cuts, box packing, and consumable rates.

Layout runs on the storefront (enterprise iFrame) or in Tile Layout Studio. Factory MBOM is the outbound JSON: stable IDs, order pieces or full boxes plus loose tiles, recipes for leftover strips. SAP, Oracle, 1C, or MES map those fields into the job.

Yes as an ingestible JSON contract, not as a native SAP module. You map scalarcut.factory_bom.v1.1 into your ERP item, cut, and packing tables. Preview the garage sample, then ask sales for a live Enterprise Key.

No separate nesting API. Cut-recycling recipes (recipes[]) pack leftover strips from the millimetre lattice — CRE parent, recycled pieces, leftover sizes — ready for the cutting desk. That is the nesting story for this export.

No. The public garage fixture is prices stripped so you can see fields without retail data. Production runs can carry catalog SKU; price is your ERP’s job.

Normally a company buys a web visualizer, staff manually turn those designs into an Engineering BOM (EBOM), then a factory engineer translates that into a machine-ready Manufacturing BOM (MBOM). Factory MBOM is the millimetre layout as manufacturing JSON so SAP, Oracle, or MES can skip that double translation.

Yes as an ingestible contract those systems can map — not as a certified native SAP, Frontier, or OptiPro module. Preview the garage sample, then ask sales for a live Enterprise Key.

CAD/CAM nesting usually runs offline on a factory desktop, isolated from the customer website and needing a trained technician. Scalarcut unifies the pipeline: enterprise iFrame on the product page, real-time scalarcut.factory_bom.v1.1 JSON out to the cutting desk or ERP.