SEPA is the European Payments Council's scheme for harmonised euro payments across 36 countries. It defines four payment instruments: SCT (Credit Transfer, T+1), SCT Inst (Instant CT, sub-10-seconds), SDD CORE (Direct Debit, consumer-facing), and SDD B2B (Direct Debit, corporate-to-corporate with no refund window).
All four instruments use ISO 20022 — pain.001 for SCT / SCT Inst, pain.008 for SDD, camt.053 for inbound reporting, pain.002 for status, and camt.054 for intraday notifications. The scheme rulebooks (most recent: 2026 edition) pin specific minor versions of each message and add SEPA-specific field-level rules (e.g. SCT requires BIC be omitted under "IBAN-only").
The amount cap on a single SCT Inst is currently €100,000 per transaction; SCT classic has no cap. SDD CORE provides a customer-side R-transaction refund window of 8 weeks (extended to 13 months for unauthorised collections); SDD B2B has none.
iso-compliant treats SEPA as a *profile* (the profile=sepa query / body field) layered on top of the generic pain.001/pain.008 envelopes — see apps/api/src/lib/pain001-builder.ts for the overlay logic.