Skip to content
Last updated

Account management

This guide explains how to manage customer accounts, retrieve balances, and handle account statements using the Solaris API.

Prerequisites

Before managing accounts, you must have successfully onboarded a customer:


Account balance

The account balance is not a single number but a set of values representing different financial states.

Real-time balances

These values reflect the current state of the account and are returned in the GET Account response.

Balance TypeField NameDescription
BalancebalanceThe funds currently on the account. This includes only posted bookings (transactions with an elapsed valuta date).
Available Balanceavailable_balanceThe funds the customer can actually spend right now. It accounts for pending reservations (e.g., card authorizations) and overdraft limits.

Calculation: balance - reservations + overdraft_facility.
Seizure Protectionseizure_protection(Only for seized accounts) The amount of funds protected from seizure.

Dispositions

A Disposition is a booking that has been agreed upon but has a valuta_date (value date) in the future.

  • These are returned in the bookings list but are not yet applied to the balance.
  • They become effective (affecting interest and balance) only when the valuta_date is reached.

Statement balances

These values are specific to Account Statements and represent snapshots in time.

Balance TypeField NameDescription
Statement Startbalance_startThe balance based on bookings before the statement start date.
Statement Endbalance_endThe balance based on bookings up to and including the statement end date.

Overdrafts and Limits

If your solution includes Overdrafts, the Account Limit determines the maximum allowed negative balance.

  • Overdraft Facility: The approved credit line (e.g., €500).
  • Impact: This amount is added to the available_balance, allowing the customer to spend more than their balance.

Balance calculation example

Scenario: An account has a limit (overdraft) of €100.00.

DateActionAmountbalanceavailable_balance
Jan 1Start-€0.00€100.00 (Limit only)
Jan 2Card Purchase (Pending)-€20.00€0.00€80.00 (Reservation applied)
Jan 3Incoming Transfer (Posted)+€50.00€50.00€130.00
Jan 4Card Purchase (Settled)-€20.00€30.00€130.00 (Booking applied, Reservation removed)

Retrieve balance


Bookings

A Booking represents a finalized movement of funds (e.g., a SEPA transfer or a settled card transaction).

  • Impact: Bookings update the balance.
  • Tracing Transactions:
    • transaction_id: The ID of the original transaction that created this booking.
    • return_transaction_id: Used for R-Transactions (Refunds, Returns, Rejects). It exposes the ID of the original transaction that is being returned or refunded.
  • Value Date (valuta_date): The date used for interest calculation. This may differ from the booking_date (e.g., for backdated interest or correction bookings).
Implementation Note

Your application must handle all booking types dynamically. Do not hardcode logic that ignores unknown types, as Solaris may add new booking types (e.g., for new payment schemes).


Reservations

A Reservation is a temporary restriction of funds. It blocks a specific amount for a pending transaction that has not yet been booked (settled). Common examples include card authorizations at a point of sale.

Impact on Balance

Reservations reduce the available_balance immediately to prevent overspending, but they do not affect the balance until settlement.

Reservation lifecycle

Reservations persist until a specific event resolves them:

  1. Resolution (Settlement): The reservation remains active until the merchant or system captures the payment. Once captured, the reservation is removed, and a Booking is created for the final amount.
  2. Expiration: If the transaction is not captured within the timeframe defined by the card scheme, the reservation automatically expires, and the funds are released back to the available_balance.

Account statements

Solaris provides two types of statements. You must understand the legal distinction between them.

1. Statement of Account (Rechnungsabschluss)

According to § 355 HGB, banks are legally required to regularly issue a statement that contains information about all bookings, interest, fees, and costs.

  • Legal Status: Legally Binding.
  • Frequency: Quarterly.
  • Content: Closing balance, fees, interest, and mandatory legal disclaimers.
  • Requirement: You must generate this and provide it to the customer.

Overdraft Information: If the account has an overdraft, the statement must also include:

  • overdraft_facility: The granted limit.
  • overdraft_rate: The interest rate applied.
  • interest_accrued: The actual interest charged for the period.

Generating the statement: Call the endpoint to generate the data, then render it into a PDF using your own template. You must include the mandatory disclaimer text provided in the API response.

The following text is an example of the disclaimer structure. You must use the exact string returned by the API at the time of generation.

Example Disclaimer Content (German/English)
Sehr geehrte Kundin, sehr geehrter Kunde,

