Use cases

Case study: a SaaS startup collects in USDC from clients in 12 countries

Clients in twelve countries, one dollar balance: what actually changes at month-end close.

Equipo Soulbit10 min read
Share
Use cases

A software company sells subscriptions to clients in twelve countries. The product scales without friction: a new client in Guatemala activates exactly like one in Chile. What does not scale is getting paid. Every country brings its own bank, term, fee and receipt format, and the finance team ends up chasing payments instead of closing the month.

At Soulbit Academy we present this as a synthetic and realistic example, not a real client. The names do not exist and the figures are illustrative, though consistent with typical costs and timelines in cross-border collections. The aim is to show the order of magnitude of the problem and what actually changes when revenue lands in a single digital dollar balance.

The company profile (illustrative case)

Call the company "Cadencia", a SaaS startup based in Medellin selling an inventory management tool to small and mid-sized businesses. It has 22 people on staff, around 140 active clients and annual revenue close to 1.8 million dollars.

Its clients sit in twelve countries: the United States, Mexico, Colombia, Chile, Peru, Ecuador, Argentina, Brazil, Panama, Costa Rica, Guatemala and Spain. The standard contract is an annual subscription billed in advance, with an average ticket of 1,100 dollars a month on the larger accounts and 180 dollars on the smaller ones. Almost everything is invoiced in dollars, except the local market.

Finance is run by a controller and one analyst. Between them they handle roughly 90 invoices a month, of which about 55 are international. Neither has prior crypto experience, and that was the entry condition: any change had to be explainable to the statutory auditor.

The problem: twelve countries, twelve ways to get paid

The visible symptom was delay. The real symptom was fragmentation.

Some clients paid by international transfer, with terms of two to five business days and deductions that only showed up on arrival. Others paid from local banks in their own country, which meant a separate conversation per jurisdiction. A small group paid by card and produced the occasional chargeback. And several accounts in Argentina and Brazil faced restrictions or costs that made the client pay late for reasons outside their control.

Why does a software company feel this more than one selling goods?

Because software bills often and in mid-sized amounts. A goods exporter negotiates a few large shipments and can absorb friction per shipment. A SaaS repeats the collection cycle every month or every year across dozens of clients, so the unit cost of friction multiplies by the number of invoices. What is an annoyance on one deal becomes a full job across 55 monthly invoices.

What the scattered collection process really cost

The company had never measured the full cost, so the first move was to put it on a spreadsheet. The figures below are illustrative, but the calculation method is one any team can repeat.

There is a public reference for sizing the fee component. The World Bank's Remittance Prices Worldwide series puts the average cost of sending money across borders at 6.36% of the amount, and close to 15% through a bank channel. Those are remittance figures rather than B2B invoices, which is why the case uses more conservative assumptions. The underlying reason is set out by the BIS cross-border payments programme, which exists because the G20 considers these payments slow, expensive and opaque.

Item (illustrative case)Before: scattered collectionsAfter: collecting in USDC
International invoices per month5538 migrated, 17 still by bank
Average time until the money is visible2 to 5 business daysMinutes from when the client pays
Unexpected deductions per collectionBetween 15 and 45 dollars by corridorNetwork fee known before collecting
Monthly reconciliation hoursAround 30Around 8
Unidentified invoices at close6 to 9 every monthFewer than 1
Currency the revenue ends up inPesos, after a conversion the bank decidedUSDC, with the company deciding when to convert
Table 1. Illustrative comparison of the case company's international collections before and after migrating part of its book to USDC.

What surprised the controller most was not the cost but the hours. Thirty monthly reconciliation hours amount to almost a full working week of the analyst spent matching statements against invoices.

The company did not migrate everything at once. It started with clients already operating in digital dollars and with the corridors where transfers were slowest.

The procedure came down to four rules. First: at every renewal the client is asked whether they can pay in USDC, and the answer goes into the payment terms. Second: every invoice travels with its own payment link, carrying the invoice number in the reference. Third: clients who cannot pay that way stay on the banking circuit, with no exceptions and no commercial pressure. Fourth: the local currency leg is handled separately, with the usual bank.

What happens to clients who cannot pay in USDC?

They stay exactly as they were. The company decided not to make renewal conditional on the payment method, because losing an account over a treasury preference costs more than running two circuits. That rule also avoided awkward conversations with clients in regulated sectors, where the decision does not sit with procurement.

