Back to blog
Custom Software2026-04-297 min read

Warehouse invoicing software for UK 3PL operators: when to stop running it on Excel

If your 3PL invoicing lives in spreadsheets and every client has a different rate card, you're a few growth months away from the system breaking. Here's what actually replaces it, what doesn't, and how to know when it's time.

Warehouse invoicing software for UK 3PL operators: when to stop running it on Excel
01

How most 3PLs end up running invoicing in Excel

The first client signed on a simple per-pallet, per-month deal. Easy to track. A spreadsheet with dates, pallets in, pallets out, and a sum at the end of the month — that was the system.

Then the second client wanted weekly billing. Then a third had a different rate for ambient versus chilled. Then someone asked for a half-rate after pallets had sat for thirty days. By the time the fifth client arrived with a per-event cadence and a value-add storage charge, the spreadsheet had become a folder of spreadsheets, and the operator was the only person who could close out the month without making a mistake.

In our experience, this is how UK 3PL invoicing systems usually end up at the spreadsheet stage. Not a single dramatic failure — a slow accumulation of small exceptions, each one reasonable on its own.

02

What "outgrown" actually looks like

A few signs you have crossed the line:

  • Invoicing eats half a day every billing cycle, and most of that is reconciling movements against the spreadsheet rather than checking the prices.
  • Clients query their invoices regularly, and you cannot prove which rate applied to which pallet on which day without rebuilding the calculation by hand.
  • Onboarding a new client adds visible admin overhead — you take a small piece of your week back permanently for every new contract.
  • The spreadsheet only one person can edit safely. Other people make changes that break the formulas in non-obvious places.
  • Mid-year rate changes are dreaded. A simple "we've agreed a new rate from June" causes an afternoon of work to apply correctly, and you are still not sure about the periods that span the change.

If two or more of these are true, you are spending more on Excel than the replacement would cost.

03

What actually replaces it (three components)

A 3PL operations system that handles invoicing properly is three things, not one.

1. A scan-based inventory ledger

Pallets are scanned in and scanned out. Every movement carries client, location, timestamp, and (where relevant) condition flags. There is no separate "pallet movement spreadsheet" updated by typing — the scans are the ledger.

This is the foundation. It must be trustworthy without exception. Every later step is downstream of "the ledger says where every pallet was, on every day, for every client."

2. A per-client billing engine

This is where the work actually is. Each client gets a rate card: storage rates, handling rates, in/out fees, value-add charges, and the cadence the rates apply on (weekly, monthly, per-event, per-quarter). The engine reads the ledger, applies the relevant rules for the period, and produces an invoice draft.

Off-the-shelf WMS products usually have a generic billing module that handles two or three patterns well. The fourth pattern — the one your most awkward client wants — is where they fall over. A 3PL with five clients and five different agreements needs an engine that treats the rules as data, not as code paths.

3. Versioned rate cards

This is the part most operators do not realise they need until a client renegotiates mid-year. A rate change has an effective-from date. Periods invoiced before the date use the old rates; periods after use the new ones. Nothing is overwritten retroactively.

Versioning matters when a client queries an old invoice. You need to be able to point at the rate card that was active on that day and the movements that ran under it. Without versioning, a renegotiation contaminates your historical numbers and you cannot prove what you charged or why.

04

What it does not need to be

Some things this system explicitly is not:

  • A full enterprise WMS. Most enterprise WMS products are scoped for inventory accuracy across very large operations and bill the implementation accordingly. A small 3PL does not need that. The lighter version — scan-based ledger, per-client billing rules, versioned rates — is far more useful for the money.
  • A general-purpose accounting system. Xero or QuickBooks is the right tool for the invoice document and the receivables ledger. It is the wrong tool for generating the invoice from movement data. Most 3PLs run both: the operations system produces the invoice and pushes it to the accounting tool.
  • An ERP. If a salesperson has tried to sell you an ERP for this, the price they are quoting is for problems you do not have.
05

What actually changes once it is in

