When working with ERPNext accounting, one thing that creates confusion is the Journal Entry “Entry Type”.

Many users ignore it and just use “Journal Entry” for everything. But actually, each type has a purpose, and ERPNext behaves differently based on what you select.

I wrote this as a working reference to understand each type properly and to use it correctly during implementation and daily operations.

Inter Company Journal Entry

Purpose
Used for transactions between two companies in the same ERPNext instance.

Typical use
Shared expenses, internal billing, group companies.

Impact on Journal Entry
• Allows creating a linked entry in another company
• ERPNext connects both entries automatically
• Validates matching debit/credit if same currency

Important Notes
• You must complete both sides (each company)
• If one is cancelled, link is removed

Quick Example
Company A charges Company B:

Company A
Debit: Intercompany Receivable
Credit: Income

Company B
Debit: Expense
Credit: Intercompany Payable


Bank Entry

Purpose
Any transaction involving a bank account.

Typical use
Customer payments, supplier payments, bank charges.

Impact on Journal Entry
• Reference Number and Date become mandatory
• ERPNext may auto-fill default bank account

Important Notes
• Always use this for bank transactions, helps in reconciliation
• Missing reference will block submission

Quick Example
Customer payment:

Debit: Bank
Credit: Customer (Debtors, with party)


Cash Entry

Purpose
Used for cash transactions.

Typical use
Petty cash, cash expenses, cash sales.

Impact on Journal Entry
• ERPNext may auto-fill default cash account
• No mandatory reference fields

Important Notes
• Keep separate from bank for clean reporting
• Useful for cash book tracking

Quick Example
Office expense paid in cash:

Debit: Expense
Credit: Cash


Credit Card Entry

Purpose
Used to track credit card transactions.

Typical use
Company card expenses, online payments.

Impact on Journal Entry
• No special validation
• Works like normal journal entry
• Mainly for classification

Important Notes
• Treat credit card as liability until paid
• Requires separate payment entry later

Quick Example
Card purchase:

Debit: Expense
Credit: Credit Card Account


Debit Note

Purpose
Supplier-related adjustment.

Typical use
Purchase returns, supplier corrections, TDS cases.

Impact on Journal Entry
• Can trigger automatic TDS calculation
• ERPNext may add tax row
• Adjusts supplier balance automatically

Important Notes
• Use when reducing supplier payable
• Only one supplier allowed if TDS applied

Quick Example
Return goods to supplier:

Debit: Supplier (Payable)
Credit: Purchase Return


Credit Note

Purpose
Customer-related adjustment.

Typical use
Sales returns, discounts, corrections.

Impact on Journal Entry
• Can trigger TCS (tax) logic
• Can link to Stock Entry
• Adjusts customer balance

Important Notes
• Use when reducing customer receivable
• Often linked with sales return

Quick Example
Customer return:

Debit: Sales Return
Credit: Customer (Receivable)

This is the continuation of the Journal Entry types. Same idea, simple notes I use during implementation and troubleshooting.


Contra Entry

Purpose
Used for internal transfer between cash and bank accounts.

Typical use
Cash deposit to bank, cash withdrawal, transfer between accounts.

Impact on Journal Entry
• No special validation enforced
• Used mainly for classification
• No impact on profit/loss (balance sheet only)

Important Notes
• Should only involve Bank and Cash accounts
• No party involved
• Keeps reports clean when separating internal transfers

Quick Example
Withdraw cash from bank:

Debit: Cash
Credit: Bank


Excise Entry

Purpose
Legacy type, mainly used for old tax systems (pre-GST type setups).

Typical use
Excise duty adjustments (rare now)

Impact on Journal Entry
• No special behavior
• Works exactly like normal Journal Entry

Important Notes
• In most modern setups, this is not used
• Can be replaced with normal Journal Entry

Quick Example
Pay excise duty:

Debit: Tax Liability
Credit: Bank


Write Off Entry

Purpose
Used to write off small balances or bad debts.

Typical use
Uncollectible customer balances, small supplier differences.

Impact on Journal Entry
• Shows extra section for write-off
• Can fetch outstanding invoices automatically
• Helps bulk write-off

