Cross-border stablecoin flows rose 77.5% to $220.3 billion in the 12 months to June 2026, per Chainalysis data reported by Cointelegraph. Yet firms billing in USDC say getting paid is the easy part. The hard part is proving which transfer paid which bill, and what it was worth in dollars on the day.
This guide to crypto invoicing fixes that. You will see how to bill a client in USDC, how to tie each payment to its invoice, what to do with short and over payments, and how to book it all under the 2026 US rules. Then we compare the tools with building your own billing system, with costs and timelines.
In this guide:
- Bill in dollars, settle in USDC: the invoice stays a fixed USD amount, so short and over payments are easy to spot.
- One address or link per invoice: USDC transfers on Ethereum, Base and Polygon carry no memo, so a fresh address per bill is the only sure way to match them.
- Book the USD value at receipt: the IRS taxes crypto you earn at its fair market value in dollars, and brokers report cost basis on many sales from 1 January 2026.
- Know the GAAP split: FASB’s crypto standard, ASU 2023-08, covers tokens like ETH at fair value, but most fiat-backed stablecoins fall outside it. A proposal from 18 August 2026 would let some count as cash equivalents.
- Pick the route by size: Stripe caps each stablecoin payment at $10,000, so large B2B bills need a new tool or your own gateway.
What Is Crypto Invoicing and How Does It Work?
Crypto invoicing means sending a normal bill that the client pays in crypto, most often a stablecoin like USDC or USDT. The invoice still lists the work, the amount owed, the due date and your tax details. What changes is the payment step: instead of bank details, the invoice gives a wallet address or a payment link, the token and the network to use.
Most firms price the bill in US dollars and accept USDC as the way to pay, so the amount owed never moves. Price it in ETH or BTC instead, and the dollar value can swing before the client pays.
Here is how the main ways to get paid compare for a business bill:
| Payment route | Typical settlement | Chargebacks | Best fit |
| USDC to a unique address | Minutes, 24/7 | None, transfers are final | B2B bills, retainers, cross-border work |
| Stablecoin via a processor | Minutes, paid out in USD | None on stablecoins | Firms that want dollars, not tokens |
| Bank wire | Days for cross-border | Recalls are rare but possible | Clients who will not touch crypto |
| Card | Instant approval, payout in days | Yes | Small online payments |
How to Bill a Client in USDC, Step by Step
The 2026 Reddit threads on USDC billing land on one lesson: a wallet address on its own is not a process. It works for one job, then falls apart with many clients, part payments or an audit.
- Agree the terms first: put the token, the network, who pays the network fee, the due date and your rules for short and over payments in the contract or quote.
- Price the invoice in USD: list the dollar total, then state “payable as X USDC on Base”. One USDC aims to equal one dollar, so the two match.
- Pick one network: every extra chain you accept is one more place to watch and one more way for a client to send funds to the wrong place.
- Give each invoice its own address or link: this is what lets you match payments without guessing (more on this below).
- Show a QR code and the exact amount: fewer typos, fewer short payments.
- Ask for the transaction hash: have the client reply with it, even if your system finds the payment on its own. It is your proof of payment.
- Mark paid only on a match: the invoice closes when the hash, amount and address all line up, not when the client says “sent”.
Worked example: a design studio bills a US client $12,000 for a monthly retainer, invoice INV-1042, net 15, paid in USDC on Base to an address made just for that invoice. We follow it through the rest of this guide.
How to Match Every Payment to Its Invoice
Matching is the top pain in every thread we read. Clients forget the reference, and on Ethereum-style chains a plain USDC transfer has no memo field at all. So the match has to come from the payment itself.
Unique addresses and payment IDs
There are three ways to tag a payment, and they are not equal:
- One address per invoice: your system makes a fresh deposit address for each bill, either from one master key (an HD wallet) or with a small smart contract per invoice. Any USDC that lands there belongs to that invoice. This is what most gateways do, and it works on every chain.
- A payment ID on the transfer: some chains carry a tag. The XRP Ledger uses a destination tag and Stellar uses a memo. On Solana, the Solana Pay spec adds a “reference” key to the payment that your system can look up, and a memo if you want one.
- Odd amounts: asking for $12,000.37 so the cents act as the ID. Avoid it. One fee or rounding change and the match breaks.
| Network | Can a USDC transfer carry a reference? | Best way to match |
| Ethereum, Base, Polygon, Arbitrum | No memo on a plain token transfer | Unique address per invoice |
| Solana | Yes, Solana Pay reference key or SPL memo | Reference key, or unique address |
| XRP Ledger (RLUSD) | Yes, destination tag | Tag, with the require-tag setting turned on |
| Stellar | Yes, memo | Memo, with a unique address as backup |
| Tron (USDT) | No memo on a plain token transfer | Unique address per invoice |
One cost hides here: funds sit in many small addresses, and moving each to your main wallet needs a little gas. A good system batches these sweeps and books the gas as a cost.

