Account closure guide

This guide describes the automated account closure process. This mandatory feature is required for all Solaris branches, products, and customer segments. Please check the exceptions in this section.

Here you can find information about:

  • How the automated account closure process works.
  • Different types of account closure requests (ACRs).
  • How to initiate account closure requests for your customers.

Introduction

Summary of the process

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

  1. Either you, the customer (via your frontend), or Solaris initiates an account closure request (ACR).

    • If Solaris initiated the ACR, then you will receive a notification on the ACCOUNT_CLOSURE_REQUEST webhook. Note: In case of ACRs initiated by Solaris, you must notify the customer immediately about the account closure.
    • If a customer initiated the ACR, then your application must run a series of checks to ensure that the request is valid before calling the account closure endpoint.
  2. Solaris' systems will trigger an account closure job and calculate a legal closure date for the account.
  3. Solaris will send you status updates for an ACR on the webhook event ACCOUNT_CLOSURE_REQUEST_UPDATE for certain transitions.
  4. If the account closure job succeeds, then the account is closed and you will receive an ACCOUNT_CLOSURE webhook notification.

    • If the account closure job fails, then Solaris Customer Support will provide assistance.

Types of account closure requests

There are three types of account closure requests (ACRs) that can be initiated through this process:

  1. Customer-initiated ACRs: This is when a customer initiates an ACR through your solution.
  2. Partner-initiated ACRs: This is when you want to terminate the business relationship with one of your customers.

    • Please consult Solaris before initiating an ACR with a reason other than CUSTOMER_WISH.
    • ACRs cannot be created for accounts with a compliance block.
  3. Solaris-initiated ACRs: This is when Solaris wants to terminate the business relationship with one of your customers.

    • If this is the case, then you will receive a notification via the ACCOUNT_CLOSURE_REQUEST webhook.

Types of account closures

Regardless of who initiated it, an AC can be either ordinary or immediate.

Ordinary closures

Ordinary account closures are for cases when a customer account should be closed according to the notice period specified in the customer terms & conditions for the Solaris product that they use. For digital banking accounts, this notice period is typically two months.

When an ordinary ACR is initiated, the legal closure date of the account is calculated to be the end of the contractual notice period. On this date, the account closure job will execute on Solaris' backend.

Below are the possible closure_reason values for ordinary account closures:

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

Immediate closures

Immediate account closures are for cases when you or Solaris cannot continue the relationship with a customer and must terminate the account right away, 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 of ACCOUNT_REVOCATION within the first 14 days after the account was opened.

