Direct debit
Overview​
Direct debit is initiated by a creditor to take funds from a debtor's account. Common creditors who use direct debit include utility companies and real estate rental agencies.
At Swan, direct debit works in two directions. Swan can receive instructions for an outgoing direct debit (discussed on this page). Additionally, Swan can initiate incoming direct debit, either for merchants to accept payments or to fund your own account.
Swan supports several types of outgoing direct debit. Note the acronyms; while the documentation doesn't use them, the acronyms are sometimes present in the API and used in written and verbal communication.
Direct debit type | Description | Acronym |
---|---|---|
SEPA Direct Debit Core | Issued by companies to individual or company accounts in euros between accounts in the Single Euro Payments Area (SEPA). | SDD Core |
SEPA Direct Debit B2B | Issued by companies to company accounts in euros between accounts in SEPA. | SDD B2B |
Swan Internal Direct Debit Standard | Issued by a Swan company account to individual or company accounts within the same Swan project. | IDD Standard |
Swan Internal Direct Debit B2B | Issued by a Swan company account to company accounts within the same Swan project. | IDD B2B |
Some use cases require that direct debit transactions occur between two Swan accounts in the same project. For example, perhaps you want to receive fees directly from your user's Swan account.
For Internal Direct Debit, Swan is the creditor bank, the Clearing and Settlement Mechanism (CSM), and the debtor bank. Internal Direct Debit doesn't pass through the SEPA network. Instead, these transactions must follow the rules defined by France's Code Monétaire et Financier.
Specifications​
Specifications | SEPA Core & Internal Standard | B2B |
---|---|---|
Eligible account types | Individual and company accounts (natural or legal persons) | Company only (legal persons) |
Refund requested by debtor | Up to 8 calendar weeks after execution, no questions asked Up to 13 months after execution if there wasn't a valid mandate or if the payment wasn't authorized | Not possible |
Returned by debtor's bank If Swan can't accept the outgoing direct debit, a rejected SDD-Out transation is created (example: invalid mandate, account closed). | 5 business days after execution date | 3 business days after execution date |
Mandate provided to and registered by the debtor's payment services provider (PSP) | Not required | Mandatory |
Validity of the mandate (consent) confirmed with the debtor by the debtor's payment services provider (PSP) for each transaction | Not required | Mandatory |
Refusal and rejection timeline | Up to the date and time of settlement execution | |
Creditor cancellation | Up to the due date and time | |
Creditor reversal | Up to 5 business days after due date and time | |
Frequency | One-off and recurrent |
Received payment mandates​
Prior to issuing SEPA Direct Debit instructions, the creditor must obtain a formal authorization from the debtor to take money from the debtor's account.
This formal authorization is a received payment mandate.
Received payment mandates can be one-off
, valid for a single transaction, or recurrent
, for multiple transactions.
Received payment mandates are created by creditors and authorized by debtors. Creating and authorizing mandates happens off of the SEPA network, and the mandates must be declared to the SEPA network with two unique identifiers:
- Unique Mandate Reference (UMR): Each received payment mandate has a unique reference number.
- SEPA Creditor Identifier (SCI): Each creditor is identified on the SEPA network with their unique identifier.
The combination of the SEPA Creditor Identifier and Unique Mandate Reference must be unique across the SEPA network, meaning one received payment mandate per creditor-debtor pair. Information about the received payment mandate is embedded in each SEPA Direct Debit instruction sent by the creditor bank to the debtor bank.
Received payment mandates are stored in the API's receivedDirectDebitMandate
object.
Received mandate specifications​
The specifications of the received payment mandate depend on whether the mandate authorizes Core or B2B SEPA Direct Debit instructions. All are signed by the debtor; otherwise, requirements are different.
Direct debit type | Specifications |
---|---|
SEPA Direct Debit Core |
|
SEPA Direct Debit B2B |
|
Swan Internal Direct Debit Standard |
|
Swan Internal Direct Debit B2B |
|
Received mandate statuses​
Payment mandate status | Explanation |
---|---|
ConsentPending | B2B received payment mandate was added while setting up a direct debit. Next steps:
ConsentPending . |
Enabled | Received payment mandate is valid and direct debit instructions can be fulfilled. |
Suspended | Debtor requested the received payment mandate be suspended. For example, you want to stop a creditor from taking money from the account temporarily, and you'll inform Swan when to change the status back to Enabled . |
Canceled | Received payment mandate is canceled and no longer available for use. Note that Swan cancels OneOff mandates automatically after they're used. |
Received direct debit instructions​
To start a SEPA Direct Debit transaction, the creditor's bank must send instructions to the debtor's payment services provider—in this case, Swan—before the scheduled transaction date. The date should be indicated in the instruction sent to Swan.
After receiving instructions to debit an account, Swan checks the embedded mandate information to see if it's a new instruction, or if Swan already knows about the instruction.
New instruction​
If the instruction is new to Swan, the following events occur:
- Swan adds the SEPA Direct Debit received payment mandate:
- Core: Adds the mandate with the status
Enabled
. - B2B: Adds the mandate with the status
ConsentInitiationPending
. After the debtor consents to the mandate, the status changes toEnabled
.
- Core: Adds the mandate with the status
- Swan creates a
SepaDirectDebitOut
transaction with the statusUpcoming
. - Swan executes the transaction on the requested date, indicated in the instruction, if all checks pass (refer to execution date and time).
Known instruction​
If the instruction is known to Swan, Swan checks the received payment mandate's status.
- If the mandate's status is
Enabled
, Swan creates aSepaDirectDebitOut
transaction with the statusUpcoming
. - If the mandate's status is
Canceled
orSuspended
, Swan creates aSepaDirectDebitOut
transaction with the statusRejected
.
Execution date and time​
At 6 AM Central European [Summer] Time (CET/CEST) on the date indicated in the SEPA Direct Debit instruction, Swan verifies a few details before executing the debit.
If either of the following is true, the instructions are rejected.
The SepaDirectDebitOut
transaction status changes to Rejected
, and the reason is available in the rejectedReasonCode
field with the API.
- The status for the received payment mandate, the account, or the debtor's IBAN is anything other than
Enabled
. - The debtor account's
Available
balance won't cover the instructed amount.
If the received payment mandate's status is Enabled
and the Available
balance is sufficient to cover the instructed amount, the transaction continues and the following events occur:
- The amount is debited from the account.
- The account's
Available
balance is updated accordingly. - The
SepaDirectDebitOut
transaction status changes toBooked
.
Direct debit statuses​
There's a close link between transaction statuses and account balances. Refer to explanations of types of account balances in the accounts section.
Direct debit transaction status | Explanation |
---|---|
Upcoming | Transaction is created after passing Swan's preliminary checks (for example, if the mandate already exists, it's valid; the account isn't closed). Upcoming debits don't impact the account balance. |
Booked | Completed debits that are displayed on the official account statement. These debits have been debited from the account, and they impact the account's Booked balance. |
Canceled | An Upcoming transaction is canceled by someone with the right to do so, such as the account holder or an account member. Only debits with the status Upcoming can be Canceled , and Canceled debits don't impact the account balance. |
Rejected | Declined or refused debits. For example, the beneficiary account might be closed, or the account's Available balance isn't sufficient to complete the debit without resulting in a negative balance.A transaction can also be Rejected without being assigned any other status if the transaction didn't pass the initial checks (examples in Upcoming ). |
R-transactions​
After direct debits are instructed, other transactions, such as R-transactions, can be linked to the direct debit transaction. Note that these only concern outgoing SEPA Direct Debits.
Rejected​
If you need to request that an Upcoming
SEPA Direct Debit (Core or B2B) instruction be Rejected
, a qualified account member can contact Swan directly.
Qualified account members are those with the CanInitiatePayments
membership permission.
If your request to reject the transaction is accepted, the status changes from Upcoming
to Rejected
.
Rejected
transactions don't impact the account balance.
Refunded (Returned)​
Core SEPA Direct Debit transactions are refundable under two specific scenarios:
- Transactions are eligible for refunds for up to 8 calendar weeks after execution, no questions asked.
Request these refunds with the API
returnTransaction
mutation. - Transactions are eligible for refunds up to 13 months after execution if there wasn't a valid mandate or if the payment wasn't authorized. Request a refund by contacting Swan Support with all of the transaction details.
Execution means the transaction status changed to Booked
.
If the refund is approved, a new SepaDirectDebitOutReturn
transaction is created with the status Booked
.
B2B SEPA Direct Debit transactions aren't eligible for refunds.
Reversed​
Creditors can reverse Booked
SEPA Direct Debit transactions within a specific time window.
In the case of a reversal, a new SepaDirectDebitOutReversal
transaction is created with the status Booked
.
The reason the creditor bank reversed the transaction is indicated in returnReason
.
Use the transactions
query to get information about transactions, adding returnReason
to ... on SEPADirectDebitTransaction
.
Canceled​
Creditors can cancel Upcoming
SEPA Direct Debit transactions.
If a creditor cancels an Upcoming
transaction, the status automatically changes to Canceled
.
Canceled
transactions don't impact the account balance.