Coverage by source
A Checkout Champ refund is a positive number and reduces no total. A Whop refund
reaches Events but reaches no report. Subtract both yourself.
Chargebacks and disputes
Stripe books a dispute when the funds move, not when the dispute opens.
Checkout Champ chargebacks arrive as
chargeback events with a positive amount, so they reduce no total.
charge.dispute.created, charge.dispute.updated, and charge.dispute.closed record nothing.
A cancellation is not a refund
A cancellation stops future billing. A refund returns money from a completed payment. Cancellation events record0 on every source.
Superwall records a support-granted refund as
subscription_cancelled worth 0, while
RevenueCat records the same event as refund with a negative value. On Superwall, read
cancellation counts alongside revenue.Which period a refund lands in
We book every refund in the hour it processed, never in the hour of the original sale.
A refund of a sale from last month lowers this month’s net revenue, and leaves last month’s gross revenue unchanged.
Partial refunds
A partial refund reduces net revenue by the partial amount. The original order stays. Its gross value does not change. Shopify sums every successful refund transaction on the refund payload. We read the currency from those transactions, because a Shopify refund payload has no top-level currency.Verify
- Complete a refund in the source platform. Confirm it is final, not pending.
- Record the original transaction ID, the refund ID, and the amount.
- Open Events. Find the refund row.
- Confirm the value sign matches the table above.
- Compare gross revenue, refunded amount, and net revenue as three separate numbers.