The Number You Can't Produce

You can tell me last month's revenue. You can probably tell me your blended margin within a point or two.

Ask which client is your least profitable and something changes. You get a name, but it arrives as a suspicion rather than a figure. And it's almost always the account that generates the most friction: the one that calls constantly, the one whose orders always need a second look, the one your team complains about in the break room.

Friction is what you can feel. Cost is what you can measure. They overlap less often than anyone expects.

The client who annoys your team and the client who erodes your margin are two different lists, and most operations have never separated them.


Why It Isn't a Bookkeeping Problem

The instinct is that this is a finance gap. Hire a bookkeeper, buy better reporting, ask the accounting system to slice profitability by customer.

That instinct is wrong, and it's worth understanding why before you spend money on it.

Your P&L is organized by expense type. Labor, rent, materials, equipment, insurance. Every one of those is a real cost and every one is recorded accurately. None of them carry any indication of which client's work consumed them.

Your accounting system can tell you what you spent. It cannot tell you who you spent it on, because nothing upstream of it ever recorded that.


The Work That Never Becomes a Line Item

Here is what this looks like on a floor.

A pallet arrives unlabeled and someone spends forty minutes sorting it. An account ships in a configuration that requires a manual check before every order leaves. A client changes their routing requirements and nobody updates the SOP, so the team absorbs the difference through tribal knowledge.

That labor is real. It gets paid for. It just never gets attached to anyone.

And notice what else is true about all three: none of them appear on an invoice either. The operation performed work and billed nothing for it.

The reason you can't attribute cost to a client is the same reason you aren't charging them for it. The work was never recorded anywhere, so it can't surface in your accounting or your billing.


What This Has to Do With the System You're About to Buy

This is where the margin question stops being a finance exercise.

When an operation starts evaluating a WMS, requirements get written against the business the operator believes they're running. The client mix worth scaling. The workflows that are standard. The accessorials that matter enough to automate.

I've sat on the vendor side of those conversations. A vendor takes the operational picture you hand them and builds toward it. They ask clarifying questions, but the questions come from the picture you provided, so they can only refine it. They have no independent way to know that the account you described as your anchor client is the one quietly consuming your capacity.

A vendor will build you exactly the billing model you describe, and neither of you will find out the description was wrong until the system is live and the invoices still don't match the work.


A Pass You Can Run This Month

The point of doing this by hand, before you buy anything, is not the number at the end. It's what you learn while trying to produce it.

Work monthly. Weekly is noise and quarterly is too slow to act on. Then, per client:

→ Pull everything you billed them: storage, handling, pick and pack, materials, freight markup
→ Estimate what their work consumed: direct labor hours, packaging, freight pass-through, any surcharge you absorbed
→ Divide the difference by revenue for a contribution margin percentage
→ Sort the list and compare it against the ranking you would have guessed

Directionally right beats precisely absent. If labor allocation is a rough percentage of warehouse hours rather than a tracked figure, use the rough percentage.

As a reference point, contribution margin at or above thirty to forty percent is generally healthy, and below twenty-five is worth examining unless your model is unusually lean.

You are not trying to produce an audited figure. You are trying to find out whether the ranking matches your assumptions, and the operations that most need to run this are the ones where it doesn't.


The estimating is the part that teaches you something. Every cost you struggle to assign is a piece of your operation that no system currently sees, which makes it a requirement nobody has written down yet.

Operators who run this before a selection tend to walk into vendor conversations describing a different business than the one they would have described a month earlier. That difference is the whole point.