Order Detail: Status, Cancellation & Fulfilment Handoff
Everything on the single-order screen — what was ordered, customer and payment details, updating status, cancelling an order, and handing off to a shipment.
Click any row on the Orders list to open the Order Detail screen for that order. This is where you review what was bought and take every action available on that order.
The order timeline
A connector-line timeline runs down the order detail screen, one node per milestone, each dot filled green once that milestone is reached:
| Node | What it shows |
|---|---|
| Placed | Order date and the full line-item list. |
| Invoiced | The invoice number and amount, plus three delivery chips — Email, WhatsApp, Merchant copy — each showing when that copy actually sent, or "not sent" if it hasn't. This node doesn't appear at all until the order has an invoice, rather than showing an empty header. |
| Shipped | Carrier name, tracking/AWB number, and how many tracking events have come in. |
| Delivered | Just a timestamp, once the shipment reaches this state. |
| Payment collected | Amount and payment reference. |
| Refund | Amount, and — when a refund has generated one — its credit note number (see Credit notes for how those work). |
| Payout | Amount and reference for a marketplace vendor transfer; the title switches to "Payout reversed" if it's since been reversed, with a pointer to the Transfer Details card below (see Marketplace payouts and reversals). |
| Notes | The most recent note's author, an Internal/Customer type badge, and its text — once at least one note exists on the order. An Add note action always sits below it (see Adding a note to an order below). |
This same timeline renders identically on both the classic and newer dashboard skins.
What was ordered
The Items panel lists every product in the order — name, photo, chosen size or variant, unit price, quantity, and line total. In a marketplace, items are grouped by vendor so it's clear which seller fulfils which portion. The final tally shows the item subtotal, any discount applied, shipping cost, and the net amount charged.
A gift-wrap tag appears on the item row, and next to it a small note-strip reminds you to review the customer's gift-wrap instructions before packing, when the order was placed with gift wrap selected — see Gift wrap and pickup on an order below for the full picture. Each line item also has a kebab (⋮) menu with three actions:
| Action | What it does |
|---|---|
| View product | Opens the product's page in Inventory |
| Copy SKU | Copies the item's SKU to your clipboard |
| Reorder | Visible in the menu but not yet wired to any action — clicking it does nothing |
Customer & delivery details
A dedicated card shows the customer's name, the delivery address (street, city, pincode, state), and their contact details — everything a courier needs, without leaving the screen.
Right above the address, a small uppercase label always states how this specific order is being fulfilled — Shipping address for a normal courier order, or Pickup location for an in-store pickup order. This label is always present, on every order, on both the classic and newer dashboard skins — it isn't a tag that only shows up for pickup orders, so you never have to guess an order's fulfilment method from the absence of a badge elsewhere on the screen.
On the newer dashboard skin, an Edit control opens a drawer where you can correct any part of a shipping order's delivery address — address line 1, address line 2, city, state, postal code, and country — and save the change directly against the order. A pickup order's location comes from your store-wide pickup-location list instead, configured under Customer Pickup & Gift Wrap, not edited per-order.
Adding a shipping address when the order has none
Occasionally an order arrives with no shipping address on file at all — checkout data that never carried one through, or an address that was cleared some other way. This order can never auto-book a shipment until it has one, and a shipment-booking failure citing a missing address points here to fix it.
Find the Add shipping address action
When an order has no address, the customer & delivery details card shows "No address on file" with an Add shipping address action right underneath it, in place of the usual address block. The shipment panel further down the page shows a matching Add shipping address link next to its own address line for the same reason.
Fill in the address
Either entry point opens the same dialog: address line 1 (required), address line 2, city (required), state (required), postal code (required), and country (defaults to India). Address line 1, city, state, and postal code must all be filled before you can save.
Save
Click Save. The order refreshes with the new address in place — the "no address" prompts disappear, and the order is now eligible for shipment booking (or auto-fulfillment, if it's on and the order otherwise qualifies).
If saving the address fails
A failed save shows a toast rather than failing silently. Two different messages tell you what to do next: a generic "Could not save this address, please try again" means a transient error — retry the save. "Saving an address isn't available yet, please contact support" means your store hasn't been fully migrated to this feature yet — contact support rather than retrying, since retrying won't succeed.
Gift wrap and priority tags
Orders placed with gift wrap or marked as priority show a small tag next to the order status, both on the Orders list and at the top of this screen, so you can spot them without opening every order. Unlike the fulfilment-method label above, these tags are intentionally shown only when the order actually has that extra — a shipping order with no gift wrap does not carry an empty "No gift wrap" tag; that would just be noise on every normal order.
Gift wrap and pickup on an order
Both extras are configured once, store-wide, under Customer Pickup & Gift Wrap — this section covers what shows up on an individual order once a customer has used them.
Gift wrap: a Gift wrap tag appears next to the order status (matching the note above). If the customer left a gift message, it's shown on its own card, quoted exactly as they typed it. The gift-wrap fee — set by you, not the customer — appears as its own line in the order totals whenever it's greater than zero.
Pickup: an order placed for in-store pickup shows a Store pickup tag next to the order status, and the customer & delivery details card shows the pickup location's name and address, under a Pickup location label, in place of a shipping address.
A normal shipping order shows no pickup or gift-wrap tag at all next to the order status — that absence is the signal that it's a regular courier order. What it always shows, regardless of any tag, is the Shipping address label described above, so the fulfilment method itself is never left unstated.
All of this — the always-on fulfilment label, the pickup/gift-wrap tags, the pickup location card, the gift message, and the gift-wrap fee line — shows up the same way on both the classic and new admin sidebar.
Troubleshooting: “why doesn't this order show a Pickup tag?”
Only orders placed with in-store pickup selected at checkout get the Store pickup tag and the Pickup location card. If a merchant expects to see it and doesn't, check the order's fulfilment method in the customer & delivery details card first — if it reads Shipping address, the customer chose (or was defaulted to) courier delivery at checkout, and the order is working as intended.
If the fulfilment method correctly reads Pickup location but the card shows Pickup location not set instead of the location's name and address, this is a known gap — the order detail screen currently doesn't look up the pickup location's details, even when one is on file. Cross- check the location under Customer Pickup & Gift Wrap in the meantime.
Payment status
The payment panel shows whether the order is Paid, Pending, or Failed, colour-coded for quick recognition, along with the payment method and the full breakdown (subtotal, shipping, discount, net total). A Copy control next to the transaction ID copies it to your clipboard, so you can paste it straight into a support ticket or a payment-gateway search without retyping it.
Updating the order status
Open Order Actions
On the order detail screen, find the status control (a dropdown on the classic screen, or a Mark fulfilled / Mark delivered button on the newer dashboard skin — it only appears when that transition is valid for the order's current status).
Choose the next state
Move the order from Processing to Shipped, or Shipped to Delivered, with a single selection.
Confirm
The status updates immediately and the customer's automatic notification goes out at the same time.
If the status change is rejected
Not every status jump is valid — for example, you can't move an order straight from Confirmed to Shipped if it hasn't been marked ready first. If you try an invalid transition, an inline error message appears explaining exactly why it was rejected. It stays on screen (it doesn't auto-dismiss like a toast) until you close it or successfully change the status.
Adding a note to an order
An Add note action opens a small drawer where you write a free-text note and choose its type:
- Internal — visible only to your team, for things like "call customer to confirm size."
- Customer-facing — included on the data the customer's own order record returns.
Notes are saved to the order's activity history and don't change its status.
Customer-facing notes don't show on the customer's order page yet
Marking a note customer-facing is real and saved — the customer's own order lookup includes it — but the customer portal's My Orders / order-detail page doesn't display order notes at this time. Don't rely on this as an active way to reach the customer; use email, WhatsApp, or a support ticket instead until the customer-facing display ships.
A separate pinned note also shows on this screen
Don't confuse order notes with the customer's own pinned note — if the customer profile has one pinned, it shows in the customer & delivery details card on this screen for context, with a link to see all of that customer's notes. That's a different note, tied to the customer rather than this one order, and it isn't something you set from here.
Cancelling an order
A Cancel Order action is available for any order that hasn't already been cancelled. Once cancelled, the reason is saved against the order record and the customer is notified automatically.
A confirmation prompt on both skins
Clicking Cancel Order shows a confirmation prompt on both the classic screen and the newer dashboard skin — it spells out that the cancellation is permanent and the customer will be notified, and gives you a chance to back out before anything is finalised.
Cancelling a paid order also cancels its invoice and issues a credit note
If the order was already paid and has a finalized invoice, cancelling it automatically refunds the customer's payment to their original payment method, cancels the invoice, and issues a full credit note — no separate action needed on your part. This happens the same way whether you cancel the order from here or the customer cancels it themselves from their order page (see Cancelling an order in the customer-facing guide). The credit note shows up on this screen's Invoice & GST card and on the order timeline's Refund node — see Credit notes for the full picture of where it appears, including on the customer's own order page.
This cascade only fires for orders that were actually paid at the time of cancellation — a still-unpaid COD order, or a net-terms order the customer hasn't paid yet, has nothing to refund, so cancelling it does not cancel its invoice or generate a credit note. If a net-terms invoice needs correcting before it's paid, cancel it directly from the Invoice ▾ menu instead — see Cancelling and reissuing an invoice above.
Recording a payment manually
A Record Payment action appears on the Totals & Payment card whenever the order's payment status is still unpaid — Pending, COD (cod_pending), Net terms (net_terms_pending), or Failed — and disappears once the order is fully paid, refunded, or cancelled. This covers the two payment methods that most often need it: a Cash on Delivery order once the courier has collected the cash, and a net-terms invoice once the customer actually pays within their agreed terms.
Select Record Payment
On the order detail screen's Totals & Payment card, select Record Payment.
Enter the amount
The amount field defaults to the order's outstanding balance, shown as a helper line under the field. You can record less than the full outstanding amount — a partial payment.
Reference and note (optional)
Add a payment reference (a UTR, cheque number, or similar) and a free-text note if you want either on record.
Submit
Select Record Payment to save it.
Partial vs. full payment
Recording an amount that doesn't fully cover the outstanding balance logs the payment against the order without changing its payment status — you can record further partial payments later, up to the outstanding balance. Only once the recorded total reaches the order's full net amount does the order flip to Paid. Recording full payment on a COD order at that point also generates its invoice — see Automatic invoicing for why a COD order has no invoice until money has actually moved.
What this action does not do
Recording a payment here always records it as a manual/offline payment against this specific order — there's no method or date field, because the backend always logs it as "recorded now" against this order. It doesn't touch the payment gateway; use it for money you've collected outside Razorpay (cash, a bank transfer, a cheque), not to reconcile an online payment that already went through the gateway.
Starting a refund
For paid orders that haven't already been refunded, an Initiate Refund action opens a structured drawer where you choose which items to refund, set the amount, pick a reason, and add notes. On the newer dashboard skin, four quick-amount pills fill in the amount for you:
| Pill | Sets the amount to |
|---|---|
| Full | The order's full net amount |
| Items | The total of whichever line items you've ticked below |
| Shipping | The shipping charge only |
| Custom | Whatever you type into the amount field yourself |
The reason dropdown offers Customer Request, Defective Product, Wrong Item Shipped, Order Cancelled, or Other. This is the entry point only — the full approval workflow, partial refunds, and what happens to your stock afterward are covered in Refunds.
Marketplace payouts and reversals
If your store runs as a marketplace, the order detail screen also shows a Transfer Details card once a vendor transfer exists for the order:
| Field | What it shows |
|---|---|
| Transfer ID | The gateway's transfer reference (or "Pending" if not yet created) |
| Status | Processed, Failed, Reversed, Partially reversed, or Pending |
| Transfer Amount | The amount sent to the vendor |
| Platform Fee | Your commission held back from the transfer |
| Linked Account | The vendor's connected payout account |
| On Hold | Whether the transfer is currently on hold |
| Created | When the transfer was made |
| Total Reversed | Only shown once at least one reversal has been made against this transfer |
If a transfer Failed, a Retry Transfer button appears so you can re-attempt it. If a transfer was Processed (or already Partially reversed), a Create Partial Reversal action instead lets you claw back some or all of the payout — for example, after approving a customer refund on an order whose vendor payout already went out. Reversing opens a dialog where you enter the amount to reverse and a reason; the transfer's total-reversed figure updates once it's submitted, and a reversal history table underneath the card lists every past reversal with its date, amount, reason, status, and gateway reference.
Invoice and GST
An Invoice & GST card shows the invoice and tax outcome for this order:
| Field | What it shows |
|---|---|
| Invoice | The order's invoice number |
| Credit note (cancelled invoices only) | If this invoice was cancelled, a line reading "Credit note CN2526/00012 issued" (with the actual credit-note number) in place of the fields below — see Cancelling and reissuing an invoice |
| Reissued (reissued invoices only) | A line reading "Reissued — replaces INV2526/00041 (cancelled)" when this invoice is a reissue of a cancelled predecessor |
| Due date (net-terms invoices only) | The date payment is due, only ever set on a finalized net-terms invoice — see Net terms |
| Per-order GST | A chip reading Enabled, or Bill of Supply if GST was disabled for this order (see GST exemptions) |
| GST | Only shown when GST is enabled — Intra · CGST + SGST for a same-state sale, or Inter · IGST for an inter-state sale, with the amounts |
| Place of supply | The state code GST was calculated against, when GST is enabled |
This card reads the breakdown BillionBiz already computed and locked in when the invoice was finalized — it's a read-only summary, not a place to change anything; set GST-exempt or Bill of Supply beforehand, on the product or at order creation, as covered on the invoice builder page.
Invoice actions: printing, resending, and cancel & reissue
Where this lives on each dashboard skin
On the newer (v2) dashboard skin, these actions live under an Invoice ▾ dropdown in the order detail header. On the classic skin, the same dropdown is labelled Invoice and sits alongside the order's other header actions.
Opening the dropdown offers:
| Action | What it does |
|---|---|
| Download PDF | Downloads the invoice as a PDF file — your store's branding, the customer's billing address, a line-item table, tax breakdown, and totals. |
| Opens your browser's print dialog on the formatted invoice — the same document as Download PDF. | |
| Resend | Emails the invoice to the customer again. Live — this is a real send, not a placeholder. |
| Generate invoice | Only shown while the order doesn't yet have a finalized invoice (a manual-mode order awaiting invoicing, or right after you've cancelled one — see below). Opens a dialog where you can choose to charge GST or not before generating. |
| Cancel & reissue | Only shown once the order has a finalized invoice. See below. |
If the order was placed with gift wrap, the invoice also prints the gift-wrap fee as its own line in the totals and the customer's gift message in its own boxed section — the same message shown on the order screen (see Gift wrap and pickup on an order above). Orders without a gift message simply omit that section.
Cancelling and reissuing an invoice
Selecting Cancel & reissue opens a confirmation dialog explaining what's about to happen: cancelling issues a credit note for the full invoice amount — the original invoice stays on record as cancelled (so your GST filings stay correct) — and does not require a refund to exist on the order. This is the correction flow for an invoice that needs voiding on its own, for example a data-entry mistake or a duplicate order, independent of whether the order itself gets cancelled (see Cancelling an order below for what happens when you cancel the whole order).
Once the invoice is cancelled, the dropdown's Generate invoice action appears in its place — select it to issue the replacement. The reissued invoice gets a new invoice number and, for a net-terms order, a fresh due date computed from your current net-terms days setting (see Net terms) — not the due date the cancelled invoice had. The Invoice & GST card on this screen then shows a "Reissued" line pointing back at the cancelled invoice's number, so it's clear this isn't the order's original invoice.
Fulfilment handoff — booking a shipment
Once an order is ready to dispatch, the shipment panel on the order detail screen is where you book a carrier and generate a tracking number. This connects directly to the shipping module. For the full picture on carriers, rates, and live tracking, see Shipping & Logistics.
If booking fails
If a shipment couldn't be booked, an alert appears on the order explaining why — for example, an address or pickup-location problem. If the reason has a fix you need to make elsewhere (like registering a warehouse), the alert shows a button that takes you straight there. If the cause is a missing shipping address entirely, that button is the Add shipping address action described in Adding a shipping address when the order has none above — you no longer have to leave the order to fix it.
Retry booking only appears when retrying could actually succeed — either the cause is a known transient carrier issue, or you've already applied the fix and BillionBiz is waiting to confirm it worked. If the cause hasn't been fixed yet, retrying would just reproduce the same error, so the button is replaced with a short note telling you to use the fix-it action instead. Once you've corrected the issue, BillionBiz automatically rechecks in the background — if the same error recurs, the alert says so explicitly ("The change you made didn't fix this") rather than looking like a fresh, un-acted-on failure. See Retry booking button is missing / replaced with a note for the full explanation.
Header actions on the newer dashboard skin
On the newer dashboard skin, the order detail header has Message (opens a drawer to send a WhatsApp message using the customer's saved number), Packing slip (opens a print-ready packing slip generated from the order's own data — there's no separate backend endpoint for this, it's printed straight from the order data already on screen), Add note, and the Invoice ▾ dropdown covered above. Print and Resend used to be separate buttons on this row — Resend was a "coming soon" stub — but both are now folded into the Invoice ▾ dropdown, and Resend is a real send.
Next steps
- Refunds — the full approval workflow once a refund is started, and how credit notes work.
- Customizing Your Invoice — the invoice builder, GST exemptions, and delivery settings behind what shows on this screen.
- Shipping & Logistics — booking carriers, printing labels, and tracking.
- Customer Pickup & Gift Wrap — turning these extras on and configuring them.
