---
title: "Keep a mandate for every bank debit · Agent Wranglers"
url: https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/bank-debit-mandate
updated: 2026-10-21
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Keep a mandate for every bank debit

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Payment events and reconciliation](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers). Updated 2026-10-21.

- ID: PAY-60
- Level: Recommended
- Chapter: [Payment events and reconciliation](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation)
- Rule: Before you debit a bank account, show the mandate text, store its acceptance with the time and text version, and email the payer a copy. Notify the payer before each debit.
- Applies when: The project takes payments.
- How: Bank debits such as SEPA Direct Debit and US ACH need the payer's written permission, called a mandate. A provider's checkout page shows the mandate text and stores acceptance for you. A custom form must show it before it confirms the payment. In the US, Regulation E requires a signed or electronically confirmed permission for recurring debits, with a copy to the consumer. When the amount varies, notice of the amount and date must arrive at least 10 days before the debit. Under the SEPA rules, notice before each debit goes out 14 calendar days ahead as standard, or the shorter time your mandate states. Stop debiting once the payer cancels the mandate. A bank can ask for proof months later, so keep it for [Answer every dispute before its deadline](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/dispute-evidence). Settlement waits as in [Wait for payment methods that settle later](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/delayed-payment-methods).
- Check: A query finds no saved bank-debit payment method without a stored mandate, acceptance time and text version. A test debit on staging emails the payer a mandate copy. Its notice gives the amount and date, and goes out by the notice time the mandate states.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JavaScript example

```js
const NOTICE_DAYS = { sepa_debit: 14, us_ach_varying: 10 }
const DAY_MS = 24 * 60 * 60 * 1000

const noticeDueAt = (debitAt, scheme) => new Date(debitAt.getTime() - NOTICE_DAYS[scheme] * DAY_MS)
```

### Python example

```python
from datetime import timedelta

NOTICE_DAYS = {"sepa_debit": 14, "us_ach_varying": 10}

def notice_due_at(debit_at, scheme):
    return debit_at - timedelta(days=NOTICE_DAYS[scheme])
```

## Sources

- [Regulation E, 12 CFR 1005.10](https://www.consumerfinance.gov/rules-policy/regulations/1005/10/)
- [Stripe SEPA Direct Debit](https://docs.stripe.com/payments/sepa-debit)
- [Stripe ACH Direct Debit](https://docs.stripe.com/payments/ach-direct-debit)

## Related rules

- [Answer every dispute before its deadline](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/dispute-evidence) in Payments
- [Wait for payment methods that settle later](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/delayed-payment-methods) in Payments

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/bank-debit-mandate">Agent Wranglers payments playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Wait for payment methods that settle later](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/delayed-payment-methods)
- Next: [Sweep for missed events every hour](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation/missed-event-sweep)
- [Payment events and reconciliation](https://agentwranglers.se/playbook/payments/payment-events-and-reconciliation)
