Journal Entries
A journal entry is the formal record of a financial transaction in your books of account. It is the mechanism by which the double-entry bookkeeping principle is applied: every journal entry consists of one or more debit lines and one or more credit lines, and the total debits must equal the total credits. In Udyamo ERP Lite, most journal entries are created automatically when you generate invoices, record bills, or process payments. Manual journal entries are reserved for situations that the standard transaction workflows do not cover.
This chapter explains how journal entries work, describes the different voucher types, and walks you through the process of creating manual journal entries for common manufacturing scenarios.
What You Will Learn
- The structure of a journal entry and its lines
- Voucher types and when each is used
- How journal entries are created automatically from invoices, bills, and payments
- The journal entry lifecycle: draft, posted, cancelled
- When and why to create manual journal entries
- Step-by-step instructions for creating a manual journal entry
Prerequisites
- Understanding of double-entry bookkeeping and the five account types (Chapter 31)
- Familiarity with the Chart of Accounts (Chapter 32)
- Access to the Accounting module in Udyamo ERP Lite
Anatomy of a Journal Entry
Every journal entry in Udyamo ERP Lite contains a header and one or more lines:
Header fields capture the metadata of the transaction:
| Field | Description |
|---|---|
| entry_number | System-generated unique identifier (e.g., JE-2025-0042) |
| entry_date | The date on which the transaction is effective |
| voucher_type | Classification of the entry: sales, purchase, receipt, payment, journal, contra |
| reference_type | The source document type (e.g., Invoice, Bill, Payment) |
| reference_id | The ID of the source document |
| description | A brief narrative explaining the transaction |
| status | Current state: draft, posted, or cancelled |
| total_debit | Sum of all debit amounts across lines |
| total_credit | Sum of all credit amounts across lines |
| notes | Additional notes or comments |
Line fields record the individual debits and credits:
| Field | Description |
|---|---|
| journal_entry_id | Links the line to its parent journal entry |
| account_id | The account being debited or credited |
| debit | Amount debited to this account (0.00 if this is a credit line) |
| credit | Amount credited to this account (0.00 if this is a debit line) |
| description | Optional line-level narrative |
A journal entry must have at least two lines (one debit, one credit), and the sum of all debit amounts must equal the sum of all credit amounts. The system enforces this validation and will not allow you to save an unbalanced entry.
Voucher Types
Udyamo ERP Lite classifies journal entries by voucher type. This classification serves two purposes: it makes the journal register easier to navigate, and it enables filtered reporting.
| Voucher Type | Purpose | Typically Created By |
|---|---|---|
| Sales | Records revenue from sales invoices | Automatically, when a sales invoice is created |
| Purchase | Records expenses or inventory additions from vendor bills | Automatically, when a purchase bill is recorded |
| Receipt | Records money received from customers | Automatically, when a customer payment is recorded |
| Payment | Records money paid to vendors or for expenses | Automatically, when a vendor payment is processed |
| Journal | Manual adjustments, provisions, corrections, depreciation | Manually by the user |
| Contra | Transfers between cash and bank accounts, or between bank accounts | Manually by the user |
Tip: The voucher type "Journal" is the catch-all for any transaction that does not fit the other categories. Use it for month-end adjustments, provisions for expenses, write-offs, depreciation entries, and inter-account transfers that are not simple cash-bank movements.
Automatic Journal Entries
One of the most powerful features of an ERP system is the automatic creation of journal entries from business documents. This eliminates the need for manual bookkeeping for routine transactions.
When you create a sales invoice, the system generates a journal entry with voucher type "Sales":
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | Accounts Receivable | 1,18,000 | — |
| 2 | Sales Revenue — Finished Goods | — | 1,00,000 |
| 3 | CGST Payable | — | 9,000 |
| 4 | SGST Payable | — | 9,000 |
When you record a purchase bill for raw materials, the system generates a journal entry with voucher type "Purchase":
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | Raw Material Consumption (or Inventory) | 2,00,000 | — |
| 2 | GST Input Credit (CGST) | 18,000 | — |
| 3 | GST Input Credit (SGST) | 18,000 | — |
| 4 | Accounts Payable | — | 2,36,000 |
When you record a customer payment, the system generates a "Receipt" entry:
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | HDFC Bank — Current Account | 1,18,000 | — |
| 2 | Accounts Receivable | — | 1,18,000 |
When you process a vendor payment, the system generates a "Payment" entry:
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | Accounts Payable | 2,36,000 | — |
| 2 | HDFC Bank — Current Account | — | 2,36,000 |
Each automatic journal entry carries the reference_type and reference_id fields, linking it back to the source document (invoice, bill, or payment). This reference chain is the foundation of the audit trail.
Warning: Do not manually create journal entries to duplicate what the system does automatically. If you create a sales invoice, the corresponding journal entry is already created. Adding another one manually would double-count the transaction.
Journal Entry Status Lifecycle
Every journal entry follows a defined lifecycle:
Draft. A newly created journal entry starts in draft status. Draft entries do not affect account balances or appear in financial reports. This gives you the opportunity to review and correct the entry before it becomes permanent.
Posted. When you are satisfied that the entry is correct, you post it. A posted entry updates the ledger, affects account balances, and appears in all financial reports. Posting is an intentional act — it represents your confirmation that the transaction is accurate and should be recorded.
Cancelled. If a posted entry needs to be reversed (due to an error or a transaction that should not have occurred), you cancel it. Cancellation does not delete the entry — it creates a reversal that neutralizes the original debits and credits. This preserves the audit trail while correcting the books.
Warning: You cannot edit a posted journal entry. If you discover an error after posting, you must cancel the original entry and create a new, corrected one. This is by design — it ensures the integrity of the audit trail.
When to Use Manual Journal Entries
Most of your accounting will be handled automatically through invoices, bills, and payments. However, certain transactions require manual journal entries:
Expense provisions. At month-end, you know the factory electricity bill will arrive next month, but the expense belongs to the current month. You create a provision: Debit Electricity Expense, Credit Provision for Expenses.
Depreciation. Monthly or annual depreciation on factory machinery and other fixed assets is recorded as a manual journal entry: Debit Depreciation Expense, Credit Accumulated Depreciation. (If the Asset Management module is configured, this may be automated — see Chapter 44.)
Bad debt write-off. A customer who has not paid for over a year is deemed uncollectable. You write off the receivable: Debit Bad Debts Expense, Credit Accounts Receivable.
Error corrections. An expense was posted to the wrong account. You create an adjustment entry: Debit the correct account, Credit the incorrect account.
Year-end closing entries. At 31 March, income and expense account balances are transferred to Retained Earnings to start the new financial year with a clean Profit & Loss.
Interest accrual. Interest payable on a term loan for the current month has not yet been paid. You accrue it: Debit Interest Expense, Credit Interest Payable.
Step-by-Step: Create a Manual Journal Entry
Scenario: Your factory incurs electricity expenses of 45,000 for March, but the bill will not arrive until April. You want to provision this expense in March.
- Navigate to Accounting > Journal Entries
- Click New Journal Entry
- Fill in the header fields:
| Field | Value |
|---|---|
| Entry Date | 31-03-2025 |
| Voucher Type | Journal |
| Description | Provision for factory electricity — March 2025 |
- Add the journal lines:
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | Factory Electricity (Expense) | 45,000 | — |
| 2 | Provision for Expenses (Liability) | — | 45,000 |
- Verify that Total Debit (45,000) equals Total Credit (45,000)
- Click Save — the entry is saved in draft status
- Review the entry, then click Post to finalize