Internal (Solaris) closure reasons External (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 you communicate to your customer that their account has been closed, you must include several important pieces of information that vary based on your specific setup (e.g., legal closure date, information on whether the customer is allowed to pay out funds). Your Partner Manager will tell you which information you must include in this communication.

Exceptional cases

Please note the following:

  • If your solution includes a Solaris product that involves multiple bank accounts (e.g., multiaccounts, subaccounts), then you must issue an ACR for each account separately.
  • Depending on your branching country where you offer your services, there may be additional steps required in the ACR process. Please contact your Partner Manager for more information.

Webhooks

You are required to subscribe to the following account closure webhooks for compliance reasons:

  • ACCOUNT_CLOSURE_REQUEST: Notifies you when Solaris initiates an ACR. Customer- and partner-initiated ACRs will not be reported on this webhook.
  • ACCOUNT_CLOSURE_REQUEST_UPDATE: Notifies you when the status of an ACR changes. This webhook only notifies for certain status transitions. Check this section for more information.
  • ACCOUNT_CLOSURE: Notifies you when a customer account has been technically closed (which may occur after the legal closure).

ACR endpoints

POST Create ACR

To initiate an ACR, call the POST /account_closure_requests endpoint.

Click here to view the 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.

Click here to view the full API reference.

GET List all ACRs

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

Click here to read the API documentation for this method.

Customer-initiated ACRs

Your solution must enable customers to request the closure of their accounts. To do so, follow the steps listed below:

  1. Your solution must perform a series of checks on the account before creating a customer-initiated ACR. The acceptance criteria include the following:

    • The account must have a status of ACTIVE.
    • The account must have a balance of 0.
    • The account may not have a compliance block.
  2. Afterwards, call the POST Create an ACR endpoint, indicating the closure_reason. For customer-initiated ACRs, the closure reason can either be CUSTOMER_WISH or ACCOUNT_REVOCATION.
  3. When the customer initiates the account closure, Solaris will fully block the account. Pay-ins and pay-outs will no longer be possible. At this point, the account is considered legally closed.
  4. Solaris will run the account closure job and perform an additional series of checks. If any of the checks fail, then the technical closure of the account may be delayed.
  5. Solaris will send status updates on the ACR via the dedicated webhook events. For more details, check this section.

The following diagram provides a high-level overview of the process:

Diagram: Customer-initiated ACR flow

Solaris-initiated ACRs

In some cases, Solaris can initiate an ACR for one of your customers (e.g., for compliance reasons). In this case, the process will be as follows:

  1. Solaris will send a notification on the ACCOUNT_CLOSURE_REQUEST webhook.
  2. Once you receive the webhook, you must notify the customer immediately about the account closure. Check this section for instructions on customer notification.
  3. The legal closure date will be calculated based on the type of the account closure and whether it is immediate or ordinary.
  4. Solaris will run the account closure job and perform additional checks. If any of the checks fail, then the technical closure of the account may be delayed. Check this section for more details.
  5. Solaris will send status updates on the ACR via the dedicated webhook events. For more details, check this section.

The following diagram provides a high-level overview of the process:

Diagram: Solaris-initiated ACR flow

Partner-initiated ACRs

If you want to terminate the business relationship with one of your customers and initiate an ACR, the process will be as follows:

  1. Consult Solaris before initiating an ACR with a reason other than CUSTOMER_WISH.
  2. Once Solaris approves your request, your solution must perform a series of checks on the account before creating an ACR. The acceptance criteria include the following:

    • The account must have a status of ACTIVE.
    • The account must have a balance of 0.
    • The account may not have a compliance block.
  3. Afterwards, call the POST Create an ACR endpoint, indicating the closure_reason.
  4. The legal closure date will be calculated based on the type of the account closure and whether it is immediate or ordinary.
  5. Solaris will run the account closure job and perform additional checks. If any of the checks fail, then the technical closure of the account may be delayed. Check this section for more details.
  6. You must notify the customer about the account closure. Check this section for instructions on customer notification.
  7. Solaris will send status updates on the ACR via the dedicated webhook events. Check this section for more details.

The following diagram provides a high-level overview of the process:

Diagram: Partner-initiated ACR flow

Account closure job

The account closure job runs through the following steps:

  1. Checks to see if the account is still active.

    • If the account is INACTIVE, then the job will fail.
  2. Blocks the account.
  3. Blocks all cards associated with the account.
  4. Cancels any standing orders and timed orders for the account.
  5. Checks for card settlements in the last 45 days.

    • If there are any CARD_TRANSACTION or CARD_DIRECT_DEBIT bookings in the last 45 days for the account, then the account will only be closed once 45 days have elapsed since the last booking.
  6. Checks for open reservations.
  7. Checks for bookings with valuta dates in the future.
  8. Checks the account balance.

    • If the account has a negative balance, then the job will fail.
  9. Checks for active seizures.
  10. (For decoupled debit card customers) Checks for a reference account.
  11. If there is no active reference account, then the job will fail.
  12. Checks for any SEPA Direct Debit (SDDs) collected in the last 56 days. If there is an SDD found, the ACR processing is moved to the next day. This validation is relevant for the Decoupled Cards and Credit Cards products.
  13. Checks to see if the closure type is insolvency.
  14. If the ACR has the reason INSOLVENCY_ORDINARY_INTERNAL or INSOLVENCY_IMMEDIATE_INTERNAL, then the job will fail.
  15. (For accounts with decoupled cards) Pays out the remaining funds to the reference account.
  16. Closes the account.

Checking the status of the account closure request

This section outlines the steps Solaris takes to close an account and how you can keep track of the status of an account closure.

Solaris will notify you with status changes of the ACR via two webhook events:

ACCOUNT_CLOSURE_REQUEST_UPDATE

Solaris will send status changes notifications on the webhook event ACCOUNT_CLOSURE_REQUEST_UPDATE for the following transitions:

From status To status
CONFIRMED IN_PROGRESS
CONFIRMED REVOKED
IN_PROGRESS COMPLETED
IN_PROGRESS FAILED

ACCOUNT_CLOSURE

Solaris will notify you upon successful account closures via the ACCOUNT_CLOSURE webhook.

Possible ACR status values

Status Description
INITIATED The ACR has been created. Only applies to ACRs triggered by Solaris.
CONFIRMED
  • Solaris has received and accepted the ACR from the partner, or
  • Solaris initiated an ACR and sent an ACCOUNT_CLOSURE_REQUEST webhook to you, which you then accepted.
IN_PROGRESS The account closure job has been triggered for the first time for the ACR and is currently running.
COMPLETED The account closure job succeeded, and the account is now closed.
FAILED The account closure job failed due to one of the reasons listed below.
REVOKED The account closure request has been revoked. Only Solaris can revoke an ACR before it reaches the IN_PROGRESS status.

Successful account closure

When the account closure job succeeds, Solaris will send you a notification on the ACCOUNT_CLOSURE webhook.

Failure reasons

In case an ACR fails, the failure reasons will be returned in the failure_reason object, including a code value for the failure reason and a description of the reason in the detail field.

The following table shows the mapping between the values of the code and detail fields.

code value detail value
account_inactive Account already technically closed.
negative_balance Account balance is negative, can't perform technical closure.
positive_balance Account balance is positive, can't perform technical closure.
accrued_interest Accrued interest found on the account, can't perform technical closure.
forced_failure Account Closure was manually stopped. Please contact Solaris Customer Support for details.

Splitpay termination

If an account closure request is initiated for a customer's account, any associated credit line must also be terminated. You can trigger the termination request using PUT Terminate a credit line or contact Solaris for assistance.