Contract Manufacturing Order

B2B

Buyer PO → capacity confirmation → production → QC inspection → ship → acceptance.

6 nodes · 6 edgesmanufacturing
humansystemapievent
Visual
Buyer Sends POevent

Purchase order with specs, quantity, delivery date via EDI.

sequentialManufacturer Confirms Capacity
Manufacturer Confirms Capacityhuman

Review production schedule, raw material availability.

conditionalProduction Scheduling & Execution
Production Scheduling & Executionsystem

Allocate production line, track WIP through MES system.

sequentialQuality Inspection
Quality Inspectionhuman

Incoming quality check per agreed AQL standards.

conditionalShip to Buyer
fallbackProduction Scheduling & Execution
Ship to Buyerapi

Create BOL, arrange freight, send ASN to buyer.

sequentialBuyer Acceptance
Buyer Acceptancehuman

Buyer inspects goods and confirms acceptance or raises NCR.

uc-manufacturing-order.osop.yaml
osop_version: "1.0"
id: "manufacturing-order"
name: "Contract Manufacturing Order"
description: "Buyer PO → capacity confirmation → production → QC inspection → ship → acceptance."

nodes:
  - id: "purchase_order"
    type: "event"
    name: "Buyer Sends PO"
    description: "Purchase order with specs, quantity, delivery date via EDI."

  - id: "confirm_capacity"
    type: "human"
    subtype: "review"
    name: "Manufacturer Confirms Capacity"
    description: "Review production schedule, raw material availability."
    timeout_sec: 172800

  - id: "production"
    type: "system"
    name: "Production Scheduling & Execution"
    description: "Allocate production line, track WIP through MES system."

  - id: "quality_inspection"
    type: "human"
    subtype: "review"
    name: "Quality Inspection"
    description: "Incoming quality check per agreed AQL standards."
    security:
      approval_gate: true

  - id: "ship_goods"
    type: "api"
    name: "Ship to Buyer"
    description: "Create BOL, arrange freight, send ASN to buyer."

  - id: "buyer_acceptance"
    type: "human"
    subtype: "review"
    name: "Buyer Acceptance"
    description: "Buyer inspects goods and confirms acceptance or raises NCR."
    timeout_sec: 604800

edges:
  - from: "purchase_order"
    to: "confirm_capacity"
    mode: "sequential"
  - from: "confirm_capacity"
    to: "production"
    mode: "conditional"
    when: "capacity.confirmed == true"
  - from: "production"
    to: "quality_inspection"
    mode: "sequential"
  - from: "quality_inspection"
    to: "ship_goods"
    mode: "conditional"
    when: "inspection.passed == true"
  - from: "ship_goods"
    to: "buyer_acceptance"
    mode: "sequential"
  - from: "quality_inspection"
    to: "production"
    mode: "fallback"
    label: "QC failed, rework required"