> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating an Account

> Open a new Account in your Ledger to start receiving and sending Asset balances through Transactions.

<Warning>
  An Account **must** be linked to an existing Asset. Make sure to [create the Asset first](/en/platform/lerian-console/midaz-console/creating-an-asset) before creating the Account.
</Warning>

To create an Account, follow these steps:

<Steps>
  <Step>
    From the **Accounts** page, click the **New Account** button.
  </Step>

  <Step>
    The **New Account** form will open on the right side of the screen with three tabs: **Account Details**, **Portfolio**, and **Metadata**.
  </Step>

  <Step>
    Fill in the required information in the **Account Details** tab:

    ### Account Details

    <ParamField path="name" type="string" required>
      **Account Name** - A descriptive name for the account (3-255 characters).

      *Example*: `John Doe Checking Account`, `Operations Treasury`
    </ParamField>

    <ParamField path="alias" type="string">
      **Account Alias** - A unique, human-readable identifier starting with `@` (max 255 characters). This alias will be used to reference the account in transactions.

      *Example*: `@customer_john_checking`, `@treasury_main`

      <Warning>The alias cannot be changed after account creation.</Warning>
    </ParamField>

    <ParamField path="type" type="string" required={true}>
      **Type** - The account type classification. This field is **required** if Account Type validation is enabled for your ledger.

      * If validation is enabled and account types exist, select from the dropdown list
      * If validation is enabled but no account types exist, you must [create account types first](/en/platform/lerian-console/midaz-console/managing-account-types)
      * If validation is disabled, enter a custom type value

      *Examples*: `checking`, `savings`, `treasury`, `revenue`, `expense`

      <Warning>The type cannot be changed after account creation.</Warning>
    </ParamField>

    <ParamField path="entityId" type="string">
      **Entity ID** - Identification number of the account holder (customer ID, business unit ID, etc.).

      *Example*: `customer_123`, `dept_engineering`, `partner_acme`
    </ParamField>

    <ParamField path="assetCode" type="string" required>
      **Asset** - The currency or commodity that will be operated in this account. Select from your existing assets.

      *Examples*: `USD`, `EUR`, `BRL`, `BTC`

      <Warning>The asset cannot be changed after account creation.</Warning>
    </ParamField>

    <ParamField path="segmentId" type="string">
      **Segment** - Optional category for grouping accounts with specific characteristics (e.g., geographic region, customer tier, department).

      Only available if you have [created segments](/en/platform/lerian-console/midaz-console/managing-segments).
    </ParamField>

    <ParamField path="allowSending" type="boolean" default="true">
      **Allow Sending** - Controls whether this account can send funds (debit operations).

      <Note>This field is always enabled at creation time and can only be modified when editing an existing account.</Note>
    </ParamField>

    <ParamField path="allowReceiving" type="boolean" default="true">
      **Allow Receiving** - Controls whether this account can receive funds (credit operations).

      <Note>This field is always enabled at creation time and can only be modified when editing an existing account.</Note>
    </ParamField>
  </Step>

  <Step>
    *(Optional)* Switch to the **Portfolio** tab to link this account to a portfolio for reporting and management purposes.

    * Select a portfolio from the dropdown list
    * If no portfolios exist, you can [create one first](/en/platform/lerian-console/midaz-console/managing-portfolios)
    * Accounts can be linked or unlinked from portfolios at any time
  </Step>

  <Step>
    *(Optional)* Switch to the **Metadata** tab to add custom key-value pairs for additional context or integration purposes.
  </Step>

  <Step>
    Click the **Save** button to create the Account.
  </Step>
</Steps>

## Quick Examples

***

<Tabs>
  <Tab title="Customer Checking Account">
    **Scenario**: Create a checking account for a customer.

    | Field           | Value                    |
    | --------------- | ------------------------ |
    | Account Name    | `John Doe Checking`      |
    | Account Alias   | `@customer_123_checking` |
    | Type            | `checking`               |
    | Entity ID       | `customer_123`           |
    | Asset           | `USD`                    |
    | Allow Sending   | `true`                   |
    | Allow Receiving | `true`                   |
  </Tab>

  <Tab title="Treasury Account">
    **Scenario**: Create a main treasury account for company operations.

    | Field           | Value               |
    | --------------- | ------------------- |
    | Account Name    | `Main Treasury`     |
    | Account Alias   | `@treasury_main`    |
    | Type            | `treasury`          |
    | Entity ID       | `org_treasury_dept` |
    | Asset           | `USD`               |
    | Segment         | `Finance`           |
    | Allow Sending   | `true`              |
    | Allow Receiving | `true`              |
  </Tab>

  <Tab title="Department Budget Account">
    **Scenario**: Create a budget account for the engineering department.

    | Field           | Value                     |
    | --------------- | ------------------------- |
    | Account Name    | `Engineering Budget 2024` |
    | Account Alias   | `@eng_budget_2024`        |
    | Type            | `expense`                 |
    | Entity ID       | `dept_engineering`        |
    | Asset           | `USD`                     |
    | Segment         | `Engineering`             |
    | Allow Sending   | `true`                    |
    | Allow Receiving | `true`                    |
  </Tab>
</Tabs>

## Important Notes

***

<AccordionGroup>
  <Accordion title="Fields that cannot be changed after creation">
    The following fields are **immutable** after account creation:

    * **Account Alias** - Choose carefully as it will be used in transactions
    * **Type** - Cannot be reclassified once set
    * **Asset Code** - The account's currency/commodity is fixed

    If you need to change any of these fields, you must create a new account.
  </Accordion>

  <Accordion title="Account Type Validation">
    If Account Type validation is enabled for your ledger:

    * The **Type** field becomes **required**
    * You must select from predefined account types or create them first
    * This ensures consistency across your organization's chart of accounts

    See [Managing Accounts](/en/platform/lerian-console/midaz-console/managing-accounts#account-type-validation) for more information.
  </Accordion>

  <Accordion title="Allow Sending and Allow Receiving">
    These flags control transaction permissions:

    * **Allow Sending = false**: Account cannot be used as a source (debit side) in transactions
    * **Allow Receiving = false**: Account cannot be used as a destination (credit side) in transactions

    Both flags are enabled by default and can only be modified after account creation. This is useful for:

    * Freezing accounts temporarily
    * Creating receive-only accounts (e.g., escrow)
    * Creating send-only accounts (rare use case)
  </Accordion>
</AccordionGroup>

<Note>
  After creating an account, it will immediately be available for use in transactions. Make sure all the information is correct before saving, especially the immutable fields.
</Note>
