> For the complete documentation index, see [llms.txt](https://developers.doku.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.doku.com/accept-payments/finance-and-settlement/custom-settlement-report.md).

# Custom Settlement Report

Simplify your operational efforts by setting customized parameters suited to your specific use case. Custom settlement report allows you to send your own parameters that will be shown in the settlement report.

#### Case Study <a href="#case-study" id="case-study"></a>

"Toko Toserba" has many branches that span across multiple provinces in Indonesia. They recently launched an online store and wanted to ensure that they settle the funds from the online store to the right branches.

Therefore, they use Custom settlement report to know which transactions to settle to a branch. Their operation team can now see each transactions that will be settled for each branches from the settlement report.

***

### Implementation <a href="#implementation" id="implementation"></a>

To create custom settlement report, please add this `additional_info.report` object into your payment request:

```json
{
...
    "additional_info": {
        "report": [
           {
               "key": "Branch",
               "value": "Toserba Kebon Jeruk"
           },
           {
               "key": "city",
               "value": "Jakarta Barat"
           }
           {
               "key": "Province",
               "value": "DKI Jakarta"
           }
       ]
    }
...
}
```

<table><thead><tr><th width="249">Parameter</th><th width="103">Type</th><th width="126">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><code>additional_info.report[].key</code></td><td><code>string</code></td><td>Mandatory</td><td>The filter key that will be used to map the filter. This will be the column name in the settlement report file<br>Possible value: <code>alphabetic, numeric, special characters</code><br>Maximum length: <code>64</code></td></tr><tr><td><code>additional_info.report[].value</code></td><td><code>string</code></td><td>Mandatory</td><td>The value of the filter that will attached to the transaction. This will be the value of the particular column in the settlement report file<br>Possible value: <code>alphabetic, numeric, special characters</code><br>Maximum length: <code>128</code></td></tr></tbody></table>

#### Sample usage <a href="#sample-usage" id="sample-usage"></a>

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

```json
{
    "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": {
        "report": [
           {
               "key": "Branch",
               "value": "Toserba Kebon Jeruk"
           },
           {
               "key": "city",
               "value": "Jakarta Barat"
           }
           {
               "key": "Province",
               "value": "DKI Jakarta"
           }
       ]
    }
}
```

***

### Settlement report example <a href="#settlement-report-example" id="settlement-report-example"></a>

Here is the example of settlement report that already added with custom parameter you will received:

Download the sample [here](https://docs.google.com/spreadsheets/d/16PH77oGdi__Nu982blMLO-Q8XoUTV1ty/edit?usp=sharing\&ouid=102052044505696151555\&rtpof=true\&sd=true)

***

### FAQs <a href="#faqs" id="faqs"></a>

#### Can I name the key and value by myself? <a href="#can-i-name-the-key-and-value-by-myself" id="can-i-name-the-key-and-value-by-myself"></a>

Yes, you are freely name the key and value based on your operation case.

#### Can I use this feature with hold & release settlement or split settlement? <a href="#can-i-use-this-feature-with-hold--release-settlement-or-split-settlement" id="can-i-use-this-feature-with-hold--release-settlement-or-split-settlement"></a>

Of course, you can!
