Method · not a sales deck
How we audit. And what the platform actually does.
billsharp is not a spreadsheet review. We sync the 3PL, join every charge to a shipment or WRO, price it from your contract, and pack a claim you can open in the product. Nothing is emailed until you say so. The frames below are the real UI, with sample numbers — not a client account.
Four stages. The last one is still you.
Sync
Nightly: invoices, products, shipments, inventory history. We wait for the weekly that actually closes the month — not the one dated the 31st that only bills through the 30th.
Price
Each line vs the contracted card. Postage only when the service name maps explicitly. Weight is ceiled. Unmapped names go to a no-service bucket, they are not guessed.
Pack
If the month is closed and the tail invoice has landed, we build a draft PDF + line evidence. Duplicate guard: one live pack per type per month.
You send
Draft stays a draft. You review, drop lines, then send. Later credit lines on new invoices are matched back to the claim automatically.
Showcase — month close
The first screen after login. Each area is billed vs expected for one calendar month. Green is claimable. Grey is parked (no card, or the month is not closed yet).
| Area | Status | Billed | Expected | Claimable |
|---|---|---|---|---|
| Postage · GB domestic | ready | £20,557 | £19,734 | £823 |
| WRO receiving | ready | £4,210 | £3,656 | £554 |
| B2B case pick | ready | £1,890 | £1,640 | £250 |
| Storage | hold · EOM invoice | £4,232 | — | £0 |
| Freight / non-UK | no card | £1,002 | — | £0 |
Storage stays hold until the end-of-month warehouse invoice exists. Freight and non-UK postage stay parked unless you load the matching rate card.
Showcase — postage
Every shipping line is joined to the shipment. We only reprice when resolveServiceStrict hits an explicit mapping (e.g. TIER1 Ground → the GB card). A regex guess never prices a claim. DPD Next Day is excluded. Isle of Man / JE / GG / GI / AE are not claimed as UK domestic.
| Shipment | Billed as | Mapped | Zone | Billed | Card | Δ |
|---|---|---|---|---|---|---|
| 18482911 | TIER1 Ground | RM48 / 0–2lb | 5001 | £4.72 | £3.40 | £1.32 |
| 18483002 | TIER1 Ground | RM48 / 2–3lb | 5001 | £6.00 | £4.10 | £1.90 |
| 18484110 | Express · DPD | excluded · not TIER1 | £8.40 | — | £0 | |
| 18485019 | TIER1 Ground | IM / no intl card | — | £4.72 | — | parked |
Weight uses billed ounces, ceiled. Fractional ounces in the cheap band would manufacture flags — we do not do that.
Showcase — claim pack
A pack is a real row in the product: reference, PDF, line items, evidence snapshot. Status starts at draft. Send is a separate action. If Resend is not configured, send stays draft on purpose.
| Item | Fee | Billed | Expected | Ask |
|---|---|---|---|---|
| 18482911 | Shipping | £4.72 | £3.40 | £1.32 |
| 18483002 | Shipping | £6.00 | £4.10 | £1.90 |
| … 379 more GB domestic lines, grouped in the PDF by service × band | ||||
We will not pack a half-month
The generic “last invoice date ≥ month-end” test is not enough. ShipBob’s 31 August weekly can bill only 24–30 August. Storage is a separate invoice on the 15th and again at month-end. So the pack job also requires:
- The calendar month is closed.
- A charge invoice exists dated after month-end (payments and credits do not count).
- Stored line sums match invoice headers.
- Shipping with no destination on the shipment is under a noise floor (£50).
- No live pack already exists for that type + month (rejected packs release the slot).
Until those are green, the month stays in the product as “not ready”. Auto-draft — when enabled — creates the PDF for you and stops there.
Showcase — receiving (WRO)
Inbound is hours, not a flat fee. Contract for palletised dust is typically 20 minutes per pallet, first two hours flat. Mixed-SKU pallets and sub-floor noise stay out of the claim.
| WRO | Invoice | Billed h | Expected h | Billed | Δ |
|---|---|---|---|---|---|
| WRO-10482 | 2026-07-20 | 6.5 | 3.3 | £187.50 | £71.00 |
| WRO-10501 | 2026-07-27 | 4.0 | 2.7 | £100.00 | £24.50 |
| WRO-10540 | 2026-08-03 | 2.0 | mixed-SKU | £60.00 | excluded |
What we will not claim
- A service we cannot map without guessing.
- Non-UK postage against a GB-only TIER1 card.
- DPD checkout billed as if it were Royal Mail 24.
- Storage or postage for a month whose tail invoice has not landed.
- Shrinkage until kitting conversions across month-end are honest.
- Freight with no rates on file.
That list is why a first pack is smaller than a naive “everything red” export — and why a 3PL is more likely to pay it.
See it on your invoices
The product is live at beta.billsharp.co. New accounts start with a discovery call; existing users go straight in.