DZBuild handles the shape of Algerian shipping out of the box: per-wilaya rates, home delivery vs desk pickup, courier-specific desks, weight surcharges, and a free-shipping toggle. This page walks through the shipping settings, the courier integrations, and the Custom Product Shipping addon for per-product overrides.
Video
Two pages, not one
In the sidebar, Shipping settings opens onto two separate pages:
Shipping prices —
/dashboard/shipping: the free-shipping toggle, the free-shipping threshold card, the wilaya-mode toggle, Apply default rates, Sync rates from provider, the bulk-update strip, and the per-wilaya rate table.Connect a courier —
/dashboard/link-shipping: the courier tile grid, the credentials modal, Test connection, the default-courier flag, and unlinking.
Prices live on the first page; couriers on the second. They are independent — you can price and sell without linking any courier at all.
Setting your rates
Per-wilaya pricing
Each wilaya has one row with three controls (five inputs):
an enable switch + price for home delivery,
an enable switch + price for stop desk,
a delivery duration in days (customers see this).
Turning a switch off removes that delivery option for that wilaya at checkout.
⚠️ Warning
Changes are not saved automatically. As soon as you edit anything, a save bar appears at the bottom of the page showing how many rows changed; press Save (or Discard). Leaving the page without saving loses the edits.
The table is paginated at 10 rows and has a wilaya search box plus an "active only" filter — that's why rows sometimes look missing. The free-shipping threshold has its own Save button on its own card and is saved independently of the rate table.
Fill the table fast
You don't type 58 rows by hand. Every new store already starts with default rates pre-filled, and two buttons refill the whole table:
Apply default rates (badged recommended) — a median grid computed across 7 major Algerian providers (DHD, Anderson Delivery, E48hr Livraison, Packers, OM Express, ZR Express, Zimou). For example Adrar at 1150 DZD home / 800 desk, Alger at 475 / 325.
Sync rates from provider — calls a linked courier's API with your credentials and imports its price grid into your table.
Both buttons overwrite existing prices for every wilaya. A provider sync writes into your own store-wide table; it does not create a per-courier price set.
Bulk update
The bulk strip above the table applies one home price, one desk price and one delivery duration to all wilayas at once — the fastest way to set a floor ("600 home / 400 desk / 3 days everywhere") before adjusting the south by hand.
Wilaya system
DZBuild supports two wilaya lists:
58 wilayas — the default, marked Recommended, because that is what the couriers' own APIs use.
69 wilayas — adds the newer delegated wilayas, for merchants who deliver themselves.
The 69-wilaya button is disabled while a courier is linked, and linking a courier switches the store back to 58 automatically (you're warned when this happens).
Free shipping
The two free-shipping options are mutually exclusive: switching on store-wide free shipping greys out the threshold card entirely.
Free shipping (whole store) — every order ships free. Use sparingly, usually for a launch campaign or a 24-hour promo.
Free shipping above a threshold — type a threshold (for example
5000) and save it with the button on that card. The threshold is compared against the merchandise subtotal (shipping excluded) and is inclusive: an order exactly equal to the threshold ships free. A threshold of0means the feature is off, not "everything free".
A special offer can also carry its own free-shipping flag, which zeroes shipping regardless of the threshold. Customers below the threshold see a progress bar on the checkout page and in the fast-checkout forms (not on every theme's product page).
The threshold is one of the highest-leverage cart-size boosters — it nudges customers to add a second item.
Heavy orders
A weight surcharge is added automatically on top of your wilaya rate:
The first 5 kg of the order are included in your rate.
Every extra kilogram adds 50 DZD.
In the 13 deep-south wilayas (Adrar, Béchar, Tamanrasset, El Bayadh, Illizi, Tindouf, Naâma, Timimoun, Bordj Badji Mokhtar, Béni Abbès, In Salah, In Guezzam, Djanet) the extra rate is 100 DZD/kg — but only when the store's default courier is Yalidine, Yalitec or Guepex. A store with no default courier set always gets the 50 DZD rate.
It is computed once per order from the cart's total weight, not per line, and is skipped entirely when the order already ships free or is a pickup.
Home delivery, Stop Desk, and Pickup
Algerian couriers offer two delivery types, and DZBuild adds a third of its own:
Home delivery — courier brings the parcel to the customer's door. Higher price.
Stop desk — customer picks up from a courier's office. Cheaper, faster, fewer no-shows.
You can offer both and let the customer choose at checkout. To enable a structured desk picker (with desk name, address, phone), install Stop Desk Selector.
A third option, Pickup from Store, is available as an addon on the Unlimited plan: define your pickup points, and customers in those wilayas get a collect-in-store option. Shipping is always 0 for those orders. It isn't available on the digital theme.
Linking a courier
Open /dashboard/link-shipping. DZBuild ships 50 courier tiles and integrates directly with each one, so you can send orders from one screen and get tracking back automatically:
Family | Couriers |
Yalidine family | Yalidine ( |
Standalone | Noest ( |
Ecotrack-powered | 37 named couriers, each with its own tile — DHD, Conexlog, MSM Go, Rex Livraison, WorldExpress, Med Express, Colireli, PDEX, Anderson Delivery, OM Express, Packers, … |
Anything else on Ecotrack | Custom Ecotrack — paste the |
ZR Express is a single merged tile; credentials issued on the old platform are still accepted. Ecotrack is not a courier you link directly — it is the shared API behind those 37 tenant tiles. Procolis likewise is the shared API behind ZR Express and Abex Express, not a tile of its own.
To link a courier:
Sign up directly with the courier and get your API credentials (each courier issues these from their own dashboard).
Click the courier's tile on
/dashboard/link-shipping.Fill the credential fields — the modal shows the right labels for the courier you picked. Roughly: the 37 Ecotrack-powered couriers, plus Maystro, Zimou and Elogistia, take one token; Yalidine, Yalitec, Guepex and Easy & Speed take an API ID + Token; ZR Express and Abex Express take two keys; Noest takes an API Token + User GUID; Colivraison and Ecom Delivery take two keys; Custom Ecotrack additionally needs a display name and the
httpsAPI URL your courier gave you.Save, then run Test connection — a green badge means the credentials are valid.
Stored keys are masked when you reopen a tile. Leaving a credential field blank keeps the existing key rather than wiping it.
A separate per-courier page in the docs covers each integration's specifics. Start with the Couriers overview.
Express vs Économique
Guepex offers an Économique tier that you select when you link it. Yalidine, Yalitec and Easy & Speed reject that parameter outright (the order would fail to send), which is why the selector only appears for Guepex — everyone else always ships Express.
Default courier
You can link as many couriers as you like. Mark one as default: it is preselected in the per-order send dropdown (shown there with a ⭐) and in the bulk-send bar. You can still switch courier per order or per batch.
Refresh provider data
DZBuild keeps its own copy of each linked courier's wilayas, communes and desk list, refreshed automatically. That copy is what feeds the checkout desk picker and the "no desk in this wilaya" send block. Just linked a courier and don't want to wait? Click Refresh provider data. Each tile shows its synced coverage — number of desks across how many wilayas, and when it last synced.
After linking, orders get a Send to delivery button — see Orders.
Per-product shipping (Custom Product Shipping addon)
When you have a heavy item (a bicycle, a fridge) that doesn't fit your standard rate, the Custom Product Shipping addon lets you set per-product shipping rules:
Flat rate per product (overrides the store rate when this product is in the cart).
Per-wilaya pricing for the product.
Free shipping on a specific product.
Highest-price-wins for mixed carts (so the heavier item dictates).
Activate from /dashboard/addons (requires the Pro plan). See the Custom Product Shipping doc for the full setup.
Delivery labels
Print a label from the printer icon on any order.
If the order has already been sent to an Ecotrack-powered courier or Elogistia and has a tracking number, DZBuild fetches that courier's own PDF bordereau. For every other courier — and for orders not yet dispatched — DZBuild prints its own sheet:
store name and phone,
customer name, phone and address,
the item list with quantities and line prices,
subtotal / shipping / total (the total is the COD amount),
the tracking number when there is one,
a QR code that reopens the order in your dashboard.
The DZBuild sheet does not carry your store logo. On mobile — and on desktop when the popup is blocked — it renders inline instead of opening a print window.
Couriers cap the product-description field they accept (100 to 255 characters depending on the courier), so long carts are shortened automatically on the courier's own label: variant suffixes are dropped first, then items collapse to a "+N" count, and in the worst case the field just reads x8 ORD-…. If you need specific wording on the label, keep product names short.
For per-product label customisation (rename items, hide variants, add custom text), install Custom Delivery Label.
What customers see at checkout
Customer enters wilaya + city in the checkout form.
Storefront shows:
Shipping to {wilaya}: {home_price} DZDor a desk picker.Total updates live as they pick home / desk.
On submit the order stores the delivery type (
home,deskorpickup), the shipping cost, wilaya, commune and address — plus the desk id and desk name when the Stop Desk Selector addon picked a specific desk. Those are the fields handed to the courier when you send the order.
The shipping price is always recalculated from your rate table when the order is submitted, so a value tampered with in the browser is ignored.
What happens after you send
DZBuild re-reads every dispatched order's status from its courier automatically and updates the order, so delivered and returned orders move on their own — a change on the courier's side can take a little while to show up. An unrecognised courier status is left alone rather than guessed. A shipment the courier reports as "not found" is never auto-cancelled — DZBuild treats it as a transient error, retries later, and leaves the order exactly as it is. Only an explicit cancelled status from the courier moves the order to cancelled.
Frequently asked
Q: A customer says delivery to their wilaya is wrong — why? A: Open /dashboard/shipping, find that wilaya's row, check the home / desk numbers — and remember to press Save if you change them. The number in that table is what the storefront shows, plus any weight surcharge.
Q: Can I have different rates for different couriers? A: No. Your shipping prices are stored once per wilaya for the whole store, and the customer is charged from that table no matter which courier you later hand the order to. You can import one courier's price grid into your table with Sync rates from provider, but the imported prices then apply store-wide. For different prices on specific items, use Custom Product Shipping.
Q: Free shipping above X DZD — does it apply to home + desk? A: Yes, both. The total compared against the threshold is the merchandise subtotal (excluding shipping itself), and the comparison is inclusive.
Q: "Send to delivery" says there is no desk in this wilaya. A: That's DZBuild's own check against the courier's synced desk list, not a courier rejection. Either the courier genuinely has no desk there, or the synced data is stale — click Refresh provider data, or change the order to home delivery.
Tips
Save before you leave the rates page. The save bar at the bottom is the only thing that persists your edits.
Check southern wilaya rates regularly — couriers raise these without much notice. Part of the south is already handled for you by the automatic weight surcharge, so don't double-charge for it.
Set the free-shipping threshold ~30% above your average order. It nudges 1-item buyers to add a second.
Keep desk prices ~200 DZD below home prices. Customers will pick desk when the gap is visible.
Run Test connection after linking a courier — green is your green light to send orders.
Don't link a courier you haven't signed up with. API credentials must come from the courier's own dashboard, not a guess.
Use Custom Product Shipping for heavy items — store rates always undercharge for fridges and TVs.
What's next