We built one of these for a UK 3PL running multiple clients on multiple cadences. Three things shifted:

  • Invoicing went from hours to under a minute per client period. Pick the client, pick the period, generate. The draft matches the movement ledger by construction.
  • Queries dropped sharply. Numbers come from the scan ledger directly, not from manual re-entry, so there is nothing to disagree with except the rules — and the rules are auditable.
  • New clients stopped costing administrative time. A new rate card goes in once; the system runs it from then on.

The bigger change was harder to measure: the operator stopped dreading month-end. That is what a system you can trust feels like.

06

How small can you start?

The full build is a serious investment. The cheapest credible version is a scan-based ledger plus a config-driven billing layer that handles two or three rate patterns — enough to take the most awkward client off the spreadsheet and prove the value before scaling further.

We tend to recommend that approach for operators with three to ten clients. Build the ledger first, migrate the worst-offender client onto the new billing engine, prove it for one cycle, then move the rest in waves.

If you are running with one or two clients on a stable contract, you probably do not need this yet. The signal to build is when adding the next client makes your week measurably worse.

07

Where we land

3PL invoicing in Excel works until it doesn't. The spreadsheet does not fail dramatically — it fails slowly, in the form of half-days lost to reconciliation, queries you cannot defend without an afternoon of work, and a creeping reluctance to take on new clients because each one costs you time forever.

The replacement is not a vast off-the-shelf WMS. It is three pieces working together: a scan-based ledger you trust without checking, a billing engine that treats per-client rules as data, and versioned rate cards that survive renegotiations. From the projects we've shipped in this space, this approach typically pays for itself within the first year and stops costing operators weekends every billing cycle.

If your invoicing is taking real time every month and you are not sure whether you are at the "fix Excel" stage or the "replace it" stage, drop us a line. The first call is a 30-minute scoping conversation, free, and we will tell you honestly which one we think you are at.

08

Further reading

Got questions about this topic? We're happy to help.

Get in touch

Frequently asked questions.

  • What drives the cost of a custom 3PL invoicing build?

    The number and complexity of billing patterns, the depth of integrations (Xero, QuickBooks, freight providers, customs paperwork), the warehouse hardware involved, and how many existing client contracts need migrating without changing what they're billed. Generic ranges aren't useful here — every 3PL we've scoped has had a different mix. We scope every engagement before quoting and the first conversation is free, so you'd get a real number for your operation rather than a ballpark from us or anyone else. The honest framing for the budget conversation is to compare the build against what the current spreadsheet is already costing you in operator hours, disputed-invoice corrections, and the admin overhead added by every new client.
  • Can I just use Xero or QuickBooks for 3PL invoicing?

    You should keep using them — but for the part they're actually built for. Xero, QuickBooks, Sage, and FreeAgent are excellent at sending invoices, chasing payment, matching cash, handling VAT, and reporting to HMRC. The part they aren't built for is calculating the invoice from operational data — pallet movements, per-client rate cards, storage windows, mid-month rate changes. That calculation has to live in the operational system. The clean pattern, and the one we typically build, is to do both: the WMS / billing engine works out what each client owes for the period from the scan ledger and per-client rules, then pushes that draft invoice into your existing accounting tool via API. The accounting tool sends it, chases it, posts the cash when it lands. You don't replace your accounting setup — you feed it the right numbers automatically.
  • How long does it take to migrate from Excel invoicing to a proper system?

    For a small 3PL with three to ten clients, expect six to twelve weeks of build plus a parallel-run cycle. The technical migration is rarely the bottleneck — it's getting every client's rules captured cleanly and making sure the first cycle's invoices match what the spreadsheet would have produced. We usually run both systems in parallel for the first billing cycle and only retire the spreadsheet once the new system has produced a clean run.

Let's talk.

Tell us what you're trying to do. We'll reply within one working day. If we're not the right team for it, we'll say so.

Reply in one working day
First call is free — no pitch
If we're not the right fit, we'll say so
Based in the UK, working with businesses across the country