# Business Overdrafts This guide explains how to integrate Solaris' Overdraft product for business customers (B2B) into your solution. ## Introduction ### Product specifications Business overdrafts are currently only available for **customers with a current bank account with Solaris**. For more information about overdrafts and how they work, check the [Overview page](/guides/lending/overdrafts/). ## System prerequisites Before integrating Solaris' Business overdrafts for your customers, the customers must have been onboarded and have a checking bank account with Solaris. For step-by-step instructions on business onboarding for Digital Banking and Cards, check the [Business onboarding guide](/guides/get-started/digital-banking/onboard-business). ## Integration overview The following sequence diagram gives an overview of the integration flow for Business Overdrafts: ![Diagram: Business overdraft flow](/assets/business-overdraft-flow.28f781b24e7610d1c7789c7a8ee162ae6303b8a2172e269f56b49604b05cd2c9.da581abd.png) Integrate Solaris' Business Overdrafts by completing the following steps: | Stage | Step | Description | | --- | --- | --- | | Overdraft application | [Step 1](#step-1-create-business-overdraft-application) | Collect the required information from your customers on your frontend and create a business overdraft application. | | Confirm overdraft | [Step 2](#step-2-confirm-business-overdraft) | If Solaris approves the application, and the customer does not wish to request a limit increase, complete this step to confirm the overdraft with the initial limit. If Solaris rejects the application, abort the onboarding process. | | Limit increase request | [Step 3](#step-3-request-overdraft-limit-increase) | If Solaris approves the application, and the customer wishes to request a limit increase, complete this step to request a limit increase. | | Limit increase request | [Step 2](#step-2-confirm-business-overdraft) | If Solaris approves the limit increase request, complete this step to confirm the overdraft with the new limit. If Solaris rejects the request, either abort the onboarding process or confirm the overdraft with the initial limit. | | Overdraft servicing | [Step 4](#step-4-servicing-overdrafts) | Integrate all endpoints related to overdrafts servicing. | You can find detailed descriptions of these steps and their related endpoints in the following sections. ### Webhooks Solaris recommends subscribing to the following webhook events to better automate your processes. For detailed instructions on implementing Solaris webhooks, check the [webhooks documentation](/api-reference/webhooks/). - [OVERDRAFT_APPLICATION](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/overdraft_application/post) - [OVERDRAFT](/api-reference/onboarding/webhooks/#tag/Webhook-events/paths/overdraft/post) ## Step 1: Create business overdraft application In this step, you must collect the mandatory information from the business in your sign-up flow and pass this information to Solaris by creating a business overdraft application for your customer. The overdraft application includes all the required information about the business and links to other mandatory resources, such as `identification_id` and `account_iban`, which the credit scorer uses to initiate a series of credit checks. ### POST Create business overdraft application This endpoint creates a business overdraft application for the given business with the `business_id` specified in the path parameter. **Mandatory properties:** Add the following mandatory properties in the request body: - `identification_id` - `account_iban` **Request URL** ```shell POST /v1/businesses/{business_id}/overdraft_applications ``` **Response example** The API call returns an object with a unique `id` for the business overdraft application, including the application `status`, set initially to `scoring_pending`, and the remaining attributes, which will be populated during the application lifecycle. [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.CreateOperation) ### GET Retrieve business overdraft application This endpoint returns the current status and details of an existing business overdraft application. For a list of possible values of the application `status` and their descriptions, check the [Appendix](#business-overdraft-application-status). Additionally, subscribe to the webhook event `OVERDRAFT_APPLICATION` to receive status updates on the overdraft application. **Request URL** ```shell GET /v1/businesses/{business_id}/overdraft_applications/{overdraft_application_id} ``` [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.ShowOperation) ### POST Cancel business overdraft application This endpoint cancels an existing business overdraft application. After calling this endpoint, the overdraft application `status` changes to `canceled`. **Request URL** ```shell POST /v1/businesses/{busiess_id}/overdraft_applications/{overdraft_application_id}/cancel ``` [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.CancelOperation) ## Scoring results After Solaris receives the business overdraft application, it either rejects or approves the application. If Solaris approves the business overdraft application, you can offer the business two options in your flow: - **Option 1**: Accept the initial overdraft limit right away. In this case, implement [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). - **Option 2**: Request a limit increase. In this case, implement [Step 3: Request overdraft limit increase](#step-3-request-overdraft-limit-increase) and then [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). Once a business confirms an offered overdraft limit, it's not possible to request a limit increase afterward. ## Step 2: Confirm business overdraft After Solaris approves the overdraft application, the application `status` changes to `offered`. In this case, you can offer the business the chance to request a limit increase or accept the `initial_overdraft_limit`. If the business decides to accept the initial overdraft limit, complete the following steps: 1. Inform the business of the approval on your frontend, and show the `initial_overdraft_limit` and applicable interest rates. 2. Collect and record the business's consent to Solaris' terms and conditions and the overdraft loan agreement as a UTC timestamp. 3. Confirm the overdraft by calling the following endpoint. ### POST Confirm business overdraft Call this endpoint to confirm the overdraft. Afterward, the overdraft application `status` changes to `confirmed`. **Request URL** ```shell POST /v1/businesses/{business_id}/overdraft_applications/{overdraft_application_id}/limit_increase/confirm ``` [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.ConfirmOperation) ### GET Retrieve business overdraft This endpoint returns all the details of an existing business overdraft assigned to the business with the given `business_id` in the path parameter. Additionally, subscribe to the webhook event `OVERDRAFT` to receive status updates about the overdraft. Please note that the webhook sends status updates only. You must call the `GET` method for the full overdraft details. **Request URL** ```shell GET /v1/businesses/{business_id}/overdrafts/{overdraft_id} ``` **Response example** The API call returns the overdraft object with the unique `id` and includes the overdraft's details, such as `limit` and `overdraft_rate`. The `status` returned in the response refers to the overdraft's status. For a list of possible values of overdraft statuses and their descriptions, check the [Appendix](#business-overdraft-status). [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Overdrafts.ShowOperation) ## Step 3: Request overdraft limit increase After Solaris approves the overdraft application, the application status changes to `offered`. In this case, you can offer the business the chance to request a limit increase or accept the `initial_overdraft_limit`. If the business decides to request a limit increase, complete the following steps: 1. Create a limit increase request by calling the following endpoint. 2. If Solaris approves the limit increase request, complete [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). 3. If Solaris rejects the limit increase request, the business can either: - Abort the process. To cancel the application, call [POST Cancel business overdraft application](#post-cancel-business-overdraft-application). - Accept the `initial_overdraft_limit`. To confirm the overdraft, complete [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). ### POST Increase business overdraft limit This endpoint requests a limit increase for an existing business overdraft application—the overdraft application `status` changes to `limit_increase_decision_pending` after calling this endpoint. **Request URL** ```shell POST /v1/businesses/{business_id}/overdraft_applications/{overdraft_application_id}/limit_increase ``` [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.LimitIncreaseOperation) **Scoring results** An overdraft limit increase request is subject to an additional scoring step. Solaris assesses and scores the business overdraft application again and issues a verdict with either acceptance or rejection. **Acceptance** If Solaris approves the limit increase request, the status changes again to `offered`. Afterward, confirm the overdraft with the `final_overdraft_limit` by completing [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). **Additional information** Solaris could also request additional information or documents to be submitted before making a decision. In this case, the application status will change to `information_required`. **Rejection** If Solaris rejects the limit increase request, the business can either: - Abort the process. To cancel the application, call [POST Cancel business overdraft application](#post-cancel-business-overdraft-application) - Accept the `initial_overdraft_limit`. To confirm the overdraft, complete [Step 2: Confirm business overdraft](#step-2-confirm-business-overdraft). ### POST Cancel a business overdraft application This endpoint cancels an existing business overdraft application. After calling this endpoint, the application `status` will change to `canceled`. This action cannot be revoked. A new application must be created if the customer wants resume the process. **Request URL** ```shell POST /v1/businesses/{business_id}/overdraft_applications/{overdraft_application_id}/cancel ``` [Click here to view the full API reference](/api-reference/lending/overdrafts/#operation/OverdraftWeb.V1.Business.Applications.CancelOperation) ## Step 4: Servicing overdrafts This section includes important information about handling and monitoring active overdrafts. ### Overdrafts limits and interest Overdraft limits cannot be exceeded for any SEPA transfers, direct debits, payments, or withdrawals, except for charged interest fees by Solaris. Any payment exceeding the limit will be rejected. ### Overdrafts monitoring (Optional) For specific overdraft-related events, you can monitor the account, implement specific event triggers, and provide pre-defined messages to the user. For example, you can implement event triggers and send out reminders to customers in the following events: - The customer has used 90% of the overdraft limit or only 100€ remaining in the limit. - Three days before the interest payment is due to customers with a used overdraft at the end of each quarter. ### Overdrafts booking types Using the overdraft limit reflects on the customer's account statement for interest charges. The following booking types are distinct to overdraft interest charges: - `InterestOverdraft`: The interest accrued in relation to the used portion of the overdraft limit. - `InterestOverdraftExceeded`: The interest accrued in relation to exceeding the overdraft limit (Note that the limit itself cannot be exceeded for regular transactions except for interest charges). ### Account closure for accounts with an overdraft In case of [Account Closure Requests (ACR)](/guides/compliance/account-closure) for accounts with an attached overdraft, you must first terminate the overdraft before initiating the ACR process. ### Overdrafts in statements of account & bank statements Each [statement of account](/guides/digital-banking/account-management#statements-of-account) and [bank statement](/guides/digital-banking/account-management#bank-statements) generated for customers with overdrafts will contain the following overdraft information for the statement period: - `overdraft_facility`: Overdraft facility that has been granted to the customer. - `overdraft_rate`: The increased interest rate applied when going below the granted overdraft facility. - `interest_accrual_rate`: The daily rate at which interest is accrued on the used amount of an overdraft. - `interest_accrued`: The interest accrued, in Euro cents. [See the Account management guide for more information.](https://docs.solarisgroup.com/guides/digital-banking/account-management/#statements-of-account) ### Overdrafts termination To terminate an overdraft, you must send an **overdraft termination** request to Solaris either by creating a JIRA ticket or sending an email to support@solarisbank.de. Solaris will process the request internally and remove the overdraft limit from the customer's account. Terminating an overdraft CANNOT be reversed. However, a customer can apply for a new overdraft. ## What's next? Congratulations! You've successfully integrated Solaris' Business Overdraft solution. Check the following appendices section for additional information on enums and testing data. For an overview of Solaris' lending products, check the lending products [overview](/guides/lending/) page. ### Useful resources Check the following links for additional related guides and API reference documentation. - [Business Overdrafts API Reference documentation](/api-reference/lending/overdrafts/#tag/Business-Overdrafts) - [Overdrafts overview](/guides/lending/overdrafts) - [Business Onboarding Guide](/guides/get-started/digital-banking/onboard-business) ## Appendix I: Enums ### Business overdraft application status These are the possible values for the field `status` in the business overdraft application resource. | Status | Description | | --- | --- | | `scoring_pending` | Solaris successfully received the overdraft application and is assessing and scoring the application. | | `offered` | Solaris approved the overdraft application, either in the initial scoring or accepted the limit increase request. | | `rejected` | Solaris rejected the overdraft application, either in the initial scoring or the limit increase request is rejected. | | `confirmed` | The overdraft application is confirmed and created on the customer's account. | | `limit_increase_decision_pending` | A limit increase request is created on the overdraft application, and Solaris is re-assessing the application. | | `information_required` | Solaris requires additional information from the customer. | ### Business overdraft status These are the possible values for the field `status`, which indicates the status of an overdraft that is already offered. | Status | Description | | --- | --- | | `created` | The overdraft is created. | | `conditions_pending` | Interest conditions are pending and yet to be set by Solaris. | | `limit_pending` | Overdraft limit is pending and yet to be set by Solaris. | | `attached` | Overdraft is attached to the customer's account. | | `terminated` | Overdraft is terminated. |