Skip to content

Account closure guide

This guide describes the automated account closure process. This mandatory feature applies to all Solaris branches, products, and customer segments. Review the Exceptional cases section for specific deviations.

This guide covers:

  • The automated account closure workflow.
  • Types of account closure requests (ACRs).
  • Initiating account closure requests for your customers.

Introduction

Summary of the process

At a high level, the account closure process works as follows:

  1. Initiation: You (via your frontend) or Solaris initiates an account closure request (ACR).
    • If Solaris initiates the ACR, you receive a notification on the ACCOUNT_CLOSURE_REQUEST webhook. Note: You must notify the customer immediately about the closure.
    • If a customer initiates the ACR, your application must validate the request before calling the account closure endpoint.
  2. Calculation: Solaris triggers an account closure job and calculates a legal closure date.
  3. Updates: Solaris sends status updates via the ACCOUNT_CLOSURE_REQUEST_UPDATE webhook for specific transitions.
  4. Completion: If the job succeeds, the account is closed, and you receive an ACCOUNT_CLOSURE webhook notification.
    • If the job fails, Solaris Customer Support will assist.

Types of account closure requests

There are three types of ACRs:

  1. Customer-initiated: A customer requests closure through your solution.
  2. Partner-initiated: You terminate the business relationship with a customer.
    • Consult Solaris before initiating an ACR with a reason other than CUSTOMER_WISH.
    • You cannot create ACRs for accounts with a compliance block.
  3. Solaris-initiated: Solaris terminates the business relationship with a customer.
    • You will receive a notification via the ACCOUNT_CLOSURE_REQUEST webhook.

Types of account closures

Regardless of the initiator, an account closure (AC) is either ordinary or immediate.

Ordinary closures

Ordinary account closures apply when a customer account closes according to the notice period specified in the Terms and Conditions. For digital banking accounts, this notice period is typically two months.

When an ordinary ACR is initiated (by you or the customer), the legal closure date is calculated as the end of the contractual notice period. The account closure job executes on Solaris' backend on this date.

The following table outlines possible closure_reason values for ordinary closures:

Internal (Solaris) closure reasonsExternal (partner) closure reasons
  • COMPLIANCE_ORDINARY_INTERNAL
    • INSOLVENCY_ORDINARY_INTERNAL
    • RELATIONSHIP_TERMINATION_INTERNAL
    • SEIZURES_ORDINARY_INTERNAL
RELATIONSHIP_TERMINATION

Immediate closures

Immediate account closures apply when you or Solaris cannot continue the relationship and must terminate the account immediately (e.g., for compliance reasons).

When an immediate ACR is initiated, the legal closure date is set to the current date, and the account closure job runs immediately.

note

You may only close a customer's account with the reason ACCOUNT_REVOCATION within the first 14 days after the account opening.

Internal (Solaris) closure reasonsExternal (partner) closure reasons
  • ACCOUNT_REVOCATION_INTERNAL
    • COMPLIANCE_IMMEDIATE_INTERNAL
    • CUSTOMER_WISH_INTERNAL
    • DUNNING_DECOUPLED_CARD_INTERNAL (only for decoupled debit card accounts)
    • INSOLVENCY_IMMEDIATE_INTERNAL
  • ACCOUNT_REVOCATION
    • CUSTOMER_WISH

Customer communication

When notifying a customer of an account closure, you must include specific information based on your setup (e.g., legal closure date, fund payout rights). Your Partner Manager will define the mandatory information for this communication.

Exceptional cases

  • Multi-account Products: If your solution includes a product with multiple bank accounts (e.g., multi-accounts, sub-accounts), you must issue a separate ACR for each account.
  • Branching Requirements: Depending on your branching country, additional steps may be required. Contact your Partner Manager for details.
  • Splitpay: If a customer closes their account, any associated Splitpay credit line is also terminated. Solaris manages this process internally. Contact your Partner Manager for details.

Webhooks

You must subscribe to the following webhooks for compliance:

ACR endpoints

POST Create ACR

Call the POST /account_closure_requests endpoint to initiate an ACR.

View full API reference

GET Retrieve info about an ACR

The GET /account_closure_requests/{account_closure_request_id} method returns information about a specific ACR.

View full API reference

GET List all ACRs

The GET /account_closure_requests method returns a list of all ACRs.

View full API reference

Customer-initiated ACRs

