Skip to content
v26.3

Banking & SEPA

DiKAS offers a complete banking area: import bank statements (CSV, MT940, or directly via FinTS), automatically match payments, create SEPA direct debits and SEPA transfers. The matching algorithm recognizes invoice numbers, customer names, and IBANs — and assigns incoming payments automatically.

Admin → Banking


Setting Up Bank Accounts

Creating a Bank Account

Admin → Banking → Accounts → "+ New Account"

Field Description
Name Label (e.g., "Business account Sparkasse")
IBAN Your IBAN
BIC Your BIC
Account Holder Name of the account holder
Default Account Use as primary account for invoices

Setting Up FinTS (Online Banking Retrieval)

If you want to retrieve account transactions directly from your bank:

Admin → Settings → FinTS

Field Description
Bank Code Your bank's routing number (BLZ)
FinTS URL Automatically determined by bank code
User ID Your online banking login
PIN Your online banking PIN
IBAN Account to be retrieved
BIC Bank identification
Account Holder Name of the account holder
TAN Method pushTAN, chipTAN, smsTAN, etc.

Importing Bank Statements

Manual Import (CSV / MT940)

  1. Download the bank statement from your online banking
  2. Admin → Banking → "Import file"
  3. Select file (CSV or MT940/SWIFT)
  4. DiKAS automatically detects:
  5. File format and delimiter
  6. Character encoding (UTF-8, Windows-1252)
  7. Column structure
  8. Account transactions are imported

Duplicate detection: Each transaction receives a hash from date, amount, name, payment reference, and IBAN. Already imported transactions are automatically skipped.

Automatic Retrieval (FinTS)

If FinTS is configured:

  1. Admin → Banking → "Retrieve online"
  2. Select time period (default: since last retrieval)
  3. Click "Retrieve"
  4. If your bank requires a TAN:
  5. TAN method is displayed (pushTAN, chipTAN, etc.)
  6. For QR-TAN: QR code is shown
  7. Enter TAN → "Confirm"
  8. For pushTAN (decoupled): wait for confirmation in the banking app
  9. Account transactions are imported and automatically matched

FinTS Flow in Detail

Step 1: Start retrieval
  → DiKAS sends request to FinTS server
  → Response: "tan_required" + challenge text

Step 2: Enter TAN
  → DiKAS sends TAN
  → Response: "success" + account transactions

  or: "vop_confirmation" (Verification of Payee)
  → Name on recipient account does not match
  → Warning is displayed, confirmation required

Payment Matching

Automatic Matching (6 Levels)

After import, DiKAS attempts to automatically assign each account transaction to an invoice. The algorithm checks in descending confidence:

Level Criterion Confidence Example
1 Invoice number + amount Highest Reference "RE-2026-0042", amount 178.88 €
2 Invoice number High Reference contains "RE-2026-0042"
3 Customer name + amount Medium Name "Müller GmbH", amount matches open invoice
4 IBAN + amount Medium Customer's IBAN + matching amount
5 Keyword in reference Low Reference contains customer name
6 Amount only Lowest Amount matches exactly one open invoice
Account transaction:
  Incoming: 178.88 €
  From: Müller GmbH
  IBAN: DE89 3704 0044 0532 0130 00
  Reference: RE-2026-0042 Lunches March

  → Automatically matched: Invoice RE-2026-0042 (178.88 €)
  → Match level: 1 (invoice number + amount)
  → Status: Paid ✓

Matching Status

Status Description
Not matched No automatic match possible
Automatically matched Algorithm found an invoice
Manually matched You made the assignment yourself
Partially matched Amount partially assigned to an invoice
Categorized Not assigned to an invoice, but to an expense category
Ignored Deliberately skipped (e.g., internal transfer)

Manual Matching

If automatic matching does not work:

  1. Click on account transaction
  2. "Match" → search for invoice or customer
  3. Select and confirm
  4. Invoice status is automatically updated

Partial Payment

