To match a stablecoin payment to an invoice, keep two lists. One list shows every payment that came in. The other shows every invoice and what is still owed. You only mark an invoice paid after you check the payment and know which invoice the customer meant to pay.
With a Smart USD Wallet, customer payments in digital dollars and eligible US dollar bank payments land in one balance. You control your funds, and Bancoli does not own or control them. Day to day it feels like a normal business account. The matching work in this guide is the bookkeeping you do around it.
TL;DR
- A payment arriving tells you money came in. It does not tell you which invoice it pays.
- Keep a payments list and an invoices list, and link them with a short matching list.
- Match on the invoice number first. Use the amount only to find possible matches.
- Partial payments, one payment for several invoices, and the same payment showing up twice are all easy to handle with this setup.
Why this matters
A customer can send the right amount and forget the invoice number. They can pay three invoices in one go. They can pay from a wallet you have never seen before, or have someone else pay for them.
So split the job in two. First, check that the money really arrived in your account. Then work out which invoice it was for.
Bancoli lets you send invoices and get paid in digital dollars, or in US dollars when that is turned on for your plan. This guide does not assume any export file, accounting app connection, or automatic matching tool. It works with a simple spreadsheet.
Before you start
Make sure you can see your invoices, your incoming payments in Bancoli, and your accounting records. Some features, like named US dollar details, turn on after your business is verified. What you can use depends on your plan, verification, and location, and your dashboard shows what is on for you. Bancoli can send and receive USD via ACH, RTP, and wire.
On each invoice, say exactly how you want to be paid. Name the coin (for example USDC) and the network you accept. The same coin name can mean a different asset on a different network, so be clear.
One more tip. A transaction ID (often called a hash) points to one blockchain transaction. A single transaction can carry more than one transfer. If your records show a separate transfer number, save that too.
Before using this with real customers, try it on three test cases. Use one invoice paid in full, one partial payment, and one payment that shows up twice.
Step 1: Set up your invoices list
You can keep this in a spreadsheet or in your accounting software. The column names below are suggestions for your own list. They are not buttons or labels in Bancoli.
- Give each invoice a unique Invoice ID. If your customer sees a different number than your accountant, keep both side by side.
- Add Customer, Currency, Invoice total, Due date, and Balance still owed. Keep the original total. Do not overwrite it when a payment comes in.
- Add How to pay. Write the coin, the network, and the receive details you gave this customer. Do not copy them from another customer’s invoice.
- Add a Payment reference and ask the customer to include it. If they pay several invoices at once, ask them to list which ones.
Put the invoice number right next to the payment instructions on the invoice. An invoice number cannot fix a payment that was sent the wrong way, so make both easy to see.
Step 2: Set up your payments list
This list only records what came in. It does not decide what the payment was for yet.
- For each payment, write a Payment ID, the Date and time, the Amount received, the Coin, and where it came in.
- For digital dollar payments, also save the Network, the Transaction ID, and the transfer number if there is one. Build your Payment ID from these so each payment gets one row.
- For US dollar payments that come in through your named US dollar details (ACH or RTP when turned on for you), save any bank reference shown with the payment. These payments convert 1:1 to the supported stablecoin in your Smart USD wallet, so they land in the same balance as your digital dollars. Any bank reference shown helps you tell them apart.
- Before adding a new row, search for the Payment ID. If it is already there, it is the same payment showing up again. Update the old row instead of adding a new one.
Write down the amount that actually arrived. A number typed in a customer’s email is not proof of payment. And the sender’s wallet alone does not tell you who the customer is, since someone else can pay for them.
Step 3: Link payments to invoices with a matching list
Make a third, short list with just three columns. Invoice ID, Payment ID, and Amount applied.
This small list does a lot. One payment can cover several invoices, and one invoice can be paid in several parts, without ever copying a payment twice.
Three ways to find the match
| Way to match | When it works best | What is good about it | What to watch for |
|---|---|---|---|
| By invoice number | The customer included the reference | Shows exactly what the customer meant to pay | Missing or mistyped numbers need a closer look |
| By amount | The reference is missing | Quickly narrows down the options | Two customers can owe the same amount |
| By splitting | Partial payments or one payment for several invoices | Keeps a clear trail of what paid what | Needs the matching list and a quick balance check |
Use the amount to find possible matches. Do not mark an invoice paid on the amount alone.
Step 4: Check, match, and update
- Check the payment. Confirm it came into your account, in the coin you asked for, for the amount shown. If something does not line up, put it in a “needs a look” pile instead of matching it.
- Find the invoice. Look for the invoice number first. Then check the customer and the balance owed. If there is no number, use the amount and any note from the customer to find candidates.
- Apply the amount. Add a row to the matching list. Make sure the total you apply never goes over what the payment brought in.
- Update the balance. Lower the invoice balance by the amount applied. If it is only partly paid, leave it open. If the customer paid too much, record the extra as “not yet applied” until you decide what to do with it.
- Keep the proof together. Save the payment row, the customer’s note, your match, and the accounting entry in one place. For anything unusual, note who reviewed it and when.

