Customer orders in Deposco

The Deposco connector creates shipping requests in Deposco as sales orders by default. For clients on Deposco's Enterprise Order Management (EOM) subscription, the connector can instead create them as customer orders — Deposco's order type for a sale (B2C, D2C, or B2B) that goes through Deposco's order management layer for validation, inventory checks, and facility selection before fulfillment. 

This article explains the difference between the two order types, how to switch an integration to customer orders, and how fulfillments and lot numbers behave in customer order mode.


How it works

The Deposco connector has two distinct order types, with separate API endpoints for each:

  • A sales order is a direct instruction to the warehouse: pick, pack, and ship these items, and report the fulfillment back. The app sets the order number and the ship-from facility.
  • A customer order is a record of a sale that enters Deposco's Enterprise Order Management. Deposco validates the order, checks inventory, decides which facility fulfills it, and creates one or more sales orders behind it. The customer order can be split across facilities, so a single customer order may resolve to multiple sales orders. Deposco assigns the customer order number; the app is identified by the external order number it supplies.

Whether a shipping request becomes a sales order or a customer order is controlled by the shipments mapping, not by a connector setting. The default mapping contains both the sales order fields and a full set of customerOrder rules, and ends with a rule named customerOrder OFF-switch: disable this rule to create Customer Orders instead of Sales Orders (requires Deposco EOM). This rule is enabled by default and clears the customer order section, so shipping requests go out as sales orders. Disabling it activates customer order mode for the integration.

When customer order mode is active:

  1. The app validates the mapped payload before sending. Missing required fields — including the trading partner and primary sales channel codes — fail immediately with a message pointing to the mapping rule that needs attention.
  2. The app creates the customer order through Deposco's asynchronous API: Deposco accepts the request, and the app polls for the result within the same run.
  3. The app fetches the created order and evaluates its status. A healthy status marks the shipment as sent to fulfillment. A Review, Rejected, Voided, or Canceled status marks the shipment as failed, with Deposco's validation notices (for example, a missing required field or a potential duplicate order) included in the error message. If the order is later fixed or accepted in Deposco, the retry cycle picks the shipment up again and marks it as sent.

Because Deposco's order management decides which facility fulfills a customer order, the mapping does not send a ship-from facility. The standard setup is a single default managed location in the app that aggregates inventory across the vendor's warehouses; fulfillments always report the actual fulfilling location.


Before you begin

  • Confirm with Deposco that the account has the Enterprise Order Management subscription. Customer order API calls fail on accounts without it.
  • Confirm the Deposco app used for the connection includes the Customer Orders read and write scope. The standard connection instructions in the Connect Deposco v2 dialog already list it among the required scopes, so a connection set up per those instructions is ready for customer orders.
  • Obtain the Deposco trading partner code and primary sales channel code for the client. There is no Deposco API to enumerate sales channels, so get these codes directly from Deposco or the client.
  • Confirm the Business Unit (Company Code) is set in the connector's connection settings. The value is case-sensitive and typically entered in uppercase. The mapping fills the customer order's business unit from this value automatically.

How to enable customer orders

  1. Open the integration's shipments mapping and create a custom mapping for this integration.
  2. Locate the rule named customerOrder OFF-switch: disable this rule to create Customer Orders instead of Sales Orders (requires Deposco EOM) at the end of the mapping.
  3. Disable the rule.
  4. Locate the rule customerOrder.tradingPartner (set your Deposco trading partner code) and enter the trading partner code in the rule's code value.
  5. Locate the rule customerOrder.primarySalesChannel (set your Deposco sales channel code; may also be derived per order, e.g. from sourcedoc fields) and enter the sales channel code. If the client routes orders from multiple channels, this rule can instead derive the code per order — for example, from the order's sourcedoc fields.
  6. Save the mapping.

No other changes are needed. Fulfillments for customer orders work out of the box through the connector's existing fulfillments flow — enable the fulfillments flow as usual and the app handles the rest.

To switch an integration back to sales orders, re-enable the OFF-switch rule. Shipments already in flight as customer orders are still resolved correctly: the fulfillment flow checks for a sales order first and falls back to the customer order lookup.


Fulfillments for customer orders

Fulfillment tracking traverses Deposco's order structure automatically: the app resolves the customer order by its external order number, follows its fulfillment orders to the underlying sales orders, and ingests shipments and cartons the same way as in sales order mode.

  • A customer order split across facilities produces fulfillments from each underlying sales order.
  • One canceled sales order inside a split customer order does not cancel the shipment — the customer order's own status controls cancellation. A customer order in Canceled, Rejected, or Voided status cancels the shipment in the app.
  • A customer order in Review status is skipped, not canceled, since it may still be resolved manually in Deposco.

Lot numbers

Lot numbers are not supported on outbound orders in either mode — you cannot instruct Deposco to ship a specific lot for an order. Deposco allocates lots itself, and the actually shipped lot number is reported back to the app on the fulfillment line items, from where it flows to downstream systems.


Limitations

  • Customer orders require Deposco's Enterprise Order Management subscription.
  • The external order number sent to Deposco must not contain a period (.). The default mapping replaces periods with automatically; the app also rejects any payload where one slips through.
  • Canceling a shipment in the app does not send a cancellation to Deposco. Cancel the customer order in Deposco directly; the app picks up the canceled status through the fulfillment flow.

Troubleshooting

  • A shipment fails with a message naming tradingPartner or primarySalesChannel and pointing to the shipments mapping
    The OFF-switch rule was disabled but the trading partner or sales channel code was left empty in the custom mapping. Open the mapping, enter the code in the corresponding customerOrder rule, and let the shipment retry.
  • A shipment fails with "Customer order … is Review" or "is Rejected" and a list of notices
    Deposco's order management flagged the order — the notices name the exact problem, such as a missing required field or a potential duplicate order. Fix the order data (or resolve the order manually in Deposco); once the order is accepted, the retry cycle marks the shipment as sent.
  • Fulfillments stopped arriving after switching modes
    Check the mode the shipment was actually created in. The fulfillment flow looks up the sales order first and falls back to the customer order, so mode flips are handled — but an account without the EOM license fails the customer order lookup, and the shipment is reported as not found.
  • A customer order shows a different order number in Deposco than in the app
    This is expected. Deposco assigns its own number to customer orders; the app's shipment ID is stored as Deposco's external order number, which is how the app finds the order.

Need Help?

If you need additional assistance:

  • Use Ask Pippen, our AI agent, located at the top of the app page.
  • Submit a support request with as much relevant detail as possible. Learn how to submit a request.
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.