Exodus Salesforce Docs
Workflow Guides

Fulfillment Runtime Lifecycle

End-to-end 3PL lifecycle from sales order eligibility through runtime requests, provider sync, fulfillment operations, inventory mirror, tracking, and recovery

Use this guide when a Sales Order is expected to flow to a 3PL provider or when fulfillment/tracking state is unclear.

Lifecycle Map

Eligibility

Sales Orders and lines must be eligible before runtime sync. Eligibility can depend on item setup, warehouse routing, provider config, payment/approval state, and line details.

Check:

CheckWhy it matters
Sales Order statusPrevents sending incomplete/canceled orders.
Line item setupEnsures provider SKU/source refs exist.
Warehouse/provider configDetermines where the order is sent.
AddressProvider needs usable ship-to details.
Payment/approval statePrevents fulfillment before business rules allow it.
Provider runtime windowRuntime may intentionally pause outside operating windows.

Runtime Request

ThreePL_Runtime_Request__c is the queue/work item. Runtime services create or process requests for sales order sync, purchase order sync, inventory polling, health sweeps, and provider work.

If work appears stuck, check runtime request status before manually editing the Sales Order.

Runtime Decision Flow

Provider Sync

Provider sync uses provider-specific REST classes and services:

AreaClasses
Sales order dispatch/updateFulfillmentOrderDispatchService, FulfillmentOrderUpdateService, REST wrappers.
Product catalogProductCatalogService, ProductCatalogRest.
Purchase ordersPurchaseOrderRest, CustomPurchaseOrderRest.
Inventory mirrorThreePLInventoryMirrorService, LotInventoryRest, WarehouseInfoRest.
TrackingShipmentTrackingRest, SalesOrderTrackingController, TrackingEmailService.
RuntimeThreePLRuntimeService, queueables, schedulers, request service, sync state service.

Sync State and Transactions

Use ThreePL_Record_Sync_State__c and ThreePL_Transaction__c as technical evidence.

RecordTells you
Sync StateWhich Salesforce record maps to which provider record, status, and source ref.
TransactionEndpoint, request/response, success/failure, provider status, and timing.
Sync HistoryFulfillment sync and update history visible to operations.

Do not rely only on a visible Sales Order status when diagnosing a provider issue. Provider state and sync history can be more precise.

Fulfillment Operations

Fulfillment_Operation__c, Shipped_Line__c, packed-line services, and fulfillment timeline components show operational progress. They help answer:

  1. Was the order sent?
  2. Did the provider accept it?
  3. Did the provider pack or fulfill lines?
  4. Are line quantities complete?
  5. Is tracking present?
  6. Did any provider update fail?

Inventory Mirror

Provider-owned inventory is mirrored into Salesforce. It should not be manually adjusted like internal warehouse stock.

Mirror rows can include provider quantity, source system, provider snapshot time, mirror status, and related warehouse/item context. If inventory looks wrong, check provider sync status and last runtime activity before making internal adjustments.

Tracking

Tracking can come from provider writeback or manual action. Use Sales_Order_Tracking__c, addTrackingAction, orderShipmentTracker, and tracking email actions.

Before sending customer tracking email:

  1. Confirm carrier/tracking values.
  2. Confirm the tracking belongs to the intended order/shipment.
  3. Confirm line fulfillment is not misleading.
  4. Send from Salesforce action so email history is retained.

Recovery

SymptomRecovery path
Runtime request failedInspect transaction error, provider config, and retry policy.
Provider accepted order but Salesforce looks staleRe-poll provider or use runtime refresh path.
Tracking omitted by provider updateRe-pull provider state and confirm Sales Order Tracking rows.
Inventory mirror staleCheck inventory poll schedule, provider config, and last success/error.
Warehouse handoff caused routing confusionReview provider transition and successor config.

Manual status edits should be the last resort because they can hide provider or sync evidence.

Last updated on

On this page