Canadian supply chain interoperability

A common foundation for supply chain data.

Draft standards and a Python prototype for exchanging information across imports, exports, and interprovincial trade.

Driven by the Digital Supply Chain Lab at Simon Fraser University.

Connected information across every handoff
Illustrative intermodal data exchange A ship, port, rail operator, truck, and warehouse exchange information through a common foundation for identity, data definitions, permissions, and receipts. ShipPortRailTruckWarehouse SCDx exchange foundation IdentityShared meaningPermissionsReceipts ImportsExportsInterprovincial
Illustrative architecture. Participants control their records and share information with authorized partners.
Draft specifications for review and implementation Synthetic examples · No live government connections

Three trade flows.
One exchange foundation.

Follow the information between organizations, transport modes, and places where goods change hands.

01 / INTERNATIONAL INBOUND

Imports

Connect overseas shipment information with Canadian arrival, regulatory references, onward transport, and receipt.

Ship → Port → Rail → Truck → Warehouse
02 / INTERNATIONAL OUTBOUND

Exports

Keep goods, bookings, documents, and transfer events connected from Canadian dispatch to the foreign receiver.

Producer → Rail or truck → Port → Ship
03 / DOMESTIC MOVEMENT

Interprovincial trade

Carry order, custody, storage, and delivery information across provincial and organizational boundaries.

Supplier → Truck or rail → Warehouse → Receiver

The draft specification

Start with the information that changes hands.

Define who is speaking, what the record means, who may receive it, and how a change or receipt is recorded.

SCDx profiles build on international standards. They do not replace the requirements of a regulator, carrier, or trading partner.

View standards and source mappings
  1. 01Core exchange profileThe implemented SCDx 0.1.0 message structure, validation rules, and exchange behavior.
  2. 02Network architectureA proposed federated exchange with shared rules and participant control.
  3. 03Trade journeysImport, export, and interprovincial scenarios across ship, rail, truck, ports, and warehouses.
  4. 04Trust and governanceResponsibility, access, and evidence rules for the draft network and local prototype.

A concrete starting point

Inspect an exchange message.

These synthetic examples exercise the same draft profile across the three trade flows. Download the JSON, inspect the schema, or exchange it with the local Python prototype.

The viewer reads static files. It does not submit data or connect to the exchange API.

Python setup and API guide
{
  "schema_version": "0.1.0",
  "message_id": "demo-import-001",
  "message_type": "shipment_event",
  "issuer_id": "supplier-demo",
  "recipient_ids": [
    "importer-demo",
    "carrier-demo",
    "warehouse-demo",
    "receiver-demo"
  ],
  "created_at": "2026-10-26T16:00:00Z",
  "journey": {
    "journey_id": "demo-journey-import",
    "trade_flow": "import",
    "origin": {
      "identifier": {
        "scheme": "demo:location",
        "value": "US-SUPPLIER"
      },
      "name": "Demo foreign supplier",
      "node_type": "supplier",
      "country": "US",
      "subdivision": "WA"
    },
    "destination": {
      "identifier": {
        "scheme": "demo:location",
        "value": "AB-WAREHOUSE"
      },
      "name": "Demo Alberta warehouse",
      "node_type": "warehouse",
      "country": "CA",
      "subdivision": "AB"
    }
  },
  "shipment": {
    "identifier": {
      "scheme": "demo:shipment",
      "value": "DEMO-IMPORT-001"
    },
    "goods": [
      {
        "identifier": {
          "scheme": "demo:item",
          "value": "SYNTHETIC-WIDGET"
        },
        "description": "Synthetic demonstration goods",
        "quantity": 10,
        "unit": "EA"
      }
    ],
    "transport_legs": [
      {
        "leg_id": "ocean-1",
        "mode": "ship",
        "operator_id": "carrier-demo",
        "origin": {
          "identifier": {
            "scheme": "demo:location",
            "value": "US-SUPPLIER"
          },
          "name": "Demo foreign supplier",
          "node_type": "supplier",
          "country": "US",
          "subdivision": "WA"
        },
        "destination": {
          "identifier": {
            "scheme": "demo:location",
            "value": "BC-PORT"
          },
          "name": "Demo Vancouver port",
          "node_type": "port",
          "country": "CA",
          "subdivision": "BC"
        }
      },
      {
        "leg_id": "rail-1",
        "mode": "rail",
        "operator_id": "carrier-demo",
        "origin": {
          "identifier": {
            "scheme": "demo:location",
            "value": "BC-PORT"
          },
          "name": "Demo Vancouver port",
          "node_type": "port",
          "country": "CA",
          "subdivision": "BC"
        },
        "destination": {
          "identifier": {
            "scheme": "demo:location",
            "value": "AB-TERMINAL"
          },
          "name": "Demo Alberta terminal",
          "node_type": "terminal",
          "country": "CA",
          "subdivision": "AB"
        }
      },
      {
        "leg_id": "truck-1",
        "mode": "truck",
        "operator_id": "carrier-demo",
        "origin": {
          "identifier": {
            "scheme": "demo:location",
            "value": "AB-TERMINAL"
          },
          "name": "Demo Alberta terminal",
          "node_type": "terminal",
          "country": "CA",
          "subdivision": "AB"
        },
        "destination": {
          "identifier": {
            "scheme": "demo:location",
            "value": "AB-WAREHOUSE"
          },
          "name": "Demo Alberta warehouse",
          "node_type": "warehouse",
          "country": "CA",
          "subdivision": "AB"
        }
      }
    ]
  },
  "event": {
    "event_type": "arrived",
    "occurred_at": "2026-10-26T15:55:00Z",
    "location": {
      "identifier": {
        "scheme": "demo:location",
        "value": "AB-WAREHOUSE"
      },
      "name": "Demo Alberta warehouse",
      "node_type": "warehouse",
      "country": "CA",
      "subdivision": "AB"
    },
    "leg_id": "truck-1",
    "authority": "supplier-demo"
  },
  "documents": []
}

Read the initial design brief.

Scope, architecture, standards, governance, and validation journeys. Prepared 26 October 2026.

Download the brief PDF