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:
-
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.
- If Solaris initiated the ACR, then you will receive a notification
on the
- Solaris' systems will trigger an account closure job and calculate a legal closure date for the account.
- Solaris will send you status updates for an ACR on the webhook event
ACCOUNT_CLOSURE_REQUEST_UPDATE
for certain transitions. -
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:
- Customer-initiated ACRs: This is when a customer initiates an ACR through your solution.
-
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.
- Please consult Solaris before initiating an ACR with a reason other than
-
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.
- If this is the case, then you will receive a notification via the
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 |
---|---|
|
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 |
---|---|
|
|
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:
-
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
ofACTIVE
. - The account must have a balance of 0.
- The account may not have a compliance block.
- The account must have a
- Afterwards, call the POST Create an ACR endpoint, indicating the
closure_reason
. For customer-initiated ACRs, the closure reason can either beCUSTOMER_WISH
orACCOUNT_REVOCATION
. - 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.
- 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.
- 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:
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:
- Solaris will send a notification on the
ACCOUNT_CLOSURE_REQUEST
webhook. - Once you receive the webhook, you must notify the customer immediately about the account closure. Check this section for instructions on customer notification.
- The legal closure date will be calculated based on the type of the account closure and whether it is immediate or ordinary.
- 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.
- 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:
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:
- Consult Solaris before initiating an ACR with a reason other than
CUSTOMER_WISH
. -
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
ofACTIVE
. - The account must have a balance of 0.
- The account may not have a compliance block.
- The account must have a
- Afterwards, call the POST Create an ACR endpoint, indicating the
closure_reason
. - The legal closure date will be calculated based on the type of the account closure and whether it is immediate or ordinary.
- 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.
- You must notify the customer about the account closure. Check this section for instructions on customer notification.
- 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:
Account closure job
The account closure job runs through the following steps:
-
Checks to see if the account is still active.
- If the account is
INACTIVE
, then the job will fail.
- If the account is
- Blocks the account.
- Blocks all cards associated with the account.
- Cancels any standing orders and timed orders for the account.
-
Checks for card settlements in the last 45 days.
- If there are any
CARD_TRANSACTION
orCARD_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.
- If there are any
- Checks for open reservations.
- Checks for bookings with valuta dates in the future.
-
Checks the account balance.
- If the account has a negative balance, then the job will fail.
- Checks for active seizures.
- (For decoupled debit card customers) Checks for a reference account.
- If there is no active reference account, then the job will fail.
- 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.
- Checks to see if the closure type is insolvency.
- If the ACR has the reason
INSOLVENCY_ORDINARY_INTERNAL
orINSOLVENCY_IMMEDIATE_INTERNAL
, then the job will fail. - (For accounts with decoupled cards) Pays out the remaining funds to the reference account.
- 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 |
|
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.