Order Status Sync

Order status sync pushes fulfillment updates from VARIO ERP to the external platform. When an order is shipped, partially fulfilled, or cancelled in the ERP, the platform needs to be updated so the customer sees the correct status and tracking information.

Trigger

Order status sync is triggered when document statuses change in the ERP. This happens when:

  • A delivery note (shipping document) is created from an order

  • A tracking number is assigned

  • An order is marked as shipped

  • An order is cancelled or partially cancelled

The exact webhook event depends on the document type and status transition.

app.apiServer.post('/webhooks/order-status-change', async (req, res) =>
{
  res.status(200).send({ success: true });

  const { entityId } = req.body; // document ID
  await addToQueue('order-status.sync', entityId);
});

Fetching Fulfillment Data

When processing an order status update, fetch the relevant data from the ERP:

Key data to extract:

Field
Purpose

Order reference / External order ID

Identify the order on the platform

Status

Current fulfillment status

Tracking number

Shipment tracking code

Carrier

Shipping carrier (DHL, UPS, etc.)

Shipped items

Which line items were included in this shipment

Shipped date

When the shipment was dispatched

Mapping Order Status

ERP document statuses don't map directly to platform order statuses. Create a mapping between them:

ERP Status
Typical Platform Status

Order confirmed

Processing

Partially shipped

Partially fulfilled

Fully shipped

Fulfilled / Shipped

Cancelled

Cancelled

Returned

Refunded

The exact mapping depends on the platform. Store it in your mapping configurationarrow-up-right.

Pushing to the Platform

Full Fulfillment

When all items in an order have been shipped:

Partial Fulfillment

When only some items are shipped (split shipments):

Cancellation

When an order is cancelled in the ERP:

Finding the External Order ID

To update an order on the platform, you need the platform's order ID. If you stored it during order import (as an EAV custom field or in the import data), retrieve it:

Marketplace-Specific Considerations

Marketplaces often have strict requirements for order status updates:

  • Acknowledgment — Some marketplaces require you to acknowledge orders before you can fulfill them

  • Shipping confirmation deadline — Marketplaces may penalize sellers who don't confirm shipping within a certain timeframe

  • Carrier validation — Marketplaces may only accept specific carrier names or codes

  • Tracking URL format — Some marketplaces require full tracking URLs, not just tracking numbers

Handle these platform-specific requirements in your transform layer.

Last updated

Was this helpful?