TR Start free
HomeBlog › Guide

Multichannel order management: how to run Shopify, WooCommerce and Amazon orders from one screen

O Ohana360 Team • September 7, 2026 • 11 min read
Illustration of a multichannel order screen showing Shopify, WooCommerce and Amazon orders in a single list

Nine in the morning. Fieldstone Home is a team of six selling in four places: a Shopify store, a WooCommerce site they never retired, Amazon, and a marketplace they added last spring. (Demo data.) The two people in the warehouse start every day the same way: four tabs, four panels, four separate checks for new orders, everything copied into one spreadsheet, and a packing list printed from that spreadsheet. At 60 orders a day it takes 40 minutes. That is 20 hours a month, two and a half working weeks a year.

The 40 minutes are not the real cost. The real cost is that none of the four panels shows you the whole picture. Which shipment has not moved in three days, which order went out without a tracking number, which product runs out this evening: no panel answers those, because each one only knows its own channel. Multichannel order management is the layer that fills the gap. It does not replace the seller panels, it puts your working desk on top of them.

This guide covers how to build that desk: what each channel actually delivers, why the order number is the only matching key that survives contact with reality, how to keep shipping and stock honest, and, plainly, what a system like this does not do.

How the day disappears across channels

Work does not grow in a straight line as you add channels, it multiplies. Each platform brings its own numbering, its own status names and its own screen. The diagram below is what one desk looks like instead.

SALES CHANNELS Shopify WooCommerce Amazon ikas Trendyol Your website One order desk Matched on order number • synced every 15 minutes • notification on every new order Today: 47 orders • 3 channels STATUS PATH New order landed Preparing being packed Shipped tracking added Delivered job closed Two statuses off the path: Returned Cancelled THREE RULES OF THE DESK (DEMO DATA) An order never lands twice: the key is the order number, and marketplace numbers are written with a prefix (SHP-, WC-, IKS-) On an existing record only status, payment status and tracking number are updated; the note you typed is kept Stock comes out of one pool: if the short code (slug) on the line matches a product card, the quantity drops by itself

Before merging those six boxes, look at the cost of not merging them. A team selling on four platforms repeats five losses, and none of them is incompetence. Each one comes from the absence of a single list.

All five share one root: the order never became one record. No record, no list. No list, no discipline.

Six questions to ask before wiring an integration

Every integration claims to connect every platform. The difference shows up after it connects. Six questions to settle first:

#QuestionWhy it matters
1Is the sync one way or two way?A system that only pulls orders and one that also writes status and stock back produce completely different processes. Either can be right; starting without knowing is not.
2How often does it sync?A once-a-day pull adds a day to your dispatch time. A sync measured in minutes lets an order ship the day it arrives.
3What happens when the same order arrives twice?Without a matching key every sync creates duplicates. The key should be the order number, prefixed per platform so numbers cannot collide.
4Is the note I typed preserved?If the sync blindly overwrites the record, your "customer asked to change the delivery address" note is erased every 15 minutes.
5Where does stock come from?Which field joins an order line to a product card? If the rule is vague, stock never moves and nobody notices.
6Where do my API keys live?An API key is the door to your seller account. Stored on the server or shipped to the browser? Masked on screen or readable?

Do not connect anything before you have written answers, especially to the first one. If you assume a two-way sync and get a one-way one, your team will mark orders as shipped in the CRM while the platform never receives a shipment confirmation. On most marketplaces that is a performance penalty, not just a mix-up.

The only matching key that works: the order number

The whole multichannel setup rests on one field: the order number. The rule is that when the same number arrives a second time, no new record is created and the existing one is updated. That single sentence solves duplicates, double picking and wrong stock movements at once.

The second rule is prefixing, so numbers cannot collide. Order 40917 on one platform and order 40917 on another are not the same order; written as SHP-40917 and WC-40917 they never can be confused.

The third rule is to keep updates narrow. When a sync touches an existing record it should only change what the platform can legitimately know: status, payment status, tracking number. Customer, address, line items and above all the note a human typed stay untouched. Otherwise the system deletes human knowledge on every run.

💡 Get the channel split right from day one. Marketplace orders should carry the marketplace name as their channel, while orders from your own storefronts (Shopify, WooCommerce, ikas) belong on a Website channel with the source recorded in the note. If the channel field is wrong, every revenue-by-channel report built on it is wrong too.

The order desk: what belongs on one screen

Building one list is not the same as building the right list. A good order desk shows three things before you even read the order number: which channel it came from, what state it is in, and what it is worth. Here is what that screen looks like.

Orders Demo data • 7 September 2026 • 3 channels 47 orders SHP-10442 Anna Weber Shopify Shipped 62 EUR WC-20713 Marc Dubois WooCommerce Preparing 45 EUR AMZ-77120 Sofia Rossi Amazon New 109 EUR SHP-10438 Tom Bakker Shopify Delivered 32 EUR IKS-30581 Lena Nowak ikas Shipped 173 EUR WC-20698 Jack Ellis WooCommerce Returned 56 EUR TODAY BY CHANNEL Shopify 23 WooCommerce 16 Amazon and ikas 8 ORDERS NEEDING ATTENTION WC-20713 urgent Awaiting payment SHP-10401 3 days Not shipped for 3 days WC-20698 no tracking Shipped, no tracking number LOW STOCK Cotton bedding set (level 10) 6 left Velvet cushion cover (level 15) 12 left Winter blanket (level 8) 0 left

