Skip to content

Sales Cycle Management (SCM)

Status: Implemented (core flows + OMS/DOM expansion: promise quotes, routing policies/plans, exception workflows).

Purpose

SCM owns sales transactions end-to-end: quotes, orders, fulfillment, returns, and tender handling. It records the sales truth for each logical facility and references sales-channel carts or worksheets as inputs.

Goals

  • Provide an OMS-grade sales lifecycle with full traceability and exceptions handling.
  • Enforce sellability through PMC and pricing through PPM for every sale.
  • Support omnichannel fulfillment across stores, warehouses, and partners.
  • Preserve the price and catalog snapshot at time of sale.

Non-goals

  • SCM does not define product truth (owned by PVM).
  • SCM does not define sellability (owned by PMC).
  • SCM does not define pricing rules (owned by PPM).

Scope and gating

  • All sales are org-scoped.
  • Operational actions are logical-facility scoped.
  • Channel context is required for quotes, orders, and returns.
  • Sales channels define carts and checkout experiences; SCM references those carts.

Request context checklist

  • Org: required for all sales operations.
  • Logical facility: required for quotes, orders, fulfillment, and returns.
  • Sales channel: required for all sales transactions and attribution.
  • Actor + role: required for approvals, overrides, and tender exceptions.
  • Cost-centre: optional attribution for billing and audit.

Core business entities and relationships

  • Sales order and order lines (facility + channel scoped).
  • Order lines support each, weight, and volume quantities with UoM conversions.
  • Quotes and quote lines (for wholesale or negotiated sales).
  • Fulfillment records: pick, pack, ship, delivery, pickup.
  • SLA targets per order/fulfillment (promise/ship/deliver/pickup-by timestamps).
  • Substitution policies per order/fulfillment (allow/mode/max/approval).
  • Returns/RMAs, exchanges, refunds, credits.
  • Tenders: gift cards, store credits, layaway, and other instruments.
  • Tender liability tracking for stored-value instruments (open/settled/voided) with settlement references.
  • Wholesale credit terms, invoices, credit-hold status, and payment terms captured on quotes/orders (credit snapshots recorded at order placement).
  • Backorder commitments with promise dates and fulfillment status.
  • Special order requests with approval and supplier confirmation status.
  • Exception records: short picks, substitutions, carrier issues, shipment cancellations.
  • EDI records for inbound/outbound transaction sets with partner references, status tracking, and payload references.

Lifecycle and status model (described in words)

  • Quotes move from draft to sent to accepted/expired.
  • Orders move from draft to pending approval (when required) to submitted and reserved/allocated/committed, then fulfilled or cancelled.
  • Fulfillments progress through pick, pack, ship/deliver, then complete.
  • Returns move from requested to authorized to received/inspected to resolved.
  • Cancellations can be full or partial and must retain audit reasons.
  • Order cancellations capture cancel_code, optional notes, and cancelled_at for audit.
  • Partial line cancellations record cancelled_qty + cancel_reason_code on the line and do not auto-cancel the order (use order/cancel for full cancellation).
  • Backorder cancellations capture cancel_code, optional notes, and cancelled_at for audit.
  • Special order cancellations capture cancel_code, optional notes, and cancelled_at for audit.
  • Backorders move from open -> promised -> partially fulfilled -> fulfilled or canceled/expired.
  • Special orders move from requested -> approved -> supplier confirmed -> inbound or drop-ship -> fulfilled/canceled.

End-to-end workflows

Happy paths

  • Quote -> acceptance -> order -> fulfillment -> completion.
  • Direct order -> reserve/allocate -> fulfillment -> completion.
  • Inbound EDI 850/855/856/810 captured and tied to sales or fulfillment records as needed. Note: EDI is a record/list surface (store and retrieve transaction metadata); SCM does not parse or generate EDI documents.
  • BOPIS and curbside flows with pickup windows and confirmations.
  • Gift card/store credit tender application, liability tracking, and settlement updates.
  • Backorders created for out-of-stock items with promise dates and customer notifications.
  • Special orders placed for procure-to-order items with deposits or terms as configured.

Exceptions and edge cases

  • Short picks and substitutions restricted to channel-sellable items.
  • Short picks record short_qty + reason codes per line during shipment exceptions.
  • Shipment exceptions are resolvable back to a valid operational state with resolution codes and audit notes.
  • Lost/damaged shipments with resolution paths.
  • Partial shipments and partial refunds with explicit reason codes.
  • No-show pickups with restock and refund rules.
  • Cross-channel returns with policy gating.
  • Returns disposition outcomes (restock, quarantine, refurb, scrap).
  • Fraud/abuse flags that trigger holds without blocking valid returns.
  • Backorder cancellations and expirations with reason codes and customer notification.
  • Special order cancellation policies that respect supplier commitments and restocking fees.

