> For the complete documentation index, see [llms.txt](https://docs.doku.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.doku.com/wallet-as-a-service/sub-account.md).

# Sub Account

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FKjFY14alzrvQQvJGOkYS%2Fimage.png?alt=media&amp;token=485401be-46e6-42b7-ac7f-4e167ff4222b" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Availability: 🇮🇩 Indonesian Business Account only

This documentation covers Sub-Account V2 API only. For version differences, see FaQ
{% endhint %}

Sub Account is a powerful infrastructure layer that allows platforms to create sub-accounts, receive money, route, track, hold, and pay out funds across multiple account entities. It combines sub-account management, payment, and payout capabilities into one unified system.

> **Try it first.** The [Sub-Account demo](https://sandbox.doku.com/demo/sub-account) walks through the flow on sandbox — no account, activation, or integration needed.

***

## Why Sub-Account?

When you run a platform, marketplace, or multi-party business, all payments land in one merchant account and you're left figuring out whose money is whose.

```
Order #A-2013 · Siti    Rp 500,000   ─┐
Order #A-2014 · Andi    Rp 1,200,000 ─┤     YOUR MERCHANT ACCOUNT
Order #A-2015 · Budi    Rp 300,000   ─┤──▶  Rp 2.85M
Order #A-2016 · Dewi    Rp 850,000   ─┘     "Whose money is this, and
                                              how much goes where?"
```

Sub-Account eliminates this. Give every seller, agent, branch, or partner their own sub-account inside your platform with its own balance, history, split rules, and payout.

* **Sub Account, not bank accounts.** Created programmatically. One per party. Unlimited.
* **Route at the moment of payment.** Every inbound transaction distributed automatically, percentage or flat rule.
* **Real-time balances & ledger.** Every party sees what's theirs, what's held, and what's been paid out.
* **Payout, by API.** On demand disbursement to 100+ banks and e-wallets across Indonesia.

***

### Two Services

Sub-Account offers two services in the DOKU Dashboard. [Contact Sales](https://www.doku.com/en-us/contact-sales) to activate.

{% tabs %}
{% tab title="Collect and Route / Deposit System / Fund Oversight" %}
One service activation, three capabilities covering all money-flow use cases:

| Capability          | What it does                                                                                                        |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Collect & Route** | Accept payments → Route → Payout. Money in via Checkout/Direct API, split rules, payout to 100+ banks.              |
| **Deposit System**  | Top-up → Debit → Monitor. Money in via built-in BRI VA (real-time), debit per transaction with double-entry ledger. |
| **Fund Oversight**  | DOKU e-Wallet integration via Account Linking. Top-up staff wallets, monitor balances — no API required.            |
| {% endtab %}        |                                                                                                                     |

{% tab title="Unified Ledger" %}
Non-cash ledgering — no money flow through DOKU. Track points, credits, and internal balances via the `DOKU_MERCHANT_POINT` (PTS) account, funded from your `DOKU_SYSTEM_POINT` account.

* PTS credit via Transfer API (`type: DOKU_NON_FIAT` to issue, `DOKU_SUB_ACCOUNT` to move)
* PTS debit via Debit API
* PTS debit cancel via Debit Cancel API
* PTS top-up void via Void Topup API
* Balance inquiry and transaction history
  {% endtab %}
  {% endtabs %}

***

### Core Concepts

A sub-account is a digital balance container belonging to a party in your ecosystem — a seller, driver, branch, agent, etc. Each sub-account has a unique **Profile ID**, one or more **Account Numbers**, and can be organized in a **hierarchy** (parent-child, unlimited levels).

Each sub-account holds **three types of accounts**:

| Account Type    | Code                        | Description                                                   | Withdrawable? |
| --------------- | --------------------------- | ------------------------------------------------------------- | ------------- |
| **IDR Cash**    | `DOKU_MERCHANT_IDR`         | Main IDR balance — real money that can be spent or paid out   | Yes           |
| **Pending IDR** | `DOKU_MERCHANT_PENDING_IDR` | Funds awaiting settlement from Checkout / Direct API payments | No            |
| **Points**      | `DOKU_MERCHANT_POINT`       | Non-cash value — loyalty points, credits, rewards             | No (non-cash) |

Your merchant profile additionally holds a **`DOKU_SYSTEM_POINT`** account — the funding source for point top-ups, carrying a negative balance equal to the points outstanding across your sub-accounts. See Balance Inquiries.

***

### Payment Method Compatibility

| No | Payment Method              | DOKU Checkout | Direct API |
| -- | --------------------------- | ------------- | ---------- |
| 1  | Virtual Account (all banks) | Yes           | Yes        |
| 2  | Credit Card                 | Yes           | No         |
| 3  | QRIS                        | Yes           | No         |
| 4  | OVO                         | Yes           | No         |
| 5  | DANA                        | Yes           | No         |
| 6  | ShopeePay                   | Yes           | No         |
| 7  | LinkAja                     | Yes           | No         |
| 8  | DOKU e-Wallet               | Yes           | Yes        |
| 9  | Alfa Group                  | Yes           | Yes        |
| 10 | Indomaret                   | Yes           | Yes        |
| 11 | Direct Debit                | Yes           | No         |

> **Note:** Payment method compatibility is updated regularly. Check back for the latest supported channels.

***

### Access Channels

{% tabs %}
{% tab title="API" %}
REST endpoints for every action — register sub-accounts, configure routing rules, inquire balances, process payouts.

Available endpoints:

* Register Sub Account
* Transfer Inquiry / Payment
* Debit / Debit Cancel
* Balance Inquiry
* Transaction Status / History
* Split Rules
  {% endtab %}

{% tab title="Dashboard" %}
A full console with two main menus:

* **Sub Account V2** — create and manage sub-accounts, inspect balances and transactions, configure split rules
* **Fund Oversight** — manage DOKU e-Wallet integration via Account Linking, link/unlink e-Wallet accounts to sub-accounts

Access requires an **Admin** or **Finance** role on your DOKU account.
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.doku.com/wallet-as-a-service/sub-account.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
