ACH & SEPA Direct Debit Settlement
How bank debits work
ACH (US) and SEPA (Europe) are bank-to-bank debit payment methods. Unlike card payments, which are confirmed in real time, bank debits are asynchronous. When a payment is submitted, the bank accepts the debit instruction but does not immediately confirm whether the funds are available.
This creates a gap between when the payment appears to succeed and when the funds are actually collected from the customer's bank account.
SEPA advance notice
SEPA Direct Debit requires advance notice before a customer's account is debited. To ensure the debit can confidently land on the target date, Shuttle submits the payment to Stripe 180 hours (approximately 7.5 days) in advance. This means:
- The transaction will appear as successful in Shuttle (or pending, if the pending-until-settled setting is enabled) well before the customer's bank account is actually debited.
- The customer will not see the debit on their bank statement until the target date.
- This is expected behaviour — the early submission is what allows the target date to be met reliably.
If the target date is sooner than the 180-hour advance window, Shuttle will submit the payment to Stripe as soon as possible. In this case, the debit will be collected at the earliest opportunity but the exact target date cannot be guaranteed — it depends on when the customer's bank processes the instruction.
The settlement timeline
- Payment submitted — Stripe sends the debit instruction to the customer's bank. The payment moves to a "processing" state.
- Instruction accepted — The bank acknowledges the instruction. Stripe transitions the payment to "succeeded". At this point, the money has not yet left the customer's account.
- Funds collected — On the settlement date, the bank attempts to collect the funds. For SEPA, this happens on the target date (3–15 days after submission). For ACH, this typically takes 4–5 business days.
- Settlement window — After the collection attempt, there is a window during which the payment can still fail. The customer's bank may return the debit due to insufficient funds, a closed account, or a customer dispute. For SEPA, this window is up to 6 business days after the target date. For ACH, returns can occur up to 60 calendar days after the payment.
If a failure occurs after the payment has already been marked as "succeeded", Stripe reverses the funds from the merchant's balance.
SEPA target date
SEPA payments support a target date, which controls when the customer's bank account is debited. The target date must be between 3 and 15 days in the future. If no target date is specified, the debit happens as soon as the bank processes the instruction.
The target date appears on the customer's bank statement as the debit date, giving them advance notice of the charge.
How this works in Shuttle
By default, Shuttle marks ACH and SEPA payments as Approved as soon as Stripe reports the payment as succeeded. This matches Stripe's behaviour but means the transaction appears complete before the funds have actually been collected.
Pending until settled (opt-in)
For merchants who want more accurate transaction statuses, Shuttle offers a "Hold payments as pending until settlement window passes" setting for both ACH and SEPA. This is configured per gateway in the Stripe gateway settings.
When enabled:
- Payment submitted — The transaction is recorded as Pending.
- Stripe confirms the instruction — The transaction stays as Pending (not promoted to Approved).
- Settlement window passes with no issues — The transaction is automatically promoted to Approved.
- Dispute or failure during the window — The transaction is automatically marked as Failed.
This gives merchants a more accurate picture of which payments have genuinely settled versus which are still at risk of being returned.
Settlement window timing
| Payment method | Settlement window |
|---|---|
| SEPA (with target date) | Target date + 6 business days |
| SEPA (no target date) | Payment date + 6 business days |
| ACH | Payment date + 5 days (with up to 3 retries if processing) |
After the settlement window passes, a background job checks the payment status on Stripe. If no dispute has been raised, the transaction is promoted to Approved. If a dispute was raised during the window, the transaction is marked as Failed.
What happens without this setting
If the setting is not enabled, the existing behaviour is unchanged:
- Payments are marked as Approved as soon as Stripe confirms the debit instruction.
- If a dispute or return occurs later, it is handled through the standard dispute process and may require manual reconciliation.
Enabling the setting
- Navigate to the Stripe gateway settings in the admin portal.
- Under the SEPA or ACH section, enable "Hold payments as pending until settlement window passes".
- Save the gateway settings.
The setting applies to new payments only. Existing transactions are not affected.
Disputes after the settlement window
The settlement window covers the most common failure scenarios (insufficient funds, bank rejections). However, customers can dispute SEPA payments for up to 8 weeks on a "no questions asked" basis, or up to 13 months if they claim the debit was unauthorised. ACH disputes can occur up to 60 calendar days after the payment.
Disputes that arrive after the settlement window has passed (and the transaction has been promoted to Approved) are handled through the standard dispute process, the same as any other post-settlement dispute.