# 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!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.doku.com/accept-payments/finance-and-settlement/custom-settlement-report.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