The three cards on the right matter as much as the list. The channel split shows the shape of the day. The orders needing attention card is the one that sets your morning: awaiting payment, not shipped for two days, and shipped without a tracking number. The low-stock card tells you at nine what would otherwise surprise you at six.

For that desk to work, the order record needs a fixed set of fields:

Field groupWhat is in itWhat it is for
IdentityExternal order number, internal record number, order dateMatching, search, and quoting a reference back to the customer
CustomerName, email, phone, city, district, full addressShipping details and contact; recognising the same buyer whatever channel they used
Line itemsOne per line, as a short code and a quantity (for example bedding-set x 2)Matching to the product card, calculating amounts and moving stock
AmountsSubtotal, shipping fee, grand totalRevenue by channel and average basket
StatusOrder status and payment statusPicking order and payment risk, tracked separately
ShippingCarrier, tracking number, shipped and delivered datesAnswering "where is my parcel" from the record
ChannelSales channel and a source noteThe channel scorecard and your ad budget decision

One detail is worth insisting on: order status and payment status are two separate fields. A cash-on-delivery order can be shipped and still unpaid. Any design that squeezes both into one field makes payment risk invisible.

The status path and shipping discipline

Keep the path short. Four steps are enough: New, Preparing, Shipped, Delivered, with Returned and Cancelled sitting off the path. Seven-stage workflows look more precise on paper and go unfilled in practice.

StatusWhen it is setWhose jobWhat happens if it is skipped
NewThe moment the order lands (automatic)The system-
PreparingWhen picking startsWarehouseTwo people pick the same parcel
ShippedWhen the parcel is handed over, together with the tracking numberWarehouseNo answer when the customer asks, and a refund request starts
DeliveredWhen delivery is confirmedWarehouse or the syncThe open-orders list bloats and the attention list stops meaning anything
ReturnedWhen the goods come backCustomer serviceStock is never added back and the inventory stays wrong
CancelledWhen an order drops before dispatchCustomer serviceRevenue reports are overstated

On the shipping side there is one rule: the tracking number goes in at the same moment as the status. The two minutes you save by saying "we will add it later" come back as a customer complaint three days on. In a well-built system the two fields are already tied together: the ship action changes the status and drops your cursor straight into the tracking number field.

💡 Set the carrier as a default rather than choosing it per order. If the new order form opens with a default carrier, default channel and default shipping fee already filled, 60 orders a day is 180 fewer clicks.

Stock: one pool, one matching rule

In multichannel selling stock is held in one pool, not per channel. Eight bedding sets in the warehouse means four platforms can sell eight in total. Whether that pool behaves depends on a single condition: the short code on the order line has to match the short code on the product card exactly.

That short code (the slug) is the key between your storefronts and the CRM. bedding-set and bedding_set are not the same product, and if they do not match, stock simply never moves. Nobody notices, because the mismatch raises no error; it quietly does nothing. That is why the most critical step of a rollout is aligning your product codes across channels.

With the pool set up correctly, three things run on their own: quantities drop when an order is created, they come back when it moves to Returned or Cancelled, and an alert is raised when the quantity reaches the low-stock level you set. Set that level from the lead time: 5 for something that arrives in two days, 40 for something that takes three weeks. One threshold applied to the whole catalogue turns alerts into noise.

The channel scorecard: which one actually pays?

Revenue by channel on its own is misleading. Your biggest channel by revenue can be your smallest after commission and returns. Four numbers, looked at monthly, are enough:

  1. Orders per channel. Where is the volume?
  2. Revenue and average basket per channel. Are volume and value in the same place? A channel with a low average basket can lose money once shipping is counted.
  3. Return rate per channel. Returned orders as a share of that channel's total. A rate that doubles is usually telling you something about a listing description or a photo.
  4. Commission and shipping load per channel. This number comes from the platform, not the CRM, but no decision is safe without it sitting next to the other three.

Put the four side by side and the decision writes itself: where to run a promotion, where to revisit pricing, and where to stop selling.

The first 7 days: a setup plan

The most common way this migration fails is connecting every channel on the same day. Start with one, let it settle, then add the second. One hour a day for seven days is enough.

