COD payments

How PostEx pays your COD, and how to check it

PostEx pays your COD in batches, each described by a Cash Payment Receipt (CPR): a PDF listing every parcel paid, the COD collected, PostEx's charges and the tax it withheld, with one net figure that should match a transfer to your bank. ShipOps reads each CPR and checks every parcel on it against your orders.

When PostEx pays

PostEx issues one CPR per payment run. A delivered parcel appears on the next run after delivery; a returned parcel appears too, with charges and nothing collected. PostEx does not publish a fixed day, and the rhythm differs from account to account, so rather than promise a schedule ShipOps learns yours from the CPRs it has read and forecasts the next payout date from that.

If you are on PostEx's upfront-payment product, a parcel's COD is paid in two parts: an upfront share when the parcel enters PostEx's network, and the reserve once it is delivered. The CPR prints both, and the API carries both dates per parcel. A return of an upfront parcel shows the upfront share positive and the reserve share negative, so the two cancel to nothing collected.

What the PostEx payout receipt contains

Every CPR has a header with the receipt number (a CPR-prefixed code), the date, your merchant details and a summary block, then a table with one row per parcel. The columns, as printed: COD Amount · Upfront Amount · Reserve Amount · Shipping Charges · Upfront Charges · GST · Deduction · Net Amount, plus the tracking number, destination, weight, delivery date and whether the row is a delivery or a return.

What PostEx actually collected for a parcel is Upfront Amount plus Reserve Amount. On a plain merchant the upfront is zero and the reserve equals the COD. On an upfront-payment merchant the same COD is printed split, in a 70/30 pattern on the receipts ShipOps has read: ₨999.00 became ₨699.30 upfront and ₨299.70 reserve.

The deduction column comes in two layouts, assigned per merchant rather than by date: one bundled Deduction (4%) column, or two columns, WH Income Tax (2%) and WH Sales Tax (2%). They add to the same 4%, and it is withholding tax deposited with FBR on your behalf, not a PostEx fee. Which layout you get appears to follow your tax status, and both exist at the same time across different merchants.

Each row should satisfy one identity: net equals collected minus shipping, minus upfront charges, minus GST, minus deductions. ShipOps checks that per row and the sum against the printed summary, and refuses to file a receipt whose arithmetic does not close rather than guess which column shifted.

Where the money goes wrong

These are the discrepancies ShipOps finds on PostEx receipts, in the order they usually cost the most:

  • Delivered, missing from every CPR. The trail says 0005 Delivered to Customer; no receipt carries the tracking number. This is the largest category by rupees: on one store, 20 parcels and ₨68,210 in a single 30-day window, on receipts the store already held.
  • Short collected. The row's collected amount is below the order's COD. Sometimes an amendment to ₨0 or a partial payment at the door; sometimes a keying error. Either way, a claim with the receipt number attached.
  • Delivered with ₨0 collected on a cash order. The reserve column reads zero on a delivery. If your store says the order was prepaid, that is correct; if it says COD, PostEx owes the amount.
  • A return charged twice. A returned parcel appears on two CPRs with charges on both, or a deduction applied on a return that collected nothing.
  • Upfront paid, reserve never arrives. On upfront-payment accounts: the upfront share landed weeks ago and the parcel has since been delivered, but no later CPR carries its reserve.

What ShipOps does with a PostEx payout

Automatic

ShipOps reads your CPRs two ways. Drop the PDF you download from the PostEx portal into the Money screen and it is parsed on the spot. Or let ShipOps fetch receipts from PostEx by their number, and ask PostEx per parcel whether and when its upfront and reserve were paid, so a delivered parcel with no payment on record is flagged without you touching a file.

Every row is matched to a parcel by its 14-digit tracking number (the 11-digit value on a CPR is your order reference, which ShipOps also knows). The settlement dashboard then shows what reached your bank, what PostEx still owes, and what is at risk, with the parcels behind each figure one tap away and a CSV you can send to your PostEx account manager.

Returns are priced from the receipt they land on, so the real cost of an RTO is a number on the order, not a guess. Withholding tax is itemised on its own line so you can reclaim it against your return.

What ShipOps does not claim for PostEx.

ShipOps reads what PostEx prints. If PostEx's own arithmetic on a CPR does not close, the receipt is held for review rather than filed, and the money screen says so.

A fixed payout day is not promised because PostEx does not publish one; the forecast is learned from your own receipts and improves as more arrive.

Questions merchants ask about PostEx payments

What is a PostEx CPR?

A Cash Payment Receipt: the PDF PostEx issues for each payment it makes to you. It lists every parcel paid in that run with the COD collected, PostEx's shipping charge, GST, the tax withheld and the net paid. It is the document to reconcile against, because it is PostEx's own statement of what it paid.

Why does my CPR show Upfront Amount and Reserve Amount?

Because PostEx's upfront-payment product pays part of the COD when the parcel enters its network and the rest on delivery. The two columns are the two parts; collected is their sum. On a plain merchant the upfront column is zero.

What is the 4% deduction on a PostEx CPR?

Withholding tax: 2% income tax and 2% sales tax withholding on the COD, deposited with FBR on your behalf. Some receipts print it as one 4% column, some as two 2% columns. It is reclaimable and it is not a PostEx fee.

How do I find PostEx parcels that were delivered but not paid?

You need your own list of delivered parcels and every CPR for the period, then a match on tracking number. ShipOps keeps both and does the match every time a receipt arrives; the unpaid ones are on the Money screen under "courier owes you".

Does ShipOps need my PostEx portal password?

No. It uses the merchant API token from your PostEx portal, stored encrypted. ShipOps never logs in to the portal and never moves money.

See what PostEx still owes you

Connect PostEx and ShipOps matches every payout against your orders. Short-paid, skipped and zero-collected parcels come out as a list you can send to your account manager. Free to start.