Skip to main content
Use Midaz Module to manage Accounts associated with your Ledger. Accounts are the fundamental units that hold balances and participate in transactions within your financial system.

What are Accounts?


Accounts represent individual balance holders within your ledger structure. Each account:
  • Holds balances in a specific asset (currency or commodity)
  • Participates in transactions as sources or destinations of funds
  • Belongs to an entity such as a customer, business unit, or external party
  • Can be organized using portfolios, segments, and account types
  • Tracks history with complete audit trails of all movements
Accounts can be classified as:
  • Internal Accounts - Accounts you create and manage for your organization’s operations
  • External Accounts - Automatically created accounts representing external assets or liabilities
For technical details, refer to the Accounts page.

Key concepts


  • Account Types - Classify accounts according to your organization’s financial structure (e.g., checking, savings, revenue). Enable validation to enforce account type rules.
  • Account Alias - A unique, human-readable identifier (e.g., @customer_john_doe) that makes it easier to reference accounts in transactions and queries.
  • Portfolios - Group related accounts together for reporting and management purposes. Useful for tracking customer portfolios or business divisions.
  • Segments - Organize accounts into hierarchical structures for complex organizational needs like cost centers or departments.

Accessing the Accounts page


To open the Accounts page, select the Accounts option in the Accounts section of the leftside menu. The Accounts page displays a table listing all Accounts in the current Ledger, including:
  • Name - The account’s display name
  • Alias - The unique identifier (if set)
  • Type - The account type classification
  • Asset Code - The currency or commodity code
  • Entity - The owner or associated entity
  • Balance - Current balance in the account
  • Status - Active, locked, or external (indicated by padlock icon)
The padlock icon indicates that the account cannot be edited or deleted. This applies to external accounts that are automatically created when you create Assets.

Available actions

From the Accounts page, you can:

Account organization strategies


Create separate accounts for each customer, organized by account type and asset code.Example:
  • Customer checking account: @customer_123_checking (Type: checking, Asset: USD)
  • Customer savings account: @customer_123_savings (Type: savings, Asset: USD)
  • Group both under a Portfolio: Customer 123 Portfolio
Set up dedicated treasury accounts to manage liquidity and operational funds.Example:
  • Main treasury: @treasury_main (Type: treasury, Asset: USD)
  • Reserve fund: @treasury_reserve (Type: reserve, Asset: USD)
  • Float account: @float_operations (Type: float, Asset: USD)
Create separate accounts for each currency your organization handles.Example:
  • USD operations: @ops_usd (Type: operations, Asset: USD)
  • EUR operations: @ops_eur (Type: operations, Asset: EUR)
  • BRL operations: @ops_brl (Type: operations, Asset: BRL)
Use segments and account types to track departmental expenses.Example:
  • Engineering expenses: @eng_expenses (Type: expense, Segment: Engineering)
  • Marketing expenses: @mkt_expenses (Type: expense, Segment: Marketing)
  • Consolidate with parent segment for organization-wide reporting

Account type validation


If enabled, you can enforce account type validation to ensure accounts follow your organization’s financial structure.

Enabling Account type validation

To activate account type validation for a specific ledger, configure it in the .env files:
# Account Types Validation
MIDAZ_ACCOUNT_TYPE_VALIDATION_ENABLED=true
# List of <organization-id>:<ledger-id> separated by comma
MIDAZ_ACCOUNT_TYPE_VALIDATION=<organization-id>:<ledger-id>
Once you enable Account Type validation, the Account Type becomes a required field when creating new accounts. Existing accounts without types may need to be updated.
For more information about managing account types, see Managing Account Types.

Best practices


1

Use descriptive names and aliases

Name accounts clearly and use aliases for easy reference (e.g., @customer_john_checking instead of UUID references).
2

Leverage account types

Enable account type validation to enforce your chart of accounts structure and prevent misclassification.
3

Organize with portfolios

Group related accounts into portfolios for better reporting and management, especially for customer relationships.
4

Plan your asset codes

Use consistent asset code conventions (ISO 4217 for currencies) to simplify multi-currency operations.
5

Document with metadata

Use metadata fields to store additional context like customer IDs, department codes, or integration references.
Accounts are the foundation of your ledger system. Proper account structure and organization directly impacts the clarity of your financial operations and reporting capabilities.