DayWhat to doWhat you have at the end of it
1Import the product catalogue from CSV: name, short code, price, stock quantity, low-stock levelThe catalogue stock movements will rest on
2Align those short codes with the product codes on every channel and fix the mismatchesOrder lines that genuinely connect to product cards
3Connect one channel only, the busiest one, and verify it with Connect and TestAn order list that fills itself, and a real check of the field mapping
4Review the first day of synced orders by hand: are amounts, addresses, line items and channel correct?One verification pass before you start trusting the automation
5Add the remaining channels one at a time; set the order defaults (carrier, channel, shipping fee)A complete single list and fast manual order entry
6Build the reports: revenue by channel, orders by status, orders by monthA dashboard worth opening once a week
7Run a 30-minute rehearsal: take one order from New to Delivered, process a return, follow a low-stock alertA working desk and a team that knows it

On day eight, the spreadsheet closes. Running both in parallel helps in week one and hurts in week two: nobody writes things down twice.

How it works in Ohana360

Commerce360 is that desk. Here is what it does, without inflation, and what it does not do, without hiding it.

Want to see the flow in 80 seconds?

Which reports to build

An honest boundary first: Commerce360 does not ship with ready-made reports or dashboards. The report builder lists Orders (Commerce360) and Products (Commerce360) as objects, and you build the reports yourself, drop them on a dashboard and add an email subscription if you want one. The reportable fields on the order object are: order number, record number, customer name, city, sales channel, status, payment status, carrier, subtotal, shipping fee, total and order date. Date fields group by day, week, calendar month, quarter and year.

#ReportObjectGroup byMeasure / filter
1Revenue by channelOrdersSales channelSum of total
2Orders by channelOrdersSales channelRecord count
3Open orders by statusOrdersStatusRecord count, filter: Status ≠ Delivered
4Orders awaiting paymentOrdersSales channelSum of total, filter: Payment status = Pending
5Revenue by monthOrdersOrder date (calendar month)Sum of total
6Orders by cityOrdersCityRecord count
7Shipments by carrierOrdersCarrierRecord count, filter: Status = Shipped
8Products by stock stateProductsStockRecord count

A second honest boundary: average basket and return rate are not fields in the report builder. You get the average basket by dividing the channel revenue by the channel count, and the return rate by putting two reports side by side. Revenue per product is not reportable at all, because line items live as text lines on the order record; you follow product-level movement from the recent orders list on the product card instead.

If you are moving the next link in the chain, invoicing and collections, into the same place, the invoice and payment tracking guide picks up where this one stops. To make dispatch, delivery and return updates leave your system instead of your memory, see the automated customer follow-up guide; if your data still lives in a spreadsheet, start with the Excel customer tracking guide. Current numbers are on the pricing page, and you can request a demo to try it with your own data.

Frequently asked questions

What does multichannel order management software actually do?
It collects orders from every channel into one list and turns each one into a numbered record. That keeps three questions answerable all day: which parcels get packed now, which shipments are moving without a tracking number, and which orders are still waiting on payment. It does not replace the seller panels, it replaces the habit of opening five of them. In Ohana360 that list is the Orders tab in Commerce360, and an order record carries the customer, address, line items, amounts, channel, carrier and tracking number.
Can I manage Shopify and Amazon orders in one place?
Yes. Nine platforms connect directly: Shopify, WooCommerce, ikas, Amazon (beta), Trendyol, Hepsiburada (beta), n11, Pazarama and Ciceksepeti. You create read-only credentials in each platform (for Shopify an Admin API token with read_orders, for WooCommerce a REST key with Read permission) and enter them once under App Settings. Connect and Test makes a real request before saving. From then on the server pulls recent orders every 15 minutes into the same list.
Does it push status or stock back to the marketplace?
No, and it is worth being clear about it. The sync is one way: from the platform into Ohana360. Marking an order as shipped or typing a tracking number does not write anything back to Shopify, Amazon or a marketplace, and stock levels are never pushed out either. You keep doing the platform-side actions (shipment confirmation, invoice upload, return approval) in the seller panel; the record in Ohana360 picks up the resulting status on the next sync. Design your process around that split rather than against it.
How often do orders sync, and what about the gap?
Every 15 minutes, on the server, whether or not anyone has the browser open. Orders you enter by hand appear instantly. If you need something sooner there is a Sync Now button on the connection row. The matching key is the order number, written with a per-provider prefix so numbers from two platforms cannot collide, which means the same order never lands twice however often the sync runs.
Do I need a separate integration for my own website?
Only if your site is custom built. WooCommerce, Shopify and ikas have ready connectors, and their orders arrive on the Website channel with the source recorded in the note. For anything custom you use the webhook: your store sends a POST request authorized with a Bearer API key when an order is created, and the same order number arriving twice updates the record instead of duplicating it. Any platform that can send a webhook works.
Does it print shipping labels or buy postage?
No. The carrier is a picklist and the tracking number is a text field. Ohana360 does not connect to carrier systems, does not generate barcodes or labels, and does not create shipments. What it gives you instead is the discipline around them: the Ship Order button moves the status to Shipped and puts your cursor straight in the tracking number field, and anything shipped without a tracking number is pushed to the top of the orders needing attention list on the home page.

One list instead of four panels

Shopify, WooCommerce, Amazon and your own site in the same screen. Unshipped orders flag themselves, and low stock tells you in the morning rather than at six in the evening.

Read next