> ## Documentation Index
> Fetch the complete documentation index at: https://developer.novacpayment.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage Sub Settlement Accounts

> Learn how to setup and manage sub settlement account.

## Overview

Split Payment allows you to automatically distribute funds from a single transaction into multiple bank accounts called sub-settlement accounts using Novac.
Instead of receiving the full transaction amount into one account and transferring funds manually, Novac handles the split and settlement automatically based on your configured rules.

This is useful for:

* Marketplaces (vendor + platform fee)

* Franchise businesses

* Partner revenue sharing

* Internal cost allocation (e.g., IT charges, service fees)

Instead of receiving the full amount in one account and manually transferring funds, Novac automatically settles the predefined split amounts or percentages at the point of payment.

<Warning>
  All split configuration requests must be made server-to-server using your **Secret Key**.
</Warning>

## Prerequisite

<Accordion title="See details" defaultOpen={true}>
  Before you begin, ensure that you’ve completed the following steps:

  * [Create a merchant account](/docs/getting-started/create-merchant-account): make sure your account is created and KYC is completed.
  * [Obtain your secret API keys](/docs/getting-started/obtain-api-keys): required for making authenticated API calls.
  * [Set up a settlement account](/docs/accept-payment/split-payment/setup-primary-settlement-account)
</Accordion>

## Understand Split Types

<Accordion title="See details" defaultOpen={true}>
  A clear split structure:

  * **Flat** A fixed amount is assigned to a sub-settlement account. For example, if you set a flat value of ₦1,000, that account will always receive ₦1,000 from every transaction, and the remaining balance will be settled into your primary account.
  * **Percent** A percentage of the total transaction amount is assigned to a sub-settlement account. For example, if you set 50%, the account will receive half of the total payment, while the remaining percentage is settled into your primary account.
</Accordion>

<Note>
  `split_type` can be either **flat** or **percent**.
</Note>

***

## Create a Sub-settlement Account

Use this endpoint to define how payments should be split going forward.
This creates one or multiple sub-settlement accounts in a single request.

<Info>
  We recommend using the [GET payout banks](/api-reference/payouts/retrieve-payout-banks) API to retrieve the list of supported bank codes before creating or updating split settlement accounts. This ensures that the `bank_code` provided is valid and prevents validation errors.
</Info>

```bash expandable Request theme={null}
    curl -X 'POST' \
        'https://api.novacpayment.com/api/v1/split-payment' \
        -H 'accept: */*' \
        -H 'Authorization: Bearer nc_livesk_*******************' \
        -H 'Content-Type: application/json' \
        -d '[
            {
                "split_name": "vendor_payment",
                "bank_code": "000013",
                "account_number": "0004498921",
                "split_type": "flat",
                "split_value": 200
            },
            {
                "split_name": "it_charges",
                "bank_code": "000013",
                "account_number": "0004498938",
                "split_type": "flat",
                "split_value": 150
            }
        ]'

```

When you send a request via this API, each account is validated, after which Novac will generate a unique `split_payment_reference`. This reference will be used for future transactions.

```json expandable Response theme={null}
{
  "status": true,
  "message": "Split Settings saved successfully",
  "data": [
    {
      "split_type": "flat",
      "split_payment_reference": "31VENDOR_PAYMENTSPLIT0000130004498921",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "vendor_payment",
      "bank_code": "000013",
      "account_number": "0004498921",
      "split_value": 200
    },
    {
      "split_type": "flat",
      "split_payment_reference": "31IT_CHARGESSPLIT0000130004498938",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "it_charges",
      "bank_code": "000013",
      "account_number": "0004498938",
      "split_value": 150
    },
    {
      "split_type": "flat",
      "split_payment_reference": "31PRIMARY_ACCOUNTSPLIT0000140709310134",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "primary_account",
      "bank_code": "000014",
      "account_number": "0709310134",
      "split_value": 0
    }
  ]
}
```

Each object in the data array represent a split object. you can choose to update any of these records in the future, to do this you must store the reference value `split_payment_reference`

## Get Sub-settlement Accounts

You can get all split account record tied to your parent settlement account for auditing purposes. Send a `GET request` to this endpoint below.

```bash Request theme={null}
curl -X 'GET' \
  'https://api.novacpayment.com/api/v1/split-payment' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer nc_livesk_************'
  
```

```json expandable Response theme={null}
{
  "status": true,
  "message": "Split Settings retrieved successfully",
  "data": [
    {
      "split_type": "flat",
      "split_payment_reference": "31VENDOR_PAYMENTSPLIT0000130004498921",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "vendor_payment",
      "bank_code": "000013",
      "account_number": "0004498921",
      "split_value": 200
    },
    {
      "split_type": "flat",
      "split_payment_reference": "31IT_CHARGESSPLIT0000130004498938",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "it_charges",
      "bank_code": "000013",
      "account_number": "0004498938",
      "split_value": 150
    },
    {
      "split_type": "flat",
      "split_payment_reference": "31PRIMARY_ACCOUNTSPLIT0000140709310134",
      "processing_message": "Account validated and added to split record successfully",
      "split_name": "primary_account",
      "bank_code": "000014",
      "account_number": "0709310134",
      "split_value": 0
    }
  ]
}
```

This response includes all active split records with associated bank details, split type and values. If no split has been configured, the response will return an empty list.

## Update a Sub-settlement Account

Use this endpoint to modify an existing split rule. This will help if bank account number needs correction or vendor payout amount change.

```bash expandable Request theme={null}
curl -X 'PUT' \
  'https://api.novacpayment.com/api/v1/split-payment' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer nc_livesk_***************' \
  -H 'Content-Type: application/json' \
  -d '{
    "split_reference_code": "31VENDOR_PAYMENTSPLIT0000130004498921",
    "bank_code": "000013",
    "account_number": "0004498921",
    "split_type": "flat",
    "split_value": 500
   }'
```

```json expandable Response theme={null}
{
  "status": true,
  "message": "The split information has been updated successfully for reference 31VENDOR_PAYMENTSPLIT0000130004498921",
  "data": {
    "split_type": "flat",
    "split_payment_reference": "31VENDOR_PAYMENTSPLIT0000130004498921",
    "processing_message": "record updated successfully",
    "split_name": "vendor_payment",
    "bank_code": "000013",
    "account_number": "0004498921",
    "split_value": 500
  }
}
```

## What Happens Next?

Once your sub-settlement account is configured with pre split rule:

* Initiate transactions using split configuration via [create checkout payment](/docs/accept-payment/checkout/create-checkout-with-transaction-reference#create-checkout-payment-with-split-payment).

* Automatically distribute funds upon successful payment.
