sf-orders
Before Writing Code
Fetch live docs before implementing order management features.
- Web-search: "Salesforce Commerce Cloud SCAPI Shopper Orders API 2026"
- Web-search: "Salesforce B2C Commerce order lifecycle status transitions 2026"
- Web-search: "Salesforce B2B Commerce Order OrderItem approval workflows 2026"
- Web-search: "Salesforce Order Management OMS documentation 2026"
- Web-fetch the SCAPI Shopper Orders reference for current schemas
- Web-fetch the Salesforce Order object reference for B2B fields
Conceptual Architecture
B2C Commerce Order Lifecycle
Basket (cart)
-> Order Created (created)
-> open (confirmed, ready for fulfillment)
-> shipped -> completed
-> partially_shipped -> open
-> cancelled
-> failed (payment declined)
-> replaced (exchange)
B2C Order Status Definitions:
| Status |
Meaning |
| created |
Order object created, payment authorized |
| new / open |
Confirmed, ready for fulfillment (synonymous; varies by config) |
| completed |
All items fulfilled and delivered |
| cancelled |
Cancelled by customer or admin |
| replaced |
Replaced with new order (e.g., exchange) |
| failed |
Creation failed (payment or inventory) |
Key B2C Order Objects:
- Basket: Temporary cart object; expires after inactivity
- Order: Created from basket upon payment success; auto-generated order number
- OrderItem: Line item with product, quantity, price
- PaymentInstrument: Payment method attached to order
- ShippingOrder / Shipment: Fulfillment tracking per delivery group
B2C Order Confirmation:
- Confirmation page displays order summary, number, delivery estimate
- Confirmation email triggered via Business Manager templates or ESP (SendGrid, Mailchimp)
- Supports dynamic tokens for order number, customer name, line items
B2C Order Export for Fulfillment:
- XML export via scheduled job or real-time webhook to OMS/ERP
- Fulfillment system acknowledges receipt, sends back tracking info
- Supports partial shipment status updates per line item
B2B Commerce Order Lifecycle
WebCart (persists across sessions)
-> Checkout Flow (multi-step)
-> Order (Draft)
-> Activated (submitted)
-> Approval Workflow (optional)
-> Fulfillment / Order Splits
-> completed
B2C vs B2B Order Model Differences:
| Aspect |
B2C (SFCC) |
B2B (Lightning) |
| Cart object |
Basket (temporary) |
WebCart (persistent) |
| Order object |
SFCC Order (proprietary) |
Salesforce Order (standard) |
| Line item |
OrderItem (SFCC) |
OrderItem (standard sObject) |
| Initial status |
created -> open |
Draft -> Activated |
| Approval |
Not built-in |
Flow / Process Builder approvals |
| Payment |
Cartridge-based processors |
Apex PaymentGatewayAdapter |
| Fulfillment tracking |
XML export + status sync |
OrderDeliveryGroup sObject |
| Reorder |
Clone items to new basket |
Quick reorder button, bulk CSV upload |
| Payment terms |
Credit card at checkout |
PO, net terms, credit limits |
| Order splits |
Not native |
Parent-child order pattern via OrderSummary |
B2B Approval Workflow Concepts:
- Approval criteria: order total threshold, product restrictions, buyer role
- Routing via Flow or Process Builder to designated approver
- Actions: approve, reject, request changes, auto-escalate on timeout
B2B Order Splits:
- Multi-location fulfillment splits order across warehouses
- Parent order spawns child orders per location
- OrderSummary provides unified tracking view
- OrderDeliveryGroup tracks shipments per split
Salesforce Order Management (OMS)
Optional paid add-on for unified order orchestration across B2C and B2B.
| OMS Object |
Purpose |
| OrderSummary |
Aggregate order (unifies B2C/B2B) |
| FulfillmentOrder |
Per-warehouse fulfillment view |
| Order Broker |
Routing engine for optimal location |
OMS Capabilities:
- Omnichannel fulfillment: ship-from-store, BOPIS
- Distributed Order Management (DOM) routing
- Unified returns processing
- Service Console for agents
When to use OMS: Complex multi-location fulfillment, high order volume, omnichannel requirements, high return complexity. Evaluate ROI vs. native order management.
Order Events
| Platform |
Key Events |
| B2C |
Order Created, Status Changed, Exported, Cancelled |
| B2B |
Order Submitted, Approved, Rejected, Shipped (via Platform Events / CDC) |
| OMS |
OrderSummary Created, FulfillmentOrder Created, Shipment Confirmed, Return Initiated |
Code Examples
// Pattern: B2C order status check
// Fetch live docs for SCAPI Shopper Orders endpoints
// GET /orders/{orderNo} -> check order.status
// Pattern: B2B approval trigger
// Fetch live docs for Process Builder / Flow order approvals
// Order.Status changes from Draft -> Activated -> triggers approval
Best Practices
Order Creation
- Validate basket/cart before conversion (inventory, pricing, address)
- Capture payment authorization synchronously; handle failures with retry logic
- Use idempotent operations to prevent duplicate orders
Fulfillment Integration
- Export orders to fulfillment system within minutes of creation
- Use idempotent export to avoid duplicate orders in downstream systems
- Support partial shipment status updates per line item
B2B-Specific
- Persist carts across sessions; support multiple named carts per account
- Configure approval thresholds per buyer group or account
- Enforce credit limits at checkout before order submission
Monitoring
- Track order creation rate, export failures, and fulfillment SLA in real-time
- Alert on stuck orders (no status change within expected window)
- Monitor refund processing time and payment authorization success rates
Fetch the SCAPI Shopper Orders reference and Salesforce Order object docs for exact schemas and field names before implementing.
1---2name: sf-orders3description: Manage Salesforce Commerce orders — B2C (SCAPI order objects, status lifecycle, order confirmation, returns) and B2B (Order object, OrderItem, splits, approval workflows, fulfillment). Use when implementing order management across either platform.4---56# sf-orders78## Before Writing Code910**Fetch live docs before implementing order management features.**11121. Web-search: "Salesforce Commerce Cloud SCAPI Shopper Orders API 2026"132. Web-search: "Salesforce B2C Commerce order lifecycle status transitions 2026"143. Web-search: "Salesforce B2B Commerce Order OrderItem approval workflows 2026"154. Web-search: "Salesforce Order Management OMS documentation 2026"165. Web-fetch the SCAPI Shopper Orders reference for current schemas176. Web-fetch the Salesforce Order object reference for B2B fields1819## Conceptual Architecture2021### B2C Commerce Order Lifecycle2223```24Basket (cart)25 -> Order Created (created)26 -> open (confirmed, ready for fulfillment)27 -> shipped -> completed28 -> partially_shipped -> open29 -> cancelled30 -> failed (payment declined)31 -> replaced (exchange)32```3334**B2C Order Status Definitions:**3536| Status | Meaning |37|---|---|38| created | Order object created, payment authorized |39| new / open | Confirmed, ready for fulfillment (synonymous; varies by config) |40| completed | All items fulfilled and delivered |41| cancelled | Cancelled by customer or admin |42| replaced | Replaced with new order (e.g., exchange) |43| failed | Creation failed (payment or inventory) |4445**Key B2C Order Objects:**4647- **Basket**: Temporary cart object; expires after inactivity48- **Order**: Created from basket upon payment success; auto-generated order number49- **OrderItem**: Line item with product, quantity, price50- **PaymentInstrument**: Payment method attached to order51- **ShippingOrder / Shipment**: Fulfillment tracking per delivery group5253**B2C Order Confirmation:**54- Confirmation page displays order summary, number, delivery estimate55- Confirmation email triggered via Business Manager templates or ESP (SendGrid, Mailchimp)56- Supports dynamic tokens for order number, customer name, line items5758**B2C Order Export for Fulfillment:**59- XML export via scheduled job or real-time webhook to OMS/ERP60- Fulfillment system acknowledges receipt, sends back tracking info61- Supports partial shipment status updates per line item6263### B2B Commerce Order Lifecycle6465```66WebCart (persists across sessions)67 -> Checkout Flow (multi-step)68 -> Order (Draft)69 -> Activated (submitted)70 -> Approval Workflow (optional)71 -> Fulfillment / Order Splits72 -> completed73```7475**B2C vs B2B Order Model Differences:**7677| Aspect | B2C (SFCC) | B2B (Lightning) |78|---|---|---|79| Cart object | Basket (temporary) | WebCart (persistent) |80| Order object | SFCC Order (proprietary) | Salesforce Order (standard) |81| Line item | OrderItem (SFCC) | OrderItem (standard sObject) |82| Initial status | created -> open | Draft -> Activated |83| Approval | Not built-in | Flow / Process Builder approvals |84| Payment | Cartridge-based processors | Apex PaymentGatewayAdapter |85| Fulfillment tracking | XML export + status sync | OrderDeliveryGroup sObject |86| Reorder | Clone items to new basket | Quick reorder button, bulk CSV upload |87| Payment terms | Credit card at checkout | PO, net terms, credit limits |88| Order splits | Not native | Parent-child order pattern via OrderSummary |8990**B2B Approval Workflow Concepts:**91- Approval criteria: order total threshold, product restrictions, buyer role92- Routing via Flow or Process Builder to designated approver93- Actions: approve, reject, request changes, auto-escalate on timeout9495**B2B Order Splits:**96- Multi-location fulfillment splits order across warehouses97- Parent order spawns child orders per location98- OrderSummary provides unified tracking view99- OrderDeliveryGroup tracks shipments per split100101### Salesforce Order Management (OMS)102103Optional paid add-on for unified order orchestration across B2C and B2B.104105| OMS Object | Purpose |106|---|---|107| OrderSummary | Aggregate order (unifies B2C/B2B) |108| FulfillmentOrder | Per-warehouse fulfillment view |109| Order Broker | Routing engine for optimal location |110111**OMS Capabilities:**112- Omnichannel fulfillment: ship-from-store, BOPIS113- Distributed Order Management (DOM) routing114- Unified returns processing115- Service Console for agents116117**When to use OMS:** Complex multi-location fulfillment, high order volume, omnichannel requirements, high return complexity. Evaluate ROI vs. native order management.118119### Order Events120121| Platform | Key Events |122|---|---|123| B2C | Order Created, Status Changed, Exported, Cancelled |124| B2B | Order Submitted, Approved, Rejected, Shipped (via Platform Events / CDC) |125| OMS | OrderSummary Created, FulfillmentOrder Created, Shipment Confirmed, Return Initiated |126127## Code Examples128129```javascript130// Pattern: B2C order status check131// Fetch live docs for SCAPI Shopper Orders endpoints132// GET /orders/{orderNo} -> check order.status133```134135```apex136// Pattern: B2B approval trigger137// Fetch live docs for Process Builder / Flow order approvals138// Order.Status changes from Draft -> Activated -> triggers approval139```140141## Best Practices142143### Order Creation144- Validate basket/cart before conversion (inventory, pricing, address)145- Capture payment authorization synchronously; handle failures with retry logic146- Use idempotent operations to prevent duplicate orders147148### Fulfillment Integration149- Export orders to fulfillment system within minutes of creation150- Use idempotent export to avoid duplicate orders in downstream systems151- Support partial shipment status updates per line item152153### B2B-Specific154- Persist carts across sessions; support multiple named carts per account155- Configure approval thresholds per buyer group or account156- Enforce credit limits at checkout before order submission157158### Monitoring159- Track order creation rate, export failures, and fulfillment SLA in real-time160- Alert on stuck orders (no status change within expected window)161- Monitor refund processing time and payment authorization success rates162163Fetch the SCAPI Shopper Orders reference and Salesforce Order object docs for exact schemas and field names before implementing.