Skip to content


If you take a typical transaction, money moves between two parties. In ledger, you call them Account. At least two accounts are involved in any transaction. Accounts are also hierarchical. This helps with the organization. For example you can treat EPF and PPF as two accounts namely Assets:Debt:EPF and Assets:Debt:PPF. The hierarchy helps you ask questions like what is the balance of Assets:Debt, which will include both EPF and PPF.

Even though ledger doesn't have any strict Account naming convention, Paisa expects you to follow the standard naming convention.

There are five types of account namely

  1. Assets
  2. Liabilities
  3. Income
  4. Expenses
  5. Equity

All the accounts you create should be under one of these accounts. This naming convention is a necessity, because without which, it's not possible to tell whether you are spending money or investing money. A transaction from Assets account to Expenses account implies that you are spending money.

Money typically flows from Income to Assets, from Assets to either Expenses, Liabilities or other Assets, from Liabilities to Expenses.

graph LR
  I[Income] --> A[Assets];
  A --> E[Expenses];
  A --> A;
  A --> L[Liabilities];
  L --> E[Expenses];

As a general principle, try not to create too many accounts at second level. The UI works best when you create less than or equal to 12 second level accounts under each type. For example, you can have 12 accounts under Expenses. But if you want more, try to add them under 3rd level, example Expenses:Food:Subway.


All your assets should go under Assets:. The level of granularity is up to you. The recommended convention is to use Assets:{instrument_type}:{instrument_name}. The instrument type may be Cash, Equity, Debt, etc. The instrument name may be the name of the fund, stock, etc


Assets:Checking is a special account where you keep your money for daily use. This will be included in your net worth, but will not be treated as an investment. So gain page for example, will exclude this account and won't show the returns. If you have multiple checking accounts, you can use sub accounts as well, for example Assets:Checking:HDFC and Assets:Checking:AXIS.

The distinction is necessary because Checking account is an asset, but not an investment. So you ideally you want to disregard them when you calculate your absolute returns etc.


All your income should come from Income:. The typical way is to treat each employer as a separate account like Income:Salary:{company}


Income:Interest is a special type of account from the perspective of returns calculation. Let's assume you have bought APPLE stock. You might be buying them at regular intervals. To calculate your returns, we can compute the difference between purchase price and current price.

Now in case of FD, you will get your interest credited to your account. The returns is the difference between the amount you deposited and the final balance. It's essential we need to know which transactions are deposits and which are interest credits.

Any money that comes from the sub account of Income:Interest will be treated as interest. This convention allows paisa to calculate the returns of any debt instrument without explicitly specifying anything else.

  • Income:Interest:{name} - interest debit account

Capital Gains

2018/03/01 Withdrawal
    Assets:Checking                  6775.49 INR
    Income:CapitalGains:Equity:NIFTY  -22.68 INR
    Assets:Equity:NIFTY               -100 NIFTY {67.5281 INR} [2018/01/01] @ 67.7549 INR

Let's say you have an asset account named Assets:{name} and you make some profit when you sell the asset, this profit should come from capital gains account named Income:CapitalGains:{name}.


All your expenses should go to Expenses:{category} accounts. You can also have more than 2 levels as well. The expense page will roll it up to 2 level wherever necessary.


Income tax paid to government should be credited to Expenses:Tax account. This is used to calculate your Net Income and your Savings Rate. If you want to track different types of taxes, you can use sub accounts as well, for example Expenses:Tax:Income and Expenses:Tax:GST.


Credit Card

Credit card accounts should be named Liabilities:CreditCard:{name}, for example Liabilities:CreditCard:Freedom and Liabilities:CreditCard:AmazonPay


Equity is used in rare cases where you want to balance the transaction, but none of the other accounts are suitable for the purpose. Let's say you have 1000 INR in your real bank account and you want your checking account in Paisa to have same balance, you can use Equity account to balance the transaction.

2022/01/01 Opening Balance
    Assets:Checking:SBI       1000 INR


Each account is associated with an icon and is shown along with the account name in most places. Paisa assigns icon based on few simple rules and it usually falls back to a generic icon. To modify the icon, go to the configuration page, add a new Account and specify the name of your account and then select icon of your choice. Paisa ships with four icon sets.


There is a wide range of free icons available, but adding each icon set to Paisa would increase the app binary size. So a balance has to be struck between the number of icons and the app size. Feel free to start a discussion if you feel strongly about any icon set. The current icon sets are not final, they may be replaced if a better alternative is found.