At month end, do two quick checks. Compare payments in with what you applied and what is still not applied. Then compare what you applied with what your books say customers owe.
If the invoice is in another currency, ask your accountant how they want to value it. Smart USD Wallet has FX built in, and FX is free across 25 currencies within your plan’s monthly FX allowance. Still record any currency change as its own entry. Do not hide it inside the match.
When a customer pays again on the same invoice
- Check the new payment and give it its own row in the payments list. Do not overwrite the first one.
- Look at what is still owed after the earlier payments. If someone else on your team works on the same invoice, check with them first.
- Apply only the amount that belongs to this invoice. Set any extra aside and decide what to do with it.
- Update the balance and the status. Keep the history of every payment.
When one payment covers several invoices, keep one payment row and add one matching row for each invoice. Do not apply the full payment to every invoice.
If you need to give money back, that is a new payment going out. Confirm the customer’s details first. In a Smart USD Wallet, money going out is approved by the people with wallet access. Wallet access is set up with at least two social logins (Google, Apple, X, or Telegram), and each approval uses MFA or a passkey. So a refund gets the same care as any other payment.
Common problems and what to do
The amount matches, but you are not sure who paid
Leave the payment unmatched and ask the customer which invoice it was for. Check if anyone else owes the same amount before you match it. Save their answer with your records.
The same payment shows up twice
Compare the Transaction ID and transfer number, or any bank reference shown. If they are the same, it is one payment. Keep one row and remove any extra match, with a short note saying why.
Do not decide it is a duplicate just because the amount and time match. Two real payments can look alike.
The invoice still shows a balance
Compare the invoice total, the amount that arrived, and what you applied. It might be a partial payment, a deduction the customer took, or a currency difference. Leave the invoice partly paid until you sort it out. Do not write off the balance just to make the numbers agree.
The coin or network is different from what you asked for
Stop and check what actually arrived in your account. Then contact Bancoli support before you do anything else. Do not ask the customer to send a second payment to fix it. Keep the invoice open until it is sorted.
The customer sent a Transaction ID, but you do not see the payment
Check it against the payments that came into your account. A Transaction ID from the customer helps you look, but it does not prove the money reached you. If the details do not match, ask the customer for the right details and keep it in your “needs a look” pile.
Make it work for your team
Decide who reviews unusual payments, who can approve refunds, and who checks payments that are not yet matched. Do this before you add any automation.
If you pay suppliers from the money you received, add those payments to your records too. Link each one to the supplier bill. With a Smart USD Wallet you can pay suppliers in their local currency where a route is available for you, with no API needed. Larger companies that want to connect by API can look at the Global Business Account on the Enterprise plan.
A quick note on what Smart USD is. It shows eligible USDC, USDi, and USDT as one dollar balance at 1:1. It is not a bank deposit and is not FDIC-insured.
FAQ
How do I match stablecoin payments to invoices?
Check that the payment arrived in your account. Then match it to an invoice using the invoice number, the amount, and the customer’s note. Record the match in a separate list so partial and combined payments stay clear.
Is a Transaction ID enough to mark an invoice paid?
No. A Transaction ID points to a payment on the blockchain. You still need to check the payment reached you and work out which invoice it was for.
Can one stablecoin payment pay several invoices?
Yes. Keep one payment row and add a match for each invoice. The total you apply should never be more than the payment.
What if a customer pays only part of an invoice?
Apply what they paid and leave the rest of the invoice open. Record each later payment as its own row so the full history stays visible.
Do US dollar payments and stablecoin payments go to different places?
With a Smart USD Wallet, eligible ACH or RTP payments to your named US dollar details convert 1:1 to the supported stablecoin in your Smart USD wallet. They land in the same balance as your digital dollars. Save any bank reference shown so you can tell them apart in your records.
Is my Smart USD balance a bank deposit?
No. Smart USD is eligible USDC, USDi, and USDT shown as one dollar balance. It is not a bank deposit and is not FDIC-insured. You control your funds, and Bancoli does not own or control them.
Should I match payments automatically by amount?
No. Use the amount to find possible matches, then confirm with the invoice number or a note from the customer. Different customers can owe the same amount.
One last thing
Check your unmatched payments, not just your unpaid invoices. An unpaid invoice list shows what customers still owe. It does not show money that already came in and is waiting to be matched. Review both lists together.
Want one balance for USD and digital dollar payments, with FX built in? See the Smart USD Wallet.