How to Handle Part Payments, Overpayments and Wrong-Chain Transfers
Clients send too little because an exchange took a fee, too much because they rounded up, or the right amount on the wrong network. Decide each case in advance and write it on the invoice.
- Small gap (within your tolerance): set a rule, such as anything within $5 or 0.1% counts as paid. Write the gap off to a fees account.
- Short payment: apply what came in, keep the invoice open for the rest and send a new request for the balance to the same address.
- Overpayment: do not book the extra as income. Hold it as a client credit, then refund it in USDC or apply it to the next bill.
- Late payment after a rate lock expired: this only matters when you bill in a volatile coin. Re-quote the remaining balance at the current rate.
- Wrong token or wrong network: the funds may be safe if you control the same address on that chain, but recovery is slow. Keep the invoice unpaid and agree a fix with the client.
- Duplicate payment: treat it as an overpayment and refund it.

Back to our studio: on 3 October the client sends 7,000 USDC, which leaves $5,000 open. On 10 October it sends 5,010 USDC. The invoice closes, and the extra $10 goes to a client credit, which the studio refunds or takes off the next bill.
How to Book Crypto Invoice Payments: FX, GAAP and Tax in 2026
Start with one rule: your books run in a home currency, so each token you receive needs a dollar (or euro) value at the moment it lands. The rest depends on the token.
FX: why the currency of the bill matters
Bill in USD and take USDC, and the receivable is fixed at $12,000 with a gap of a few cents at most. Let the client pay that USD bill in ETH, and a gateway locks an ETH quote for a short window; BitPay invoices stay valid for 15 minutes. Bill in ETH itself, and revenue is set at the ETH’s fair value when the contract starts, while later price moves are gains or losses.
US GAAP: ASU 2023-08 and stablecoins
FASB’s crypto asset standard, ASU 2023-08, applies to all entities for fiscal years that began after 15 December 2024. Tokens in its scope, such as BTC and ETH, sit on the balance sheet at fair value, and changes go through net income each period. To be in scope, a token must be fungible, secured on a blockchain, not issued by you, and must not give the holder a legal claim on other assets.
That last test is why most fiat-backed stablecoins fall outside it: USDC holders can redeem for dollars. Firms often treat them as a financial asset instead, so agree the rule with your auditor. On 18 August 2026, FASB put out a proposal on when some stablecoins can count as cash equivalents. Comments are due 19 November 2026, and it is not a rule yet.
Here is how the studio’s $12,000 invoice might be booked, assuming USDC is held at $1 and later sold through a provider that charges 0.5% to cash out:
| Date | Entry | Debit | Credit |
| 1 Oct | Invoice INV-1042 issued | Accounts receivable $12,000 | Revenue $12,000 |
| 3 Oct | 7,000 USDC received | USDC holdings $7,000 | Accounts receivable $7,000 |
| 10 Oct | 5,010 USDC received | USDC holdings $5,010 | Accounts receivable $5,000, Client credit $10 |
| 12 Oct | 10 USDC refunded | Client credit $10 | USDC holdings $10 |
| 15 Oct | 12,000 USDC cashed out | Bank $11,940, Fees $60 | USDC holdings $12,000 |
US tax: income at fair value and Form 1099-DA
The IRS says crypto you receive as payment for goods or services is ordinary income at its fair market value in US dollars, and you must keep records of that value. USDC just keeps the math simple: selling USDC received at $1 for $1 gives no gain.
Form 1099-DA trips people up. It is filed by brokers to report sales of digital assets, not your invoice income. Brokers report gross proceeds on sales from 1 January 2025, and cost basis on many sales from 1 January 2026. Under the IRS de minimis rules for Form 1099-DA, a broker on the stablecoin method need not file for a client who sold $10,000 or less of these coins in a year. Payment processors can skip reporting for a payer whose sales through them total $600 or less.
For large bills, note that US firms file Form 8300 for cash over $10,000, and the law now counts digital assets as cash. But IRS Announcement 2024-4 says you need not count them toward that limit until final rules are issued.
EU and IFRS notes
In the EU, an invoice may show amounts in any currency. But the VAT Directive (Article 230) wants the VAT due shown in the local currency, so add a euro VAT line. Under IFRS, a 2019 IFRIC decision treats crypto held as an intangible asset or stock, not cash.
The Month-End Close: A Checklist for Clean Books
A thread in r/USDC listed five jobs that eat time each month: matching, receipts, USD values, clean exports and wrong-chain errors. Your ledger export should hold one row per payment with these fields:
- Invoice ID and client name: the link back to the sale.
- Transaction hash, network and token: the proof on the chain.
- Amount in tokens and USD value at receipt: plus the price source you used.
- Fees: network gas, processor fees and cash-out fees, each on its own line.
- Status: paid, part paid, overpaid, credit held or refunded.
- Three timestamps: issued, first seen and final. A thread in r/ethdev made this point: the dates matter when a payment is late or an auditor asks why the books and the chain differ.
Each month, match wallet balances to the ledger, clear open credits and revalue tokens in scope of ASU 2023-08.
Launch Your Own Crypto Invoicing and Payment Gateway
Crypto Invoicing Development — done right.
- Invoice Engine: USD-priced bills with unique USDC addresses, QR codes and rate locks.
- Match Engine: Auto-match every transfer, with rules for short, over and late payments.
- Ledger Sync: USD value at receipt, fees on their own lines, export to QuickBooks, Xero or NetSuite.
- White Label Ready: Your brand, your chains and your fees for the clients you serve.
See a working crypto invoicing flow, from bill to booked payment, in a live demo.
Book a Free Demo to plan the invoicing, matching and payout setup your business needs.
Build vs Tools: Which Crypto Invoicing Route Fits?
For a handful of invoices a month, a ready tool is the smart start. As volume, chains or clients grow, their fees and caps start to bite. Here is what each provider publishes:
| Option | What it does | Published cost | Watch out for |
| Stripe stablecoin payments | USDC on Tempo, Ethereum, Solana, Polygon and Base inside Stripe Invoicing; paid out in local currency | 1.5% per payment | $10,000 cap per payment; open to US firms, private preview elsewhere |
| Coinbase Business invoices | Invoices paid in USDC or USDT, land as USDC, optional auto-convert to USD | Not stated on the page | Funds sit in a Coinbase account |
| Request Finance | Invoices, payouts and stablecoin accounts | From $50 a month; QuickBooks and Xero sync from the $250 a month (billed yearly) Growth plan | 0.5% to 1.5% to cash out to a bank |
| BitPay | Hosted crypto invoices with a 15-minute rate lock | 2% + 25c under $500,000 a month | Built for checkout more than net-terms B2B |
| BTCPay Server | Free, open-source, self-hosted invoicing | Free, you pay hosting | Bitcoin first; other coins rely on plugins |
| Your own gateway | Your brand, your chains, your rules, full ledger and API | See cost section below | Needs a build team, security work and licences |

