Kliovo Shop
Stop Manually Assigning Couriers. Let Smart Routing Do It.
Smart Courier Routing software in Kliovo Shop automatically matches every order to the right courier using 4 layers of logic — city, weight, payment method, and order value. Set the rules once. Every order follows them.
How Smart Courier Routing works
Order arrives
The routing engine first checks if a courier was manually assigned at order level. If yes, that always wins. Manual overrides are never overridden by rules.
Rules matching
Evaluates your configured routing rules in priority order. First match wins: city, payment method, weight range, order value range, store. You define the priority.
City mapping fallback
If no rule matches, checks your city-to-courier direct map — for example Karachi to BlueEx, Lahore to TCS, Peshawar to Leopards. Covers geography without complex rules.
Store default
If no map matches, uses the store's default courier. Nothing goes unrouted. Every order has a courier assigned before it moves to packing.
Everything included
Four routing layers, seven couriers, and a testing tool — all in one configuration screen.
Multi-condition routing rules
Create rules based on city, payment method (COD/prepaid), weight range, order value range, or store. Mix and match conditions with AND logic to express any scenario.
4-layer fallback chain
Explicit assignment → rule match → city map → store default. Nothing falls through. Every order has a courier before it leaves the processing queue.
Priority ordering
Rules are evaluated in the order you set. First matching rule wins. Drag to reorder rules as your strategy evolves — no code, no support ticket needed.
Manual override always wins
Any courier manually assigned at the order level takes precedence over all rules. Operators can always override the engine for exceptional cases without disabling routing.
Store-level default courier
Each store (WooCommerce, Shopify, Daraz) has an independently configurable default courier. Multi-brand setups stay fully separated with no rule cross-contamination.
Rule testing before going live
Enter a hypothetical order (city, COD, weight, value) and see which courier would be selected and which rule triggered — before activating the rule in production.
Built for teams that...
The COD brand routing COD vs prepaid differently
The pain: Before routing rules, all orders went to TCS. Prepaid customers were waiting 3 days longer because TCS does not prioritize them in pickup queues.
The fix: Now prepaid goes to PostEx, COD to TCS — delivery time improved by 1.5 days on average. One rule, set once, permanent improvement for every prepaid order.
The multi-city D2C brand
The pain: We ship to 40 cities. Some couriers are better in Karachi, others in interior Sindh. Deciding per order was impossible — people made mistakes constantly.
The fix: Routing rules let us map this once — every order gets the right courier without anyone thinking about it. Lahore, Quetta, interior Punjab — all automatic.
The high-weight shipper
The pain: Our average order is 2.5kg. Leopards has the best rates above 2kg. Before routing rules, we were overpaying on lighter orders going to Leopards by default.
The fix: Orders under 1kg go to Swyft, above 2kg to Leopards. Courier cost down 12%. The rule pays for itself every single week in logistics savings.
The numbers
4
Routing layers evaluated per order in sequence
Manual → Rule → City Map → Default. Nothing ever goes unrouted.
0
Manual courier assignments needed per day
Once rules are configured, the engine handles every order automatically.
7
Pakistani couriers in the routing pool
TCS, Leopards, Trax, BlueEx, PostEx, Swyft, and Sonic — all supported.
Common use cases
COD vs prepaid routing
Route all COD orders to TCS (widest network, best for unconfirmed deliveries) and all prepaid orders to Swyft (faster, better tracking for committed customers). Set in one rule, applies forever. No operator decision required on every order that comes in.
City-based routing
Map Karachi to BlueEx, Lahore to Leopards, interior Punjab to Trax. Customers in each city get the courier with the best delivery performance for that geography — automatically, without your ops team memorizing courier coverage zones or making case-by-case calls.
Weight-based cost optimization
Light orders (under 500g) go to Swyft, heavy orders (over 2kg) go to Leopards where bulk rates are better. Reduces average courier cost without touching individual orders or training your team on courier pricing tables that change quarterly.
Frequently asked questions
What happens if a routing rule's courier booking fails?
You will get an alert in your notification queue. The order stays unbooked and you can manually assign an alternative. The routing engine does not silently fall back to a different courier — failed bookings are flagged clearly so nothing ships without a valid CN number.
Can I route by store, not just by courier?
Yes. Each store has an independently configurable default courier. If you run multiple brands — one on WooCommerce, one on Shopify — each can have a different default courier and separate routing rules that only apply to that store's orders.
How do I set up city-to-courier mapping for 200+ cities?
Kliovo includes a pre-built Pakistan city list with common courier coverage zones. You configure the major cities and the rest fall to your store default — you do not need to map every city in the country to get meaningful routing coverage from day one.
Can routing rules have exceptions?
Yes — you can add a negative condition such as 'not Karachi' or 'not COD' to any rule. Rules support AND logic between conditions, so you can express complex scenarios like 'COD + Lahore + under 1kg → Swyft' with a single rule configuration.
Is routing available on all plans?
Routing rules are available on Growth plan and above. Self-Serve Starter gets store default courier only. See the pricing page for full plan details and a comparison of what each tier includes for your team.
How do I know which courier a specific order was routed to and why?
Every order record shows the courier assignment and the routing reason — manual, rule ID, city map, or default. You can see exactly which rule triggered for auditing or tuning your rule configuration over time.