Match every line to your own orders before checking a single price against your contracted rate card.
Bifrost Tech
A courier invoice can arrive as a list of consignment numbers and a total, and your own records hold a list of orders. The two do not line up on their own, and where nobody lines them up, the total can be paid without a single line being checked. This guide sets out how to check a courier invoice in Pakistan line by line: whether the bill can be checked at all, and whether every line on it belongs to one of your orders.
It stops where pricing starts. Reconciling those charges against your contracted rate card is the next step, and it has its own guide.
Checking an invoice settles two questions. Does the invoice agree with itself? And does every line on it belong to one of your orders?
It does not settle whether any line was priced correctly. A line with no consignment behind it in your records has nothing to be compared with, and a consignment with no line has nothing to be checked at all. Comparing a charge with a rate finds neither. The order check fixes the set of lines that the price check then works on.
Three documents make an invoice checkable.
The signed rate card. Not a rate quoted in a sales conversation, but the signed card, with its weight bands, any volumetric divisor and its treatment of fuel and tax stated in writing. The price check needs it; the order check does not. If you cannot find it, ask your account manager for it in writing now.
The invoice, per consignment. A total tells you what you are being asked to pay. It cannot tell you whether any single line belongs to you. You need the detail: one line per consignment, with its consignment number.
Your order export. What you shipped in the period, from your own records: order reference, consignment or tracking number, booking date, destination and the weight you recorded.
A portal report is a view, generated from the courier’s records as they stand when you ask for it. The next export reflects any update since, which is what a live system should do. An issued invoice is a document, with a reference, a date and a period, and a revision is a new document with its own reference.
Where the two differ, the difference is not necessarily anyone’s mistake. But a check built on an export can disagree with the invoice for reasons that have nothing to do with your orders. Two habits keep them apart.
For an accounts department logging into several courier portals, each portal can define its period in its own way, which is one more reason to anchor the check on the issued invoice.
Before any line is matched to an order, the invoice can be checked against itself. It can carry the same information more than once: a summary with a total and a count, a detail section with one line per consignment and, where charges are netted from your COD remittance, a settlement statement. Each should agree with the others. Make four comparisons, in this order.
None of these is an accusation. Documents of this size can be assembled from exports and templates, and a late adjustment can update one section and not another. A mismatch can come from how the document was produced rather than from any charge being wrong.
Once the invoice agrees with itself, match each line to an order on the consignment number, and only on it. The consignment number identifies one parcel on both sides. An order value, a date or a city name can be shared by several parcels or written differently on each side.
Look up each line’s consignment number in your export and write the order reference beside it. When a courier invoice is not matching your orders, this join is where to look. Once both sides format their numbers alike, check for five ways it can still break.
A parcel booked on the courier’s own portal, at a counter or by phone, rather than through the route your other orders take. The number exists on the courier’s side, but unless it is entered or synced back, your order record does not hold it, and the order can still look complete.
A consignment that was cancelled or not collected can be booked again under a new number, leaving one order with two keys. Whether the first booking also produces a line depends on how it was closed on the courier’s side. A handover list of the numbers given to the rider at each collection is your own record of which one left.
Where one consignment number sits against two shipments in your records, whether keyed against the wrong order or coinciding with a number from another courier, the match can succeed while being wrong. Look for this deliberately: a missing match shows itself, and a false one does not. Check your export for any number that appears twice.
An order that leaves as two parcels under two numbers gives the invoice more lines than your order list has rows. Nothing is wrong: a check that assumes one order to one consignment will read a correct invoice as an error.
Where bookings run through an aggregator, the number on the invoice can belong to the underlying courier’s scheme rather than to the business that invoices you. Until you know which courier carried the line, there is nothing to match it against. Attribution comes first, as our guide to courier aggregator billing in Pakistan explains.
The order check ends with three piles. Every invoice line, and every consignment in your records for the period, belongs in exactly one.
Matched. The line and your order share a consignment number, and nothing else about the pair contradicts it. A number that also appears on an earlier invoice is a question to answer before the line goes forward.
On the invoice, not in your orders. A booking outside your usual route, a booking that was never handed over, a consignment from the adjacent period, or an intermediary line not yet attributed. Write the reason beside each one you resolve, and raise only what is left.
In your orders, not on the invoice. The consignment can be billed on a later invoice, fall in the adjacent period where the invoice uses a different date from yours, or have been cancelled before collection. A missing line is not yet a missing charge. Hold it open for the next invoice.
A difference between the piles says nothing about intent on either side. It says the two sets of records do not yet describe the same parcels.
Only the matched pile goes forward, and each line in it can now be checked against your contracted rate card. That exercise rests on the billed weight, the slab, the lane and the surcharges, and the guide linked at the top of this page covers it.
Our free calculator can help you work out chargeable weight in Pakistan from the divisor in your own contract. Each courier page goes further: see the notes on auditing a TCS invoice, reading a PostEx CPR and how Leopards charges are built.
What remains in the second and third piles becomes a short list for the courier. For each line, cite the invoice reference and the consignment number, state what your records show, and attach the document that shows it. Ask rather than conclude. “This consignment number does not appear in our orders for the period. Can you confirm the booking it relates to?” names the line and asks for the record behind it.
Keep it apart from any pricing query. A weight dispute with a courier in Pakistan is raised separately, and that guide covers its evidence and how to check whether your contract sets a window for it.
On the next invoice, before opening the rate card, write down two numbers side by side: the consignments your own records place in the period, and the consignment numbers on the invoice.
Checking a whole month by hand? Pak Shipping Recon, a courier invoice audit app for Shopify, matches consignments to their orders, checks each line against your contracted rate card, and keeps unresolved lines visible. You can start on the free plan, which covers your first 100 orders.