Building pays off in three cases: you sell invoicing to others under your own brand, your bills often top $10,000 across many chains, or you need custom rules and direct ERP sync. To see which modules a full build includes, read our guide to the features of a crypto payment gateway. For checkout on a store rather than B2B billing, see how to integrate a crypto payment gateway.
What It Costs to Build Crypto Invoicing Into a Gateway
An invoicing system is a payment gateway with a stronger ledger. The core parts are an invoice engine and a chain watcher for each network. Add a match engine for short and over payments, a ledger that prices each receipt in USD, a wallet layer that sweeps and refunds funds, and a sync to your books with webhooks and an API.
On cost, published 2026 agency cost guides put a crypto payment gateway at $20,000 to $60,000 for a white label build, $40,000 to $100,000 for a custom one and $100,000 to $300,000 or more from scratch. The biggest cost drivers are the number of chains, fiat cash-out, ERP sync depth and security audits, as our crypto payment gateway cost breakdown shows. Coinsclone’s published build times for a payment gateway are 6 to 9 weeks for a standard build and 10 to 14 weeks with fiat settlement.
If you hold or move funds for other firms, rules apply: FinCEN sign-up and state licences in the US, and a MiCA CASP licence in the EU. The US GENIUS Act, signed on 18 July 2025, takes effect by 18 January 2027 at the latest, so favour stablecoins whose issuers will qualify. Many teams start with a licensed partner for custody and cash-out.
How to Choose a Build Partner and What to Prepare
A good partner asks about your books before your blockchain. Have these answers ready for a scoping call:
- Who pays and how much: typical invoice size, monthly count, and the share above $10,000.
- Which tokens and chains: start with one or two; list the ones clients ask for.
- Your rules: how big a gap still counts as paid, and what you do with short, over and late payments.
- Your books: accounting tool, home currency, and whether you hold USDC or cash out.
- Custody and licences: do you hold funds, or does a partner?
- Who uses it: only your team, or your own clients under your brand.
Then judge the partner on proof: a live demo of the match engine handling a short payment, and a sample ledger export. Coinsclone has been building since 2018, with 350+ platforms delivered for 200+ clients across 20 industries. Our crypto payment gateway development team builds billing, matching and ledger sync into white label or custom gateways. Our stablecoin payment gateway covers USDC and USDT billing end to end.
Frequently Asked Questions
What is a crypto invoice?
A crypto invoice is a normal bill that the client pays in crypto, usually USDC. Beside the work, amount and due date, it gives a wallet address or payment link, the token and the network. Most firms price it in US dollars so the amount owed does not change.
Is there a free crypto invoice generator?
Yes. BTCPay Server is free and open source, though you host it yourself and it is built around Bitcoin. Stripe charges no monthly fee for stablecoin invoices, just 1.5% per payment.
What is the best crypto invoicing platform?
It depends on size. Stripe suits US firms with invoices under $10,000 that want dollars paid out. Request Finance suits teams that need QuickBooks or Xero sync. Firms that bill at scale across chains, or under their own brand, often build their own gateway.
How do I record USDC payments in QuickBooks?
Record the invoice in USD, then record each USDC receipt at its dollar value on the day it arrived, against that invoice, with the transaction hash in the memo field. Tools such as Request Finance and Kryptos can sync these entries, or you can import a monthly export.
How do I match a USDC payment to an invoice?
Give each invoice its own deposit address or payment link, so any USDC that lands there belongs to that bill. On Ethereum, Base and Polygon a plain USDC transfer carries no memo, so its own address is the only sure tag.
Do I pay tax when a client pays me in USDC?
In the US, yes. The IRS treats crypto received for goods or services as ordinary income at its fair market value in dollars when received. Because USDC aims to hold one dollar, selling it soon after usually creates little or no extra gain.
Will I get a Form 1099-DA for USDC invoice payments?
Form 1099-DA reports sales through brokers, not your invoice income. If you sell USDC through a US broker, it may report that sale. Under the stablecoin method, though, it need not file if you sold $10,000 or less of these coins in the year. You still report the income yourself.
What happens if a client sends USDC on the wrong network?
The funds may be recoverable if you control the same address on that network, but the fix is slow and manual. Keep the invoice unpaid and agree next steps with the client. Stating one network on every invoice prevents most cases.