Finance

SEPA direct debit

SEPA (Single Euro Payments Area) direct debit allows your club to collect membership fees and other charges directly from members' bank accounts. Instead of waiting for members to pay manually, you generate a batch file containing all pending invoices and upload it to your bank for automated collection. This is the most common payment method for clubs in the SEPA zone (EU, EEA, Switzerland, and the UK).


How SEPA collection works

The SEPA workflow in Omoplata follows these steps:

  1. Transactions and invoices are created -- Omoplata generates charges from active memberships and groups them into invoices.
  2. You generate a SEPA XML file -- from the SEPA page, you create a batch file that includes all pending invoices ready for collection.
  3. You download and upload the file to your bank -- the generated XML file is downloaded and uploaded through your bank's online banking portal or FinTS integration.
  4. The bank processes the debits -- your bank debits each member's account on the specified due date.
  5. Invoices are marked as paid -- either automatically after a configurable waiting period, or when you manually confirm payment.

Creating SEPA XML files

Navigate to Finance > SEPA to manage your SEPA files. To create a new batch:

  1. Click the generate button. Omoplata will collect all pending invoices that are ready for SEPA collection.
  2. The system creates a SEPA XML file in the standard format for direct debit collections.
  3. All included invoices are moved from pending to waiting to send.
  4. Download the XML file and upload it to your bank.

Each SEPA file records:

  • The number of transactions included.
  • The total amount across all transactions.
  • Your club's creditor details.

SEPA sequence types

When Omoplata generates a SEPA file, it checks whether each mandate has been used before:

  • FRST (First) -- used for the very first debit under a new mandate.
  • RCUR (Recurring) -- used for all subsequent debits under the same mandate.

This distinction is required by the SEPA scheme and is handled automatically.


SEPA file statuses

Each SEPA XML file has a status that tracks where it is in the process:

StatusMeaning
PendingFile has been created but not yet uploaded to the bank.
UploadedFile has been uploaded to the bank for processing.
ProcessedThe bank has confirmed processing of the file.
ErrorAn issue occurred that requires manual intervention.

Marking a file as uploaded

After you upload the XML file to your bank, return to Omoplata and mark the file as uploaded. This:

  • Changes the file status to uploaded and records the upload timestamp.
  • Moves all related invoices from waiting to send to sent to bank.
  • Updates all related transactions to sent to bank.

Automatic processing

Omoplata includes a fallback mechanism for banks that do not send explicit confirmation of successful debits. After a configurable waiting period (default: 5 days after the due date), Omoplata automatically:

  • Marks the SEPA file as processed.
  • Marks all related invoices as paid.
  • Completes all related transactions.

Only files where all payment due dates are older than the waiting period are processed this way.

Why 5 days?

The default waiting period of 5 days gives enough time for the bank to process the debits and for any returns to arrive. If no return file has been uploaded indicating a failure, the system assumes the payment was successful. You can adjust this period in your SEPA payment settings.

Deleting a SEPA file

If you need to cancel a batch before uploading it to the bank, you can delete the SEPA file. This reverts all included invoices from waiting to send back to pending, allowing them to be included in a future batch.

Only delete before uploading

Only delete a SEPA file if you have not yet uploaded it to your bank. If you have already submitted the file and need to cancel, contact your bank directly.


Processing returns

When a SEPA debit fails (for example, due to insufficient funds, a closed account, or a mandate dispute), your bank provides a return file. Omoplata supports uploading CAMT return files to process these failures.

Uploading a CAMT return file

  1. Download the return file from your bank (CAMT.054 format).
  2. On the SEPA page, click the upload return button.
  3. Omoplata reads the return file, identifies the affected invoices, and updates their status to pending retry.
  4. The related transactions are marked as failed.

Omoplata tracks each uploaded return file to ensure the same file is not processed twice.

Failed payment fees

When a SEPA debit is returned unpaid, you can charge the member an additional fee to cover bank charges. The fee amount is configured in Settings > Billing. This fee is added automatically when a return is processed.


Managing SEPA mandates

A SEPA mandate is the authorization from a member allowing your club to debit their bank account. Each mandate is stored alongside the member's payment method and includes:

  • IBAN -- the member's bank account number.
  • Account holder -- the name on the bank account.
  • BIC -- the bank identifier code (optional, as it can be looked up from the IBAN).
  • Mandate date -- the date the member signed the authorization.

Updating payment details

When a member's bank details change, you can update them from the quick view dialog. Updating creates a new payment method and mandate, and deactivates the old one. All existing memberships using the old payment method are automatically switched to the new one.

BIC lookup

When you enter an IBAN, Omoplata attempts to look up the BIC automatically using the OpenIBAN service. If the lookup fails (for example, due to a network issue), the BIC is left blank and resolved later in the background. A missing BIC does not prevent you from saving the payment method.

Mandate lifecycle

  • When a new SEPA payment method is created, a fresh mandate is issued with the current date.
  • The first debit under a new mandate uses the FRST sequence type.
  • All subsequent debits use the RCUR sequence type.
  • When payment details are updated, a new mandate is created and the old one is deactivated.
Previous
Invoices