Important Notes
• Very useful during year-end
• ERPNext can auto-fill multiple entries
• You still need to add expense account manually

Quick Example
Write off customer balance:

Credit: Debtors (Customer)
Debit: Bad Debt Expense


Opening Entry

Purpose
Used to enter opening balances during system setup or migration.

Typical use
Starting ERPNext or new financial year opening.

Impact on Journal Entry
• ERPNext marks it as “Is Opening = Yes”
• Treated differently in reports

Important Notes
• Must be balanced
• Should be entered at start of fiscal year
• Includes all assets, liabilities, equity

Quick Example
Opening bank balance:

Debit: Bank
Credit: Opening Equity


Depreciation Entry

Purpose
Used to record asset depreciation.

Typical use
Monthly or yearly depreciation of assets.

Impact on Journal Entry
• Must use depreciation-type accounts
• Linked to Asset module
• Updates asset value automatically

Important Notes
• Usually auto-created from Asset
• Manual entry possible but risky
• Must include asset reference

Quick Example
Monthly depreciation:

Debit: Depreciation Expense
Credit: Accumulated Depreciation


Asset Disposal

Purpose
Used when asset is sold, scrapped, or removed.

Typical use
Selling old equipment, scrapping damaged asset.

Impact on Journal Entry
• Updates asset status to disposed
• Stops future depreciation
• Links entry to asset

Important Notes
• Must clear asset value and accumulated depreciation
• May include gain or loss

Quick Example
Dispose asset:

Debit: Accumulated Depreciation
Debit: Loss (if any)
Credit: Asset Account


Periodic Accounting Entry

Purpose
Used in periodic inventory system to adjust stock values.

Typical use
Month-end stock adjustment when not using perpetual inventory.

Impact on Journal Entry
• Allows posting directly to stock accounts
• Has special “Get Balance” button
• Requires difference account

Important Notes
• Only works if perpetual inventory is disabled
• ERPNext calculates difference automatically
• Used mostly monthly

Quick Example
Adjust stock difference:

Debit: Stock Account
Credit: Stock Adjustment


Exchange Rate Revaluation

Purpose
Used to adjust foreign currency balances based on latest rates.

Typical use
Month-end revaluation of USD bank or foreign accounts.

Impact on Journal Entry
• Usually system-generated
• Adjusts account value without actual transaction

Important Notes
• This is unrealized gain/loss
• Reversed or recalculated next period

Quick Example
Currency gain:

Debit: Bank (increase value)
Credit: Exchange Gain


Exchange Gain or Loss

Purpose
Used when actual payment happens at different exchange rate.

Typical use
Customer pays invoice at different rate than original.

Impact on Journal Entry
• System-generated automatically
• Handles difference between invoice rate and payment rate

Important Notes
• This is realized gain/loss
• Created during reconciliation

Quick Example
Payment at higher rate:

Debit: Exchange Gain
Credit: Debtors


Deferred Revenue

Purpose
Used when revenue is received but earned over time.

Typical use
Subscriptions, annual contracts, prepaid services.

Impact on Journal Entry
• Created automatically over time
• Moves amount from liability to income

Important Notes
• Starts from Sales Invoice
• Requires service period dates
• Runs through “Process Deferred Accounting”

Quick Example
Monthly recognition:

Debit: Deferred Revenue
Credit: Income


Deferred Expense

Purpose
Used when expense is paid upfront but used over time.

Typical use
Insurance, rent, prepaid services.

Impact on Journal Entry
• Created automatically over time
• Moves amount from asset to expense

Important Notes
• Starts from Purchase Invoice
• Requires service period
• Same process as deferred revenue

Quick Example
Monthly expense:

Debit: Expense
Credit: Deferred Expense

When working with clients on ERPNext, the Financial Ratios report is one of those reports that looks simple, but it actually gives strong insight if you read it properly.

I wrote this as a reference for myself first. Over time I noticed the same questions repeat, what each ratio means, how ERPNext calculates it, and why sometimes the numbers don’t match expectations.

This guide explains the report in a practical way, based on how it behaves inside ERPNext.


Where to find the Financial Ratios report in ERPNext