USDC is a digital dollar issued by Circle, backed by cash reserves and US Treasury bills. For a client already paying in dollars there is no currency change, only a channel change. The building block is explained in what USDC is and how it works for companies, and the rail comparison in SWIFT vs stablecoin for international payments.

Of the 55 international invoices, 38 migrated over four months. The remaining 17 stay on bank rails, and the company assumes some never will move. That is the realistic outcome, not a full conversion.

How month-end close changed

The change the controller highlights is not collection speed. It is the order of the file.

Reconciliation used to be a backlog task: wait for the statement, match aggregated concepts, then investigate the differences. Now each collection leaves an on-chain identifier logged the same day alongside the invoice number, the gross amount, the network fee and the date. That identifier is verifiable by both parties and does not depend on the bank describing it well.

The company adopted three accounting habits. It always records gross amount and fee on separate lines. It fixes a single exchange rate criterion for the entry and documents it in writing. And it keeps contract, invoice and identifier in one file per client. The full procedure is in how to reconcile stablecoin payments in accounting.

With revenue landing in one dollar balance, treasury logic changed too. The company keeps in USDC the portion earmarked for international suppliers and software subscriptions, and converts to pesos only what it needs for payroll, taxes and local expenses. Colombia has a local banking rail, so that conversion does not depend on a third party outside the platform.

What the change did not fix

An honest case is measured by what it fails to solve. The company closed the project with a clear list of limits.

Initial expectationActual outcomeHow the company handled it
Migrate 100% of international collections69% migrated in four monthsKeeps the banking circuit for the rest, without pushing clients
Eliminate manual reconciliationReduced it, did not eliminate itDaily logging by identifier, weekly review
Stop issuing local invoicesNothing changes: the tax invoice stays the sameSame invoicing and tax reporting process
Receive local currency in every countryLocal rail exists only in ColombiaConverts elsewhere through its own bank
Earn yield on the dollar balanceNot available in V1The balance is held as operating treasury, unremunerated
Run everything from a phoneNo native app in V1Operates from the web platform
Table 2. The case company's initial expectations against the actual outcome, including what V1 does not cover.

What another company can take from this case

Three conclusions travel well to any business with clients in several countries.

First: the cross-border collection problem is rarely the price of a single transfer. It is friction per invoice multiplied by the number of invoices. Measuring reconciliation hours usually reveals more than measuring fees.

Second: the migration is partial by design. Asking at renewal, migrating whoever can and leaving the banking circuit untouched for the rest avoids breaking commercial relationships over a treasury decision. A similar pattern appears in the case of an agency paying its freelancers in USDC, that time on the payment side.

Third: the accounting gain only materialises if it is logged in the moment. An on-chain identifier recorded the same day is worth a great deal; the same identifier hunted down three weeks later is worth far less. To see the full scope of the platform, read what Soulbit is and how it works.

Frequently asked questions

Is this case study based on a real Soulbit client?

No. It is an illustrative, synthetic case. The company does not exist and the figures are invented, though consistent with typical costs and timelines in cross-border collections. The point is to show the order of magnitude of the problem and what a stablecoin rail changes, not to present guaranteed results.

Can every SaaS client pay in USDC?

No, and that is the first filter in the case. The example company migrates only the clients who can and want to pay that way, and keeps the banking circuit for the rest. Ask at contract renewal, and never assume it once the invoice has already gone out.

What does the accounting team gain from an on-chain collection?

A unique, independently verifiable identifier for every incoming payment, available the moment the client pays rather than when the statement arrives. That identifier is matched to the invoice number and turns reconciliation into a daily task of minutes instead of a backlog reviewed at close.

Can the company receive funds in its local currency?

In V1 the only local banking rail is Colombia. Elsewhere the platform settles balances in stablecoins such as USDC and USDT plus fiat in USD, EUR and GBP, and the company converts into national currency through its own bank. In this case the company is Colombian, which is why it can use that rail.

Does collecting in USDC change the company's invoicing or taxes?

No. The company still issues its local tax invoice, declares the revenue and applies the withholdings required in its country. The rail changes the speed, cost and traceability of the collection, not the tax obligation or any applicable foreign exchange rules.

Want your company to add stablecoins to its operations?

Join the Soulbit waitlist and start paying payroll, collecting and managing treasury without SWIFT.

Join the waitlist

Related articles

Use cases

Getting Paid in USDC: Argentine Service Exporters Case Study

An Argentine firm billing software abroad gets paid in USDC and keeps digital dollars as a store of value. A B2B use case with the flow, KYB and honest limits.

10 min read
Getting Paid in USDC: Argentine Service Exporters Case Study