Operations
· 6 min read

Why the wallet model changes everything for SaaS billing

Most shipping platforms invoice you monthly for labels you bought. We invert that — pre-fund a wallet, and every label deducts atomically. Here’s why.

For years, the default shipping-platform billing model has been: print labels all month, get a bill on the first. The bill is reconciled against carrier statements. The platform charges your card.

It’s a bad model — for both sides. Card declines mid-billing-cycle. Disputes over carrier surcharges. Surprise invoices when a marketplace import goes haywire. We picked a wallet model instead.

How it works

You pre-fund your wallet. Every label purchase is an atomic SQL transaction: lock the wallet row, check balance, insert the wallet_transactions row, update wallets.balance_cents, insert the label record. If anything fails, nothing happens.

Why it’s better

  • No card declines mid-day. Your wallet is funded; labels print.
  • No surprise invoices. You always know what you’ve spent — it’s in the ledger.
  • No over-charging. The atomic deduction means you’re never billed for a label that didn’t actually print.
  • No disputes. The wallet ledger and the carrier statement always agree, because we only deduct when EasyPost confirms the label exists.

The trade-off

You have to think about wallet balance. We mitigate this with auto-topup (refill from your card when balance hits a threshold) and low-balance alerts (email + in-app at 24-hour intervals).

For most merchants, this trade-off is the difference between a shipping system that feels in control and one that feels like it’s shipping you bills.

Ready to ship faster?

Start with a free trial — no credit card needed for sandbox mode.