Orders and promotions
Ecommerce is easy to ship as a mall that can take an order. When a campaign opens, stock oversells, discounts compute wrong, payment succeeds with no order, refunds cannot go back the original path, and service and warehouse explode together. We fix the ledger in the middle first: SKU stock is the only fact; order holds, unpaid timeout releases, ship decrements, return restocks—the state machine is written, and hand-editing stock is not a routine. Items, prices, freight templates, and campaign rules are configurable, but compute order is nailed in the design—spend-and-save, coupon, member price, flash sale, who first—so reconciling is not three stories.
Multi-channel stock
Multi-channel is daily work, not a bonus. If own mini program, video-account, and marketplace shops do not share orders and stock, the warehouse ships three worlds. We pull channel orders into one fulfillment queue, share stock or quota by channel, and return after-sales on the original order and channel. Payments match channel, merchant ID, and refund; reconciling differences become a work queue instead of three Excel files every month.
Fulfillment speed
Fulfillment decides repurchase more than the homepage. Customers remember when it shipped, where the parcel is, and how a shortage is paid—not an animation. Order state is visible to warehouse, courier, and customer; stockouts, splits, and late ships have a reason and a notice. Campaign pages can change weekly; fulfillment rules cannot change every Monday. Service needs discount detail, payment flow, and ship history on the order—not a screenshot of a chat.
Service sees the order
Service tools must show discount detail, payment flow, ship history, and after-sales progress on the order instead of asking the guest for chat screenshots. Pre-sale, deposit expansion, add-on purchase, and gift stockouts need extra states beyond ordinary in-stock or the warehouse will pick goods that do not exist. Invoices, cross-border tax, and COD, if in scope, compute at order time so finance does not stop a parcel after it ships.
Load-test then launch
Before go-live we pressure real campaign rules: concurrent orders, duplicate payments, partial refunds, coupon over-issue. Acceptance is those paths, not a mall feature checklist. The storefront must be fast, but fast sits on correct stock and order state. An ecommerce system that works is one where ops can configure campaigns, the warehouse ships from one ledger, and finance matches payments daily—all three at once.