FREE MONTH-END WORKFLOW
How to reconcile Base USDC payments with an invoice CSV
The dangerous shortcut is matching an invoice to a transfer only because the amounts are equal. Repeated retainers, round-number invoices and batch payment days make that unreliable. Use direct transaction evidence or a globally unique payer-and-amount match.
1. Prepare the invoice file
Start with invoice_id, expected_amount_usdc and an ISO-8601 issued_at. Add payer_wallet whenever the client has a known payment address. The strongest evidence is an explicit tx_hash received with the remittance.
Download the free invoice template.
2. Export the receiving wallet's token transfers
Open the receiving address in BaseScan, inspect its token-transfer history, restrict the period you are closing, and use BaseScan's CSV export control when available. In StableMatch select “BaseScan token-transfer export.” The adapter accepts BaseScan-style Txhash, DateTime, From, To, TokenValue and ContractAddress columns.
If your source is another wallet or exchange, transform it into the normalized template. Include chain_id=8453, native Base USDC token_contract, log_index, ISO timestamp, sender, recipient, decimal USDC amount and a confirmed status.
Download the normalized transfer template. Confirm the native Base USDC contract against Circle's official address list.
3. Apply conservative match rules
Explicit transaction hash
Use it only when one invoice and one relevant transfer row reference it.
Payer + exact amount
Auto-match only when the entire candidate graph is one-to-one.
Amount only
Keep it ambiguous until a person confirms the displayed transaction.
4. Tie out the period
Compare total invoiced USDC, safely matched USDC and outstanding-or-review USDC. Investigate underpayments, unconfirmed transfers, duplicate transfer rows and transactions that remain unassigned. Keep the transaction hash and matching method beside every accepted invoice.
See the sample close summary · See the sample reconciliation · See the exception file.
5. Know what this does not prove
An on-chain transfer proves that tokens moved between addresses. It does not prove the business purpose, ownership of an address, tax treatment or accounting classification. Review the result against contracts, invoices and your accounting policy.