Setup guide

Getting your store dispatching

Start to finish, this takes about twenty minutes. Most of it is done once and never touched again.

Before you start

Two things, and only the first needs anyone outside your team:

  • A uEngage account, with the store ID and access token issued for it. Your account manager provides both — ask for the pair together, and say they are for production.
  • Products and addresses in Shopify, which you already have.

The app works in India and dispatches in rupees. An order with no rupee amount, or no customer phone number, cannot be dispatched — riders call that number on arrival.

1. Install the app

Use the Install button on the overview page. Shopify asks which store and which permissions to grant; approving takes you straight into the app.

The permissions requested are the ones dispatch needs: reading orders, products, locations and inventory, and writing fulfillments so tracking can be attached to the order.

2. Connect your account

Open Settings and enter the store ID and access token from your account manager. The token is stored encrypted and is never shown again — the field displays dots once saved, and leaving them untouched keeps the current value.

Press Test connection. A pass tells you rider availability at one of your outlets. A failure quotes the reply verbatim, which is usually enough to see whether the ID and token belong to the same environment.

Aggregator mode is on by default and is what most accounts use: one store ID serves every outlet, and each order tells uEngage which outlet the rider is collecting from. Only switch it off if each shop has been issued its own store ID.

3. Add your outlets

An outlet is a shop a rider collects from. On the Outlets page, press Import from Shopify — it creates one outlet per Shopify location, filling in the name, phone, address and coordinates it already holds.

Then check the coordinates. They come from Shopify and are not always exact. Riders are matched on coordinates, not on the address text, so a pair that lands on the wrong side of a block sends riders to the wrong place — and it looks like unexplained late deliveries rather than a setup mistake. Use Find coordinates from address, or paste a precise pair from a map.

Link each outlet to its Shopify location. That is what lets per-location stock decide which outlets can make an order. An outlet with no location linked is never ruled out on stock grounds, so it can be offered orders it cannot fulfil.

4. Set opening hours

Each outlet carries a weekly schedule, read in your store's own timezone. A shut outlet is skipped, exactly like a disabled one — sending a rider to a shuttered shop wastes the fee and the delivery window.

An outlet with no schedule is treated as always open, so you can leave this until later. Overnight hours work: 18:00–02:00 keeps a kitchen open until two in the morning.

5. Switch on dispatch

Back in Settings, turn on Send new orders automatically. From that moment every new order is dispatched without anyone touching it.

Place one real order first and watch it through. It is the only way to see your own outlets, your own addresses and your own stock behave together.

What happens on each order

  1. The order arrives and the delivery address is resolved to coordinates.
  2. Outlets that can actually make the order are shortlisted from your per-location stock, then ranked by real driving distance to the customer.
  3. A rider is booked from the first outlet that can take it.
  4. When the rider collects, Shopify gets a fulfillment with a tracking link, so the customer is told something is on the way.
  5. Status moves through to delivered on the order timeline, and cash-on-delivery orders are marked paid once the rider has the money.

One order is always one rider. If no single outlet can fulfil everything, the order is held rather than split — two riders means two fees and two arrivals for a customer who bought once.

When an order won't dispatch

Anything that fails appears under Needs attention with the reason. The common ones:

No outlet has enough stock
Shopify says no linked location holds the item. If you make it to order, switch off Track quantity on that product — untracked items are treated as available and selection falls back to distance.
No rider available
A real answer, not an error. Retry from the delivery page once conditions change.
Order has no customer phone number
Riders call it on arrival, so it is required. Add it to the order and retry.
Order total is not in rupees
Deliveries are quoted and collected in rupees. An order with no rupee amount is refused rather than dispatched with a converted figure — on a cash order that would be real money collected wrongly.
All outlets are closed
The message names which outlet opens next, and when.

Returns and redelivery

A failed delivery is not a cancelled order. If the customer was not there, the goods come back to the outlet and the order reopens — the delivery page offers Deliver again, showing the reason and where the goods are. Call the customer first; the usual cause is nobody home.

If the customer received the order and sent it back, redelivery is deliberately not offered: money may have changed hands, so it is a refund decision for you.

Wallet and charges

The app is free. Deliveries are charged to your uEngage wallet at the standard rate card — ₹65 for the first 3 km and ₹12 per additional kilometre. Nothing is billed through Shopify.

Deliveries & wallet in the app totals what was quoted across completed deliveries, so you can see spend without leaving Shopify. Cancelled and returned deliveries are excluded. If the wallet empties, new deliveries are refused and those orders appear under Needs attention.

Still stuck?

Your uEngage account manager can see the delivery side of anything listed here. Quote the Shopify order number and the message shown under Needs attention — both are enough to trace a specific delivery.