Live inventory, orders, COD and settlements — one place, updated as it happens.
| Brand | Code | Comes via | Health | Orders 30d | Actions |
|---|
| Agency | Contact | Status | Brands | Actions |
|---|
View as shows you exactly what that brand or agency sees when they sign in — you stay signed in as admin the whole time (no password, no session swap), and every view-as is written to the audit log. Audit opens their last 100 logged actions.
Tap a brand to open its dashboard. Tap an agency to drill into its brands, orders, COD and billing. Numbers are the last 30 days; the arrow compares with the 30 before that.
| Order | Product | Area | COD | Status | Action |
|---|
| Brand | Last 30d | Prev 30d | Trend | Last order | Health |
|---|
Red = churn risk: shrinking volume or gone quiet. Call them before they call a competitor.
| Date | SKU | Product | Expected | Received | Status |
|---|
Brands announce a shipment; we count it on arrival. Confirmed units go straight into live stock — any mismatch is flagged, never hidden.
| Date | SKU | Change | Reason | Note |
|---|
Every stock change is logged permanently — the client can see this log. Damage is never silently absorbed.
| SKU | Product | On hand | Reserved | Available | Level | Action |
|---|
Reserved = units assigned to orders that haven't shipped yet. Available = on hand − reserved. Rows turn red at 20 units.
| Order | Product | Customer | Area | COD | Status | Action |
|---|
| Return | Order | Product | Reason | Status | Action |
|---|
Sellable returned units are restocked to your inventory — the count goes back up on the Inventory tab.
| Month | Orders | Order value | Commission | Paid |
|---|
| Order | Date | Order value | Fulfillment | Delivery | Total fee |
|---|
Fulfillment fee = the greater of your minimum or the percentage of order value. Only delivered, non-voided orders are billed.
| Date | Description | Type | Amount |
|---|
Measured from order received to delivered. The target comes from this client's rate card (SLA hours).
Issue a key so this brand’s system can push orders straight into RapidXpk. The full key is shown once — copy it then.
| Key | Env | Label | Created | Last used |
|---|
How long collected COD has been waiting to be settled. Our promise: settled within 48 hours.
Each box is an open parcel at the customer's location. White = waiting, amber = out for delivery, red = failed attempt. Dashed = approximate, lime border = pinned on the nearest landmark. 🏍️ = a rider on duty, live. 🏢 = RapidXpk HQ. Tap anything for details.
| Agency | Brands | Orders 30d | Delivered % | RTO % | COD outstanding | Commission owed | Status |
|---|---|---|---|---|---|---|---|
No agencies yet — add your first partner. | |||||||
Click an agency to drill into its brands, orders, COD, billing and performance.
| Brand | Code | Orders 30d | Delivered % | RTO % | COD outstanding |
|---|
Generate a code, send it to the brand. When RapidXpk creates their account with that code they are linked to your agency automatically.
With riders = collected at the doorstep, cash still in a rider’s hand. At office = handed over & verified — remitted to you next. In transit = out for delivery. Settled = already transferred to you, order-by-order — no lump sums.
| Order | Customer | Area | COD | Remittance |
|---|
Boxes = open parcels at the customer's location (white waiting, amber out for delivery, red failed; dashed = approximate, lime border = landmark pin). 🏢 = HQ. 🏍️ bike = rider: green = on duty & reporting. Amber = on duty but gone quiet (no ping >90s). Grey = off duty. Tap a rider to draw today’s route — lime = GPS measured, amber dashed = road-routed across a signal gap. Updates every 10s.
| Rider | Day | Shifts | Measured km | Est. km | Total km | Litres | Amount |
|---|
Litres = total km ÷ mileage (the petrol the bike actually burned for work). Amount = litres × petrol price. Est. km = road distance filled across a signal/battery gap (real streets, never a straight line). Riders are on salary, so this is petrol for work distance only — personal trips off-duty are never counted.
Stop = stayed in one place ≥ 3 min (a delivery, a break, or stuck in traffic) with where & how long. Ride = a moving leg with km and average speed; a leg crawling under 12 km/h is flagged slow = likely traffic. Signal lost = a blackout stretch filled by road-routing. Tap a stop to see it on the map.
Every zone is a coloured territory. Tap a zone on the map (or a row in the legend) to assign riders to it — or set a rider’s zone straight from their card below. Orders from that area go to that rider’s queue.
Out now = parcels this rider is carrying. To collect = COD on those parcels. In pocket = cash collected at doorsteps but not yet handed to the office — clear it with “Receive cash”. Only received cash becomes eligible for client remittance.
| When | Rider | Expected | Received | Shortfall | Orders |
|---|
Login passwords are hashed by Supabase Auth and can never be displayed — by anyone. Use Reset to email an account a new-password link. Anything you manage by hand (rider app PINs, courier portals, SIM accounts) belongs in the Vault below.
| Account | Login ID | Role | Since |
|---|
| Rider | Phone | Zone | Status |
|---|
| Label | Login | Secret | Note |
|---|
| When | Who | Action | Entity | Details |
|---|
Right now someone probably types each order in by hand. Pick whichever option below matches the system you already use — then follow the steps. Most brands are done in under ten minutes, and you never have to touch it again. If anything is confusing, tap Ask us to set it up at the bottom and we’ll do it for you.
Nothing to install, nothing to configure. Good way to start today and switch to an automatic connection later.
You paste one address into Shopify. After that every order you receive appears in this portal within seconds, and we start packing it.
This is done entirely inside Odoo’s own settings — no custom module, no development work, and nothing to pay anyone for. If an Odoo partner has quoted you for a module to do this, read the note at the bottom before you agree to it.
https://api.rapidxpk.com/v1/orders/odooIf someone technical looks after your system, this section is for them. You do not need to understand it — just forward it on.
Give these to whoever connects your system. The key itself is secret — we show only its first characters here, so keep the copy we sent you somewhere safe.
| Key | Env | Label | Status |
|---|---|---|---|
Checking… | |||
Every time an order changes (packed, out for delivery, delivered, failed attempt, return) we POST it to your URL, signed. Or pull changes in batches with GET /v1/orders?updated_since=.
Save an Odoo API user here, then point Odoo's Send Webhook Notification action at https://api.rapidxpk.com/v1/orders/odoo/<your API key>. We read each confirmed order back from Odoo ourselves.
Paste this URL into the client’s Shopify admin once. After that, every new order lands here automatically — no exports, no copying.
| Shopify # | Customer | City / Area | Items | Total | Payment | Status | Action |
|---|---|---|---|---|---|---|---|
No orders received yet. | |||||||
Orders marked paid in Shopify import as Prepaid and stay out of COD reconciliation. Everything else imports as COD for the order total. Non-Karachi orders are hidden by default — switch to All cities to see them.
For stores not connected yet: Shopify admin → Orders → Export → CSV, then paste or drop it here.
Brands who came to us — the site contact form and referrals. Prospects we reached out to live under Our outreach.
| When | Name | Brand | From | Volume | Contact | Message | Status | Action |
|---|
Brands we approached ourselves — nobody here filled in the website form.
| When | Brand | Owner | Contact | Working it | Notes | Status | Action |
|---|