Accounts
An Account is the core financial unit within a Midaz Ledger. Each Account is linked to a specificAsset (such as a currency or financial instrument) and tracks all debits, credits, and balances for that Asset.
In banking terms, an Account represents a financial product, such as a checking account, savings account, or loan account.
TipMidaz lets you create as many accounts as your structure demands. No caps, no constraints; just the flexibility you need.
Account structure
- Account > Ledger: Accounts exist within a Ledger.
- Account > Portfolio: Accounts can be grouped into Portfolios for customer or business-level aggregation.
- Account > Asset: Each Account is linked to one Asset, ensuring balance clarity. For example, an Account could be denominated in BRL, USD, or represent a specific asset like gold, bitcoin, or loyalty points.
Key characteristics
- Each Account is linked to exactly one Asset type.
- Accounts are uniquely identified within a Ledger.
- All transactions involve debits and credits between Accounts.
Account types
Each account type determines how it behaves and what role it plays within the Ledger:
Deposit
The go-to account for everyday transactions, from checking balances to making payments.
Savings
Perfect for investments, with potential earnings (like interest) when the Interests plugin is enabled.
Loans
Keeps track of client loans and automates calculations when the Interests plugin is in use.
Marketplace
Designed for installment-based sales (think five-month payment plans), plus settlement and receivables advance products.
Credit Card
Tracks credit card balances, payments, and usage in one place.
External Account
External Accounts in Midaz represent accounts outside your organization’s structure. They’re used to track money that’s coming in or going out, typically tied to users, partners, or financial providers beyond your internal ledger.
But they’re more than just placeholders. External accounts:
- Manage temporary balances during operations involving external parties.
- Are the only accounts allowed to go negative, which signals that funds are in transit.
- Are automatically created by the Ledger whenever you create an Asset.
- Follow a clear naming pattern:
@external/<asset-code>
, like@external/BRL
.
In practice, these accounts act as bridges between your system and the outside world, handling inflows, outflows, and everything in between with clarity and control.
AttentionTo keep the Ledger accurate and reliable, external accounts cannot be deleted or changed.
Account behaviors
The table below outlines the modifiability and behaviors for each account type:
Type | Deactivated | Edited | Negative Balance Allowed |
---|---|---|---|
Deposit |
|
|
|
Savings |
|
|
|
Loans |
|
|
|
Marketplace |
|
|
|
Credit Card |
|
|
|
External Accounts |
|
|
|
Parent Account ID
The Parent Account ID links two accounts within Midaz, giving you the flexibility to define the relationship based on your business logic.
Whether you use it to represent a traditional parent-child structure or something else entirely, the choice is yours. Midaz provides the foundation—you decide how to build on it.
Account aliases
Aliases make it easier to identify accounts by replacing complex IDs with readable, user-friendly labels.
- For example: Instead of referencing an account like
3172933b-50d2-4b17-96aa-9b378d6a6eac
, you can simply use@username_1
.
Use the Account Alias in Transactions
When creating a transaction, always use the account alias in the account
field—not the account ID.
Assigning an alias when you create an account is optional. If you skip it, no problem—the system will automatically use the account ID as the alias. Either way, every account ends up with a unique alias.
So when it’s time to reference an account in a transaction, just use the alias. Clean, consistent, and ready to go.
Managing Accounts
You can manage your Accounts either via API or through the Console.
Via API
- Create an Account — Open a new Account linked to an Asset.
- List Accounts — View all Accounts in your workspace.
- Retrieve an Account — Get details of a specific Account.
- Retrieve an Account by Alias — Get details of a specific Account by its alias.
- Retrieve an External Account — Get details of a specific External Account by its asset code.
- Update an Account — Edit the metadata or settings of an existing Account.
- Delete an Account — Delete a specific Account.
ImportantYou cannot deactivate an account with a remaining balance. First, transfer the amount to another account before deactivating it.
Via Console
All Account management actions, including viewing, creating, editing, and deleting, can be done through the Accounts page in the Midaz Console.
Learn more in theManaging Accounts guide.
Updated 24 days ago