Configuration and defaults

  • The platform is enterprise-grade by default; applications may hide complexity via defaults.
  • Order promising rules: reserve vs allocate vs commit and backorder policies.
  • Promise holds use stage-specific TTL defaults (reserve/allocate/commit) with explicit overrides; releases record reason codes for audit. SCM propagates expires_at into ICS allocation/commit holds for reconciliation.
  • Allocation and promising can use configurable factors (demand, availability, lead times, thresholds, channel priority); recommendations are distinct from commitments.
  • Split fulfillment policies by facility and channel.
  • Routing policies and plan generation are exposed via /scm/routing/policy/* and /scm/routing/plan/*.
  • Return and exchange rules with eligibility windows and disposition outcomes.
  • Tender policies: gift card and store credit liability, settlement, and expiry rules.
  • Default behavior: gift card/store credit tenders settle liability at capture unless explicitly overridden; layaway remains open until settled or voided, and order cancellation auto-voids any open layaway liabilities by default.
  • Quote pricing uses PPM price resolution (configurable); SCM owns quote lifecycle.
  • SLA targets and substitution policies are set per channel with optional facility overrides; orders and fulfillments preserve the active policy snapshot.
  • Channel policy is managed via /scm/channel/policy/get + /scm/channel/policy/set and enforced on order + shipment create (defaults + guardrails).
  • Orders support org-scoped partial-match search for operational lookup with channel/status filters (search plane-backed).
  • Backorder policies: allow/disable by org/facility/channel/category, max backorder qty, max age, and partial-ship rules.
  • Special order policies: approval requirements, deposit rules, supplier confirmation windows, and cancellation windows.
  • Approval policies: required approver roles for discount overrides, special orders, and backorders; thresholds are % and $ values set per org with facility overrides; approvals capture approver, timestamp, and reason with optional no-self-approval rules.
  • Wholesale credit terms and credit-hold policies are enforced at order time.

Taxation and compliance (order-level)

  • Taxes are calculated per jurisdiction using global reference rules plus org overlays; SCM exposes /scm/tax/policy/get|list|set for versioned policy control.
  • Tax quotes (/scm/tax/quote) compute taxes with policy snapshot or passthrough connector, capture tax basis and liability trigger, and preserve certificate snapshots when present.
  • Tax finalization (/scm/tax/finalize) locks audit-grade records tied to the order/invoice/shipment reference, preserving the policy version and computed tax components.
  • Tax basis is explicit: tax-included or tax-added by channel and facility policy.
  • Tax-on-tax rules apply only where configured; ordering is preserved in audit.
  • Customer exemptions are honored when valid; certificates are recorded with expiry.
  • Luxury and excise taxes are applied based on product tax category and thresholds.
  • DTC exemptions and tax holidays apply only where jurisdiction rules allow.

Sales and merchandising analytics (best-practice expectations)

  • Sell-through, conversion rate, basket size, and repeat rate by channel and facility.
  • Margin, GMROI, and promo lift by category and time bucket.
  • Stockout and oversell rates, lost-sales estimates, and substitution rates.
  • Returns rate, reason distribution, and refund leakage by category and channel.
  • Price sensitivity and elasticity signals tied to PPM price history.
  • Assortment performance by taxonomy (division/department/category) and option (size/color).

BI and KPI expectations

  • GMV, net sales, units, and AOV by channel and facility.
  • Order cycle time, on-time ship rate, and partial fulfillment rate.
  • Cancellation, substitution, and backorder rates with reasons.
  • Return and exchange rates with refund leakage and reason codes.
  • Tender mix, chargeback rate, and liability deltas for credits/gift cards.

KPI readiness checklist

  • Order, fulfillment, and return timestamps captured with status transitions.
  • Price snapshot, discounts, and taxes captured per order line.
  • Channel, facility, and fulfillment method captured per order.
  • Return reasons and disposition outcomes captured.
  • Tender instruments and liabilities recorded with references.

Rebalancing and recalibration

  • Rebalance order routing across facilities to protect SLAs and reduce short picks.
  • Recalibrate substitution rules and allocation priorities by category and channel.
  • Adjust backorder release rules based on inbound supply and service targets.
  • Apply guardrails for max backorder exposure and substitution tolerance.

Omnichannel requirements

  • Support ship-to-home, ship-from-store, BOPIS, curbside, and delivery.
  • Support split fulfillment and multi-node allocation.
  • Support channel-specific fulfillment policies without breaking auditability.

Performance requirements

  • Checkout, reservation, and payment flows must be near-instant.
  • Fulfillment transitions must be near-instant for high-throughput operations.
  • Returns processing must be near-instant for store and warehouse operations.
  • Backorder release and promise-date updates must be near-instant after inventory changes.
  • Approval checks must not slow operational sales flows.

Operational resilience checklist

  • Operations are idempotent and retry-safe; duplicate submissions do not double-apply.
  • Event emission is non-blocking; operational actions do not wait on analytics pipelines.
  • Out-of-order events are tolerated; reconciliation uses timestamps and source references.
  • Exceptions generate actionable inbox items and can be retried or reversed with audit trails.
  • Long-running workflows are resumable with explicit state checkpoints.

Training and change management

  • Policy and workflow changes include training notes and operational checklists.
  • Critical changes use staged rollout with rollback guidance to reduce operational risk.
  • Support runbooks cover common disputes, returns, and fulfillment exceptions.

Downstream accounting and integration capture

  • Every sales event captures org, facility, channel, customer, SKU, qty, unit price, discounts, taxes, timestamps, and source references.
  • Orders preserve the catalog version and effective price snapshot at time of sale.
  • Catalog changes do not alter historical orders; orders remain self-contained.
  • Returns and credits carry reason codes and reversal references.
  • Events include optional cost-centre attribution for billing and audit.

Comments and inbox

  • Every sales record supports comments, threads, and attachments with revision history.
  • Exceptions and holds generate team inbox notifications.

Governance and roles

  • Facility-scoped operational roles (scm_* roles) with explicit facility grants for members.
  • Price overrides require explicit permissions and policy guardrails.
  • Submission approvals require designated approver roles (scm_discount_approve, scm_special_order_approve, scm_backorder_approve) when thresholds are exceeded, with optional no-self-approval rules.
  • Cost visibility is restricted to cost_view (facility) or finance_audit (org-wide).
  • Role grants can be permanent, time-bounded, or scheduled.

Relationships and data flow

  • Sales channels create carts and checkout context; SCM references those carts for orders.
  • PMC determines whether a line item is sellable for a channel.
  • PPM provides final price resolution for quotes and orders.
  • ICS provides availability and reservation outcomes.
  • CRM/Loyalty provides customer and tender balances.
  • Influencer/Affiliate receives attribution and earnings inputs.
  • Consignment sales respect ownership vs possession and trigger settlement events.
  • Special orders may trigger PCM procurement workflows or drop-ship flows as configured.

Example scenarios and acceptance criteria

Scenario 1: BOPIS with no-show

  • A customer places a BOPIS order for a store pickup window.
  • The order is reserved and picked; the customer does not arrive.
  • The order is cancelled and stock is restocked per policy.
  • Acceptance: inventory is restored, refund or credit is issued, and audit trails are complete.

Scenario 2: Split fulfillment with substitution

  • An order is split across a warehouse and a store.
  • One location short-picks and offers a substitution.
  • Substitution is restricted to channel-sellable items and is recorded.
  • Acceptance: substitutions are auditable and do not violate channel sellability.

Scenario 3: Wholesale quote to order

  • A wholesale quote is issued with negotiated terms.
  • The quote is accepted and converted to an order.
  • Price resolution uses PPM rules and is preserved on the order.
  • Acceptance: order retains the quote price snapshot and audit trace.

Scenario 4: Backorder lifecycle

  • An order is placed for an out-of-stock item and is backordered.
  • A promise date is set and the customer is notified.
  • Inventory arrives and the backorder is allocated and fulfilled.
  • Acceptance: backorder status and promise dates are tracked; fulfillment occurs on receipt; audit trail is complete.

Scenario 5: Special order with supplier confirmation

  • A customer places a special order for an item not normally stocked.
  • The order is approved and a supplier confirmation is obtained.
  • The item is received and fulfilled, or the order is canceled per policy.
  • Acceptance: special order status reflects supplier confirmation; deposits and cancellation rules are enforced; audit trail is complete.

Scenario 6: Discount override below price floor

  • A cashier applies a discount that would drop the price below the allowed floor.
  • Policy requires an approver with scm_discount_approve and cost visibility; the override is approved with a reason.
  • Acceptance: the order records the approver, policy version, and final price snapshot; the below-floor event is flagged for review.

Scenario 7: Cross-channel return with loyalty reversal

  • A customer buys online and returns the item at a store.
  • The return is processed, inventory is restocked at the return facility, and loyalty points are reversed.
  • Acceptance: the return links to the original order, the loyalty ledger is updated, and tax basis is preserved for audit.