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.
At a high level, the account closure process works as follows:
- 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_REQUESTwebhook. 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.
- If Solaris initiates the ACR, you receive a notification on the
- Calculation: Solaris triggers an account closure job and calculates a legal closure date.
- Updates: Solaris sends status updates via the
ACCOUNT_CLOSURE_REQUEST_UPDATEwebhook for specific transitions. - Completion: If the job succeeds, the account is closed, and you receive an
ACCOUNT_CLOSUREwebhook notification.- If the job fails, Solaris Customer Support will assist.
There are three types of ACRs:
- Customer-initiated: A customer requests closure through your solution.
- 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.
- Consult Solaris before initiating an ACR with a reason other than
- Solaris-initiated: Solaris terminates the business relationship with a customer.
- You will receive a notification via the
ACCOUNT_CLOSURE_REQUESTwebhook.
- You will receive a notification via the
Regardless of the initiator, an account closure (AC) is either ordinary or immediate.
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 reasons | External (partner) closure reasons |
|---|---|
| RELATIONSHIP_TERMINATION |
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.
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 reasons | External (partner) closure reasons |
|---|---|
|
|
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.
- 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.
You must subscribe to the following webhooks for compliance:
ACCOUNT_CLOSURE_REQUEST: Notifies you when Solaris initiates an ACR. (Customer- and partner-initiated ACRs are not reported here).ACCOUNT_CLOSURE_REQUEST_UPDATE: Notifies you when an ACR status changes. See ACR Status Updates.ACCOUNT_CLOSURE: Notifies you when a customer account is technically closed (may occur after the legal closure).
Call the POST /account_closure_requests endpoint to initiate an ACR.
The GET /account_closure_requests/{account_closure_request_id} method returns information about a specific ACR.
The GET /account_closure_requests method returns a list of all ACRs.
Your solution must enable customers to request account closure.
- Validation: Perform the following checks before creating the ACR:
- Account
statusmust beACTIVE. - Account balance must be 0.
- No active compliance block.
- Account
- Creation: Call the POST Create an ACR endpoint with the
closure_reason. For customer-initiated ACRs, useCUSTOMER_WISHorACCOUNT_REVOCATION. - Blocking: Upon initiation, Solaris fully blocks the account. Pay-ins and pay-outs are disabled. The account is considered legally closed.
- Processing: Solaris runs the account closure job. If technical checks fail, technical closure may be delayed.
- Updates: Solaris sends status updates via webhooks. See Checking ACR Status.
Solaris may initiate an ACR for a customer (e.g., for compliance).
- Notification: Solaris sends a notification on the
ACCOUNT_CLOSURE_REQUESTwebhook. - Communication: You must immediately notify the customer. See Customer communication.
- Calculation: The legal closure date is calculated based on the closure type (immediate or ordinary).
- Processing: Solaris runs the account closure job.
- Updates: Solaris sends status updates via webhooks. See Checking ACR Status.
To terminate a business relationship with a customer:
- Consultation: Consult Solaris before initiating an ACR with a reason other than
CUSTOMER_WISH. - Validation: Once agreed, perform the following checks:
- Account
statusmust beACTIVE. - Account balance must be 0.
- No active compliance block.
- Account
- Creation: Call the POST Create an ACR endpoint with the
closure_reason. - Calculation: The legal closure date is calculated based on the closure type.
- Processing: Solaris runs the account closure job.
- Communication: Notify the customer about the closure. See Customer communication.
- Updates: Solaris sends status updates via webhooks. See Checking ACR Status.
The account closure job executes the following steps:
- Checks if the account is active. (Fails if
INACTIVE). - Blocks the account.
- Blocks all cards associated with the account.
- Cancels standing orders and timed orders.
- Checks for card settlements in the last 45 days.
- If
CARD_TRANSACTIONorCARD_DIRECT_DEBITbookings exist in the last 45 days, closure is delayed until 45 days have elapsed since the last booking.
- If
- Checks for open reservations.
- Checks for bookings with value dates in the future.
- Checks the account balance. (Fails if negative).
- Checks for active seizures.
- Checks for a reference account (Decoupled Debit Cards only). (Fails if missing).
- Checks for SEPA Direct Debits (SDDs) in the last 56 days. (Delays processing to the next day if found; relevant for Decoupled/Credit Cards).
- Checks for insolvency closure type. (Fails if
INSOLVENCY_ORDINARY_INTERNALorINSOLVENCY_IMMEDIATE_INTERNAL). - Pays out remaining funds to the reference account (Decoupled Cards only).
- Closes the account.
Solaris notifies you of status changes via two webhook events.
Notifications are sent for the following transitions:
| From status | To status |
|---|---|
CONFIRMED | IN_PROGRESS |
CONFIRMED | REVOKED |
IN_PROGRESS | COMPLETED |
IN_PROGRESS | FAILED |
Notifications are sent upon successful account closure.
| Status | Description |
|---|---|
INITIATED | The ACR has been created. (Solaris-initiated only). |
CONFIRMED | Solaris accepted the Partner ACR, or Partner accepted the Solaris ACR. |
IN_PROGRESS | The account closure job is running. |
COMPLETED | The account is closed. |
FAILED | The account closure job failed. |
REVOKED | The ACR was revoked. (Only Solaris can revoke before IN_PROGRESS). |
If an ACR fails, the failure_reason object contains a code and detail.
code value | detail value |
|---|---|
account_inactive | Account already technically closed. |
negative_balance | Account balance is negative; cannot perform technical closure. |
positive_balance | Account balance is positive; cannot perform technical closure. |
accrued_interest | Accrued interest found; cannot perform technical closure. |
forced_failure | Account Closure was manually stopped. Contact Solaris Customer Support. |