Account Configuration
This guide covers Allowed Accounts within a product: defining account slugs, asset groups, reporting heads, account classes, asset type selection, and transaction controls.
Allowed Accounts Overview
Each product defines one or more allowed accounts — the sub-account structures available when a product account is created. For example, the customer product may define primary and processing_fee accounts, while user_holdings defines a main account.
The List of Accounts table appears in the main panel of the product editor, below Product Name.
Account Row Fields
| Field | Description |
|---|---|
| Slug | Unique account identifier within the product (for example, main, primary, processing_fee, test). |
| Asset Group | Asset category for the account (for example, Currency). Selected from a dropdown. |
| Default Reporting Head | Reporting hierarchy path, typically auto-generated as <product>.<slug> (for example, user_holdings.main, customer.primary). Use the sync icon to refresh the value. |
| Account Class | Accounting classification for the account. |
| Cash Equivalent | Toggle indicating whether the account is treated as a cash equivalent for reporting. |
| Configuration | Summary of linked assets and parameters (for example, 1 Assets, 0 Params). |
| Actions | Row-level icons for sync, duplicate, settings, and delete. |
Account Classes
The Account Class dropdown supports the following values:
| Class | Description |
|---|---|
EQUITY | Equity accounts |
LIABILITIES | Liability accounts |
ASSETS | Asset accounts |
EXPENDITURE | Expense accounts |
INCOME | Income accounts |
CONTRA | Contra accounts |
OFF_BALANCE_SHEET | Off-balance-sheet accounts |
Select the class that matches the accounting treatment for the account slug. For example, user_holdings.main uses EQUITY, while customer.primary uses LIABILITIES.
Adding an Allowed Account
- Open the product editor for the target product.
- In Allowed Accounts, click + New.
- Enter a Slug (for example,
mainortest). - Select an Asset Group from the dropdown.
- Verify or edit the Default Reporting Head.
- Select the Account Class.
- Toggle Cash Equivalent if applicable.
- Configure asset types using the settings flow below.
- Save the row.
Selecting Asset Types
After defining an account row, configure which asset types are permitted for that account.
Configuration Procedure
- In the account row Actions column, click the Settings (gear) icon, or click the Configuration summary link.
- The Select Asset Type dialog opens.
- Under Choose Applicable Asset Groups, select the asset group (for example, Currency).
- Under Select Applicable Asset Type, check the asset types to allow:
- For example,
defaultNpr (Currency)orrewardPoint (Currency).
- For example,
- Optionally enable Allow create ledgers in products to permit ledger creation under this product account.
- Click Confirm Selection.
- The Configuration column updates to reflect the number of assets linked (for example,
1 Assets, 0 Params).
Important Notes
- At least one asset type must be selected for accounts that will hold balances.
- Asset groups and types are maintained under Configurations → Asset Groups.
- The Allow create ledgers in products option controls whether new ledgers can be provisioned automatically for this account.
Account Row Actions
| Icon | Description |
|---|---|
| Sync | Refreshes the default reporting head or re-syncs configuration. |
| Duplicate | Creates a copy of the account row for quick setup of similar accounts. |
| Settings (gear) | Opens asset type selection and account-level configuration. |
| Delete | Removes the account row from the product. |
Transaction Controls
Transaction controls define debit/credit limits, balance bounds, and time-based transaction counters for a specific account ledger. Access them from the account settings flow or navigate directly when configuring ledger behavior.
Opening Transaction Control Configuration
- From an allowed account row, open account settings.
- Navigate to New Transaction Control (URL pattern:
/products/transaction/add?productId=<product>&modelId=<product>.<slug>&modelType=LEDGER).
Transaction Control Fields
| Field | Description |
|---|---|
| Is Active | Enables or disables the control (YES / NO). |
| Transaction Type | Applies the control to Debit or Credit transactions. |
| Max Dr Amount | Maximum single debit transaction amount. |
| Min Dr Amount | Minimum single debit transaction amount. |
| Max Dr Balance | Maximum allowed debit balance. |
| Min Dr Balance | Minimum allowed debit balance. |
| Select Transaction Controls | Time intervals for counter-based limits: Year, Month, Week, Day, Hour, Minute. Multiple intervals can be selected. |
Transaction Control Counter
When a time interval is selected, configure counters for that period:
| Field | Description |
|---|---|
| Dr Count | Maximum number of debit transactions in the interval. |
| Cr Count | Maximum number of credit transactions in the interval. |
| All Count | Maximum total transactions in the interval. |
| Dr All Amount | Maximum total debit amount in the interval. |
| Cr All Amount | Maximum total credit amount in the interval. |
Creating a Transaction Control
- Set Is Active to YES.
- Select Transaction Type (Debit or Credit).
- Enter amount and balance limits as required.
- Select one or more intervals under Select Transaction Controls.
- Enter counter values for each applicable interval.
- Click + Create Transaction Control.
Important Notes
- Transaction controls are enforced at the ledger level for the specific product account slug.
- Configure separate controls for debit and credit if both directions need limits.
- Test controls in a non-production environment before applying to live products.
Example Configurations
user_holdings Product
| Slug | Asset Group | Reporting Head | Account Class | Cash Equivalent |
|---|---|---|---|---|
main | Currency | user_holdings.main | EQUITY | No |
test | Currency | user_holdings.test | EQUITY | Yes |
Asset type: defaultNpr (Currency) selected for the main account.
customer Product
| Slug | Asset Group | Reporting Head | Account Class |
|---|---|---|---|
primary | — | customer.primary | LIABILITIES |
processing_fee | — | customer.processing_fee | LIABILITIES |
The customer product also defines 15 free-text mappings for KYC and contact fields (see Configuring Products).
Integration with Process Workflows
Product accounts configured here are referenced throughout process execution:
| Process Setting | Usage |
|---|---|
| Account Stage → Product ID | Selects which product template to use when creating accounts. |
| Journal Stage → Product Slug | Routes journal entries to product-specific GL accounts. |
| Stage → Product Configuration → Products | Restricts a process stage to specific products. |
| Update Account Stage → Product Account | Targets an existing account within the product configuration. |
For process stage details, see Building a New Process.