Your solution must enable customers to request account closure.

  1. Validation: Perform the following checks before creating the ACR:
    • Account status must be ACTIVE.
    • Account balance must be 0.
    • No active compliance block.
  2. Creation: Call the POST Create an ACR endpoint with the closure_reason. For customer-initiated ACRs, use CUSTOMER_WISH or ACCOUNT_REVOCATION.
  3. Blocking: Upon initiation, Solaris fully blocks the account. Pay-ins and pay-outs are disabled. The account is considered legally closed.
  4. Processing: Solaris runs the account closure job. If technical checks fail, technical closure may be delayed.
  5. Updates: Solaris sends status updates via webhooks. See Checking ACR Status.

Diagram: Customer-initiated ACR flow

Solaris-initiated ACRs

Solaris may initiate an ACR for a customer (e.g., for compliance).

  1. Notification: Solaris sends a notification on the ACCOUNT_CLOSURE_REQUEST webhook.
  2. Communication: You must immediately notify the customer. See Customer communication.
  3. Calculation: The legal closure date is calculated based on the closure type (immediate or ordinary).
  4. Processing: Solaris runs the account closure job.
  5. Updates: Solaris sends status updates via webhooks. See Checking ACR Status.

Diagram: Solaris-initiated ACR flow

Partner-initiated ACRs

To terminate a business relationship with a customer:

  1. Consultation: Consult Solaris before initiating an ACR with a reason other than CUSTOMER_WISH.
  2. Validation: Once agreed, perform the following checks:
    • Account status must be ACTIVE.
    • Account balance must be 0.
    • No active compliance block.
  3. Creation: Call the POST Create an ACR endpoint with the closure_reason.
  4. Calculation: The legal closure date is calculated based on the closure type.
  5. Processing: Solaris runs the account closure job.
  6. Communication: Notify the customer about the closure. See Customer communication.
  7. Updates: Solaris sends status updates via webhooks. See Checking ACR Status.

Diagram: Partner-initiated ACR flow

Account closure job

The account closure job executes the following steps:

  1. Checks if the account is active. (Fails if INACTIVE).
  2. Blocks the account.
  3. Blocks all cards associated with the account.
  4. Cancels standing orders and timed orders.
  5. Checks for card settlements in the last 45 days.
    • If CARD_TRANSACTION or CARD_DIRECT_DEBIT bookings exist in the last 45 days, closure is delayed until 45 days have elapsed since the last booking.
  6. Checks for open reservations.
  7. Checks for bookings with value dates in the future.
  8. Checks the account balance. (Fails if negative).
  9. Checks for active seizures.
  10. Checks for a reference account (Decoupled Debit Cards only). (Fails if missing).
  11. Checks for SEPA Direct Debits (SDDs) in the last 56 days. (Delays processing to the next day if found; relevant for Decoupled/Credit Cards).
  12. Checks for insolvency closure type. (Fails if INSOLVENCY_ORDINARY_INTERNAL or INSOLVENCY_IMMEDIATE_INTERNAL).
  13. Pays out remaining funds to the reference account (Decoupled Cards only).
  14. Closes the account.

Checking the status of the account closure request

Solaris notifies you of status changes via two webhook events.

ACCOUNT_CLOSURE_REQUEST_UPDATE

Notifications are sent for the following transitions:

From statusTo status
CONFIRMEDIN_PROGRESS
CONFIRMEDREVOKED
IN_PROGRESSCOMPLETED
IN_PROGRESSFAILED

ACCOUNT_CLOSURE

Notifications are sent upon successful account closure.

Possible ACR status values

StatusDescription
INITIATEDThe ACR has been created. (Solaris-initiated only).
CONFIRMEDSolaris accepted the Partner ACR, or Partner accepted the Solaris ACR.
IN_PROGRESSThe account closure job is running.
COMPLETEDThe account is closed.
FAILEDThe account closure job failed.
REVOKEDThe ACR was revoked. (Only Solaris can revoke before IN_PROGRESS).

Failure reasons

If an ACR fails, the failure_reason object contains a code and detail.

code valuedetail value
account_inactiveAccount already technically closed.
negative_balanceAccount balance is negative; cannot perform technical closure.
positive_balanceAccount balance is positive; cannot perform technical closure.
accrued_interestAccrued interest found; cannot perform technical closure.
forced_failureAccount Closure was manually stopped. Contact Solaris Customer Support.