When a customer places an order, you're notified instantly and the order moves through a state machine you control from the dashboard. This page walks through the full flow — what the customer sees, what you do, and how the order ends up at the customer's door.
🎬 Video — order flow walkthrough
What the customer does
Lands on your storefront (
{your-slug}.dzbuild.appor your custom domain).Picks a product, picks variants if any, and adds to cart.
Proceeds to checkout, fills in name, phone, wilaya and address.
Picks a delivery mode and confirms.
Sees a "thank you" page with their order number.
That's it from the customer's side. They don't need an account to place an order.
Three delivery modes are possible at checkout:
Home delivery — always available.
Stop desk — only in the wilayas where you enabled desk delivery in your shipping rates. The searchable list of the courier's actual desks appears only if the Stop Desk add-on is active and the linked courier has synced its desk data; otherwise it degrades to plain desk delivery at your desk price.
Pickup from your own shop — requires the Pickup from Store add-on and at least one configured pickup point.
📝 Note — The order may take a few seconds to appear
Checkout confirms to the buyer immediately and the order is recorded right after. An order is never silently lost — but it can take a few seconds before it shows in your orders list.
The order lifecycle
pending → confirmed → processing → shipped → delivered
↓
cancelled (any non-terminal state)
↑
returned (after delivered)
Status | What it means | Who triggers it |
| Order placed, not yet confirmed | Customer at checkout |
| You called the customer and verified | You (dashboard) |
| You're packing the order, or you sent it to a courier | You (dashboard), or automatically when you send the order to a courier |
| The courier has it in transit | The delivery-tracking sync, reading it back from the courier |
| Customer received it | The delivery-tracking sync, or you |
| Order cancelled before delivery | You or customer |
| Customer returned after delivery | Courier API or you |
ℹ️ Info — When stock moves
Stock is committed the first time an order reaches any of confirmed, processing, shipped or delivered — never at pending, so you don't lose inventory to fake or spam orders. Note the consequence: sending a still-pending order straight to a courier moves it to processing, which deducts stock too. Stock is restored when an order becomes cancelled or returned. However many times you flip an order's status back and forth, its stock is deducted at most once and restored at most once — you can never double-count it.
What you do
1. You get notified
When an order comes in:
Live toast — in any dashboard tab you have open, instantly, no refresh needed.
Telegram — to one or more connected accounts. This is the channel most Algerian merchants actually use; connect it from
/dashboard/notifications.Discord — same page, if you run your operations in a Discord server.
Email — to the store's notification email.
Browser / app push — Web Push in the browser, and native push in the Android app.
Webhook — via the Webhooks add-on. See Webhooks.
⚠️ Warning — Turning email off also kills push
Browser push and app push are currently tied to the email toggle. If you switch email notifications off at /dashboard/notifications, browser and app push stop silently too.
2. Open the order
Dashboard → Orders (/dashboard/orders) → click the new order.
3. Call-confirm
Most Algerian stores run a call-confirm flow: pending orders sit until you call the customer, verify they actually meant to order, then move the order to confirmed. This is the single most important habit to build — it cuts return rates dramatically.
For a CRM-style call-confirm UI, install the Advanced Orders addon and use /dashboard/orders/advanced. It is also the only place with a real per-order history: it records sub-statuses (no answer, busy, postponed, fake, …), logs every call attempt, and keeps a full change history.
4. Send to courier
First, the prerequisite: link a courier account with its API credentials at Dashboard → Link couriers (/dashboard/link-shipping). Then:
Open the order — either from the preview popup in the orders list, or from the full order page.
Click send to delivery and pick the linked courier.
The courier API returns a tracking number and a shipping label, both stored on the order. You can print the courier's label / QR straight from the order afterwards.
The order's status moves from
pendingorconfirmedtoprocessing— notshipped.
The orders list also lets you tick several orders and send them to a courier in one bulk action.
DZBuild sends no SMS to your customer at any point. If the buyer receives one, it comes from the courier's own system.
50+ couriers are supported — Yalidine, Yalitec, Guepex, Easy & Speed, Maystro, ZR Express (old and new), Abex Express, NOEST Express, Zimou Express, Colivraison, Ecom Delivery, DHD Livraison, Conexlog, MSM Go and more — and any courier running on the Ecotrack platform can be added through the "custom Ecotrack" tile. See Couriers overview.
5. Watch it through to delivered
Most courier integrations sync the delivery status back automatically: DZBuild reads the shipment state from the courier at regular intervals and flips the order to shipped and later delivered on its own, usually within minutes of the courier updating it. For couriers without automatic sync, change the status by hand once the courier confirms delivery to you — by phone, through their portal, or by their own message to you.
Each order also shows where the buyer came from, so you can see which channel produced it.
When an order never arrives
If a customer says they ordered but nothing shows in your dashboard, there are four things that can block an order before it reaches you:
The checkout captcha — if the Captcha Protection add-on is active, checkout runs an automatic verification check and a buyer who submits before it finishes gets nothing through.
The fraud / ban gate — buyers you have banned are refused before an order is ever created.
The per-IP order limit — if you installed the Limit Orders per IP add-on, repeated orders from one IP are blocked.
The Free-plan cap — a Free store stops accepting orders after 30 orders in a calendar month, and the storefront closes to all visitors until the next month or until you subscribe.
What's next