StableMatch

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

A

Explicit transaction hash

Use it only when one invoice and one relevant transfer row reference it.

B

Payer + exact amount

Auto-match only when the entire candidate graph is one-to-one.

C

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.

Run the free StableMatch sample.