You've issued a refund through Stripe. Now what? If you're using FreeAgent's native Stripe bank feed, the refund will appear as a transaction to explain. But if you're recording Stripe payments manually, or if you need the refund linked to the original invoice, there's more work to do. Get it wrong and your accounts will be off—overstated revenue, a Stripe balance that won't reconcile, and potentially incorrect VAT returns.
Here's how to handle Stripe refunds properly in FreeAgent.
What happens when you refund in Stripe
When you issue a refund through Stripe:
- Stripe deducts the refund amount from your next payout
- Stripe may or may not refund their processing fee (depending on your settings)
- The refund appears as a negative line item in your balance transactions
Your Stripe balance decreases immediately. Your bank account balance won't change until the next payout, which will be smaller than it would have been.
The problem with ignoring refunds
If you recorded the original payment as income but don't record the refund, your accounts show revenue you didn't actually earn. Over time, this adds up:
- Overstated revenue: Your P&L shows more income than you received
- Incorrect VAT: If you're VAT registered, you've reported VAT on money you gave back
- Reconciliation failures: Your Stripe balance and your accounting records won't match
- Margin distortion: Your profitability looks better than it is
Recording refunds with a clearing account
If you're using a clearing account for Stripe (and you should be), refunds are straightforward.
Step 1: Record the refund
In FreeAgent, go to your Stripe Clearing Account and create a new transaction:
- Type: Money Out
- Amount: The refund amount
- Category: The same category you used for the original sale
- Description: Reference the original transaction or invoice number
This reduces your clearing account balance, matching what happened in your real Stripe balance.
Note that Stripe doesn't refund their processing fee when you refund a customer. You lose out on that money. The fee you paid on the original transaction stays on your books as an expense.
Step 2: Payout reconciliation happens automatically
When Stripe's next payout arrives, it'll be smaller because of the refund. But your clearing account balance is already smaller too. The payout just transfers whatever's in the clearing account to your bank. No manual adjustment needed.
Recording refunds without a clearing account
If you're recording Stripe payments directly against invoices in FreeAgent, handling refunds is messier but still possible.
Step 1: Find the original invoice
Go to the invoice that was paid via Stripe.
Step 2: Refund the payment
Click on the payment and select Refund. FreeAgent will create a credit note automatically and update the invoice status.
Step 3: Explain the reduced payout
When the next Stripe payout arrives at your bank, it'll be smaller than expected. You'll need to create a bank explanation for the difference, which is tedious and error-prone.
This is why clearing accounts are worth the setup effort. They handle the timing mismatch between refunds and payouts automatically.
Partial refunds
For partial refunds, the process is the same. Just use the partial amount instead of the full amount.
In FreeAgent:
- You can partially refund an invoice payment
- The invoice will show as partially paid
- Create a credit note for just the refunded portion
With a clearing account, record the partial refund amount going out. Remember, Stripe keeps their fee regardless of whether it's a full or partial refund.
Refunds that cross accounting periods
This is where bookkeeping gets interesting. If you sold something in March but refunded in April, which month does the refund belong to?
For most small businesses: Record the refund in the month it occurred. Your April revenue will be reduced. This is acceptable practice and keeps your books simple.
For larger businesses or material amounts: You may need to adjust the original period's figures. This involves creating a prior period adjustment and potentially amending already-filed VAT returns. Consult your accountant for significant refunds that cross period boundaries.
Chargebacks vs refunds
Chargebacks aren't the same as refunds. A refund is something you initiate. A chargeback is a forced reversal initiated by the customer's bank.
Handle chargebacks differently:
- Wait for the dispute outcome. Stripe gives you a chance to contest chargebacks.
- If you lose: Record it like a refund, plus record the chargeback fee (typically £15) as an additional expense.
- If you win: Record only the dispute fee, if any. The original payment stands.
The chargeback fee goes to an expense category like "Bank Charges" or "Chargeback Fees", not to your Stripe Fees category.
Common mistakes
Recording refunds twice. This happens when you record the refund when you issue it, then also adjust when the payout is smaller than expected. With a clearing account, you only record it once.
Deleting instead of refunding. Never delete financial records. Always create proper refunds and credit notes. Your audit trail matters.
Not creating credit notes. For VAT purposes, you need credit notes to reduce the VAT you've reported. A bank adjustment isn't enough.
How ClearingHouse handles it
ClearingHouse automates refund recording completely.
When a refund happens in Stripe, ClearingHouse:
- Creates a refund transaction in your clearing account, categorised to match the original sale
- If the original payment was against an invoice, creates a credit note in FreeAgent with matching line items
You don't need to check Stripe for refunds or remember to record them. They appear in FreeAgent automatically, correctly categorised and properly documented.
Getting started
If you're handling refunds manually, the key is consistency. Record every refund when it happens, not when you notice the payout is short. Keep notes linking refunds to original transactions. And consider whether the effort is worth it compared to automating the whole thing.
Stop reconciling Stripe by hand
ClearingHouse syncs your Stripe invoices, payments, refunds, and fees into FreeAgent automatically. Try it free for 14 days.
Blog