Split Settlement

Split Settlement is a feature that enables to define your settlement rule for a payment. This is a good solution for a merchant that need customized settlement rule such as, marketplace, platforms, franchise, business with various branches, and many more. Split Settlement will help you to manage your complex payment flows.

Preparation

  1. This feature only works for Aggregator Merchant, meaning that your funds are settled from acquiring to DOKU, then DOKU will forward the funds to your account.

  2. You have activated the split settlement service when onboarding to DOKU. If not activated, we will settle all settlement amounts to your default bank account. You can activate split settlement service through menu Business > Service.

  3. Create new bank account on DOKU Back Office from menu Finance > Bank Account and click the Add Account button, then fill the form and click Submit button.

  4. We will verify your data and after the status is Verified then you can retrieve the settlement_bank_account_id from Bank Settlement ID column to put into your Split Settlement Rule

  5. Split settlement currently only works for integration with:

    • Checkout

    • Direct API

Then you are good to go!

Implementation

To do split settlement, please add this additional_info.settlement object into your payment request:

{
...
    "additional_info": {
        "settlement": [
            {
                "bank_account_settlement_id": "SBA-0001-123123123",
                "value": 10,
                "type": "PERCENTAGE"
            },
            {
                "bank_account_settlement_id": "SBS-0002-321321321",
                "value": 90,
                "type": "PERCENTAGE"
            }
        ]
    }
...
}
ParameterTypeMandatoryDescription

additional.info.settlement

array

Optional

Include this object to do split settlement for the transaction

additional_info.settlement[]. bank_account_settlement_id

string

Optional

The bank_account_settlement_id that you retrieved from the DOKU Back Office

additional_info.settlement[].value

string

Optional

The value of the settlement can be in IDR or percentage based on the type defined. If you are using FIX type then the value should be the exact amount. If you are using PERCENTAGE type then the value should be the percentage

additional_info.settlement[].type

string

Optional

The type of the splitting funds Possible value: FIX, PERCENTAGE

Sample Usage

Let's assume you are using the Checkout integration. You can simply add these parameters into your API Initiate Payment:

{
    "order": {
        "invoice_number": "INV-20210231-0001",
        "amount": 90000,
        "line_items": [
            {
                "name": "T-Shirt Red",
                "price": 30000,
                "quantity": 2
            },
            {
                "name": "Polo Navy",
                "price": 30000,
                "quantity": 1
            }
        ],
        "currency": "IDR",
        "callback_url": "https://merchant.com/return-url"
    },
    "payment": {
        "payment_due_date": 60,
        "payment_method_types": [
            "VIRTUAL_ACCOUNT_BCA",
            "VIRTUAL_ACCOUNT_BANK_MANDIRI",
            "VIRTUAL_ACCOUNT_BANK_SYARIAH_MANDIRI",
            "VIRTUAL_ACCOUNT_DOKU",
            "ONLINE_TO_OFFLINE_ALFA",
            "CREDIT_CARD",
            "DIRECT_DEBIT_BRI"
        ]
    },
    "customer": {
        "id": "CUST-0001",
        "name": "Anton Budiman",
        "email": "anton@example.com",
        "phone": "6285694566147",
        "address": "Menara Mulia Lantai 8",
        "country": "ID"
    },
    "additional_info": {
        "settlement": [
            {
                "bank_account_settlement_id": "SBA-0001-123123123",
                "value": 15,
                "type": "PERCENTAGE"
            },
            {
                "bank_account_settlement_id": "SBS-0002-321321321",
                "value": 85,
                "type": "PERCENTAGE"
            }
        ]
    }
}

Notes

The split settlement is based on the Nett Settlement amount value and NOT from the order.amount value. This means that you need to deducted the order.amount value with the Total Fee.

Here is the illustration:

Let's assume that the order.amount is Rp104,500 and the Total Fee that being charged by DOKU for this transaction is Rp4,500 and you want to split the amount into two bank accounts with percentage of 15% into the first bank account (SBA-0001-123123123) and 85% into the second bank account (SBA-0002-321321321).

NamePercentageAmount

order.amount

-

104,500

Total Fee by DOKU

-

4,500

Amount that will be splitted

100%

100,000

SBA-0001-123123123

15%

15,000

SBA-0002-321321321

85%

85,000

Therefore, the first bank account will receive Rp15,000 and second bank account will receive Rp85,000.


Split Settlement Information

You can see the split settlement bank account information from each success transaction, follow the steps given below:

  1. Login to DOKU Back Office and go to Finance > Transaction

  2. Click the icon on the Action column at the transaction you wish to see


FAQs

What if the settlement amount defined incorrectly?

The transaction will still be processed, but the split settlement mechanism will not be executed. The funds will settled to the primary bank account that you set in the settlement configuration.

Can I use this feature with hold & release settlement or custom settlement report?

Of course, you can!

Last updated