bitte prüfen Sie die Buchungen, Berechnungen und den Abschlusssaldo im beiliegenden Kontoauszug, der zugleich einen Rechnungsabschluss darstellt. Rechnungsabschlüsse gelten als genehmigt, sofern Sie innerhalb von sechs Wochen nach Zugang keine Einwendungen erheben. Einwendungen gegen Rechnungsabschlüsse müssen der solarisBank schriftlich oder in Textform (z.B. an support@solarisbank.de) zugehen. Im Falle der Einwendung in Textform genügt zur Fristwahrung die rechtzeitige Absendung. Der angegebene Kontostand berücksichtigt nicht die Wertstellung der einzelnen Buchungen. Dies bedeutet, dass der genannte Betrag nicht dem für die Zinsrechnung maßgeblichen Kontostand entsprechen muss und bei Verfügungen möglicherweise Zinsen für die Inanspruchnahme einer eingeräumten oder geduldeten Kontoüberziehung anfallen können. Gutschriften aus eingereichten Lastschriften und anderen Einzugspapieren erfolgen unter dem Vorbehalt der Einlösung. Guthaben sind als Einlagen nach Maßgabe des Einlagensicherungsgesetzes entschädigungsfähig. Nähere Informationen können dem Informationsbogen für den Einleger entnommen werden, den Sie gemeinsam mit unseren für den Geschäftsverkehr mit Ihnen geltenden Allgemeinen Geschäftsbedingungen und besonderen Bedingungen unter www.solarisbank.de/partner einsehen können.

Mit freundlichen Grüßen

Ihre solarisBank

---

Clearance of account is considered accepted if you do not raise any objection within six weeks after receipt. Objections regarding account statements have to be submitted to solarisBank in written or text form (e.g. to service@solarisbank.de). In case of objection in text form, it is sufficient to ensure its timely dispatch.

Recipient Data Logic: The API provides a recipient_information object to print on the statement. The content changes based on the customer type:

LineNatural PersonBusiness
Line 1Salutation, First Name, Last NameCompany Name
Line 2Address Line 1"For the company management"
Line 3Address Line 2Address Line 1
Line 4Postal Code, CityAddress Line 2

The overdraft information in the statement represents a snapshot on the generation date. You must highlight this limitation in the document you share with the customer.

2. Bank Statement (Kontoauszug)

According to Article 248 §§ 3, 7, 10 EGBGB, banks are legally required to provide information about every booking to the customer at least once a month.

  • Legal Status: Informational only (Not legally binding).

  • Frequency: On-demand (typically monthly).

  • Content: List of bookings within a specific date range.

  • POST Create bank statement

Constraints
  • Past Dates Only: You can only generate statements for time periods in the past.
  • Idempotency: Requesting a statement for the same period multiple times returns the same document.

3. Fee Summary Statement


Account blocking

Solaris may block an account for compliance or security reasons (e.g., suspicious activity, missing tax data).

Monitoring blocks

Subscribe to the ACCOUNT_BLOCK webhook. When received, call GET Retrieve Account to inspect the locking_status and locking_reason.

Locking statuses

StatusEffect
NO_BLOCKAccount is active. All transactions allowed.
DEBIT_BLOCKOutgoing payments blocked. Incoming funds allowed.
CREDIT_BLOCKIncoming payments blocked. Outgoing funds allowed.
BLOCKFull freeze. No money in or out.

Appendix I: Booking types

The booking_type field explains the business context of a transaction.

