Oss
@betterdata/scm-contracts and @betterdata/dcm-contracts define typed event envelopes and contract-level request/response models used across supply and demand domains.
Contracts are the stable message layer between modules. Producers and consumers can type-check against these packages without coupling to runtime internals.
@betterdata/scm-contracts)scm.procurement.po_created.v1scm.procurement.po_confirmed.v1scm.procurement.po_amended.v1scm.procurement.po_cancelled.v1scm.procurement.invoice_match_triggered.v1scm.execution.receipt_scheduled.v1scm.execution.goods_received.v1scm.execution.shipment_picked.v1scm.execution.shipment_packed.v1scm.execution.shipment_shipped.v1scm.execution.pick_completed.v1scm.execution.shipment_dispatched.v1scm.inventory.stock_updated.v1scm.inventory.stock_reserved.v1scm.inventory.stock_reservation_failed.v1scm.inventory.stock_returned.v1@betterdata/dcm-contracts)dcm.orders.order_line_allocation_requested.v1dcm.orders.order_confirmed.v1dcm.orders.order_cancelled.v1dcm.orders.order_line_shipped.v1dcm.orders.order_line_allocation_failed.v1dcm.returns.rma_requested.v1dcm.returns.rma_approved.v1dcm.returns.rma_rejected.v1dcm.returns.return_received.v1dcm.returns.return_restocked.v1dcm.returns.return_credited.v1dcm.demand.forecast_generated.v1dcm.demand.signal_captured.v1dcm.demand.threshold_breach_detected.v1dcm.demand.replenishment_triggered.v1Both contracts packages include compliance-oriented audit request/response interfaces and event-level regulatory alignment guidance.
1import type { ScmProcurementPoConfirmed } from "@betterdata/scm-contracts";2 3export function handlePoConfirmed(event: ScmProcurementPoConfirmed) {4 return `${event.payload.purchaseOrderId}:${event.eventType}`;5}