Order Fulfilment
Take an order through to the door — quote, sales order, stock allocation, picking and shipment in one connected flow, with procurement when you need it.
From quote to delivery — one flow, no spreadsheets.
As volume grows, the gap between order placed and order shipped is where things break. Zulu turns an accepted quote into a sales order, allocates stock, manages picking and tracks the shipment — all tied to inventory and invoicing.
Quote to sales order
Convert an accepted quote or a B2B account order into a sales order in one step, with the lines, pricing and customer carried across.
Allocate & pick
Allocate live stock to each order and manage picking, with real-time inventory across multiple locations so you never oversell.
Shipments & dispatch
Pack, ship and track dispatch from warehouse to doorstep, with bulk actions to update, copy and process orders in fewer clicks.
Procurement built in
Raise the purchase orders you need to fulfil demand, with forex support for international trade and customer order history for fast reordering.
A clean dashboard for your team — an endpoint for your agent.
Order Fulfilment ties Quoting, Inventory, Purchasing and Invoicing into one sell-to-ship loop — one connected system, with Xero syncing invoices and payments. Your agent can now create sales orders on the API — for a client, a web checkout or a cash customer — manage their lines, approve them into fulfilment and read every order with allocated, shipped and invoiced quantities per line. Allocating stock, triggering shipments and invoicing an order through the API are on the roadmap, and we never claim an endpoint before it ships.
- Create a sales order for a client, a web checkout or a cash customer
- Add and update line items, set due date, channel and external reference
- Approve a draft order so it enters fulfilment
- List and search orders by status, channel, client, due date or last change
- Read full order detail — allocated, shipped and invoiced quantities per line, payments, source quote
- Allocate stock and pick
- Trigger shipments
- Invoice an order
Talk to Order Fulfilment in code.
# Take a web checkout into fulfilment — approved on the spot, priced from the catalogue POST /order { "client": "9f2a…", "channel": "web", "external_reference": "36679", "shipping_address": "adr_c4d…", "date_due": "2026-11-04", "lines": [ { "sku": "PUMP-200", "quantity": 3 } ], "authorise": true } → 201 Created { "data": { "token": "so_91b…", "reference": "SO-000118", "status": "pending", "channel": "web", "fulfilment": { "quantity_ordered": 3, "quantity_allocated": 0, "quantity_shipped": 0, "quantity_invoiced": 0 } } }
# Customer adds one more — update the line, then push the due date out PUT /order/so_91b…/line/ln_2f7… { "quantity": 4 } → 200 OK { "data": { "lines": [ { "sku": "PUMP-200", "quantity": 4, "quantity_allocated": 0, "line_total": 1600 } ] } } PUT /order/so_91b… { "date_due": "2026-11-06", "note_internal": "Customer added a unit — confirm stock before picking" } → 200 OK { "data": { "reference": "SO-000118", "status": "pending", "date_due": "2026-11-06" } }
# Approved orders, soonest due first — with how much is allocated and shipped GET /order?status=pending&sort=due_date_asc&limit=10 → 200 { "data": { "orders": [ { "reference": "SO-000118", "channel": "web", "date_due": "2026-11-06", "total": 1840, "fulfilment": { "quantity_ordered": 4, "quantity_allocated": 4, "quantity_shipped": 0 } } ] } } # Find a web order by the shop's own number, or poll only what changed since your last run GET /order?external_reference=36679 GET /order?updated_since=2026-10-27T18:00:00Z
Who gets the most from Order Fulfilment.
Distributors & wholesalers
Take a B2B order, allocate stock across locations, raise any POs needed and ship — every step tracked.
Manufacturers
Track sales orders against production and keep stock replenished so demand and supply stay in step.
B2B retailers
Fulfil online and account orders from the same stock as the shop floor, with custom pricing per customer.
“Super easy to use — our coaches handle sales before and after class, and it's boosted our revenue.”
It all runs as one system.
Every Zulu module is part of the same connected platform — that's what makes it more than the sum of its features.
One connected database
Enter a customer, product or job once and it flows everywhere — quotes, invoices, stock, jobs and reports. No double-entry, no exporting between tools.
Grows with you
Switch on more modules as you scale — same login, same data, one simple bill. You only run the parts of Zulu your business actually needs.
One API for all of it
Every module speaks the same documented API — plus an MCP server and CLI — so your team and your AI agent work from one source of truth, with no glue code in between.
Run Order Fulfilment on Zulu.
One login, one flat monthly bill, and API access in every plan. Start free — no credit card, 30-day money-back.