When the actual electricity bill arrives in April, you will reverse the provision and record the actual bill through the normal purchase bill workflow.
Step-by-Step: Create a Contra Entry
Scenario: You withdraw 2,00,000 from your HDFC bank account and deposit it into your ICICI bank account.
- Navigate to Accounting > Journal Entries and click New Journal Entry
- Set the header:
| Field | Value |
|---|---|
| Entry Date | 15-01-2025 |
| Voucher Type | Contra |
| Description | Fund transfer from HDFC to ICICI current account |
- Add the lines:
| Line | Account | Debit | Credit |
|---|---|---|---|
| 1 | ICICI Bank — Current Account (Asset) | 2,00,000 | — |
| 2 | HDFC Bank — Current Account (Asset) | — | 2,00,000 |
- Save and post the entry
This entry reduces the HDFC bank balance and increases the ICICI bank balance by the same amount. No income or expense is affected — it is purely a movement of funds between asset accounts.
Tips & Best Practices
Tip: Always include a clear, descriptive narrative in the description field. Six months from now, "Provision for factory electricity — March 2025" is far more useful than "Adjustment" or "JE."
Tip: Use the notes field to record supporting details — bill numbers, approval references, or the reason for an adjustment. This information is invaluable during audits.
Tip: Review draft journal entries weekly. A backlog of unposted drafts means your financial reports are not reflecting the true state of the business. Post entries promptly or delete unnecessary drafts.
Warning: Never post journal entries you do not fully understand. If you are unsure whether a transaction should be a debit or a credit, consult your accountant. An incorrect journal entry distorts every downstream report.
Quick Reference
| Term | Definition |
|---|---|
| Journal entry | A formal accounting record containing balanced debit and credit lines |
| Journal line | An individual debit or credit entry within a journal entry |
| Voucher type | Classification of the journal entry: sales, purchase, receipt, payment, journal, contra |
| Draft | Initial status; does not affect account balances |
| Posted | Finalized status; updates ledger and reports |
| Cancelled | Reversed status; neutralizes the original entry while preserving audit trail |
| Provision | An estimated liability for an expense that has been incurred but not yet billed |
| Contra entry | A journal entry that transfers funds between cash and bank accounts |
| Reference | Link from a journal entry back to its source document (invoice, bill, payment) |