Skip to main content

Shipping

Per-wilaya rates, free-shipping thresholds, courier integrations, home vs desk delivery, and per-product overrides.

Written by Support

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 at /dashboard/shipping: the free-shipping toggle, the free-shipping threshold card, the Desk delivery by commune switch, 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 shows 10 rows per page by default (the Show selector under it switches to 20, 30 or all) and has a wilaya search box plus an "active only" filter, which is 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.

Apply default rates and Sync rates from provider

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. The button only shows once you have linked a courier that supports it (MDM Express and Near Delivery do not), with a picker when several do. For Yalidine, Yalitec, Guepex, Easy & Speed, Economiqua and We Can Services, set your store's wilaya in the store settings first.

Both buttons overwrite existing prices. Apply default rates rewrites all 58 wilayas and also resets every delivery duration to 3 days; a provider sync rewrites only the wilayas the courier returns a price for and keeps your delivery durations. 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, or only to the rows you ticked in the table's first column; a field you leave empty is not changed. It is 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, with a red notice telling you to unlink the courier first. Linking a courier does not move a store that is already in 69-wilaya mode back to 58, so press the 58 wilayas button yourself before you start sending orders: the courier APIs only know the 58.

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 of 0 means the feature is off, not "everything free": every order is still charged from your rate table. Clear the field instead of saving a 0, because with 0 saved the classic checkout page can still show a free-shipping badge while the customer is charged shipping normally.

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.

The surcharge is the courier's own rule and DZBuild applies it on the courier's behalf, so it cannot be switched off store-wide. Two ways around it on a given product: leave that product's weight field empty, or give the product free shipping with Custom Product Shipping.

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.

Once a courier is linked, the Desk delivery by commune switch (on by default) decides where the desk option shows. When it is on, customers see it only in communes where your courier has a desk. When it is off, they see it in every commune of the wilaya and collect the parcel from the courier's desk in that wilaya. With no courier linked, your wilaya rows decide. While Stop Desk Selector is active the switch does not apply, because the customer picks the desk from the list. A change shows on your storefront within 5 minutes.

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 102 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 (yalidine), Yalitec (yalitec), Guepex (guepex), Easy & Speed (easyandspeed), Economiqua (economiqua), We Can Services (wecan)

Standalone

Noest (noest), Maystro (maystro), ZR Express (zrexpressnew), Abex Express (abexexpress), Zimou Express (zimou), Colivraison (colivraison), Ecom Delivery (ecomdelivery), Elogistia (elogistia), Leopard Express (leopardexpress), Colilog Express (colilog), Flash Delivery (flashdelivery), Near Delivery (neardelivery), MDM Express (mdm)

Ecotrack-powered

82 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 https API URL your courier gave you

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 82 tenant tiles. Procolis likewise is the shared API behind Abex Express, Leopard Express, Colilog Express and Flash Delivery (and behind old-platform ZR Express credentials), not a tile of its own.

To link a courier:

  1. Sign up directly with the courier and get your API credentials (each courier issues these from their own dashboard).

  2. Click the courier's tile on /dashboard/link-shipping.

  3. Fill the credential fields; the modal shows the right labels for the courier you picked. Roughly: the 82 Ecotrack-powered couriers, plus Maystro, Zimou, Elogistia and MDM Express, take one token or key; Yalidine, Yalitec, Guepex, Easy & Speed, Economiqua and We Can Services take an API ID + Token; ZR Express takes an API Key + Tenant ID; Abex Express, Leopard Express, Colilog Express and Flash Delivery take a Token + Key; Noest takes an API Token + User GUID; Near Delivery takes an API Key + API Secret; Colivraison and Ecom Delivery take two keys; Custom Ecotrack also needs a display name and the https API URL your courier gave you.

  4. 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 first product name is cut short and followed by that count. 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

  1. Customer enters wilaya + city in the checkout form.

  2. Storefront shows: Shipping to {wilaya}: {home_price} DZD or a desk picker.

  3. Total updates live as they pick home / desk.

  4. On submit the order stores the delivery type (home, desk or pickup), 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. When the courier reports a return, the order turns returned but its items go back to stock only once the parcel is back with you: when the courier reports that you received it, when you press Return received on the order (or tick several orders and use Returns received on the orders list), or 15 days after the return started. 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

Did this answer your question?