20 min read

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:

NodeWhat it shows
PlacedOrder date and the full line-item list.
InvoicedThe 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.
ShippedCarrier name, tracking/AWB number, and how many tracking events have come in.
DeliveredJust a timestamp, once the shipment reaches this state.
Payment collectedAmount and payment reference.
RefundAmount, and — when a refund has generated one — its credit note number (see Credit notes for how those work).
PayoutAmount 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).
NotesThe 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:

ActionWhat it does
View productOpens the product's page in Inventory
Copy SKUCopies the item's SKU to your clipboard
ReorderVisible 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:

PillSets the amount to
FullThe order's full net amount
ItemsThe total of whichever line items you've ticked below
ShippingThe shipping charge only
CustomWhatever 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:

FieldWhat it shows
Transfer IDThe gateway's transfer reference (or "Pending" if not yet created)
StatusProcessed, Failed, Reversed, Partially reversed, or Pending
Transfer AmountThe amount sent to the vendor
Platform FeeYour commission held back from the transfer
Linked AccountThe vendor's connected payout account
On HoldWhether the transfer is currently on hold
CreatedWhen the transfer was made
Total ReversedOnly 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:

FieldWhat it shows
InvoiceThe 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 GSTA chip reading Enabled, or Bill of Supply if GST was disabled for this order (see GST exemptions)
GSTOnly 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 supplyThe 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:

ActionWhat it does
Download PDFDownloads the invoice as a PDF file — your store's branding, the customer's billing address, a line-item table, tax breakdown, and totals.
PrintOpens your browser's print dialog on the formatted invoice — the same document as Download PDF.
ResendEmails the invoice to the customer again. Live — this is a real send, not a placeholder.
Generate invoiceOnly 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 & reissueOnly 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