If only a partial amount was transferred:

  1. Match as above
  2. DiKAS posts the partial amount to the invoice
  3. Invoice status changes to "Partially Paid"
  4. The remaining balance stays as an open item

📨 Recording Receipts

Incoming receipts (supplier/service invoices, cash receipts) are recorded directly in the POS under "Expenses": enter the amount and tax rate and attach the receipt as a photo or PDF (camera or file picker). See Expenses & Receipts.

The receipts recorded this way flow into accounting via the DATEV export. With the option "Include receipts" the receipt image is also linked to the posting — see Exporting receipt images.

💡 The receipt/expense recording in the POS can be enabled and disabled under Settings → Modules → "Expenses" and is controllable via staff permissions.


SEPA Direct Debit (Collection)

For recurring receivables (subscriptions, open invoices with SEPA mandate):

Prerequisites

Prerequisite Where configured
Creditor ID Admin → Settings → Backend Config
Customer IBAN Admin → Customers → [Customer] → IBAN
SEPA Mandate Admin → Customers → [Customer] → Mandate reference + date
Invoice with direct debit flag In the subscription or on the invoice

Creating a Direct Debit File

  1. Admin → Banking → "SEPA Direct Debit"
  2. Due invoices with SEPA flag are displayed
  3. Select entries (or all)
  4. "Create SEPA file"
  5. Download XML file (pain.008.003.02)
  6. Upload to your online banking

SEPA XML Content

The generated file contains per invoice: - MndtId: Customer's mandate reference - DtOfSgntr: Mandate date - EndToEndId: Invoice number - InstdAmt: Outstanding amount (EUR) - ReqdColltnDt: Collection date (5 days after generation) - Ustrd: "Rechnung {invoice number}"

Returned Direct Debit Handling

If a direct debit is returned:

  1. During bank import, DiKAS recognizes the returned debit (negative amount)
  2. The associated invoice is reset to "Open"
  3. The SEPA status changes to "Failed"
  4. Optional: customer's IBAN is flagged for review

SEPA Transfer (Outgoing)

For outgoing payments (e.g., to suppliers):

Single Transfer

  1. Admin → Banking → Transfers → "+ New Transfer"
  2. Enter recipient IBAN, amount, payment reference
  3. Transfer is saved
  4. SEPA file (pain.001) can be created and downloaded

Direct Execution via FinTS

If FinTS is configured, transfers can be submitted directly:

  1. Create transfer
  2. Click "Execute via FinTS"
  3. Enter TAN (same as retrieval)
  4. Transfer is submitted directly to the bank

Batch Transfer

Multiple transfers can be combined into a batch file:

  1. Select multiple transfers
  2. "Create batch file" → pain.001 XML with all items

Bank Transaction Overview

The banking page shows all imported account transactions:

Column Description
Date Booking date
Amount Incoming or outgoing (color-coded: green/red)
Name Sender / recipient
Reference Transfer reference text
IBAN Counter account
Status Matched / Not matched / Ignored
Assignment Linked invoice or customer
Confidence Match level (1–6) for automatic matching

IBAN Validation

DiKAS validates IBANs for correctness:

  • Format check: Length and country identifier
  • Checksum: IBAN checksum (ISO 13616)
  • BIC derivation: BIC is automatically determined from the IBAN
  • Bank lookup: Bank name is displayed by bank code/IBAN

Practical Example: Monthly Payment Reconciliation

Situation: Restaurant with 20 corporate customers on invoice.

  1. FinTS retrieval: "Retrieve online" → enter TAN → 45 new account transactions
  2. Automatic matching: 12 payments are immediately matched (levels 1–3)
  3. Manual matching: 3 payments without invoice number → match manually
  4. Ignore: 30 transactions (rent, electricity, etc.) marked as "Ignored"
  5. Result: 12 invoices automatically set to "Paid", 3 more manually
  6. Open items: 5 invoices still open → start dunning run (→ Dunning)

Next Step

DATEV Export — Export data for your tax advisor