Here's the conversation that quietly kills agency rebill margin. A client who's been paying you $0.04 a text for a year finally Googles "how much does SMS cost." They find a page quoting a sub-cent carrier rate, they do bad math, and they email you asking why they're paying 5x the "real" price. You didn't do anything wrong (your markup is fair, your underlying cost is higher than the number they found) but now you're on defense, and defense is where retainers go to die.

Full disclosure: I work for Ready, so I have a dog in this fight. But the fix I'm describing here works no matter whose infrastructure you send on. The problem isn't your markup. It's that the client can't see the layers, so they assume the worst about every dollar they can't account for.

The trust problem is a visibility problem

Your SMS rebill has three layers stacked inside one number:

  1. The per-segment carrier delivery cost, what it actually costs to push a message onto a registered 10DLC route.
  2. The platform cost, your provider's per-segment rate for sending, inbound handling, the inbox, compliance tooling.
  3. Your markup, the margin that pays for the strategy, the list-building, the automation work, the fact that you're the one who picks up the phone when a campaign breaks.

When you bill a client a single rounded number, "$0.04/text", all three layers collapse into one figure the client has no way to decompose. So they decompose it themselves, badly, and land on the conclusion that you're taking the whole spread.

The report fixes this by un-collapsing the number. You show the layers. Counterintuitively, showing your markup as a line item makes it more defensible, not less, because now it's labeled "agency services" instead of being an unexplained gap the client invents a villain to fill.

Why Ready's structure makes this report trivial

I'll be specific about why I keep recommending this, because it's structural, not a sales pitch. Ready bills the per-segment rate and the $0.0045 carrier pass-through as two separate itemized lines, the carrier fee is not marked up and not baked into a rounded rate.

That matters for the report because the pass-through is the exact line clients get suspicious about. If your provider rounds everything into one "$0.0203 per message" figure (the way LC Phone and most resellers do), you can't honestly show the client what's carrier cost versus platform cost, because you don't even see the split. When the pass-through is already broken out on your bill, your client-facing report inherits that transparency for free.

We wrote more about why that specific fee gets hidden in the $0.0045 line item most providers bake in, and how it quietly halves agency margin when you forget it exists.

What to itemize (and the worked math behind it)

Take a real month. Say a client sent a mix that came to 14,200 billed segments, remember segments, not messages, because a 175-character promo with an emoji splits into 3 unicode segments (emoji drops the per-segment limit to 70 chars). If that discrepancy is new to you, the segment-count audit is worth ten minutes.

On Ready Standard your cost on those 14,200 segments:

LayerPer segment14,200 segments
Platform (Standard)$0.02$284.00
Carrier pass-through$0.0045~$63.90
Your all-in cost~$0.0245~$347.90

Now you rebill at $0.04/segment:

Line itemAmount
SMS, 14,200 segments @ $0.04$568.00
Your gross margin~$220.10

The client-facing report shows this, but you decide how much of the stack to reveal. Here's the version I'd actually send:

SMS Usage, [Client], [Month]
Messages sent9,840
Billed segments14,200
Segments per message (avg)1.44
Carrier delivery (pass-through, at cost)$63.90
Platform + agency services$504.10
Total$568.00

Notice what I did. I itemized the carrier pass-through at cost, that's the number clients are paranoid about, and showing it unmarked disarms the paranoia instantly. But I folded platform cost and markup into one "platform + agency services" line. That's the honest-but-not-naked move.

What to hide, and why that's not dishonest

You do not show the client your platform cost as a separate figure. Here's the reasoning, and it's defensible:

  • Your provider rate is your trade cost, not theirs. A restaurant shows you the price of the steak, not what they paid the supplier. Itemizing the carrier pass-through at cost is a goodwill gesture, not a legal obligation to open your books.
  • Showing platform cost invites a negotiation you can't win cleanly. Once a client sees "$0.02 platform, $0.02 markup," the conversation becomes "why is your markup 100%?" instead of "am I getting value?" The first is a race to the bottom; the second is the conversation you want.
  • The pass-through is the only genuinely third-party number. It's a real cost neither of you controls. Showing it at cost signals "I'm not hiding the one thing you'd actually catch me on", which buys you the trust to keep the rest bundled.

The line between honest and over-exposed: itemize the things that are literally pass-through (carrier fees, scrub costs, brand registration), bundle the things that are your business (platform + labor). If a client ever asks to see the platform rate, you can have the conversation, but you don't lead with it, and you don't owe it unprompted.

For where your markup can actually sit before clients start auditing, the markup ceiling post has the churn math.

Add the two numbers that make the report pre-empt disputes

A good usage report doesn't just explain the bill, it heads off the chargeback before it's filed. Two additions:

  • Segments-per-message average. When a client sees "1.44 segments per message," they understand why 9,840 messages became 14,200 billed units. That single line kills the "I only sent 9,840 texts, why am I billed for 14,200?" dispute, which is the single most common rebill fight. If you want the full defense, the reconciliation trail that wins the chargeback covers it.
  • A date-range and a running total. Clients dispute what feels arbitrary. A report tied to a clear billing window with a consistent format reads as a system, not a shakedown.

When the volume tier flips, say so

Here's the trust move almost no agency makes. On Ready, once an account crosses 50,000 segments in a calendar month, the rate drops to $0.016/segment automatically: Growth tier, no plan to pick, it just happens.

If a client's volume crosses that line and your cost drops 20% while your rebill stays flat, you've quietly widened your margin. That's allowed, you set the rebill rate. But a client who later discovers the tier exists and realizes you never passed any of it along is a client who now questions the whole relationship. The tier-crossover post walks the exact math.

The clean play: when a heavy client crosses into Growth, send a short note. "Your volume hit our next pricing tier this month: I've adjusted your rate from $0.04 to $0.037." You still keep most of the improved margin. You just spent a tiny slice of it buying a client who now believes you share the upside. That trade is almost always worth it.

The report, as a repeatable template

Build it once, send it monthly. Fields:

  1. Client name + billing month
  2. Messages sent vs. billed segments
  3. Average segments per message
  4. Carrier pass-through, at cost (your honest line)
  5. Platform + agency services (bundled)
  6. Total
  7. Optional: tier status, and any rate change you passed along

That's it. Seven lines. It takes longer to read this post than to fill one out, and it converts the single most corrosive conversation in agency SMS, "are you ripping me off on the carrier fee?", into a non-event.

The practical takeaway

Clients don't churn over markup. They churn over markup they can't see and therefore assume is larger than it is. Itemize the one genuinely third-party number, the carrier pass-through, at cost, bundle your platform and labor into a services line, and show the segment math that explains the unit count. The report costs you nothing and removes the exact ambiguity that chargebacks grow in.

If your current provider won't even show you the carrier split, you can't build this report honestly, which is as good a reason as any to look at how the pricing is structured when the pass-through is broken out on purpose. And if you're weighing the whole rebill model, per-message vs. flat monthly is the next question worth your time.