Skip to main content

Transaction Controls

1. Overview

The Transaction Controls (Txn Controls) module in Sumo Ledger allows administrators to define and enforce limits on transaction amounts and account balances. These controls act as guardrails that prevent transactions from exceeding specified thresholds, helping organizations maintain financial discipline and reduce risk.

Transaction controls can be scoped to different levels of the system --- by User Type, Channel, or Process --- giving administrators granular control over who can transact how much and through which pathway.

Navigation: Configurations > General Settings > Txn Controls

URL: https://las.ledger.raralabs.dev/settings/transcation-control/list


2. Transaction Control List View

When you open the Txn Controls page, you see a table listing all existing transaction controls with the following columns:

ColumnDescription
TypeThe model type the control is scoped to (e.g., LEDGER, USER_TYPE, CHANNEL, PROCESS).
NameA system-generated or user-defined name identifying the control.
Process SlugThe slug of the process this control is associated with (if applicable).
Is ActiveWhether this control is currently enforced (Yes or No).
Max Dr AmountThe maximum debit amount allowed per transaction.
Min Dr AmountThe minimum debit amount required per transaction.
Max Cr AmountThe maximum credit amount allowed per transaction.
Min Cr AmountThe minimum credit amount required per transaction.
Max Dr BalanceThe maximum debit balance the account can hold.
Min Dr BalanceThe minimum debit balance the account must maintain.
Max Cr BalanceThe maximum credit balance the account can hold.
Min Cr BalanceThe minimum credit balance the account must maintain.

List View Actions

  • Search Bar: Filter controls by typing a keyword.
  • Refresh: Reload the list to see the latest data.
  • View: Toggle column visibility or adjust the table layout.
  • + Add Transaction Control: Opens the form to create a new control.
  • Update Transaction Control Memory: Pushes the latest transaction control configurations into active memory so they take effect immediately without a system restart.

3. Creating a New Transaction Control

Click the "+ Add Transaction Control" button in the top-right corner. A form opens with the following fields:

3.1 Model Selection

The Model toggle determines what entity the control is scoped to. There are three options:

User Type

Select this when you want to apply transaction limits based on the type of user performing the transaction. After selecting User Type, two dropdowns appear:

  • User Type: Choose the user type from a dropdown list (e.g., individual, corporate, agent).
  • Process: Optionally select a specific process to further narrow the scope.

Channel

Select this when you want to apply limits based on the transaction channel (e.g., mobile app, web portal, API). After selecting Channel, a dropdown appears:

  • Channel: Choose the channel from a dropdown list.

Process

Select this when you want to apply limits to a specific business process regardless of user or channel. After selecting Process, a dropdown appears:

  • Process: Choose the process from a dropdown list.

3.2 Is Active

A toggle with YES / NO options. Set to YES to activate the control immediately upon creation. Set to NO to save it in a disabled state for later activation.

3.3 Transaction Type Tabs

The form provides two tabs --- Debit and Credit --- each with its own set of limit fields. This means you can define different limits for debit and credit transactions independently.

Debit Tab Fields

FieldDescription
Max Dr AmountThe maximum amount allowed for a single debit transaction. Set to 0 for no limit.
Min Dr AmountThe minimum amount required for a single debit transaction. Set to 0 for no minimum.
Max Dr BalanceThe maximum debit-side balance the account can reach. Set to 0 for no cap.
Min Dr BalanceThe minimum debit-side balance the account must maintain. Set to 0 for no floor.

Credit Tab Fields

FieldDescription
Max Cr AmountThe maximum amount allowed for a single credit transaction. Set to 0 for no limit.
Min Cr AmountThe minimum amount required for a single credit transaction. Set to 0 for no minimum.
Max Cr BalanceThe maximum credit-side balance the account can reach. Set to 0 for no cap.
Min Cr BalanceThe minimum credit-side balance the account must maintain. Set to 0 for no floor.

3.4 Select Transaction Controls (Time-Based Frequency)

This multi-select dropdown allows you to apply time-based frequency controls to the transaction. The available options are:

OptionDescription
AllSelect all time-based controls at once.
YearEnforce the amount/balance limits on a per-year rolling basis.
MonthEnforce limits on a per-month rolling basis.
WeekEnforce limits on a per-week rolling basis.
DayEnforce limits on a per-day rolling basis.
HourEnforce limits on a per-hour rolling basis.
MinuteEnforce limits on a per-minute rolling basis.

For example, selecting Day with a Max Dr Amount of 10000 means a user/channel/process can debit a maximum of 10,000 in a single day.

3.5 Saving

Click "+ Create Transaction Control" to save the new control.


4. Editing an Existing Transaction Control

Click on any row in the Transaction Control list to open the Edit Transaction Control form. The form is identical to the creation form (minus the Model selection, which is locked after creation) and includes:

  • Is Active toggle
  • Transaction Type tabs (Debit / Credit) with amount and balance limits
  • Select Transaction Controls (time-based frequency)

After making changes, click "Update Transaction Control" to save.


5. Applying Changes to Active Memory

After creating or updating transaction controls, click the "Update Transaction Control Memory" button at the top of the list view. This loads the updated configurations into the system's active memory so they take effect in real time. Without this step, newly created or modified controls may not be enforced until the next system reload.


6. Best Practices

  1. Start with broad controls, then refine. Begin by setting ledger-level controls, then layer on user-type or channel-specific overrides as needed.
  2. Use time-based controls for fraud prevention. Setting daily or hourly caps helps catch unusual transaction volumes early.
  3. Keep inactive controls for audit trails. Rather than deleting a control, set it to inactive. This preserves the configuration history.
  4. Always click "Update Transaction Control Memory" after making changes to ensure they take effect immediately.
  5. Test with conservative limits first. Set tight limits in a staging environment, verify behavior, then relax them for production.