Support

Help and documentation

Invoices & payments

Collecting SEPA direct debits through your own bank

Overview

With own-bank collection you collect SEPA direct debits through your own bank instead of a payment service provider. Kyvento creates the direct debit file for a collection date, you submit it to your bank and afterwards tell Kyvento what the bank has posted. This article describes the route from the prerequisites to the feedback. The standard route via Stripe or Unzer and the comparison of both routes are covered in Setting up SEPA direct debit.

When own-bank collection is the right route

Own-bank collection requires two things Kyvento cannot obtain for you:

  • Your own creditor identifier. In Germany you apply for it free of charge at the Deutsche Bundesbank. Your payment service provider's identifier is not yours — with own-bank collection you are the creditor yourself.
  • A direct debit agreement with your bank that entitles you to submit direct debits.

If either is missing, collection via the payment service provider is the right route. Own-bank collection also only works for claims in euros.

What Kyvento does — and what it does not

The roles are clearly separated, and you should know that before switching:

  • Kyvento creates the direct debit file, sends the pre-notification to your customers and posts credits and returns as soon as you report them.
  • You obtain and retain the mandates, submit the file to your bank and upload the bank statement. The validity of a mandate is your responsibility; Kyvento only checks the form of your entries.

Kyvento has no access to your bank. There is no automatic reconciliation. Kyvento cannot recall a direct debit once it has been submitted to your bank — for that, contact your bank.

Step 1: switching the collection route

In the payment settings, in the section for SEPA through your own bank, select the option "Through my own bank" and enter your creditor identifier and the collection account — either the bank details from your account data or a different account. Without both, the route cannot be switched.

The switch affects SEPA only; card payments and PayPal keep running through your payment service provider unchanged. Two consequences matter:

  • In the checkout and the customer portal, SEPA direct debit is no longer offered. New customers can no longer grant a mandate there; you record the mandates yourself (step 2).
  • The pre-notification lead time from the same payment settings also applies to own-bank collection. It helps determine how early a collection date can be at the earliest.

Step 2: recording mandates

You record mandates for own-bank collection via the API — individually per customer or as a CSV file. There is no input form for this in the interface; how to make API calls is explained in API documentation and examples.

The columns of the mandate file:

ColumnRequiredMeaning
customer_numberyesCustomer number in Kyvento
mandate_referenceyesMandate reference, unique per account
ibanyesThe customer's IBAN
mandate_dateyesDate the mandate was granted, not in the future
bicnoThe customer's BIC
one_offnoOne-off mandate instead of a recurring mandate

Semicolon and comma both work as separators. A recorded mandate is ready for use immediately; existing mandates from earlier years are the normal case. Three rules matter day to day:

  • The mandate reference is immutable — a new reference is a new mandate. If a customer changes bank account, record the same reference with the new IBAN; the next direct debit then carries the mandate amendment marker your bank expects.
  • Retired instead of deleted: a revoked mandate stays stored so that a late return can still be matched.
  • Kyvento generates no mandate text for own-bank collection. You use your own mandate form and retain it yourself.

Step 3: choosing the collection date, creating the file, submitting it

The SEPA collection area under "Finances" guides you in a fixed order: choose the collection date, check the preview, create the file.

  • The collection date has to be a banking day and lie at least two banking days in the future — the file still has to be uploaded and accepted by your bank.
  • The preview shows which claims are included — and, if there are exclusions, below that which are not, each with its reason. A claim is only included if it has been announced to the customer for exactly this collection date and the outstanding amount matches the announced one — dunning fees included. If a collection is already in progress, the claim waits.
  • There is no individual selection: the file always contains all collectable claims of the chosen day. If you want to leave a claim out, the reason has to lie in the claim itself.
Page Collect SEPA direct debits with collection date, preview and the two lists Will be collected and Will not be collected with reason
The preview shows which claims are included on the chosen collection date — and why one is not

"Create file" creates the collection run. It appears in the list of created files with collection date, count and total; you download the file and submit it in your bank's online banking. After that:

  • The affected invoices remain open; each invoice now has a payment in progress. While it is running, dunning is paused for that invoice.
  • The file is deleted after seven days. It can be recreated from the run afterwards — unless a mandate involved has changed in the meantime; then Kyvento refuses, because the file would no longer match.
  • You cannot cancel a run. Whatever has been submitted to the bank is settled with the bank.
The same page further down: section Feedback from your bank with file format and upload, below it the created file with collection date, count, total and download
Below the preview follow the feedback from your bank and the created files

Step 4: uploading your bank's feedback

Kyvento learns nothing from your bank. Whether a direct debit was credited or returned is something you tell Kyvento in the section for the feedback from your bank — as an electronic bank statement (camt.053) or as a table file (CSV), with "Upload and post". Matching happens via the reference from the direct debit file, for instance RE-2026-00042-1. In the bank statement, Kyvento skips postings that do not concern any of your direct debits; in the table file, an unknown reference is an error of that row. Uploading the same file twice changes nothing.

The columns of the table file:

ColumnRequiredMeaning
referenceyesReference from the direct debit file
statusyessettled (credit) or returned (return)
booking_dateyesYour bank's booking date, YYYY-MM-DD — never leave it empty, otherwise Kyvento posts with the day of the upload
reason_codenoYour bank's return reason for a return, such as AM04

What the feedback triggers:

  • Credit: the payment counts as successful and the invoice as paid — with your bank's booking date as the payment date, not the day of the upload. That keeps your bookkeeping in the right month.
  • Return without a prior credit — the normal case, insufficient funds for instance: the payment counts as failed, the invoice stays open and dunning continues. On the next collection attempt the invoice receives a new reference with an incremented suffix.
  • Return after a credit — the refund a customer can demand within eight weeks: Kyvento posts a chargeback, reopens the invoice and starts the separate dunning levels for chargebacks.

A return does not block the mandate. The uploaded file is not retained — a bank statement contains your customers' complete bank details.

Why the feedback is not optional

Without feedback, every submitted direct debit stays in limbo for Kyvento: the invoice is neither paid nor dunnable. So that this does not go unnoticed, a fixed sequence applies, counted from the collection date:

  • After 14 days you receive a notification in the app that the feedback is missing.
  • After 30 days Kyvento lifts the dunning hold. The claim is dunned again, with the fee of the dunning level reached — even if the money arrived long ago and only the feedback is missing.
  • Kyvento never marks an invoice as paid on its own and does not collect it a second time while the old collection is still open.

Moving back to the payment service provider

If you later want to collect via Stripe or Unzer again, first select the transitional state for moving back to the payment service provider. Checkout and portal then offer SEPA via the provider again, while existing own-bank mandates keep running through the file. You can only switch for good once no usable own-bank mandate exists any more — that is what "Retire all own-bank mandates" is for.

Next steps