Payment operations

How to Reconcile Stablecoin Payments from Invoice to Payout

Learn how to match stablecoin payments to orders, separate settlement from merchant credit, and keep clear records of fees, exceptions, and payouts.

4 min read

The short answer

Reconcile each order to its Ulasend invoice, verified settlement, merchant credit, fees, and completed payout. Keep short payments, retained excess, and refunds distinct. Repeated webhook snapshots are updates to the same payment, not additional receipts.

A payment needs an order reference

A confirmed transaction tells you that funds moved. Your business still needs to establish which order they belong to, how much was credited, and whether the order can be fulfilled. Stablecoin payment reconciliation connects those records so customer support, operations, and finance work from the same facts.

The most useful starting point is a consistent order reference. Keep your own order ID alongside the Ulasend invoice ID when the invoice is created. Ulasend can carry an external reference and customer email into the invoice and payment webhooks, as explained in the buyer identity guide. A payer's wallet address alone is a poor substitute for that order connection.

Keep the source payment and settlement separate

The asset your customer sends can differ from the asset credited through the payment route. Supported Bridge routes settle into USDC on Base. Conversion and provider costs can affect the amount delivered, so recording only the customer's original token amount leaves part of the payment unexplained.

Use the actual invoice and settlement records. Keep the source asset and network, transaction reference where available, confirmation status, and final settlement amount together. This gives your team a way to investigate differences without assuming that two token amounts have the same value. The supported payment methods guide explains how source payments and settlement relate.

Separate the amounts that answer different questions

An order total, gross received amount, and merchant credit are related, but each answers a different question. Your reconciliation record should make those distinctions visible. At a minimum, keep:

  • The agreed order total and final quoted payment amount, including any processing fee added at checkout.
  • The verified amount received through the configured payment route.
  • Recorded processing fees, funds applied to the order, merchant credit, retained excess, and remaining amount due.
  • Any later payout amount, applicable payout costs, destination, and completion reference.

Work through one order before reconciling a batch

Consider a hypothetical $1,000 order with a merchant-paid 1% processing fee. Assuming a $1,000 eligible settlement and no other deductions in this simplified example, the processing charge is $10 and the remaining merchant amount is $990. This is an illustration, not a quote. Your account rate, conversion, and applicable service costs may differ.

An overpayment needs its own check. New Ulasend invoices cap merchant credit under the invoice's saved allocation policy; verified settlement above that cap is retained by Ulasend. Older invoices can have a different saved policy. Use the recorded allocation instead of treating every extra unit received as merchant credit. The fee schedule and payment records provide the relevant details.

Keep exceptions visible until they are resolved

A short payment, late arrival, or payment under review should remain an exception in your order records. Do not fill a gap by changing the expected amount to match what arrived. If the received amount meets the crypto underpayment tolerance saved on that invoice and your fulfillment policy permits it, record the shortfall and actual credit; accepting a shortfall does not create the missing funds.

For integrations, verify payment evidence and the saved quote before fulfilling. Store the resolution once, even when a webhook is delivered again. Ulasend's webhook fulfillment checks describe the order, amount, and live-mode checks your developer should implement. Webhook events contain snapshots, not additional receipts. Do not add their reported amounts together.

Reconcile payouts after confirmed delivery

A customer payment and a merchant payout are separate events. Keep requested or reserved payouts separate from completed transfers. After delivery is confirmed, connect the payout record to your internal balance reconciliation rather than marking the original customer invoice as a second sale. Track applicable payout deductions and the amount actually delivered.

Handle any independently issued customer refund in your own records as well. Ulasend does not process or reconcile that refund transfer for you; review the merchant refund responsibilities. A repeatable routine makes it easier to explain an order's history without searching through unrelated screenshots. Use these records with your accounting adviser to determine the appropriate accounting and tax treatment.

Sources & further reading

Build a payment flow that fits.

Understand your rates, available payment methods, and payout requirements before getting started.

Talk to our team
All articles