Record USDC/USDT Invoice Payments in Xero & QuickBooks

Your client just paid a $10,000 invoice in USDC. The payment hit the wallet. Now what?
If you have been in crypto accounting for more than a few months, you already know the answer is not simple. The standard AP/AR workflow in Xero and QuickBooks was not built with stablecoin payments in mind. Most accountants default to a clearing account. That works, sort of, but it creates more problems than it solves.
This guide walks through the correct way to close AR and AP invoices paid in USDC or USDT, how to handle exchange rate variance, and where Breezing fits in for practices managing this at volume.
Why the clearing account approach causes problems
The clearing account workaround goes like this: receive the USDC into a "Crypto Clearing" account, record a manual journal entry to move the value, then apply it against the open invoice. It feels clean at the time.
In practice it creates downstream issues.
Reconciliation gets messy fast. Every stablecoin payment adds two extra journal lines that need to be cleared. If a client pays multiple invoices across the month, you are chasing a growing clearing balance that should be zero but often is not.
The audit trail breaks. There is no direct link between the on-chain receipt and the invoice closure. An auditor following the paper trail has to piece together three separate entries to understand one payment.
Exchange rate variance does not flow correctly. USDC trades at $1.00 most of the time, but not always. If you receive 10,000.47 USDC for a $10,000 invoice, the $0.47 difference needs to land somewhere meaningful. A clearing account obscures where.
The right approach links the payment directly to the invoice, posts any gain or loss to an exchange rate variance account, and leaves a clean trail from receipt to closure.
Closing an AR invoice in Xero when payment arrives in USDC
Before you start, make sure you have three accounts set up in your Xero chart of accounts:
- A current asset account for USDC holdings (type: Current Asset, named something like "USDC Wallet" or "Digital Assets - USDC")
- A foreign exchange gains/losses account (type: Other Income or Other Expense)
- Your standard accounts receivable account (already exists in most charts of accounts)
Step-by-step:
- Navigate to the open invoice in Xero under Accounts > Sales.
- Click "Receive Payment."
- Set the account to your USDC asset account, not your bank account.
- Enter the date of receipt as the date the USDC arrived on-chain.
- Enter the USD equivalent of the USDC received at the time of receipt. If the client sent 10,000 USDC and USDC was trading at $1.0003, the amount is $10,003.00.
- If there is a variance between the invoice total and the USD equivalent received, Xero will prompt you to post the difference. Map it to your FX gains/losses account.
- Save and close.
The invoice is now marked as paid. The USDC asset account reflects the incoming balance. No clearing account needed.
One note on Xero's multicurrency settings: if you have multicurrency enabled and have set up USDC as a currency, the workflow looks slightly different. Most practices treat USDC as USD-denominated and skip the multicurrency module for stablecoins. That is generally the cleaner approach unless your practice has a specific reason to track USDC as a distinct currency unit.
Closing an AR invoice in QuickBooks Online when payment arrives in USDC
The chart of accounts setup is the same: you need a current asset account for USDC (Other Current Assets type works), and an Other Income or Other Expense account for exchange rate variance.
Step-by-step:
- Open the invoice in QuickBooks Online.
- Click "Receive Payment."
- In the "Deposit to" field, select your USDC asset account. Do not select your checking account or a clearing account.
- Enter the amount received in USD equivalent terms, as of the date the USDC arrived.
- If the amount received differs from the invoice total, apply the difference as a credit memo mapped to the FX account, then apply it alongside the payment.
- Save and close.
QuickBooks does not handle FX variance on invoice payments as gracefully as Xero. For small rounding differences, many practitioners post a credit memo for the difference amount, map it to the FX account, and apply it alongside the payment. It is an extra step, but it keeps the AR balance clean.
Handling USDT: same mechanics, different balance sheet treatment
The steps above apply equally to USDT payments. The operational workflow is identical. Where it diverges is on the balance sheet.
USDC is issued by Circle and backed by cash and short-term US Treasuries. Under most current accounting frameworks, USDC can reasonably be classified as a cash equivalent, depending on how quickly it is converted. USDT, issued by Tether, has historically held a more opaque reserve structure. Most practitioners classify USDT as a digital asset (Other Current Asset) rather than a cash equivalent.
This distinction matters for financial statement presentation and for any lender or investor reviewing the balance sheet. For a deeper breakdown of the two, see our guide on USDC vs USDT for accountants.
For the purposes of closing invoices, both USDC and USDT flow through the same AR/AP workflow. Keep them in separate asset accounts so the balance sheet classification stays accurate.
Handling exchange rate variance
Even though USDC and USDT are stablecoins, they do not always trade at exactly $1.00. You may also encounter minor differences from rounding at the blockchain level. A client sends 9,999.99 USDC for a $10,000 invoice because a gas fee was deducted from the payment.
The standard treatment:
- Post the difference to an "FX Gains/Losses" account or "Crypto Exchange Rate Variance" account.
- If the variance is under a materiality threshold your practice has set (many use $5 or $10), write it off directly. If it is larger, investigate whether the client underpaid or if there was a fee deducted.
- Document your treatment in the period-end workpapers. Auditors will ask.
For AP invoices where you are paying in USDC, the same logic applies in reverse. If you pay 10,000 USDC for a $10,000 bill and USDC is at $1.0002, you have overpaid by $2. That goes to the variance account.
How Breezing handles this automatically
Manually matching stablecoin receipts to open invoices works fine at low volume. At 20, 50, or 100 crypto payments per month, it becomes a bottleneck.
Breezing is a crypto accounting subledger that connects directly to your wallets and exchanges across 40+ blockchains and 15+ exchanges. It monitors for incoming stablecoin payments and matches them to open invoices in Xero or QuickBooks. When a USDC payment arrives that corresponds to an open AR invoice, Breezing closes the invoice automatically, posts the correct USD equivalent, and routes any variance to the designated account.
The journal entries Breezing generates can be updated without deleting and reposting. That matters during month-end review when you are making adjustments. It is a meaningful operational difference from tools that require you to void and re-enter entries every time something changes.
For practices managing crypto AP as well, Breezing handles the payable side the same way. Payments going out in USDC or USDT are matched to open bills, the bill is closed, and the digital asset account is reduced.
For a broader look at crypto invoicing and reconciliation workflows, see the accountant's guide to crypto invoicing and reconciliation.
Frequently asked questions
Can you close a Xero invoice with a crypto payment?
Yes. You receive the payment to a digital asset account in your chart of accounts (set up as a Current Asset), enter the USD equivalent amount, and Xero closes the invoice. Any variance between the invoice total and the payment amount posts to an FX or variance account.
How do you record a USDC payment in QuickBooks Online?
Open the invoice, click Receive Payment, and set the "Deposit to" account to your USDC asset account. Enter the USD equivalent of the USDC received on the date of receipt. For any difference between the invoice total and the payment amount, post a credit memo mapped to your exchange rate variance account and apply it to the same invoice.
Is receiving USDC a taxable event for a business?
For the business receiving USDC in payment for services or goods, the receipt itself is not typically a separate taxable income event. Revenue is recognized at invoice or delivery depending on your accounting method. However, if the USDC later appreciates in value before you convert it, that gain may be taxable depending on jurisdiction. Confirm the treatment with a tax advisor familiar with digital assets.
How do you handle a partial crypto invoice payment?
Apply the payment for the amount received against the invoice. Xero and QuickBooks both support partial payment application. The invoice stays open for the remaining balance. When the client pays the remainder, repeat the process and apply it to the same invoice. The invoice closes when the full balance is covered.
What accounts do you need set up before you start?
At minimum: a Current Asset account for each stablecoin you hold (separate accounts for USDC and USDT), and an income or expense account for exchange rate variance or FX gains/losses. Make sure your standard receivables and payables accounts are also mapped correctly. Breezing can push these account mappings directly from setup.
Bottom line
Closing stablecoin invoices in Xero or QuickBooks does not require a clearing account. It requires the right chart of accounts setup, a clear variance treatment, and consistent application. Get those three things right and the workflow is no more complex than any foreign currency payment.
For teams handling crypto payments at volume, Breezing removes the manual matching entirely and keeps the GL clean without extra reconciliation work.
More articles

Form 1099-DA: What Accountants Need to Know for Crypto Tax Reporting
The IRS now requires crypto brokers to issue Form 1099-DA for digital asset transactions. That sounds simple until you try to reconcile one. This guide covers who must file, what the form reports, and how accountants should prepare their clients' books.

Crypto Month-End Close: An 8-Step Checklist for Finance Teams
Month-end close for a crypto-heavy company is not a traditional close. You have more variables, less reliable data, and no standard playbook. This 8-step process works for a single treasury wallet or a hundred operational wallets.

Breezing vs SoftLedger: Crypto Accounting Comparison (2026)
Compare Breezing vs. SoftLedger to find the right crypto accounting tool for 2026. We break down pricing, integrations, DeFi support, and multi-entity features to help you decide.