Stripe SEPA Direct Debit Failures and Disputes in QuickBooks
A SEPA debit can fail for six business days and be disputed for eight weeks. What each window costs, and what Stripe SEPA Direct Debit does to QuickBooks.
A Dublin software company bills 400 subscribers €49 each on Tuesday, 29 September, and collects every one of them by SEPA Direct Debit. The Stripe Dashboard shows 400 payments the same afternoon. On 30 September the books close for the quarter with €19,600 of September sales in them.
None of that money is final yet. Stripe will not call those payments successful until 7 October. Six of them fail in between. In November, two customers ask their bank for their €49 back, and the bank refunds them without asking why. Each of those events lands in QuickBooks in a different month from the sale it undoes.
This guide covers the three windows in which a SEPA Direct Debit can still come back, what each one costs, what reaches QuickBooks in each, and a month-end routine that keeps a SEPA-heavy ledger honest.
Acodei syncs your Stripe activity into QuickBooks Online, including the failures and disputes that arrive days or weeks after the sale. Start a free trial.
How long until a Stripe SEPA Direct Debit payment is final?
A Stripe SEPA Direct Debit payment succeeds six business days after submission (T+6), but it is not final then. The customer can dispute it through their bank for any reason for eight weeks after the debit, and for up to 13 months if they say the debit was unauthorized.
That gives every SEPA payment three windows. Most finance teams only plan for the first.
| Window | How long | What can happen | Who decides |
|---|---|---|---|
| Settlement | About 6 business days (T+6) | The payment fails | The customer's bank |
| No-questions refund right | 8 weeks from the debit | A dispute, honored automatically | The customer |
| Unauthorized debit claim | 8 weeks to 13 months | A dispute, if the bank finds no valid mandate | The customer's bank |
The numbers come from Stripe's SEPA Direct Debit documentation. Stripe submits a payment the same day if it is created before 10:30 CET, and the next business day if not. A five-business-day refusal window follows submission. Stripe's own advice is blunt: "Wait at least 6 business days before considering a SEPA Direct Debit payment as successful."
The Dublin batch went in before the cutoff on Tuesday, 29 September. Six business days later is Wednesday, 7 October. Those funds become available in the Stripe balance on the same day the payments succeed, so the payout that carries them comes after 7 October. The quarter closed a week earlier.
That is the core of the problem. A card payment is decided in seconds and contested later. A SEPA debit is decided over a week and can be contested for more than a year. The mandate the customer signs is what gives you the right to pull the money. It also gives them a right to pull it back.
What SEPA Direct Debit costs on Stripe, fee by fee
Stripe's Ireland pricing for local payment methods lists three SEPA Direct Debit charges, plus a currency conversion add-on:
- €0.35 per successful charge
- €3.50 per failed payment
- €15.00 per disputed payment
- 2% on top when currency conversion is required
Two details from Stripe's docs change how those fees behave. Refunds are free, but "the processing fees for the original payment are non-refundable," so a refunded €49 debit still costs you €0.35. And failure fees are not charged on the retries Stripe makes automatically for you.
Here is the Dublin batch once September's debits play out:
| Line | Count | Amount |
|---|---|---|
| Debits created 29 September | 400 | €19,600.00 |
| Failed in the refusal window | 6 | −€294.00 |
| Successful debits | 394 | €19,306.00 |
| Processing fees (394 × €0.35) | −€137.90 | |
| Failure fees (6 × €3.50) | −€21.00 | |
| Net from the batch | €19,147.10 |
Then, in November, two disputes take back 2 × €49 plus 2 × €15 in fees, which is €128.00 more. The batch ends up €580.90 below its €19,600 gross, and none of that €580.90 is visible on 30 September.
The fee lines matter for one reason above the rest. The failure fee and the dispute fee are pure cost with no sale attached. If your books only track sales and processing fees, they will drift from the Stripe balance by €3.50 every time a debit bounces.
Recording SEPA Direct Debit payments in QuickBooks during the six-day wait
There are two honest ways to treat a payment that has been taken but not settled. You can record the sale now and reverse it if the debit fails. Or you can wait until Stripe calls it successful.
Recording now keeps your sales report in line with what your customers were charged, and it is what an accrual reader expects. Waiting keeps every recorded sale backed by settled cash, but it pushes late-month debits into the next month and makes your revenue lag your billing by a week.
Acodei takes the first route. When Acodei's daily scan meets a pending charge, for example a bank debit that is still settling, it creates an individual transaction for that charge and sends it through the same real-time path as any other sale, so the unsettled amount is not folded into a daily summary. The charge is marked succeeded when Stripe's webhook confirms settlement. If it fails, the entry is reversed on the failure date and re-included as a line item on the daily balance summary.
The phrase that matters is "on the failure date." In the Dublin example, the sales were booked in September. The six failures arrive in the October refusal window, so their reversals are dated October. September's sales report keeps the €294. October's carries the −€294.
That is correct bookkeeping, but it surprises people. Three practical consequences follow:
- September revenue is overstated by whatever later fails. For a recurring SEPA business that is a stable percentage, and you can measure it. Track failures by billing month for a quarter and you will know your number.
- Your holding account carries the pending debits at month-end. A sale that synced on 29 September sits in your holding account until the payout that settles it. That is expected, not a reconciling item. Our guide to Stripe payout schedules and clearing accounts explains why comparing the clearing account to Stripe's available balance alone always shows a gap.
- Failures are dated by the bank, not by you. You cannot pull a reversal back into September after the fact without editing synced records, and you should not try.
When a SEPA debit fails: failure codes and retries
Stripe puts a failure_code on every failed charge, and the code tells you what to do next. It also tells you whether the money is coming back this month, next month or never. Stripe's list sorts into four groups:
| Group | Failure codes | What it means for the books |
|---|---|---|
| Try again | insufficient_funds | Likely to collect on retry. Expect a reversal now and a new sale later. |
| New mandate needed | authorization_revoked, debit_not_authorized, debit_authorization_not_match, incorrect_account_holder_name | Nothing collects until the customer signs again. Chase it as a receivable. |
| New bank details needed | account_closed, invalid_account_number, branch_does_not_exist | Same as above, plus a conversation. |
| Talk to the customer | refer_to_customer, bank_account_restricted, debit_disputed, recipient_deceased, generic_could_not_process | Unknown. Treat it as at risk. |
Stripe takes the funds back out of your balance as soon as a payment fails. If you use Stripe Billing, Direct Debit retries can try insufficient_funds failures again automatically, at most twice and within 30 days of the original attempt. Stripe does not charge the €3.50 failure fee on those automatic retries.
Each retry is a new attempt. If the second one succeeds, you get a new sale on the retry date, and the original stays reversed. A customer who failed on 7 October and paid on 14 October shows up in QuickBooks as a September sale, an October reversal and an October sale. The customer's net is €49, which is right. The dates look odd if you were expecting one line.
Two codes need a mandate fix rather than a retry. Stripe only finds out that a customer cancelled their mandate when a debit against it fails, and then it marks the mandate inactive. So an authorization_revoked failure is often the first sign that a subscriber has quietly left. Treat it as churn until they tell you otherwise, not as a cash-timing blip.
For the US equivalent, where the failed debit has its own unwind on an invoice, see what happens when a Stripe ACH payment fails. The SEPA timelines are longer, and the dispute rules are much less favorable to the merchant.
SEPA disputes are final: the eight-week refund right in your books
This is where SEPA departs most from cards. Under the SEPA Core scheme, a customer can ask their bank to refund a debit "on a no questions asked basis up to eight weeks after their account is debited," and Stripe states that these disputes are "automatically honored." After eight weeks and up to 13 months, a customer can still dispute if they claim the debit was unauthorized. Stripe will then give the bank the signed mandate, but the bank makes the call.
Stripe sums up the consequence in one line: "Unlike credit card disputes, SEPA Direct Debit disputes are final and there is no process for appeal."
When a dispute lands, Stripe removes the disputed amount and the dispute fee from your balance in one go. In the Dublin example, a dispute filed on 24 November against an October debit takes €49 plus €15 out of the balance that day. If the customer later agrees they owe you, they have to make a new payment. The dispute itself does not get reversed.
In Stripe's balance-transaction model a dispute is an adjustment. Acodei treats adjustments as an uncommon transaction type that you map once, under Balance Transaction Mapping on the Account Mapping page, to a product of your choice. That product can point at your refunds account, or at a separate expense account if you want dispute losses on their own line. Acodei then processes disputes in the daily balance summary or with the payout, depending on your holding account. They do not become separate journal entries per dispute. If the Adjustment type is not mapped yet, the payout that contains the dispute will not sync. The Data Feed shows a message asking you to turn the type on, and you resync the deposit once it is mapped. Our guide to Stripe balance transaction mapping walks through the setup.
The choice of account matters more for SEPA than for cards. A card dispute can still be won, so parking it in a suspense-like account until the outcome makes some sense. A SEPA dispute is already lost on the day it arrives, so book it to its final home straight away. Many SEPA businesses do best with a dedicated expense account for disputes, which keeps "customers who took their money back" out of the refunds line and makes the figure easy to watch. The wider accounting choices are in our guide to Stripe chargeback accounting in QuickBooks.
There is one more side effect. A dispute on a recurring mandate can deactivate that mandate, so the next month's debit fails too. Check the mandate status after every dispute, or next month's failure report will contain the same customer again.
The double credit: refunding a payment your customer is also disputing
Stripe warns about this in plain words, and it is the costliest SEPA mistake to find in a ledger. A customer emails to say they want their money back. You refund the €49 in Stripe. They also call their bank. The bank honors the dispute automatically, because it is inside eight weeks. The customer gets €98 back for a €49 debit.
In QuickBooks it shows up as two reversals of the same sale:
- A refund on the date you issued it, booked to your refunds account. Acodei records Stripe refunds to the Stripe refunds account you chose at setup, or to the matching product's account if you use multiple product mapping.
- A dispute adjustment on the date the bank acted, booked wherever you mapped Adjustments, plus the €15 fee.
Both are real money movements, so both belong in the books. The fault is in the business, not the ledger, and the fix is a receivable. The customer owes you €49, and Stripe's own guidance is that they return it as a new payment.
You can find these pairs in QuickBooks by running a sales by customer detail report for the month and looking for any customer with both a refund and a dispute-account line for the same amount. Under daily summary sync, the dispute lines are aggregated by day, so cross-check the customer in the Stripe Dashboard's disputes list.
To stop it happening, Stripe suggests three things: tell the customer you are processing the refund so they do not also call their bank, tell them how long it takes (refunds usually take 3 to 4 business days to process), and refund only after the original payment has fully settled. That last point rules out refunds inside the six-day window. It does not protect you from a customer who disputes after receiving a refund, which is exactly why the receivable step above exists. Refunds are allowed for up to 180 days after the original payment. If you refund after the funds were paid out, the timing questions are covered in refunding a Stripe payment after payout.
A SEPA month-end close in QuickBooks
Card-first close checklists miss the SEPA windows. These six steps cover them:
- List the debits still inside T+6 on the last day of the month. These are sales on the books that have not settled. Note the total and expect a small, predictable share to fail early next month.
- Check last month's failures against your failure rate. If October reversed 1.5% of September's SEPA sales, that is your provision figure for September next time.
- Clear every failure with a known next step.
insufficient_fundswaits for the retry. Mandate and bank-detail failures need the customer. Anything still open after 30 days is no longer a timing issue. - Total the month's disputes and dispute fees, and check the mapping. The dispute account in QuickBooks should equal Stripe's dispute total for the month. A gap usually means a payout that did not sync because the Adjustment type was not mapped.
- Look for refund-and-dispute pairs. Any customer with both in the same eight-week window gets a receivable and an email.
- Remember the long tail. Debits from as far back as 13 months ago can still produce unauthorized-debit disputes. They are rare, but they will land in closed periods, so book them in the current month and do not reopen the old one.
If your QuickBooks home currency is not EUR, every SEPA debit is a foreign-currency transaction too. Multicurrency Support in Acodei is turned on by the Acodei team rather than in your own settings. Once it is on, QuickBooks keeps a separate customer record for each currency, such as "Acme - EUR", by design. The details are in our guide to Stripe multicurrency in QuickBooks.
Frequently asked questions
How long does a Stripe SEPA Direct Debit payment take to clear?
Stripe marks a SEPA Direct Debit payment successful, and makes the funds available, six business days after submission (T+6). Payments created before 10:30 CET are submitted the same day. Most failures happen in that window, but a customer can still dispute the debit for eight weeks with no reason given, and for up to 13 months if they say it was unauthorized.
Can I fight a SEPA Direct Debit dispute on Stripe?
No. Stripe states that SEPA Direct Debit disputes are final and there is no appeal. Inside eight weeks the customer's bank honors the dispute automatically. For unauthorized-debit claims made later, Stripe gives the bank your mandate, but the bank decides. If the customer agrees to pay after all, they have to make a new payment.
How much does Stripe charge for a failed SEPA Direct Debit?
Stripe's Ireland pricing lists €3.50 for each failed SEPA Direct Debit payment and €15.00 for each disputed payment, on top of €0.35 per successful charge. Stripe does not charge the failure fee on the retries it makes automatically through Stripe Billing's Direct Debit retries.
Why is a SEPA payment reversal in a different month from the sale in QuickBooks?
Because the failure happens later. Acodei records a pending charge as its own sale rather than waiting for settlement, and reverses it on the date it fails. A debit taken on the last business days of a month usually settles or fails early the next month, so its reversal is dated in that month.
Should SEPA disputes go to my refunds account or an expense account?
Either is valid, and Acodei lets you map disputes to either one. SEPA disputes are lost the day they arrive and are often not the customer asking for a refund through you, so many businesses use a separate dispute expense account. That keeps refunds and disputes visible as two different numbers.
SEPA Direct Debit is cheap to accept and slow to finish. Acodei records each debit, reverses the ones that fail on their failure date, and posts disputes through your Balance Transaction Mapping, so each window shows up where your close can see it. Start a free trial.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
14-day free trial · card required · cancel anytime
How Acodei handles this in your stack
Stripe QuickBooks Integration
See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.
Or go straight to a capability
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with numbering, invoice matching, and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling and currency-specific customer records. Our team enables multicurrency on request, and zero-decimal currencies such as JPY are not supported.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting. Class tracking requires QuickBooks Online Plus or Advanced.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and syncs payments, fees, refunds, and payouts automatically.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out fees, matches payouts to deposits, and keeps every charge audit-ready.
Related articles
Acodei Journal
Stripe Connect 1099-NEC Forms and Your QuickBooks Books
Acodei Content Team
Stripe Connect 1099-NEC Forms and Your QuickBooks Books
10/9/2026
Acodei Journal
GST and PST on One Stripe Line: QuickBooks Group Tax Codes
Acodei Content Team
GST and PST on One Stripe Line: QuickBooks Group Tax Codes
10/9/2026
Acodei Journal
Japanese Consumption Tax on Stripe Sales in QuickBooks
Acodei Content Team
Japanese Consumption Tax on Stripe Sales in QuickBooks
10/8/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.