Click to view all Booking Types
Booking TypeDescription
CANCELLATION_BOOKINGGeneric cancellation of a posted booking.
CancellationCardTransactionCorrection of a card-related movement.
CANCELLATION_CARD_TRANSACTION_DIRECTCorrection of a peer-to-peer card transaction (e.g., MoneySend).
CANCELLATION_CHARGE_CARDCorrection of card-related charges.
CANCELLATION_CHARGE_DUNNINGCorrection of fees or charges resulting from the dunning (debt collection) process.
CANCELLATION_CHARGE_SEPA_DIRECT_DEBIT_RETURNCorrection of additional SDD return charges.
CANCELLATION_CRYPTO_EXCHANGECorrection of a crypto-currency exchange operation.
CANCELLATION_CURRENCY_EXCHANGE_PARTNERCorrection of a currency exchange performed in cooperation between you and Solaris.
CANCELLATION_DIRECT_DEBITCorrection of a SEPA Direct Debit collection (CORE scheme).
CANCELLATION_DOUBLE_BOOKINGCorrection of a technical issue (e.g., if a payment was booked twice).
CANCELLATION_INTERNAL_TRANSFERCorrection of a manual transaction.
CANCELLATION_INTERNATIONAL_CREDIT_TRANSFERCorrection of an international non-SEPA payment.
CANCELLATION_INTEREST_ACCRUEDCorrection of interest accrual.
CANCELLATION_INTEREST_ANNUITYCancellation of an interest accrual (specific to loan products).
CANCELLATION_INTEREST_LOANCancellation of an irregular interest accrual (specific to loan products).
CANCELLATION_LOAN_PAYOUTCorrection of a loan payout.
CANCELLATION_REBOOKINGCorrection of a payment rerouting.
CANCELLATION_REBOOKING_INTERESTCorrection of an interest rerouting.
CANCELLATION_SEPA_CREDIT_TRANSFER_RETURNCorrection of a SEPA Credit Transfer return.
CANCELLATION_SEPA_DIRECT_DEBITCorrection of a SEPA Direct Debit collection (B2B scheme).
CANCELLATION_SEPA_DIRECT_DEBIT_RETURNCorrection for the return of a SEPA Direct Debit.
CANCELLATION_TRANSFER_ANNUITYCorrection of irregular loan principal removal.
CARD_DIRECT_DEBITSEPA Direct debit collection from a card account.
CARD_TRANSACTIONCard-related transaction (e.g., ATM withdrawal, payment, refund).
CARD_TRANSACTION_DIRECTPeer-to-peer card transaction (e.g., MoneySend).
CASH_DEPOSIT_RETAILA cash deposit via Viacash (Barzahlen).
CASH_WITHDRAWAL_RETAILA cash withdrawal via Viacash (Barzahlen).
CHARGE_ACCOUNT_MAINTENANCEMonthly account maintenance fee.
CHARGE_CARDCard-related charges.
CHARGE_DUNNINGFees resulting from the dunning process.
ChargeRecallRequestCharge resulting from a recall request.
CHARGE_SEPA_DIRECT_DEBIT_RETURNAdditional charges for the return of an SDD collection.
ClosureBalanceTransferMoving remaining funds out of an account upon closure.
COMMISSION_OVERDRAFTInterest charge for exceeding the overdraft limit.
CREDIT_TRANSFER_CANCELLATIONCanceled Credit Transfer, either by customer request or internal checks.
CRYPTO_EXCHANGECashflow related to crypto-currency exchange operation.
CURRENCY_EXCHANGE_PARTNERCurrency exchange performed in cooperation between you and Solaris.
DIRECT_DEBITSEPA Direct Debit collection (CORE scheme).
FOREIGN_PAYMENTDeprecated. Replaced by INTERNATIONAL_CREDIT_TRANSFER.
INTEREST_ACCRUEDInterest accrued on the account.
INTEREST_ANNUITYInterest accrued between loan payout and cancellation date.
INTEREST_LOANIrregular interest accrual (e.g., for early repayment).
INTERNAL_TRANSFERManually executed transaction.
INTERNATIONAL_CREDIT_TRANSFERPayment via SWIFT or TARGET2.
LOAN_PAYOUTMoney transfer from the loan account to the billing account.
REBOOKINGPayment rerouting between accounts.
REBOOKING_INTERESTInterest rerouting between accounts.
SEPA_CREDIT_TRANSFERStandard incoming or outgoing SEPA Credit Transfer.
SEPA_CREDIT_TRANSFER_RETURNReturn of an executed SEPA Credit Transfer (e.g., account blocked).
SEPA_DIRECT_DEBITSEPA Direct Debit collection (B2B scheme).
SEPA_DIRECT_DEBIT_RETURNReturn or Refund of a SEPA Direct Debit.
SepaInstantCreditTransferReal-time SEPA Instant payment.
TARGET2_CREDIT_TRANSFERA credit transfer sent via Target2.
TRANSFER_ANNUITYIrregular loan principal removal.
OTHERGeneric booking category.

Appendix II: Reservation types

Reservations affect the available_balance but have not yet been booked to the ledger.

TypeDescription
CARD_AUTHORIZATIONA temporary hold for a card transaction (e.g., at point of sale).
SEIZUREFunds blocked by a legal seizure order (Pfändung).

Appendix III: Account blocking details

When an account is blocked, the locking_status defines what is blocked, and locking_reason explains why.

Locking Reasons

ReasonDescription
AML_FOLLOW_UP_OVERDUECustomer failed to confirm data after AML follow-up request.
COMPANY_FOUNDATIONBusiness failed to submit foundation documents on time.
COMPLIANCEGeneric compliance block.
COMPLIANCE_SCREENINGAML match identified during screening.
COMPLIANCE_PARTNERBlocked by you (the partner) for compliance reasons.
CUSTOMER_WISHBlocked at the customer's request.
DECOUPLED_CARD_DUNNINGBlocked due to unpaid debts on a decoupled card.
IDENTIFICATION_FAILEDKYC/BKYC process failed.
IDENTIFICATION_DOCUMENT_EXPIREDID document on file has expired.
IN_CLOSUREAccount is in the process of being closed.
INSOLVENCYInsolvency case related to the customer.
LOAN_RESERVATIONCustomer has not accepted the loan offer yet.
MISSING_TAX_INFORMATIONTax ID not provided within the required timeframe.
SEIZUREActive seizure process (Pfändung) on the account.
OTHERGeneric operational block.