Go to: Accounts → Reports → Financial Ratios

You will need to select:

• Company
• From Fiscal Year
• To Fiscal Year

The report works on yearly basis only. There is no monthly or quarterly breakdown here. This is important because the main purpose is comparison across years.


How the report is structured

The layout is simple. The first column shows the name of the ratio. Each column after that represents a fiscal year.

So if you select 2022 to 2024, you will see three columns side by side. This helps you track trends instead of looking at one isolated number.

All values are calculated from GL Entries. So if the data in accounting is wrong, this report will also be wrong.

One small detail that is easy to miss. If ERPNext tries to divide by zero, it does not show an error. It simply returns 0. This can hide issues, so it’s better to double check if you see unexpected zeros.


Liquidity Ratios (Short-Term Health)

1. Current Ratio

Formula
Current Assets / Current Liabilities

ERPNext Logic
Uses accounts with type “Current Asset” and “Current Liability”

What it Means
Ability of the company to pay short-term obligations

Practical Note
If value is below 1, it usually indicates cash flow issues

2. Quick Ratio

Formula
(Cash + Bank + Receivables) / Current Liabilities

ERPNext Logic
Includes only:
• Bank accounts
• Cash accounts
• Receivable accounts
Excludes inventory

What it Means
Ability to pay obligations using only liquid assets

Practical Note
Important when company has high inventory but low cash


Solvency Ratios (Long-Term Stability)

3. Debt Equity Ratio

Formula
Total Liabilities / Shareholder Fund

ERPNext Logic
Shareholder Fund = Total Assets – Total Liabilities

What it Means
How much the company depends on debt vs owner investment

Practical Note
If this increases every year, financial risk is increasing


4. Gross Profit Ratio

Formula
(Net Sales – COGS) / Net Sales

ERPNext Logic
• Net Sales = Direct Income
• COGS = Cost of Goods Sold

What it Means
Profit remaining after cost of goods

Practical Note
Drop in this ratio usually means pricing issue or cost increase


5. Net Profit Ratio

Formula
Profit After Tax / Net Sales

ERPNext Logic
Profit After Tax = Total Income – Total Expense

What it Means
Final profitability after all expenses

Practical Note
Good indicator, but should not be used alone


6. Return on Assets (ROA)

Formula
Profit After Tax / Total Assets

What it Means
How efficiently assets are used to generate profit

Practical Note
Low value may indicate underutilized assets


7. Return on Equity (ROE)

Formula
Profit After Tax / Shareholder Fund

What it Means
Return generated on shareholder investment

Practical Note
Can appear high if equity is low, so always compare with Debt Equity Ratio


Turnover Ratios (Operational Efficiency)

Important Note
ERPNext uses average values

Average Formula
(Opening Balance + Closing Balance) / 2

Opening balance is taken as one day before the period start


8. Fixed Asset Turnover

Formula
Net Sales / Total Assets

What it Means
Revenue generated per unit of asset

Practical Note
Low value indicates assets are not generating enough sales


9. Debtor Turnover

Formula
Net Sales / Average Receivables

What it Means
How quickly customers pay

Practical Note
Low ratio means delayed collections and cash flow issues


10. Creditor Turnover

Formula
Direct Expense / Average Payables

What it Means
How quickly the company pays suppliers

Practical Note
Very high ratio may indicate tight cash usage


11. Inventory Turnover

Formula
COGS / Average Stock

What it Means
How fast inventory is sold and replaced

Practical Note
Low ratio indicates slow-moving or excess inventory


Important Limitations

The following are NOT included in this report:

• Net Working Capital (NWC)
• Sales Growth Rate

These must be calculated separately or added through customization

If you’re using the Frappe Framework and creating custom workspaces, this is something to know.

During bench migrate, Frappe can delete your workspaces automatically.

When it happens

A workspace will be removed if all of this is true:

  • public = 1
  • module is set
  • app is set
  • no matching JSON file exists in any installed app

Frappe scans app folders for workspace files. If it doesn’t find one, it treats the workspace as orphaned and deletes it.

Typical scenario

You create a workspace from the UI, it works fine.

Later you run:

bench migrate

After that, the workspace is gone.