Shopify order fulfilment software for fashion brands: routing, labels, manifests and returns

From the Shopify webhook to the parcel and back: orders routed by rule, labels bought in batches from EasyPost or YunExpress, manifests closed daily, and returns that end in a refund or store credit.

· 10 min read

In short: The KNKTD OS orders module is Shopify order fulfilment software for a fashion brand shipping from more than one place. Orders arrive by webhook, are routed to a location by rule, reserve stock per fulfilment order, get labels from EasyPost or YunExpress in batches, close on an end-of-day manifest, push tracking back to Shopify, and come back — when they come back — through a returns flow that ends in restocked units and a refund or store credit.

Shopify is very good at taking the order. What happens next — which warehouse ships it, which carrier, what the customs form says, what happens when the customer sends it back — is the part a growing brand ends up running across a 3PL portal, two carrier accounts, a returns app and a spreadsheet.

The orders module in KNKTD OS puts that in one place, on the same product and stock records the rest of the platform uses. This article follows one order through it.

The order arrives, and is routed by rule

Every Shopify order reaches KNKTD OS through a webhook within seconds, with its lines, customer, addresses, discounts, taxes and payment state. The address is validated on arrival: an address a carrier would reject is flagged on the order list, with a suggested correction and a one-click email to the customer.

Order routing rules decide where it ships from. A rule matches on destination country, market, shipping method or tags, and names a target location. Routing is whole-order first: the target location if it can ship everything; otherwise one other location that can; and a split across locations only when nothing else works. A brand with a warehouse in Canada and a factory stock point in China sends the Canadian customer's order from Canada and the Australian customer's order from China, without anyone deciding per order.

Stock is reserved per fulfilment order the moment the order is routed, so two orders never promise the same unit, and an order that cannot be fully covered is shown as oversold rather than quietly under-shipped.

Drafts, edits and manual orders

Not every order starts on the storefront. Draft orders are Shopify draft orders with stock reserved from the moment they are created, so a wholesale or influencer order does not sell a unit the website is about to sell. Manual orders get their tax calculated by Shopify, so the invoice matches what Shopify would have charged, and can be marked paid in batches.

Order edits — adding a line, removing a line, swapping a size — go through Shopify's order edit so the customer's order page stays truthful, and every edit records who made it and why. A replacement for a damaged item is added to the original order rather than created as a new one, so the customer's history has one order with one story.

Labels from any carrier

Labels are bought through EasyPost — DHL Express, FedEx, UPS, Canada Post, Australia Post, Royal Mail and the rest of its network — and directly through YunExpress for shipments leaving China, which hands parcels to last-mile carriers such as SF Express and GoFo Express. Carrier rules choose the service by destination, weight and value; packaging presets fill the parcel dimensions; and the incoterm comes from the rule or the connection default.

Customs data is already on the product: HS code, country of origin, customs description. The declared value is always in the destination currency, which is what the customs authority reads, so a parcel is not held because a value was declared in the wrong currency.

For a busy day, batches buy labels for many orders at once, several in parallel, and produce one combined PDF for the packing bench. An item that fails — an address a carrier will not take — is reported and skipped, never blocking the rest of the batch.

Manifests and tracking

Carriers that require an end-of-day manifest get one. Canada Post manifests are created from the day's shipments and can be generated manually or by a daily sweep that also closes any day that was missed.

Tracking numbers are pushed to the Shopify fulfilment exactly once, at the point a parcel is handed over, and a nightly sweep retries any push that failed. Delivery events update the shipment, so "where is my order" is answered from the shipments list.

Returns with refunds or store credit

A return begins in Shopify — from the customer's account, from a connected returns portal, or from the order in KNKTD OS — and is handled by a return routing rule: the brand issues a prepaid reverse label, or the customer buys their own and is reimbursed. Reverse labels are registered on the Shopify return as a reverse delivery, so the customer sees the label in the same place they see the order.

International returns carry a returned-goods customs declaration, so a parcel coming back to Canada or the United States is not charged duty a second time.

On receipt, units are restocked into a chosen bin — sellable, quality-control or damaged — and the refund is issued to the original payment methods, split across gateways when the order was paid that way, or as store credit. The customer receives a refund email from the brand's own sending domain, with the return label fee shown as its own line if one applies.

A connected returns portal is kept in step in both directions: portal-created returns are imported, and KNKTD OS's decision — completed, closed or declined — is written back.

What the orders module covers

JobIn KNKTD OS
Order intakeShopify webhooks; address validation; drafts with reserved stock; manual orders
RoutingRules by destination, market, method or tag; whole-order first, split last
StockReserved per fulfilment order; honest oversold state
EditsThrough Shopify order edit; audit trail; replacements on the original order
LabelsEasyPost network plus YunExpress (SF Express and GoFo last mile); rules; batches
CustomsHS code, origin, description; declared value in destination currency; incoterms
Manifests and trackingEnd-of-day manifests; tracking to Shopify exactly once; nightly retry
ReturnsIssue-label or customer-provided; reverse labels; restock to bin; refund or credit

Where it connects

Every line on an order is a product from the warehouse module, routed to a location whose bins hold it. Every shipment's cost feeds the shipping-costs report and every return's reason feeds the returns report in the analytics module. Sales velocity, which the planning module uses to forecast stockouts, is measured from these orders.

Pricing

Every plan includes the orders module with every carrier integration. Plans start at $100 USD per month for two team members; there is no per-label or per-order fee from KNKTD OS, only the carrier's own rate. There is a 14-day free trial. See current pricing.

For how this compares with a multichannel back office, read the Brightpearl comparison.

Bottom line

Fulfilment is where a fashion brand's customer either becomes a repeat customer or does not. The KNKTD OS orders module makes the routine order routine — routed, labelled, manifested and tracked without a decision — and makes the exception, the split, the failed address or the return, a recorded step on the same order rather than a message to the warehouse.

Frequently asked questions

Which carriers does KNKTD OS support?

Labels are bought through EasyPost, which covers DHL Express, FedEx, Canada Post, Australia Post, Royal Mail and many more, and directly through YunExpress for shipments leaving China, which hands parcels to last-mile carriers such as SF Express and GoFo Express. Carrier rules choose the service per destination, weight and value.

Can KNKTD OS split an order across two locations?

Yes, but only as a last resort. Routing tries the rule’s target location first, then a single other location that can ship the whole order, and splits only when no one location can. Stock is reserved per fulfilment order so two orders never promise the same unit.

How are returns handled?

A return routing rule decides whether the brand issues a prepaid reverse label or the customer buys their own. Received units restock into a chosen bin, the refund is issued to the original payment methods or as store credit, and the customer receives a refund email from the brand’s own domain.

Does tracking go back to Shopify?

Yes. Each shipment’s tracking number and carrier are pushed to the Shopify fulfilment exactly once, and a nightly sweep catches any push that failed, so the customer’s order page and notifications stay correct.