Introduction

Enterprise Resource Planning (ERP) systems have traditionally been the domain of large corporations with deep pockets and dedicated IT teams. Small and medium businesses (SMBs) — particularly in India's manufacturing sector — have long relied on spreadsheets, standalone billing software, and manual registers to manage their operations. This approach works until it doesn't: orders get missed, stock counts diverge from reality, GST returns become a monthly fire drill, and the owner spends evenings reconciling numbers instead of growing the business.

Udyamo ERP Lite was built to change that. It is an open-source, manufacturing-first ERP designed specifically for Indian SMBs with 20 to 500 employees. Built on modern technology (Ruby on Rails 8, PostgreSQL, Hotwire, and Tailwind CSS), it brings together manufacturing, inventory, accounting, sales, purchases, tax compliance, HR, and asset management into a single, integrated system.


What This Book Covers

This book serves two purposes:

  1. ERP Education — Each chapter begins with the underlying concepts. Whether it is double-entry accounting, bill of materials, or GST input credit, you will understand the why before the how.

  2. Practical User Guide — Every concept is followed by step-by-step instructions for performing the task in Udyamo ERP Lite. Navigation paths, field descriptions, and workflow explanations are included throughout.

Who This Book Is For

  • Business owners and directors who want to understand what ERP can do for their operations
  • Operations and production managers who will use the manufacturing, inventory, and quality modules daily
  • Accountants and finance staff responsible for invoicing, payments, GST returns, and financial reporting
  • HR and admin personnel managing employees, payroll, and compliance
  • IT administrators setting up users, roles, and permissions

How This Book Is Organized

The book is divided into 10 parts covering 50 chapters:

PartTopicChapters
Part 1Understanding ERPCh 1–5
Part 2Inventory & Stock ManagementCh 6–11
Part 3ManufacturingCh 12–18
Part 4Sales & Customer ManagementCh 19–24
Part 5Purchases & Vendor ManagementCh 25–30
Part 6Accounting & FinanceCh 31–35
Part 7Tax & Compliance (India)Ch 36–39
Part 8HR & PayrollCh 40–42
Part 9Asset ManagementCh 43–45
Part 10Reports, Security & AdministrationCh 46–50

A Glossary at the end provides quick definitions for 80+ ERP, manufacturing, accounting, and Indian compliance terms.

Conventions Used in This Book

Throughout this book, you will encounter the following conventions:

  • Navigation paths are written as Menu > Submenu > Action — for example, Inventory > Items > Add New
  • Field names appear in bold — for example, fill in the Item Name field
  • Button labels appear in bold — for example, click Save
  • Tables describe form fields, their purpose, and expected values
  • Screenshot placeholders indicate where the application interface would appear

Tip: Callout boxes like this provide practical advice and shortcuts.

Warning: Boxes like this highlight common mistakes and pitfalls to avoid.

Required: Boxes like this list prerequisites you must complete before proceeding.

Prerequisites

To follow along with the practical exercises in this book, you will need:

  • A running instance of Udyamo ERP Lite (self-hosted or cloud)
  • A modern web browser (Chrome, Firefox, Edge, or Safari)
  • An account with Owner or Admin role for setup chapters
  • Basic familiarity with web applications

Let's begin with understanding what ERP is and why your business needs it.

What is ERP and Why SMBs Need It

Enterprise Resource Planning (ERP) is a class of software that integrates all core business processes — manufacturing, inventory, sales, purchasing, accounting, human resources, and compliance — into a single, unified system. For small and medium businesses (SMBs) in manufacturing, an ERP replaces the patchwork of spreadsheets, paper registers, and disconnected software tools that typically accumulate as a company grows.

This chapter traces the evolution of ERP, explains what it does in practical terms, and makes the case for why manufacturing SMBs — especially those operating in India — cannot afford to ignore it.

What You Will Learn

  • The historical evolution from MRP to modern cloud ERP
  • What an ERP system actually does and the modules it encompasses
  • Why SMBs hit a growth ceiling without integrated systems
  • How ERP compares to spreadsheet-based management
  • Common myths about ERP adoption and the reality behind them

Prerequisites

No technical prerequisites. This chapter is conceptual and intended for business owners, operations managers, and anyone evaluating ERP for the first time.


A Brief History of ERP

The roots of ERP lie in manufacturing. Understanding this history helps explain why ERP systems are structured the way they are and why manufacturing remains the domain where ERP delivers the most value.

1960s — Material Requirements Planning (MRP). The earliest precursor to ERP emerged when manufacturers needed a systematic way to calculate raw material requirements based on production schedules. MRP systems answered a simple but critical question: given a production plan and a bill of materials, what materials do we need to order, and when? These early systems ran on mainframes and were accessible only to large corporations.

1980s — Manufacturing Resource Planning (MRP II). MRP evolved into MRP II by expanding scope beyond materials. MRP II incorporated capacity planning, shop floor scheduling, and basic financial tracking. A factory could now plan not just what materials to buy, but how to allocate machine time, labour, and capital. This was the first step toward integrating the factory floor with the back office.

1990s — Enterprise Resource Planning (ERP). The term "ERP" was coined by the Gartner Group in 1990. ERP extended MRP II to cover the entire enterprise: sales, purchasing, human resources, accounting, and more. Software vendors like SAP, Oracle, and Baan built monolithic systems that promised a single source of truth for every business transaction. These systems were powerful but expensive, often requiring years of implementation and millions of dollars in licensing and consulting fees.

2010s — Cloud ERP and the SMB Opportunity. Cloud computing changed the economics of ERP. Software-as-a-Service (SaaS) models eliminated the need for on-premises servers and large IT teams. Vendors began targeting SMBs with simpler, more affordable solutions. Open-source ERP projects emerged, further lowering the barrier to entry. Today, a 50-person factory can run a capable ERP system for a fraction of what a large enterprise paid in the 1990s.

What Does an ERP System Do?

At its core, an ERP system provides a shared database and a set of integrated modules that cover every major business function. When a sales order is created, the inventory module knows to reserve stock. When production consumes raw materials, the accounting module records the cost. When an invoice is generated, the tax module calculates GST. Every transaction flows through the system in real time, eliminating manual data entry and reconciliation.

The core modules found in a typical ERP system include:

ModulePurpose
ManufacturingBill of materials, production orders, shop floor control, quality inspections, job work
InventoryItem master, stock tracking, warehouse locations, units of measure, stock ledger
SalesCustomer management, quotations, sales orders, invoices, payment tracking
PurchasesVendor management, purchase orders, bills, payment processing
AccountingChart of accounts, journal entries, ledger, financial statements
Tax & ComplianceGST returns, e-way bills, TDS management
HR & PayrollEmployee records, salary slips, statutory deductions (PF, ESIC)
AssetsFixed asset register, depreciation calculation, asset categories

Why SMBs Need ERP

Many SMB owners believe ERP is only for large enterprises. In practice, the problems ERP solves are felt most acutely by growing SMBs. Here are the core pain points:

Data silos. Production data lives in one spreadsheet, inventory in another, and accounting in a third. No one has a unified view of the business. When the sales team promises a delivery date, they have no way to verify whether raw materials are available or whether the factory has capacity.

Manual errors. Every time data is copied from one system to another — or from a paper register to a spreadsheet — errors creep in. A transposed digit in a stock register can cascade into incorrect purchase orders, wrong invoicing, and GST filing mismatches.

Compliance burden. Indian SMBs face a dense regulatory environment: GST with its multiple return types, TDS obligations, PF and ESIC contributions, and e-way bill requirements for goods movement. Managing compliance manually is not just inefficient — it is risky. Penalties for late or incorrect filings can be significant.

Growth ceiling. There comes a point where spreadsheets and manual processes simply cannot scale. A factory running 10 production orders a week might manage with spreadsheets. At 50 orders a week, the system breaks down. Orders get missed, materials run out unexpectedly, and the owner spends more time firefighting than running the business.

ERP vs. Spreadsheets

The following comparison illustrates why growing SMBs outgrow spreadsheets:

AspectSpreadsheetsERP System
Data integrityProne to copy-paste errors, broken formulasSingle database, validated entries
Real-time visibilityStale data, manual updatesLive dashboards, instant reports
Multi-user accessVersion conflicts, file lockingConcurrent access with role-based permissions
Audit trailNo history of who changed whatFull activity logs and audit records
ComplianceManual calculation and filingAutomated GST, TDS, and statutory reports
ScalabilityDegrades with volumeDesigned for growing transaction loads
IntegrationDisconnected files and toolsAll modules share one database

Benefits of ERP for Manufacturing SMBs

Single source of truth. Every department — from the shop floor to the accounts team — works with the same data. When production reports output, inventory updates automatically, and the cost flows into the general ledger without manual intervention.

Automated workflows. Purchase orders can be generated from material requirements. Invoices can be created from delivery notes. Salary slips can be calculated from attendance and statutory rules. Automation reduces labour, speeds up processes, and eliminates transcription errors.

Real-time visibility. Dashboards show current stock levels, pending production orders, outstanding receivables, and cash positions. Managers can make decisions based on what is happening now, not what happened last month when the spreadsheet was last updated.

Compliance readiness. With GST calculations built into invoicing, TDS sections mapped to vendor payments, and PF/ESIC rules embedded in payroll, the system generates compliant documents and returns as a by-product of normal operations.

Scalability. An ERP system that works for 20 employees works for 200. Adding new product lines, opening a second warehouse, or onboarding more customers does not require rebuilding the system — it requires adding data.

Common ERP Myths Debunked

MythReality
"ERP is only for large companies."Modern cloud and open-source ERP systems are designed for SMBs with 20-500 employees.
"ERP implementation takes years."A focused, manufacturing-first ERP can be operational in days to weeks, not months.
"We need to change our processes to fit the ERP."A well-designed ERP adapts to Indian manufacturing workflows, not the other way around.
"ERP is too expensive for us."Open-source ERP eliminates licensing costs. Total cost of ownership can be a fraction of proprietary alternatives.
"Our team is not tech-savvy enough."If your team can use a smartphone and a spreadsheet, they can use a modern ERP with proper training.

Tips & Best Practices

Tip: Start by mapping your current pain points — late deliveries, stock mismatches, GST filing delays — and evaluate how an ERP addresses each one specifically. This keeps the evaluation grounded in real business needs rather than feature checklists.

Tip: Involve your shop floor supervisor and your accountant in the ERP evaluation process. These are the people who will use the system daily, and their buy-in is critical for successful adoption.

Quick Reference

TermDefinition
ERPEnterprise Resource Planning — integrated software covering all business functions
MRPMaterial Requirements Planning — calculating material needs from production plans
MRP IIManufacturing Resource Planning — MRP extended with capacity and financial planning
BOMBill of Materials — the list of components and quantities needed to make a product
GSTGoods and Services Tax — India's unified indirect tax system
TDSTax Deducted at Source — income tax withheld on specified payments
SMBSmall and Medium Business — typically 20 to 500 employees in the Indian context

ERP for Manufacturing — The Big Picture

Manufacturing is where ERP was born, and it remains the domain where ERP delivers the greatest return. A factory is a complex system: raw materials arrive, machines transform them, labour adds value, quality checks verify standards, finished goods move to warehouses, and invoices flow to customers. Every one of these steps generates data that must be recorded, tracked, and reconciled. Without an integrated system, this data lives in fragments — a stock register here, a production log there, an accounts ledger somewhere else.

This chapter explains why manufacturing demands a specialized ERP, introduces the key concepts that drive manufacturing operations, and shows how an ERP connects the factory floor to the general ledger.

What You Will Learn

  • Why generic business software falls short for manufacturing
  • Core manufacturing concepts: BOM, MRP, production planning, shop floor control, WIP, and quality management
  • How job work and subcontracting operate in the Indian manufacturing context
  • How material and data flow from production through to accounting
  • What distinguishes manufacturing ERP from general-purpose business tools

Prerequisites

Read Chapter 1: What is ERP and Why SMBs Need It for foundational ERP concepts.


Why Manufacturing Needs Specialized ERP

A trading company buys and sells finished goods. Its core ERP needs are inventory, invoicing, and accounting. A manufacturing company does all of that and more: it transforms raw materials into finished products through a series of planned, tracked, and quality-controlled operations. This transformation process introduces complexity that generic business software cannot handle.

Consider a steel fabrication shop. It purchases mild steel sheets, angles, and channels. It cuts, welds, drills, and finishes these materials into structural components. Each product has a specific bill of materials. Each production run consumes materials, uses machine time, and requires labour. Some operations are outsourced to job workers. Quality inspections happen at multiple stages. The finished product must be costed accurately — including material, labour, overhead, and job work charges — before it can be invoiced.

No spreadsheet or generic invoicing tool can manage this end-to-end. Manufacturing ERP exists precisely for this purpose.

Key Manufacturing Concepts

Bill of Materials (BOM)

A Bill of Materials is the recipe for a product. It lists every raw material, sub-assembly, and component required to manufacture one unit of a finished product, along with the quantity of each. For example, a BOM for a steel bracket might specify 2 kg of MS flat bar, 4 bolts, and 0.5 hours of welding time.

BOMs can be multi-level. A finished product may contain sub-assemblies, each of which has its own BOM. An ERP system maintains these hierarchies and uses them to calculate material requirements, production costs, and purchase needs.

Material Requirements Planning (MRP)

MRP is the process of determining what materials to procure and when, based on production plans and existing stock. Given a set of production orders and their BOMs, the MRP engine calculates the total material demand, subtracts what is already in stock or on order, and generates purchase requisitions for the shortfall.

For a food processing unit planning to produce 1,000 packets of a spice blend next week, MRP would check the BOM for each ingredient, compare requirements against current stock, account for materials already on order from vendors, and flag any shortages that require immediate procurement.

Production Planning and Shop Floor Control

Production planning determines what to produce, in what quantity, and by when. A production order is the central document — it specifies the product, quantity, BOM, target start date, and target completion date.

Shop floor control tracks the execution of production orders: which operations are in progress, which are complete, what materials have been consumed, and what output has been produced. In an ERP system, the production order moves through states — draft, released, in progress, completed — providing real-time visibility into factory operations.

Work-in-Progress (WIP)

At any given time, a factory has materials that have entered production but are not yet finished goods. This is Work-in-Progress. WIP has financial implications: the materials consumed are no longer raw material inventory, but they are not yet finished goods either. An ERP system tracks WIP to ensure accurate inventory valuation and costing.

Quality Management

Manufacturing requires quality checks at multiple points: incoming raw material inspection, in-process checks during production, and final inspection before dispatch. An ERP system records quality inspections, links them to production orders and batches, and can block dispatch of items that fail inspection.

For an auto parts manufacturer, a quality inspection might verify dimensional tolerances, surface finish, and hardness values against specification. The inspection record becomes part of the product's traceability chain.

Job Work and Subcontracting

Job work is a defining feature of Indian manufacturing. A company sends raw materials or semi-finished goods to an external contractor (job worker) for specific operations — heat treatment, plating, machining, embroidery — and receives the processed goods back. This is governed by specific GST provisions (challan-based movement under GST rules).

An ERP system tracks job work orders: what materials were sent, to which contractor, for what process, when they are due back, and at what cost. This is critical for both operational control and GST compliance, as job work movements require proper documentation.

How ERP Connects the Factory Floor to Accounting

The true power of manufacturing ERP lies in integration. Every physical event on the factory floor has a corresponding financial entry. Here is how data flows through the system:

Raw Material Purchase
    │
    ▼
Vendor Bill → Accounts Payable (Ledger Entry)
    │
    ▼
Stock Receipt → Inventory Increase (Stock Ledger Entry)
    │
    ▼
Production Order Created (BOM exploded)
    │
    ▼
Material Issued to Production → Inventory Decrease + WIP Increase
    │
    ▼
Job Work Order (if applicable) → Material Sent to Contractor
    │
    ▼
Job Work Receipt → Material Returned + Job Work Cost Recorded
    │
    ▼
Quality Inspection → Pass / Fail / Rework
    │
    ▼
Production Completed → WIP Decrease + Finished Goods Increase
    │
    ▼
Sales Order → Delivery → Inventory Decrease
    │
    ▼
Sales Invoice → Accounts Receivable (Ledger Entry) + GST Output
    │
    ▼
Payment Received → Bank Entry → Receivable Cleared

At every stage, the ERP system creates the appropriate stock ledger entries and journal entries automatically. The accountant does not need to manually post material consumption or production costs — the system handles it as a natural consequence of recording operational events.

Manufacturing ERP vs. Generic Business Software

CapabilityGeneric Business SoftwareManufacturing ERP
Bill of MaterialsNot supportedMulti-level BOM with versioning
Production OrdersNot supportedFull lifecycle tracking (draft to complete)
Material RequirementsManual calculationAutomated MRP based on BOMs and stock
WIP TrackingNot supportedReal-time WIP valuation
Quality InspectionsNot supportedLinked to production orders and batches
Job WorkNot supportedFull job work order management with GST compliance
Production CostingNot supportedAutomatic costing from material, labour, and overhead
InventoryBasic stock countLocation-wise, batch-wise, with stock ledger
InvoicingSupportedSupported, with production cost integration
AccountingSupportedSupported, with manufacturing journal entries

The Indian Manufacturing Context

India's manufacturing sector is dominated by MSMEs (Micro, Small, and Medium Enterprises). According to government data, MSMEs contribute approximately 30% of India's GDP and nearly half of total exports. The Make in India initiative has further emphasized the importance of a strong domestic manufacturing base.

Yet most Indian manufacturing SMBs operate with minimal or no ERP. Common reasons include perceived high cost, complexity of implementation, and lack of software that understands Indian manufacturing workflows — including GST implications for job work, TDS on contractor payments, and statutory compliance for PF and ESIC.

A manufacturing ERP built for Indian SMBs must handle these realities natively, not as afterthoughts or add-on modules. It must understand that a 50-person factory in Rajkot or Ludhiana has different needs from a 5,000-person plant in Detroit, but its operational challenges are no less real.

Tips & Best Practices

Tip: Before evaluating any ERP, document your current manufacturing process from raw material receipt to finished goods dispatch. Include every handoff point, every register, and every approval. This map becomes your requirements document.

Tip: Pay special attention to job work processes. If your factory relies heavily on subcontracting, the ERP must support job work order tracking with proper GST challan management. This is a common gap in ERP systems not designed for Indian manufacturing.

Warning: Do not confuse a good invoicing tool with a manufacturing ERP. If the software cannot manage BOMs, production orders, and material consumption, it is not a manufacturing ERP — regardless of what the marketing says.

Quick Reference

TermDefinition
BOMBill of Materials — the list of materials and quantities needed to produce one unit
MRPMaterial Requirements Planning — calculating procurement needs from production plans
Production OrderA document authorizing the manufacture of a specific product in a specific quantity
WIPWork-in-Progress — materials that are in production but not yet finished
Job WorkSending materials to an external contractor for specific processing operations
Quality InspectionA formal check of product attributes against defined specifications
Shop Floor ControlTracking and managing the execution of production operations in real time
MSMEMicro, Small, and Medium Enterprise — the classification for most Indian manufacturing firms
Stock LedgerA chronological record of every stock movement (receipt, issue, transfer, adjustment)

Introducing Udyamo ERP Lite

Udyamo ERP Lite is an open-source, manufacturing-first Enterprise Resource Planning system built specifically for Indian small and medium businesses. It fills a gap that has persisted for years in the Indian software market: the absence of an affordable, capable ERP that understands the realities of running a 20-to-500-person manufacturing operation in India.

This chapter introduces Udyamo ERP Lite — its purpose, its design philosophy, the modules it provides, and the technology that powers it.

What You Will Learn

  • What Udyamo ERP Lite is and the problem it solves
  • The technology stack and why it was chosen
  • All available modules and what each one covers
  • Core design principles that guide the product
  • System requirements and deployment options

Prerequisites

Read Chapter 1: What is ERP and Why SMBs Need It and Chapter 2: ERP for Manufacturing for context on ERP concepts and manufacturing workflows.


Why Udyamo ERP Lite Was Built

The Indian manufacturing SMB faces a difficult choice when it comes to ERP software. At one end of the spectrum are enterprise-grade systems like SAP and Oracle, which are powerful but prohibitively expensive and complex for a 50-person factory. At the other end are lightweight invoicing and accounting tools that handle billing and GST but have no understanding of production orders, bills of materials, or job work.

In between, there are a handful of ERP products that attempt to serve SMBs, but many of these are either proprietary (with opaque pricing and vendor lock-in), poorly adapted to Indian tax and compliance requirements, or designed primarily for trading rather than manufacturing.

Udyamo ERP Lite was created to address this gap directly. It is built from the ground up for Indian manufacturing SMBs. Every design decision — from the data model to the user interface — reflects the workflows, compliance requirements, and operational realities of running a factory in India.

The name "Udyamo" derives from the Sanskrit root for enterprise and effort, reflecting the spirit of Indian entrepreneurship that the software aims to serve.

Open Source and the MIT License

Udyamo ERP Lite is released under the MIT License, one of the most permissive open-source licenses available. This means:

  • You can use the software for any purpose, including commercial use, at no cost.
  • You can modify the source code to suit your specific needs.
  • You can distribute the software, with or without modifications.
  • There is no vendor lock-in. Your data and your customizations belong to you.

Open source also means transparency. The codebase is available for inspection, which builds trust — particularly important for software that handles financial data and tax compliance.

Technology Stack

Udyamo ERP Lite is built on a modern, proven technology stack chosen for reliability, developer productivity, and ease of deployment.

ComponentTechnologyPurpose
Backend FrameworkRuby on Rails 8Application logic, API, server-side rendering
DatabasePostgreSQLTransactional data storage with strong integrity guarantees
Frontend InteractivityHotwire (Turbo + Stimulus)Responsive, single-page-like experience without heavy JavaScript frameworks
CSS FrameworkTailwind CSSClean, consistent, and responsive user interface
AuthenticationDeviseSecure user authentication with session management
AuthorizationRole-based access controlRoles and role assignments for fine-grained permissions

Rails 8 was chosen for its convention-over-configuration philosophy, which allows rapid development without sacrificing code quality. PostgreSQL provides the data integrity and transactional guarantees that financial and manufacturing data demands. Hotwire delivers a responsive user experience while keeping the architecture simple — there is no separate frontend application to build, deploy, and maintain.

Module Overview

Udyamo ERP Lite ships with the following integrated modules, covering 49 data models across all major business functions:

ModuleKey ModelsDescription
Manufacturingproduction_orders, boms, quality_inspections, contractors, job_work_ordersProduction planning, BOM management, shop floor tracking, quality control, and subcontracting
Inventoryitems, locations, stock_ledger_entries, unitsItem master data, multi-location stock tracking, unit-of-measure management, and a full stock ledger
Salescustomers, invoices, proforma_invoices, sales_orders, paymentsCustomer management, order-to-invoice lifecycle, proforma invoicing, and payment tracking
Purchasesvendors, purchase_orders, bills, payment_batchesVendor management, purchase order processing, bill recording, and batch payment processing
Accountingaccounts, journal_entries, ledger_entriesChart of accounts, double-entry journal entries, and a complete general ledger
Taxgst_returns, eway_bills, tds_sectionsGST return preparation, e-way bill generation, and TDS section management
HRemployees, salary_slipsEmployee records and payroll with statutory deductions (PF, ESIC, Professional Tax)
Assetsassets, asset_categories, depreciation_entriesFixed asset register, categorization, and automated depreciation calculation
Organizationorganizations, settingsCompany profile, multi-organization support, and system-wide configuration
Access Controlroles, role_assignmentsRole-based permissions controlling who can view, create, edit, and approve data
Auditactivity_logs, auditsComplete audit trail of every create, update, and delete operation
Dashboardfinancial, inventory, manufacturing, sales tabsReal-time operational overview across all business functions

Design Principles

Five principles guide every aspect of Udyamo ERP Lite:

Manufacturing-first. The system is designed around the production order as a central document. BOMs, material consumption, job work, quality inspections, and production costing are first-class features, not afterthoughts bolted onto an invoicing tool.

India-first. GST (with CGST, SGST, and IGST), TDS sections, PF, ESIC, and e-way bills are built into the core data model. The system understands Indian tax rules, Indian financial year conventions (April to March), and Indian document numbering requirements. Amounts are in INR. State codes follow Indian standards.

Simple yet complete. The system aims to cover 90% of what a manufacturing SMB needs without the complexity that makes enterprise ERP systems intimidating. Every screen has a clear purpose. Every workflow has a defined path. There are no hidden configuration labyrinths.

Role-based access. Not everyone should see everything. A shop floor supervisor needs access to production orders and quality inspections. An accountant needs access to the general ledger and GST returns. A sales executive needs access to customers and invoices. Udyamo uses roles and role assignments to ensure each user sees exactly what they need — no more, no less.

Audit trail by default. Every significant action in the system is logged. Activity logs record who did what and when. This is not optional or configurable — it is built into the foundation of the application. For manufacturing SMBs facing audits from tax authorities, customers, or quality certifiers, this traceability is invaluable.

System Requirements

Udyamo ERP Lite is a web application. Users access it through a standard web browser. There is no software to install on individual computers or phones.

Server requirements:

ComponentMinimumRecommended
CPU2 cores4 cores
RAM2 GB4 GB
Storage20 GB50 GB+ (depends on data volume)
Operating SystemUbuntu 22.04 LTS or equivalentUbuntu 24.04 LTS
Ruby3.2+3.3+
PostgreSQL14+16+

Client requirements:

  • A modern web browser: Chrome, Firefox, Safari, or Edge (latest two versions)
  • Screen resolution of 1280x720 or higher (responsive design supports tablets and phones, but desktop is recommended for data-heavy operations)
  • Stable internet connection (for cloud-hosted deployments)

Deployment Options

Udyamo ERP Lite can be deployed in several ways depending on your infrastructure preferences and technical capabilities:

Self-hosted on a VPS or dedicated server. Install the application on a cloud virtual machine (AWS EC2, DigitalOcean Droplet, or any VPS provider) or an on-premises server. This gives full control over data and infrastructure.

Containerized deployment. Use Docker and Docker Compose for a reproducible, isolated deployment. This simplifies setup and makes it easier to manage updates.

Managed hosting. For organizations without in-house IT, managed hosting options (provided by the community or service partners) offer a hands-off deployment experience.

Tip: For most SMBs, a self-hosted deployment on a cloud VPS with 4 GB RAM is sufficient to support 20-50 concurrent users. Start with the smallest viable configuration and scale as your data and user base grow.

Tips & Best Practices

Tip: Take advantage of the demo mode to explore the system before entering real data. Demo mode populates the application with sample data — products, BOMs, customers, vendors, and transactions — so you can experience every module without risk.

Warning: Open source does not mean unsupported. Engage with the community, read the documentation, and consider professional assistance for your initial setup if your team lacks Ruby on Rails experience.

Tip: Enable only the modules you need during initial setup. Udyamo allows you to toggle manufacturing, inventory, and accounting modules independently. Start with what matters most and expand over time.

Quick Reference

TermDefinition
Udyamo ERP LiteOpen-source, manufacturing-first ERP for Indian SMBs
MIT LicenseA permissive open-source license allowing free use, modification, and distribution
Rails 8Ruby on Rails version 8 — the backend web framework powering Udyamo
PostgreSQLAn advanced open-source relational database
HotwireA Rails-native approach to building responsive web interfaces (Turbo + Stimulus)
Tailwind CSSA utility-first CSS framework for building custom user interfaces
DeviseA Ruby on Rails library for authentication (login, logout, password management)
Role-based accessA security model where permissions are assigned to roles, and roles are assigned to users
Demo modeA feature that populates the system with sample data for exploration and training

Getting Started — Sign Up, Login & Dashboard

This chapter walks you through your first interaction with Udyamo ERP Lite: accessing the application, signing up for an account, logging in, and navigating the dashboard. By the end of this chapter, you will know how to move around the system confidently and understand what information is available at a glance.

What You Will Learn

  • How to access the Udyamo ERP Lite application
  • How to sign up for a new account and log in
  • What the dashboard shows and how to read each tab
  • How to navigate the application using the sidebar menu
  • How to manage your profile settings

Prerequisites

  • Udyamo ERP Lite must be deployed and accessible via a web browser. See Chapter 3: Introducing Udyamo ERP Lite for system requirements and deployment options.
  • A modern web browser (Chrome, Firefox, Safari, or Edge).
  • Your organization's Udyamo URL (provided by your administrator).

Accessing the Application

Udyamo ERP Lite is a web application. There is no software to download or install on your computer. Open your web browser and navigate to the URL where your organization's instance is hosted. This might be a custom domain (e.g., erp.yourcompany.com) or a cloud-hosted address provided during setup.

Udyamo ERP Lite login page

Signing Up

If your organization has just deployed Udyamo ERP Lite for the first time, the first user will need to create an account. Subsequent users are typically created by an administrator.

Step-by-step: Creating your first account

  1. Navigate to the application URL in your browser.
  2. On the login page, click the Sign Up link.
  3. Enter the following information:
    • Email address — Use your business email. This will be your login identifier.
    • Password — Choose a strong password (minimum 8 characters, including at least one uppercase letter, one number, and one special character).
    • Password confirmation — Re-enter the same password.
  4. Click Sign Up to create your account.
  5. You will be redirected to the setup wizard (covered in Chapter 5) if this is a fresh installation, or to the dashboard if the organization is already configured.

Tip: The first user to sign up on a fresh installation automatically becomes the organization administrator. This user has full access to all modules and settings. Choose this person carefully — it should be someone responsible for the overall system configuration.

Required: A valid email address is mandatory. If email delivery is configured on the server, you may receive a confirmation email that must be verified before you can log in.

Logging In

For returning users, the login process is straightforward.

Step-by-step: Logging in

  1. Navigate to the application URL.
  2. Enter your email address and password.
  3. Click Log In.
  4. If your credentials are correct, you will be redirected to the dashboard.

Dashboard after successful login

If you have forgotten your password, click the Forgot your password? link on the login page. Enter your email address, and the system will send a password reset link (provided email delivery is configured).

Warning: After multiple failed login attempts, your account may be temporarily locked for security purposes. If this happens, wait a few minutes before trying again or contact your administrator.

The Dashboard

The dashboard is the first screen you see after logging in. It provides a real-time overview of your organization's key metrics across four tabs: Financial, Inventory, Manufacturing, and Sales. The tabs that appear depend on which modules are enabled for your organization.

Financial Tab

The Financial tab presents a summary of your organization's financial health.

MetricDescription
RevenueTotal invoiced revenue for the current period
ExpensesTotal recorded expenses for the current period
Accounts ReceivableTotal outstanding amounts owed by customers
Accounts PayableTotal outstanding amounts owed to vendors

This tab gives the business owner or finance manager an immediate sense of cash flow and financial position without needing to open detailed reports.

Financial dashboard tab

Inventory Tab

The Inventory tab shows the current state of your stock.

MetricDescription
Total Stock ValueThe aggregate value of all items currently in stock, across all locations
Low Stock ItemsItems whose current quantity has fallen below their reorder level

Low stock alerts are particularly valuable for manufacturing operations. If a critical raw material runs low, production orders may be delayed. This tab surfaces that risk before it becomes a problem.

Inventory dashboard tab

Manufacturing Tab

The Manufacturing tab focuses on production activity.

MetricDescription
Active Production OrdersNumber of production orders currently in progress on the shop floor
Pending Quality InspectionsNumber of completed production batches awaiting quality inspection

For a factory manager, these two numbers define the day. Active production orders indicate workload. Pending inspections indicate potential bottlenecks — finished goods cannot be dispatched until they pass inspection.

Manufacturing dashboard tab

Sales Tab

The Sales tab summarizes commercial activity.

MetricDescription
Recent InvoicesA list of the most recently created invoices with customer name, amount, and status
Outstanding AmountsTotal value of unpaid invoices, giving a quick picture of collection status

Sales dashboard tab

Tip: Make the dashboard your starting point each day. A quick glance at all four tabs — Financial, Inventory, Manufacturing, Sales — takes less than a minute and gives you a complete picture of where the business stands right now.

The primary navigation in Udyamo ERP Lite is a sidebar menu on the left side of the screen. The sidebar organizes all modules and their sub-sections into a clear hierarchy.

The sidebar structure follows the module organization:

Menu SectionItems
DashboardOverview (the main dashboard described above)
ManufacturingProduction Orders, Bills of Materials, Quality Inspections, Contractors, Job Work Orders
InventoryItems, Locations, Stock Ledger, Units of Measure
SalesCustomers, Sales Orders, Invoices, Proforma Invoices, Payments
PurchasesVendors, Purchase Orders, Bills, Payment Batches
AccountingChart of Accounts, Journal Entries, Ledger
Tax & ComplianceGST Returns, E-Way Bills, TDS Sections
HR & PayrollEmployees, Salary Slips
AssetsAsset Register, Asset Categories, Depreciation Entries
SettingsOrganization, Users, Roles, Setup

The sidebar items visible to each user depend on their assigned role. A shop floor supervisor will see Manufacturing and Inventory sections. An accountant will see Accounting, Tax, and possibly Sales and Purchases. An administrator sees everything.

Sidebar navigation menu

Tip: Learn the sidebar structure early. Knowing where each function lives will save you time as you work with the system daily. The hierarchy mirrors the natural flow of business operations: manufacturing produces goods, inventory tracks them, sales sells them, purchases procures materials, and accounting records everything financially.

Profile Settings

Every user can access their profile settings to manage personal account details.

Step-by-step: Accessing and updating your profile

  1. Click on your name or avatar in the top-right corner of the screen.
  2. Select Profile from the dropdown menu.
  3. On the profile page, you can:
    • Update your name as it appears in the system.
    • Change your email address (may require re-verification).
    • Change your password (you must enter your current password for confirmation).
  4. Click Save to apply changes.

Required: Changing your password requires entering your current password. If you have forgotten your current password, use the password reset flow from the login page instead.

First Login Walkthrough

Here is a consolidated walkthrough for your very first session with Udyamo ERP Lite:

  1. Open your browser and navigate to the application URL.
  2. Sign up with your business email and a strong password.
  3. Complete the setup wizard if prompted (see Chapter 5 for full details).
  4. Arrive at the dashboard. Review each tab — Financial, Inventory, Manufacturing, Sales.
  5. Explore the sidebar. Click through each section to familiarize yourself with the module structure. You do not need to enter any data yet; simply note what is available.
  6. Check your profile settings. Verify your name and email are correct.
  7. Log out by clicking your name in the top-right corner and selecting Log Out. Then log back in to confirm your credentials work.

This entire process should take no more than 10 to 15 minutes. Once complete, you are ready to proceed with first-time organization setup.

Tips & Best Practices

Tip: Bookmark the application URL in your browser for quick access. If you use the system daily — and you should — having it one click away removes friction.

Tip: If you are the administrator, create user accounts for your team before they need to start using the system. Pre-configure roles so that each person sees only the modules relevant to their job. This reduces confusion during onboarding.

Warning: Do not share login credentials between users. Each person should have their own account. Shared accounts undermine the audit trail — if a problem occurs, you will not be able to determine who performed the action.

Quick Reference

ActionHow To
Sign upNavigate to application URL, click Sign Up, enter email and password
Log inEnter email and password on the login page, click Log In
Reset passwordClick "Forgot your password?" on login page, enter email, follow the link
View dashboardAutomatically displayed after login; click Dashboard in sidebar to return anytime
Switch dashboard tabsClick Financial, Inventory, Manufacturing, or Sales tabs on the dashboard
Navigate modulesUse the sidebar menu on the left side of the screen
Update profileClick your name (top-right), select Profile, make changes, click Save
Log outClick your name (top-right), select Log Out

First-Time Setup — Organization, Modules & Financial Year

After your first login, the most important step is configuring your organization in Udyamo ERP Lite. The setup wizard guides you through entering your company details, enabling the modules you need, setting the financial year, and configuring tax parameters. Getting this right at the start ensures that every document, calculation, and report the system produces is accurate and compliant.

This chapter walks through each step of the initial setup process in detail.

What You Will Learn

  • How to complete the setup wizard from start to finish
  • How to configure your organization profile (name, GSTIN, PAN, address, logo)
  • How to enable and disable modules (manufacturing, inventory, accounting)
  • How to set the financial year and its start month
  • How to configure GST settings (GSTIN, state code, registration type)
  • How to use demo mode for exploration and training
  • How to configure document number ranges

Prerequisites

  • You must be logged in as the organization administrator (the first user account).
  • Read Chapter 4: Getting Started for login and navigation basics.

The Setup Wizard

Udyamo ERP Lite includes a setup wizard that appears automatically on the first login to a fresh installation. The wizard walks you through the essential configuration in a logical sequence. If you need to return to these settings later, they are accessible through the Settings section in the sidebar.

The setup wizard covers the following steps in order:

  1. Organization profile
  2. Module selection
  3. Financial year configuration
  4. GST configuration
  5. Review and confirm

Setup wizard — welcome screen

Tip: Complete the setup wizard in one sitting. While you can return to settings later, having the core configuration in place from the start prevents issues with document numbering, tax calculations, and module availability.

Step 1: Organization Profile

The organization profile contains the basic information that identifies your company. This data appears on invoices, purchase orders, reports, and other printed documents.

Step-by-step: Configuring the organization profile

  1. In the setup wizard (or navigate to Settings > Organization), you will see the organization profile form.
  2. Fill in the following fields:
FieldDescriptionExample
Organization NameYour registered company nameRajesh Steel Fabricators Pvt. Ltd.
GSTIN15-digit GST Identification Number24AABCR1234F1Z5
PAN10-character Permanent Account NumberAABCR1234F
Address Line 1Street addressPlot 45, GIDC Industrial Estate
Address Line 2Additional address detailsPhase II, Vatva
CityCity or townAhmedabad
StateState (used for GST state code determination)Gujarat
PIN Code6-digit postal code382445
PhonePrimary contact number+91 79 2589 1234
EmailOfficial company email[email protected]
LogoCompany logo (uploaded image file)(upload a PNG or JPG file)
  1. Click Save & Continue to proceed to the next step.

Organization profile form

Required: GSTIN and PAN are mandatory fields. These are used for GST return preparation, e-way bill generation, and TDS compliance. Ensure the GSTIN matches your GST registration certificate exactly.

Warning: The GSTIN you enter here determines the default state code for your organization. If your business is registered in multiple states under different GSTINs, the primary GSTIN should be the one for your principal place of business. Multi-GSTIN support can be configured in advanced settings.

Step 2: Module Selection

Udyamo ERP Lite allows you to enable or disable major modules based on your business needs. This controls which sections appear in the sidebar and which features are active in the system.

The three toggleable modules are:

Module FlagWhat It Controls
manufacturing_enabledProduction Orders, Bills of Materials, Quality Inspections, Contractors, Job Work Orders
inventory_enabledItems, Locations, Stock Ledger Entries, Units of Measure
accounting_enabledChart of Accounts, Journal Entries, Ledger Entries, and financial reporting

Step-by-step: Enabling modules

  1. On the module selection screen, you will see toggle switches for each module.
  2. Enable the modules that apply to your business:
    • For a manufacturing company, enable all three: Manufacturing, Inventory, and Accounting.
    • For a trading company, enable Inventory and Accounting. Leave Manufacturing disabled.
    • For a company that wants to start simple, enable only Accounting and add modules as you grow.
  3. Click Save & Continue.

Tip: If you are unsure which modules to enable, start with all three enabled. You can disable a module later if you find you do not need it. It is easier to explore the system with all features visible and then narrow down, rather than discovering later that a feature you need was hidden behind a disabled module.

Warning: Disabling a module hides its menu items and features, but does not delete any data associated with it. If you disable Manufacturing after creating production orders, the data is preserved. Re-enabling the module makes everything visible again.

Step 3: Financial Year Configuration

Indian businesses operate on a financial year that typically runs from April to March. Udyamo ERP Lite needs to know your financial year configuration to correctly organize transactions, generate period-based reports, and manage year-end processes.

Step-by-step: Setting the financial year

  1. On the financial year configuration screen, set the following:
FieldDescriptionExample
Financial Year Start MonthThe first month of your financial yearApril (4)
Current Financial YearThe label for the active financial year2025-26
  1. Click Save & Continue.

Required: The financial year start month is critical. Almost all Indian businesses use April as the start month (financial year April to March). This aligns with the GST return calendar and the Income Tax assessment year. If your business follows a different convention for any reason, set the appropriate month here.

Tip: The current financial year label is used in reports, document numbering, and GST returns. Ensure it matches the actual financial year you are currently operating in. For example, if the current date is January 2026, the active financial year is 2025-26.

Step 4: GST Configuration

GST configuration ensures that every invoice, bill, and tax document your system generates is compliant with Indian GST law.

Step-by-step: Configuring GST settings

  1. On the GST configuration screen, verify or enter the following:
FieldDescriptionExample
GSTINPre-filled from organization profile24AABCR1234F1Z5
State Code2-digit state code (derived from GSTIN)24 (Gujarat)
Registration TypeYour GST registration categoryRegular
  1. Review the pre-filled values. The GSTIN and state code are typically carried forward from the organization profile you entered in Step 1.
  2. Select your Registration Type:
    • Regular — For businesses above the GST threshold that charge and collect GST.
    • Composition — For businesses under the composition scheme with simplified compliance.
    • Unregistered — For businesses below the threshold (limited functionality for GST features).
  3. Click Save & Continue.

Warning: The registration type affects how the system calculates taxes on invoices. A Regular registration applies CGST + SGST for intra-state transactions and IGST for inter-state transactions. A Composition registration applies a flat rate. Choosing the wrong type will result in incorrect tax calculations on every document.

GST configuration screen

Step 5: Review and Confirm

The final step of the setup wizard presents a summary of all your configuration choices.

  1. Review each section: Organization Profile, Module Selection, Financial Year, and GST Configuration.
  2. If anything needs correction, click the Edit button next to the relevant section to go back and make changes.
  3. Once satisfied, click Complete Setup.

The system will apply your configuration and redirect you to the dashboard. Your organization is now ready for use.

Demo Mode

Udyamo ERP Lite includes a demo mode that populates the system with realistic sample data. This is invaluable for training, evaluation, and experimentation.

Step-by-step: Activating demo mode

  1. Navigate to Settings > Organization (or access via the setup section).
  2. Locate the Demo Mode section.
  3. Click Activate Demo Mode.
  4. The system will generate sample data including:
    • Sample items (raw materials and finished goods)
    • Sample BOMs for finished goods
    • Sample customers and vendors
    • Sample production orders in various states
    • Sample invoices and bills
    • Sample journal entries

Deactivating and resetting demo mode:

ActionWhat It Does
Deactivate Demo ModeRemoves the demo data flag but preserves the data for reference
Reset Demo ModeClears all demo data and restores the system to a clean state

Warning: Resetting demo mode deletes all demo data permanently. If you have made changes to demo records that you want to keep, export them before resetting. Do not activate demo mode on an instance that already contains your real business data.

Tip: Use demo mode to train your team. Let each department head explore their relevant module with realistic data before switching to live operations. A shop floor supervisor can practice creating production orders. An accountant can explore the journal entry workflow. A sales executive can try creating invoices. This hands-on experience significantly reduces the learning curve.

Settings and Additional Configuration

Beyond the setup wizard, the Settings section provides access to additional configuration options.

Number ranges control the automatic numbering of documents such as invoices, purchase orders, production orders, and journal entries. Each document type has its own number range with a configurable prefix and starting number.

Document TypeExample PrefixExample Format
Sales InvoiceINVINV-2025-0001, INV-2025-0002, ...
Purchase OrderPOPO-2025-0001, PO-2025-0002, ...
Production OrderPRDPRD-2025-0001, PRD-2025-0002, ...
Journal EntryJEJE-2025-0001, JE-2025-0002, ...

Tip: Configure number ranges before you start entering live data. Changing the numbering scheme after transactions have been recorded can create gaps or inconsistencies in your document sequence, which may raise questions during audits.

Post-Setup Checklist

After completing the setup wizard, the following tasks should be completed before entering live transactions:

  1. Create user accounts for your team members (Settings > Users).
  2. Configure roles and assign them to users (Settings > Roles).
  3. Set up the Chart of Accounts if the default does not match your accounting structure.
  4. Create item master data (raw materials, finished goods, consumables).
  5. Enter opening stock balances if you have existing inventory.
  6. Create customer and vendor records for your active business partners.
  7. Set up BOMs for your manufactured products.
  8. Configure number ranges for all document types.

This post-setup work is covered in detail in subsequent chapters of this guide.

Tips & Best Practices

Tip: Take a screenshot of your setup wizard summary before clicking Complete Setup. This gives you a reference of your initial configuration that you can compare against later if questions arise.

Tip: If you are migrating from another system (spreadsheets, Tally, or another ERP), plan your data migration before completing setup. The financial year, chart of accounts, and opening balances must align with your previous records for a smooth transition.

Warning: Do not skip the GST configuration step even if you plan to configure it later. Invoices and bills created without proper GST settings will have incorrect tax calculations and will need to be revised.

Quick Reference

SettingLocationPurpose
Organization ProfileSettings > OrganizationCompany name, GSTIN, PAN, address, logo
Module TogglesSettings > OrganizationEnable/disable Manufacturing, Inventory, Accounting
Financial YearSettings > OrganizationStart month and current year label
GST ConfigurationSettings > OrganizationGSTIN, state code, registration type
Demo ModeSettings > OrganizationActivate, deactivate, or reset sample data
Number RangesSettings > Number RangesDocument numbering prefixes and sequences
User AccountsSettings > UsersCreate and manage user accounts
RolesSettings > RolesDefine roles and assign permissions
Setup WizardSettings > SetupRe-run the initial configuration wizard

What is Inventory Management?

Every manufacturing business — whether it makes hydraulic cylinders, auto components, or textile machinery — holds inventory. Raw materials sit in the warehouse waiting to be consumed. Semi-finished parts move between work stations on the shop floor. Finished goods await dispatch. Consumables like lubricant oil, welding rods, and packaging boxes are used daily but often tracked poorly. All of this is inventory, and how you manage it determines whether your cash works for you or sits idle on shelves.

Inventory management is the practice of ordering, storing, tracking, and controlling stock so that the right materials are available in the right quantity, at the right location, at the right time — without tying up more cash than necessary.


What You Will Learn

  • The different types of inventory in a manufacturing business
  • Why inventory management matters for profitability and operations
  • Core inventory concepts: SKU, batch tracking, valuation methods, reorder points
  • The categories of inventory costs
  • How ERP replaces manual tracking with real-time, data-driven control

Prerequisites

  • A basic understanding of manufacturing operations (covered in Chapter 2)
  • Familiarity with the Udyamo ERP Lite interface (covered in Chapter 4)

Types of Inventory

Manufacturing businesses hold several categories of inventory, each with different characteristics and tracking needs.

Raw Materials

These are the inputs you purchase from vendors and consume in production. Examples include MS (mild steel) plates, MS round bars, aluminum ingots, copper wire, rubber sheets, and chemical compounds. Raw materials represent the starting point of your manufacturing process and are typically the largest category of inventory by value.

Work-in-Progress (WIP)

WIP consists of items that have entered production but are not yet complete. A steel plate that has been cut and drilled but not yet painted or assembled is WIP. Tracking WIP accurately is critical for understanding production costs and identifying bottlenecks.

Semi-Finished Goods

These are intermediate products that have completed some production stages and may be stocked before further processing. In Udyamo ERP Lite, these are tracked using the semi_finished item type. For example, a machined shaft that will later be assembled into a gearbox is a semi-finished good.

Finished Goods

Products that have completed all production stages and are ready for sale or dispatch. A fully assembled hydraulic press, a set of precision bearings, or a batch of CNC-machined flanges — these are your finished goods.

Consumables

Items used in operations but not directly part of the finished product. Examples: lubricant oil for machines, cutting tools, welding electrodes, safety gloves, packaging boxes, and cable ties. Consumables are easy to overlook but can represent significant expenditure over time.

MRO (Maintenance, Repair & Operations)

A subset of consumables specifically tied to equipment maintenance — spare belts for conveyors, replacement filters, greasing materials, and electrical fuses. Some businesses track MRO separately; others group them with consumables.


Why Inventory Management Matters

Poor inventory management silently erodes profitability. Here is how:

Cash Tied Up in Stock

Every rupee sitting in your warehouse as excess stock is a rupee not available for operations, vendor payments, or growth investment. Indian SMBs frequently carry 20–40% more inventory than needed simply because they lack visibility into what they have and what they actually need.

Stockouts and Production Delays

When a critical raw material runs out, production stops. If you discover the shortage of M10 bolts only when the assembly line needs them, you face either expensive emergency procurement or idle labour and machines. A single day of production downtime can cost a small manufacturer lakhs in lost output.

Overstocking and Obsolescence

Buying in bulk to get vendor discounts sounds prudent — until the material specification changes, demand shifts, or the stock degrades. Steel can rust if stored improperly. Rubber compounds have shelf life. Electronic components become obsolete. Excess stock is not an asset; it is a liability disguised as one.

Inaccurate Costing

If you do not know exactly how much raw material went into a product, you cannot accurately cost it. This means your pricing may be based on guesswork, and you may be selling products at a loss without knowing it.


Key Inventory Concepts

SKU (Stock Keeping Unit)

An SKU is a unique identifier for each distinct item you track. In Udyamo ERP Lite, this corresponds to the Item Code field. A well-structured SKU system — for example, RM-STL-MS-PLT-6MM for a 6mm MS plate — makes searching, reporting, and auditing dramatically easier.

Stock-Keeping and Perpetual Inventory

There are two broad approaches to tracking stock:

  • Periodic inventory — You count stock at intervals (weekly, monthly) and update records. The gap between counts is a blind spot.
  • Perpetual inventory — Every purchase, sale, production, and transfer updates stock in real time. Udyamo ERP Lite uses perpetual inventory through its Stock Ledger, giving you an accurate running balance at all times.

Valuation Methods

How do you value stock when the same item was purchased at different prices over time?

  • FIFO (First In, First Out) — Oldest stock is assumed to be consumed first. Common and generally recommended.
  • LIFO (Last In, First Out) — Newest stock is assumed consumed first. Less common in India.
  • Weighted Average — Each receipt recalculates the average cost. Simple and widely used by Indian SMBs.

Batch Tracking

When you receive MS rods from a vendor, each lot may have a different heat number, grade certificate, or quality test result. Batch tracking lets you trace every unit of stock back to its origin — essential for quality issues, recalls, and warranty claims. Udyamo ERP Lite supports batch tracking through the batch_number field on stock ledger entries.

Reorder Point and Safety Stock

The reorder point is the stock level at which you should place a new purchase order. Safety stock is the buffer you maintain to absorb variability in demand or supplier lead time. Together, they prevent stockouts without excessive overstocking.

Reorder Point = (Average Daily Usage x Lead Time in Days) + Safety Stock

Lead Time

The number of days between placing a purchase order and receiving the goods. A vendor in the same city may deliver in 2 days; imported specialty steel may take 45 days. Lead time directly affects how early you must reorder.


Inventory Costs

Inventory costs extend far beyond the purchase price of materials.

Cost CategoryDescriptionExamples
Carrying CostCost of holding stock over timeWarehouse rent, insurance, deterioration, opportunity cost of capital
Ordering CostCost of placing and receiving ordersPurchase order processing, goods inspection, transport
Stockout CostCost of running out of stockProduction downtime, emergency procurement premium, lost sales, customer penalties
Shrinkage CostLoss from theft, damage, or miscountingPilferage, water damage, rust, evaporation of chemicals

For most Indian manufacturers, carrying cost alone runs 15–25% of inventory value per year. Reducing excess stock by even 10% can free up significant working capital.


How ERP Transforms Inventory Management

Without ERP, inventory management relies on stock registers, Excel sheets, and periodic physical counts. The problems are predictable: data entry errors, stale information, no location-level visibility, and no automatic alerts.

With Udyamo ERP Lite, inventory management becomes real-time and integrated:

  • Automatic stock updates — Purchases, sales, production, and transfers update stock instantly through the Stock Ledger
  • Location-level tracking — Know exactly how much stock is at each warehouse, shop floor, or distribution center
  • Batch and expiry tracking — Trace every item back to its source; get warnings before stock expires
  • Reorder alerts — The system notifies you when stock falls below the reorder level
  • Integrated costing — Stock values flow directly into accounting, ensuring accurate product costing and financial reports
  • GST-ready — Every item carries its HSN code and GST rate, so tax calculations are automatic on every transaction

The chapters that follow will walk you through setting up and using each of these capabilities. You will start by creating your item catalog, then define units and locations, and finally learn to read and act on stock movements and alerts.


Tips & Best Practices

Tip: Before you start entering items into the ERP, spend time designing your item code structure. A consistent naming convention (e.g., category-subcategory-specification) saves enormous time in searching and reporting later.

Tip: Conduct a physical stock count before going live with the ERP. Opening balances entered during setup must match reality, or every subsequent report will be unreliable.

Warning: Do not try to track every nut, bolt, and washer individually if the cost is trivial. Focus tracking effort on items that represent significant value or are critical to production. Low-value consumables can be tracked in bulk.


Quick Reference

ConceptDescription
Raw MaterialsInputs purchased for production (MS plates, copper wire)
WIPItems currently in production, not yet complete
Semi-Finished GoodsIntermediate products stocked between production stages
Finished GoodsCompleted products ready for sale
ConsumablesItems used in operations but not part of the product
SKU / Item CodeUnique identifier for each tracked item
Perpetual InventoryReal-time stock updates on every transaction
FIFOFirst In, First Out — oldest stock consumed first
Weighted AverageAverage cost recalculated on each receipt
Reorder PointStock level that triggers a new purchase order
Safety StockBuffer stock to absorb demand/supply variability
Lead TimeDays between placing an order and receiving goods
Carrying CostAnnual cost of holding inventory (15–25% of value)

Items — Raw Materials, Finished Goods & More

The Item master is the central catalog of everything your business buys, makes, stocks, and sells. Every transaction in Udyamo ERP Lite — purchase orders, production orders, invoices, stock movements — references an item from this catalog. A well-structured item master is the foundation of reliable inventory, accurate costing, and compliant GST filing.

This chapter covers how to create and manage items in Udyamo ERP Lite, including the different item types, HSN and GST configuration, specifications, and stock tracking options.


What You Will Learn

  • The concept of an item master and why it matters
  • The five item types supported in Udyamo ERP Lite
  • How to assign HSN codes and GST rates for Indian tax compliance
  • How to configure units of measurement, specifications, and tracking options
  • Step-by-step instructions for creating items of each type
  • Field reference for the Item form

Prerequisites

  • Udyamo ERP Lite is set up with your organization details (Chapter 5)
  • At least one Unit of Measurement exists in the system (Chapter 8 covers creating units — you may set up basic units first)
  • You have Owner or Admin role access

The Item Master Concept

Think of the item master as your business's product and material dictionary. Every distinct thing you deal with gets a single entry here. When a purchase officer creates a purchase order for "MS Plate 6mm", they select it from the item master. When the production team consumes that plate, the same item record is referenced. When the accountant reviews stock valuation, the same item and its transactions appear.

This single-source-of-truth approach eliminates a common problem in manual systems: the same material being recorded as "MS Plate 6mm", "Mild Steel Plate 6 mm", and "M.S. Plate 6MM" in different registers, making consolidation impossible.


Item Types

Udyamo ERP Lite classifies items into five types. Choosing the correct type is important because it affects how the item appears in transactions and reports.

Item TypeCodeDescriptionExamples
Raw Materialraw_materialInputs purchased from vendors and consumed in productionMS plates, MS round bars, bearings, copper wire, rubber sheets
Finished Goodfinished_goodCompleted products ready for saleHydraulic cylinders, CNC machined flanges, assembled gearboxes
Semi-Finishedsemi_finishedIntermediate products stocked between production stagesMachined shafts (before assembly), cut-and-drilled plates
ConsumableconsumableItems used in operations, not part of the end productLubricant oil, welding electrodes, packaging boxes, cable ties
ServiceserviceNon-physical items representing servicesAnnual maintenance contracts, machining charges, transport

Tip: Use the service type for items that do not involve physical stock. Services are not tracked in the stock ledger, so the Track Stock option is typically disabled for them.


HSN Code and GST Rate

Every item in Udyamo ERP Lite carries an HSN Code (Harmonized System of Nomenclature) and a GST Rate. These fields are critical for Indian tax compliance.

HSN Code

The HSN code is a standardized numerical code that classifies goods for GST purposes. The code determines the applicable GST rate and is mandatory on invoices for businesses with turnover above the prescribed threshold.

Examples of common HSN codes in manufacturing:

MaterialHSN CodeGST Rate
MS Plates and Sheets720818%
MS Round Bars721418%
Bearings (ball/roller)848218%
Lubricant Oil271018%
Packaging Boxes (corrugated)481918%
Hydraulic Cylinders841218%
Bolts and Nuts731818%
Rubber Sheets400818%

Warning: HSN codes and GST rates are set by the government and may change. Always verify the current rate on the CBIC (Central Board of Indirect Taxes and Customs) website or consult your tax advisor before setting up items.

GST Rate

Enter the GST rate as a percentage. Common rates are 5%, 12%, 18%, and 28%. For items with 0% GST (exempted or nil-rated), enter 0. The GST rate you set on the item is used as the default when creating invoices and bills, ensuring consistent tax calculation.


Unit of Measurement

Each item is linked to a Unit — the standard measure in which you buy, stock, and sell that item. You select from the units you have already created in the system (see Chapter 8).

Common assignments:

ItemUnit
MS Plate 6mmkg
MS Round Bar 12mmkg
Bearing 6205pcs (pieces)
Lubricant Oilltr (litres)
Packaging Box (small)nos (numbers)
Welding Electrodekg
Machining Servicehrs (hours)

Tip: Choose the unit that matches your primary procurement and consumption pattern. If you buy steel by the kilogram and consume it by the kilogram, use kg. If you buy bearings individually, use pcs.


Specifications (JSONB)

The Specifications field stores structured attribute data in JSON format. This is useful for recording technical details that vary between items but follow a consistent pattern within a category.

Example specifications for a bearing:

{
  "bore_diameter_mm": 25,
  "outer_diameter_mm": 52,
  "width_mm": 15,
  "type": "deep_groove_ball",
  "brand": "SKF",
  "load_rating_kn": 14.8
}

Example specifications for an MS plate:

{
  "thickness_mm": 6,
  "grade": "IS 2062 E250",
  "width_mm": 1250,
  "length_mm": 2500,
  "surface": "hot_rolled"
}

Specifications make it easy to filter and compare items without encoding every detail into the item name or code.


Stock Tracking and Expiry Tracking

Track Stock

When Track Stock is enabled (the default for physical items), every purchase, sale, production, and transfer updates the stock ledger and running balance for this item. Disable this only for services or items you intentionally do not want to track at the stock level.

Track Expiry

Enable Track Expiry for items that have a shelf life — chemicals, adhesives, rubber compounds, paints, and certain lubricants. When enabled, you can record the expiry date on each stock ledger entry, and the system can alert you to approaching expirations.


Reorder Level and Max Stock Level

  • Reorder Level — The stock quantity at which the system generates a low-stock alert. Set this based on your average consumption and vendor lead time (see Chapter 11 for details).
  • Max Stock Level — The upper bound for stock. Useful for items with storage constraints or shelf-life limitations.

Step-by-Step: Creating Items

Creating a Raw Material

  1. Navigate to Inventory > Items
  2. Click Add New
  3. Fill in the fields:
    • Item Name: MS Plate 6mm
    • Item Code: RM-STL-MS-PLT-6MM
    • Item Type: Raw Material
    • HSN Code: 7208
    • GST Rate: 18
    • Unit: kg
    • Description: Mild steel hot-rolled plate, 6mm thickness, IS 2062 E250 grade
    • Specifications: {"thickness_mm": 6, "grade": "IS 2062 E250", "surface": "hot_rolled"}
    • Reorder Level: 500
    • Max Stock Level: 5000
    • Track Stock: Enabled
    • Track Expiry: Disabled
    • Active: Enabled
  4. Click Save

Creating a raw material item

Creating a Finished Good

  1. Navigate to Inventory > Items
  2. Click Add New
  3. Fill in the fields:
    • Item Name: Hydraulic Cylinder HC-50
    • Item Code: FG-HYD-CYL-HC50
    • Item Type: Finished Good
    • HSN Code: 8412
    • GST Rate: 18
    • Unit: pcs
    • Description: 50-ton hydraulic cylinder, double-acting, 150mm bore
    • Specifications: {"bore_mm": 150, "stroke_mm": 300, "capacity_ton": 50, "type": "double_acting"}
    • Reorder Level: 5
    • Max Stock Level: 50
    • Track Stock: Enabled
    • Track Expiry: Disabled
  4. Click Save

Creating a Consumable

  1. Navigate to Inventory > Items
  2. Click Add New
  3. Fill in the fields:
    • Item Name: Hydraulic Oil ISO VG 68
    • Item Code: CON-OIL-HYD-VG68
    • Item Type: Consumable
    • HSN Code: 2710
    • GST Rate: 18
    • Unit: ltr
    • Description: Hydraulic oil, ISO VG 68 grade, for hydraulic press and cylinder testing
    • Reorder Level: 50
    • Max Stock Level: 500
    • Track Stock: Enabled
    • Track Expiry: Enabled
  4. Click Save

Creating a Service Item

  1. Navigate to Inventory > Items
  2. Click Add New
  3. Fill in the fields:
    • Item Name: CNC Machining Charges
    • Item Code: SVC-MCH-CNC
    • Item Type: Service
    • HSN Code: 9988
    • GST Rate: 18
    • Unit: hrs
    • Description: CNC machining service charges for job work
    • Track Stock: Disabled
    • Track Expiry: Disabled
  4. Click Save

Tip: Service items do not appear in stock reports. Use them for service-based line items on invoices and bills.


Tips & Best Practices

Tip: Design a consistent item code structure before you start entering items. A common pattern is: [TYPE]-[CATEGORY]-[SUBCATEGORY]-[SPECIFICATION]. For example: RM-STL-MS-ROD-12MM (raw material, steel, mild steel, rod, 12mm).

Tip: If you are migrating from a legacy system or spreadsheets, prepare a clean spreadsheet with all item data first. Map each column to the corresponding Udyamo field. This avoids errors and omissions during data entry.

Warning: Do not create duplicate items for the same physical material. If the same MS plate is purchased from two different vendors, it is still one item. Vendor-specific details belong on the purchase order, not the item master.

Tip: Start with your most frequently transacted items — typically 50 to 100 items will cover 80% of your transactions. You can always add more items later. Do not let the quest for a complete catalog delay your ERP go-live.

Tip: Use the Active toggle to retire items you no longer deal in, rather than deleting them. Deactivated items are excluded from selection dropdowns but remain visible in historical transactions.


Quick Reference — Item Fields

FieldRequiredDescriptionExample
Item NameYesHuman-readable name of the itemMS Plate 6mm
Item CodeYesUnique identifier / SKURM-STL-MS-PLT-6MM
Item TypeYesClassification: raw_material, finished_good, semi_finished, consumable, serviceraw_material
HSN CodeYesHarmonized System of Nomenclature code for GST7208
GST RateYesGST percentage applicable to this item18
UnitYesUnit of measurement (selected from Units master)kg
DescriptionNoFree-text description of the itemMild steel hot-rolled plate, 6mm
SpecificationsNoStructured attributes in JSON format{"thickness_mm": 6}
Reorder LevelNoStock level that triggers a low-stock alert500
Max Stock LevelNoUpper stock limit for the item5000
Track StockYesWhether to maintain stock ledger entriestrue
Track ExpiryYesWhether to track batch expiry datesfalse
ActiveYesWhether the item is active and available for transactionstrue

Units of Measurement

Units of measurement are the language of inventory. When you say you have "500" of an item in stock, the obvious question is: 500 what? Kilograms? Pieces? Litres? Metres? Without a standardized unit system, inventory records become ambiguous, purchase orders lead to disputes, and production planning falls apart.

In Udyamo ERP Lite, every item is linked to a unit. This chapter explains how to set up and manage units of measurement for your manufacturing business.


What You Will Learn

  • Why standardized units of measurement matter in manufacturing ERP
  • Common units used in Indian manufacturing
  • The concept of base units
  • How to create and manage units in Udyamo ERP Lite
  • Practical considerations for unit selection

Prerequisites

  • Udyamo ERP Lite is set up with your organization details (Chapter 5)
  • You have Owner or Admin role access

Why Standardized Units Matter

Consider a simple scenario: your purchase team orders "100 MS rods" from a vendor. The vendor ships 100 kilograms of MS rods. The purchase team expected 100 pieces. The discrepancy causes delays, incorrect billing, and frustration on both sides.

This is not a hypothetical example. Unit mismatches are among the most common sources of error in manufacturing operations. A robust ERP system enforces a single, unambiguous unit for every item, and that unit is used consistently across all transactions — purchases, production, sales, and stock records.

Standardized units also enable:

  • Accurate stock valuation — You cannot calculate the value of stock if the quantity is ambiguous
  • Reliable consumption tracking — Production must consume materials in the same units they are stocked
  • Consistent reporting — Inventory reports, purchase summaries, and sales analytics all depend on comparable units
  • GST compliance — Invoices and e-way bills require quantity in a recognized unit

Common Units in Manufacturing

The following table lists units frequently used by Indian manufacturing businesses:

Unit NameAbbreviationTypical Use
KilogramkgMetals (steel, aluminium, copper), chemicals, welding electrodes
GramgPrecious metals, small chemical quantities
TonneMTBulk metals, heavy raw materials
LitreltrOils, lubricants, paints, chemicals
MillilitremlSmall liquid quantities, adhesives
PiecepcsBearings, bolts, nuts, individual components
NumbernosFinished goods, assembled units, packaging items
MetremtrPipes, bars, cables, fabric
FootftTimber, some piping standards
Square Footsq.ftSheet materials, flooring, surfaces
Square Metresq.mCoated surfaces, plating area
Cubic Footcu.ftVolume-based materials, packaging
Cubic Metrecu.mConcrete, bulk volume materials
SetsetTool sets, assembly kits
PairpairGloves, shoes, symmetrical components
RollrollWire, tape, sheet material on rolls
BundlebdlRods, pipes sold in bundles
HourhrsService items, labour, machine time
BoxboxPackaged goods, fasteners in bulk
BagbagCement, powders, granular materials

Tip: You do not need to create every possible unit upfront. Start with the units you will use immediately — typically 8 to 12 units cover most manufacturing needs. You can always add more later.


Base Units

In Udyamo ERP Lite, each unit has a Base Unit flag (boolean). A base unit is one of the fundamental measurement types in your system. For example, kg might be your base unit for weight, ltr for volume, and pcs for count.

Marking a unit as a base unit serves as a reference point. When you have multiple units in the same measurement family (kg and g, ltr and ml), the base unit flag identifies the primary unit. This distinction is useful for future unit conversion features and reporting.

Measurement FamilyBase UnitRelated Units
Weightkgg, MT
Volumeltrml
Lengthmtrft
Countpcsnos, set, pair
Areasq.msq.ft
Timehrs

Tip: For most manufacturing businesses, marking kg, ltr, mtr, pcs, and sq.m as base units is a sensible starting point.


Step-by-Step: Creating Units

Creating a Base Unit (Kilogram)

  1. Navigate to Inventory > Units
  2. Click Add New
  3. Fill in the fields:
    • Name: Kilogram
    • Abbreviation: kg
    • Base Unit: Enabled
  4. Click Save

Creating a unit of measurement

Creating Additional Units

Repeat the process for each unit your business needs. Here is a recommended initial set:

NameAbbreviationBase Unit
KilogramkgYes
GramgNo
TonneMTNo
LitreltrYes
MillilitremlNo
PiecepcsYes
NumbernosNo
MetremtrYes
FootftNo
Square Footsq.ftNo
Square Metresq.mYes
HourhrsYes
RollrollNo
BoxboxNo
SetsetNo
BundlebdlNo

Required: You must create at least one unit before you can create items (Chapter 7). If you are setting up the system for the first time, create your units first.


Unit Selection Guidelines

Choosing the right unit for each item requires thought. Consider the following:

Match Your Procurement Unit

If you purchase MS rods by the kilogram, set the unit to kg. If you purchase bearings by the piece, set the unit to pcs. The item's unit should match the most common unit used in purchase transactions.

Match Your Consumption Unit

If production consumes steel in kilograms, the unit should be kg. If the production team draws 5 pieces of a component per assembly, the unit should be pcs. Ideally, procurement and consumption use the same unit.

When Procurement and Consumption Units Differ

Occasionally, you may buy in one unit and consume in another — for example, purchasing paint in litres but consuming it in millilitres, or buying wire in rolls but consuming it in metres. In such cases, choose the unit that is most practical for day-to-day operations. If you consume in ml but buy in ltr, consider whether tracking in ltr at a higher level is sufficient, or if ml-level precision is genuinely needed.

Avoid Ambiguity

"Piece" and "Number" are often used interchangeably. Choose one convention and stick with it. If your business uses "nos" on all invoices, make that your standard count unit. Consistency prevents confusion.


Tips & Best Practices

Tip: Create all your units before entering items. This avoids the interruption of having to create units mid-way through item setup.

Tip: Keep abbreviations short and consistent. Use lowercase abbreviations (kg, ltr, pcs) as they are easier to read in tables and reports.

Warning: Once a unit is assigned to items and transactions exist, changing the unit on an item can cause inconsistencies. Choose units carefully during initial setup. If a correction is needed later, it is better to create a new item with the correct unit and retire the old one.

Tip: If your business exports goods, check whether your units align with international standards. The metric system (kg, ltr, mtr) is universally understood. Non-standard units like "bundle" or "box" may need clarification on export documentation.


Quick Reference — Unit Fields

FieldRequiredDescriptionExample
NameYesFull name of the unitKilogram
AbbreviationYesShort form used in transactions and reportskg
Base UnitYesWhether this is a base (primary) unit for its measurement familytrue

Warehouses & Locations

A manufacturing business rarely stores everything in one place. Raw materials may arrive at a central receiving warehouse. Semi-finished parts move to the shop floor for further processing. Finished goods are stored in a separate dispatch warehouse or a distribution center closer to customers. Some businesses maintain multiple sites across different cities.

Udyamo ERP Lite tracks inventory at the location level. Every stock movement — whether a purchase receipt, production output, transfer, or sale — is recorded against a specific location. This gives you precise visibility into what is where, at all times.


What You Will Learn

  • The concept of locations and why location-level inventory tracking matters
  • The three location types in Udyamo ERP Lite
  • Hierarchical locations using parent-child relationships
  • Location-based access control through user assignments
  • Step-by-step instructions for creating warehouses, shop floors, and distribution centers

Prerequisites

  • Udyamo ERP Lite is set up with your organization details (Chapter 5)
  • You have Owner or Admin role access

Why Location-Level Tracking Matters

Without location tracking, your stock records show a single aggregate number for each item. You might know you have 2,000 kg of MS plates in total, but not how much is in the main warehouse versus on the shop floor versus at a branch in another city.

This leads to problems:

  • Blind transfers — Materials are moved between locations without a record, and stock counts at each location diverge from reality
  • Misplaced stock — An item shows as available, but nobody can find it because it was moved without updating records
  • Inaccurate dispatch planning — The dispatch team at one warehouse sees total stock across all locations and commits to deliveries they cannot fulfil locally
  • Security gaps — Without location-level control, any user can view or transact stock at any location, even if they should only manage their own site

Udyamo ERP Lite solves these problems by making Location a required dimension on every stock ledger entry.


Location Types

Udyamo ERP Lite supports three types of locations, each representing a different function in your operations.

Warehouse

A storage facility for incoming materials, finished goods, or both. Warehouses are the most common location type. A typical manufacturing business has at least one raw material warehouse and one finished goods warehouse.

Examples:

  • Main Warehouse (for raw materials)
  • Finished Goods Warehouse
  • Spare Parts Store
  • Packing Material Store

Shop Floor

The production area where manufacturing happens. Tracking stock on the shop floor lets you see how much material has been issued to production and what is available for further operations.

Examples:

  • Machine Shop Floor
  • Assembly Line — Bay 1
  • Welding Section
  • Paint Shop

Distribution Center

A facility focused on outbound logistics — storing finished goods for dispatch to customers or regional distribution. Distribution centers are typically separate from the manufacturing plant.

Examples:

  • Mumbai Distribution Center
  • Delhi Regional Warehouse
  • Pune Dispatch Hub

Hierarchical Locations

Udyamo ERP Lite supports hierarchical locations through the parent_id field. This lets you model complex facility structures where locations contain sub-locations.

Example hierarchy:

Pune Factory (Warehouse)
├── Raw Material Store (Warehouse)
│   ├── Steel Section (Warehouse)
│   └── Electrical Section (Warehouse)
├── Production Block A (Shop Floor)
│   ├── CNC Section (Shop Floor)
│   └── Assembly Section (Shop Floor)
└── Finished Goods Store (Warehouse)

When you create a sub-location, you select its Parent Location from the existing locations. This creates the hierarchy.

Tip: Start with a flat structure (no hierarchy) if your business has a single manufacturing site with a few distinct areas. Introduce hierarchy only when you genuinely need to track stock at finer granularity. Overcomplicating the location structure adds unnecessary data entry overhead.


Location-Based Access Control

Udyamo ERP Lite restricts stock visibility and transaction capability by location through user-location assignments. This means:

  • A warehouse manager at the Mumbai distribution center sees only the stock at that location
  • A shop floor supervisor at Assembly Line Bay 1 can issue and receive materials only at that location
  • The plant head or owner can be assigned to all locations for a complete view

This is configured through the User Location Assignments feature, which links users to the locations they operate. Access control is covered in detail in Chapter 48, but it is important to plan your location structure with access control in mind from the start.

Tip: When setting up locations, list which users or roles need access to each one. This planning step ensures that user-location assignments are complete and correct when you begin transacting.


Address Fields

Each location has address fields to capture its physical location:

FieldDescriptionExample
AddressStreet address or plot detailsPlot 47, MIDC Industrial Area
CityCity namePune
StateState nameMaharashtra
PincodePIN code411026

These fields are useful for logistics planning, e-way bill generation (which requires dispatch and delivery addresses), and general recordkeeping.


Step-by-Step: Creating Locations

Creating a Warehouse

  1. Navigate to Inventory > Locations
  2. Click Add New
  3. Fill in the fields:
    • Name: Main Raw Material Warehouse
    • Location Type: Warehouse
    • Parent Location: (leave blank — this is a top-level location)
    • Address: Plot 47, MIDC Industrial Area, Phase II
    • City: Pune
    • State: Maharashtra
    • Pincode: 411026
    • Active: Enabled
  4. Click Save

Creating a warehouse location

Creating a Shop Floor

  1. Navigate to Inventory > Locations
  2. Click Add New
  3. Fill in the fields:
    • Name: Machine Shop Floor
    • Location Type: Shop Floor
    • Parent Location: (leave blank, or select the parent factory location if using hierarchy)
    • Address: Plot 47, MIDC Industrial Area, Phase II
    • City: Pune
    • State: Maharashtra
    • Pincode: 411026
    • Active: Enabled
  4. Click Save

Creating a Distribution Center

  1. Navigate to Inventory > Locations
  2. Click Add New
  3. Fill in the fields:
    • Name: Mumbai Distribution Center
    • Location Type: Distribution Center
    • Parent Location: (leave blank)
    • Address: Unit 12, Bhiwandi Warehouse Complex
    • City: Mumbai
    • State: Maharashtra
    • Pincode: 421302
    • Active: Enabled
  4. Click Save

Creating a Sub-Location (Hierarchical)

  1. Navigate to Inventory > Locations
  2. Click Add New
  3. Fill in the fields:
    • Name: Steel Section
    • Location Type: Warehouse
    • Parent Location: Main Raw Material Warehouse
    • Address: (inherits from parent — fill if different)
    • City: Pune
    • State: Maharashtra
    • Pincode: 411026
    • Active: Enabled
  4. Click Save

The Steel Section now appears as a child of the Main Raw Material Warehouse.


Planning Your Location Structure

Before creating locations in the system, consider these questions:

  1. How many physical sites does your business have? Each site typically becomes a top-level location.
  2. Within each site, how many distinct storage and production areas need separate stock tracking? Each becomes a location or sub-location.
  3. Do different teams manage different areas? If yes, separate locations enable access control.
  4. Will stock be transferred between areas? Every transfer between locations creates a stock ledger entry, so you need both source and destination locations defined.
  5. Do you need dispatch/delivery addresses for e-way bills? Each location with a unique address should be a separate location.

A practical starting configuration for a single-site manufacturer:

Location NameTypeParent
Main WarehouseWarehouse
Shop FloorShop Floor
Finished Goods StoreWarehouse

A multi-site manufacturer might use:

Location NameTypeParent
Pune FactoryWarehouse
Pune — Raw Material StoreWarehousePune Factory
Pune — Machine ShopShop FloorPune Factory
Pune — FG StoreWarehousePune Factory
Mumbai DCDistribution Center
Delhi DCDistribution Center

Tips & Best Practices

Tip: Keep location names descriptive but concise. "Main Warehouse" is better than "Warehouse 1" (which tells you nothing) or "Central Raw Material Receiving and Storage Warehouse Block A" (which is too long for dropdown menus and reports).

Warning: Do not create too many locations at the start. Every location adds a dimension to your stock tracking, and every stock movement must specify a location. If you create 20 sub-locations but your team only realistically tracks stock at 5 points, you will have inaccurate records at the granular level. Start with the minimum number of locations that reflect your actual operations, and expand as needed.

Tip: Deactivate locations you no longer use by setting Active to disabled. Deactivated locations are excluded from selection dropdowns in new transactions but remain visible in historical data.

Tip: If your business has a single small workshop with no meaningful separation between storage and production, a single location (e.g., "Workshop") is perfectly acceptable. Do not force hierarchy where none exists.


Quick Reference — Location Fields

FieldRequiredDescriptionExample
NameYesDescriptive name for the locationMain Raw Material Warehouse
Location TypeYesClassification: warehouse, shop_floor, distribution_centerwarehouse
Parent LocationNoParent location for hierarchical structurePune Factory
AddressNoStreet address or plot detailsPlot 47, MIDC Industrial Area
CityNoCity namePune
StateNoState nameMaharashtra
PincodeNoPIN code411026
ActiveYesWhether the location is active and available for transactionstrue

Stock Ledger & Stock Movements

The stock ledger is the heart of inventory management in Udyamo ERP Lite. It is a perpetual, transaction-level record of every stock movement — every purchase that adds stock, every sale that reduces it, every production run that transforms raw materials into finished goods, every transfer that moves items between locations, and every adjustment that corrects discrepancies.

If the item master (Chapter 7) is your catalog of what you track, and locations (Chapter 9) define where you track it, the stock ledger records how much of each item is at each location and why it changed.


What You Will Learn

  • The concept of a stock ledger and perpetual inventory
  • The six transaction types that create stock movements
  • How each transaction type affects stock quantities
  • Running balance calculation
  • Batch tracking and expiry date recording
  • Reference linking — tracing stock movements back to their source transactions
  • How to view and interpret the stock ledger

Prerequisites

  • Items are created in the system (Chapter 7)
  • Locations are created in the system (Chapter 9)
  • You have access to at least one location via user-location assignment

What is a Stock Ledger?

A stock ledger is a chronological record of all quantity changes for every item at every location. Each row in the ledger — called a Stock Ledger Entry — represents a single stock movement. Together, these entries provide a complete audit trail of your inventory from the moment you enter opening balances through every subsequent transaction.

Unlike a periodic system where you count stock at intervals and hope the numbers are right, a perpetual stock ledger updates in real time. When a purchase is received, stock goes up immediately. When an invoice is raised, stock goes down immediately. You never need to wonder what the current stock position is — the ledger tells you.


Transaction Types

Every stock ledger entry has a transaction_type that describes why the stock changed. Udyamo ERP Lite supports six transaction types.

Opening

Opening entries record the stock you had when you started using the system. These are typically entered once during initial setup, representing the physical stock counted before go-live.

DirectionEffect
InwardIncreases stock

Example: You count 2,500 kg of MS Plate 6mm in the Main Warehouse during setup. You create an opening entry for 2,500 kg at that location.

Purchase

Purchase entries are created when you receive goods against a purchase order or record a vendor bill. Each purchase receipt adds stock at the receiving location.

DirectionEffect
InwardIncreases stock

Example: You receive 1,000 kg of MS Round Bar 12mm from a vendor at the Main Warehouse. A purchase entry of +1,000 kg is recorded.

Sale

Sale entries are created when you raise a sales invoice and dispatch goods. Each sale reduces stock at the dispatch location.

DirectionEffect
OutwardDecreases stock

Example: You invoice and dispatch 50 pcs of Hydraulic Cylinder HC-50 from the Finished Goods Store. A sale entry of -50 pcs is recorded.

Production

Production creates two types of stock movements:

  • Consumption — Raw materials and semi-finished goods are consumed (stock decreases)
  • Output — Finished goods or semi-finished goods are produced (stock increases)

In the stock ledger, production entries can appear as positive (for output) or negative (for consumption), depending on how the production order processes material issues and finished good receipts.

DirectionEffect
Outward (consumption)Decreases stock of raw materials
Inward (output)Increases stock of finished/semi-finished goods

Example: A production order for 20 pcs of Hydraulic Cylinder HC-50 consumes 600 kg of MS Plate 6mm (outward) and produces 20 pcs of HC-50 (inward).

Transfer

Transfer entries move stock from one location to another. Each transfer creates two ledger entries: a negative entry at the source location and a positive entry at the destination location. The total stock across all locations remains unchanged.

DirectionEffect
Outward at sourceDecreases stock at source location
Inward at destinationIncreases stock at destination location

Example: You transfer 200 kg of MS Plate 6mm from the Main Warehouse to the Machine Shop Floor. The warehouse balance drops by 200 kg; the shop floor balance increases by 200 kg.

Adjustment

Adjustment entries correct discrepancies found during physical stock counts or handle exceptional events like damage, theft, or write-offs. Adjustments can increase or decrease stock.

DirectionEffect
Positive adjustmentIncreases stock
Negative adjustmentDecreases stock

Example: During a physical count, you find 480 kg of MS Plate 6mm on the shop floor, but the system shows 500 kg. You create a negative adjustment of 20 kg with a note explaining the discrepancy (e.g., "Wastage during cutting — not recorded on production orders").

Warning: Adjustments should be used sparingly and always with explanatory notes. Frequent adjustments indicate a process problem — material movements are not being recorded correctly. Investigate and fix the root cause rather than relying on adjustments to correct chronic discrepancies.


Transaction Type Summary

Transaction TypeStock EffectTypical Source Document
Opening+ (increase)Opening balance entry during setup
Purchase+ (increase)Vendor bill / purchase receipt
Sale- (decrease)Sales invoice / delivery
Production+/- (both)Production order — consumption and output
Transfer- at source, + at destinationStock transfer request
Adjustment+ or -Physical stock count / write-off

Running Balance

Every stock ledger entry includes a running_balance field. This is the cumulative stock quantity for that item at that location after the current entry is applied.

Example sequence for MS Plate 6mm at Main Warehouse:

#DateTransactionQtyRunning Balance
101-AprOpening+2,500 kg2,500 kg
205-AprPurchase+1,000 kg3,500 kg
308-AprTransfer to Shop Floor-500 kg3,000 kg
412-AprPurchase+800 kg3,800 kg
515-AprTransfer to Shop Floor-700 kg3,100 kg
620-AprAdjustment (damage)-50 kg3,050 kg

The running balance at any point tells you the exact stock available. This is the number shown in stock reports and used for reorder level comparisons.

Tip: If the running balance ever shows a negative number, it means stock was dispatched or consumed without sufficient quantity being available. This indicates a process issue — either a receipt was not recorded or a dispatch happened before goods were received. Investigate immediately.


Batch Tracking

The batch_number field on each stock ledger entry lets you trace stock back to a specific lot or consignment. This is essential for:

  • Quality traceability — If a customer reports a defect, you can identify which batch was used and check other products made from the same batch
  • Vendor accountability — You can trace a defective batch back to the specific vendor delivery
  • Regulatory compliance — Some industries require batch-level traceability

Example: You receive MS Round Bar from two different heats:

DateVendorBatch NumberQty
05-AprSteel India LtdHEAT-2024-A157500 kg
12-AprSteel India LtdHEAT-2024-A192800 kg

When this material is consumed in production, the batch number is carried forward, allowing you to trace which heat number went into which finished product.

Tip: Not every item needs batch tracking. Use it for items where traceability matters — metals with heat/lot numbers, chemicals with batch certificates, items subject to quality recalls. For generic consumables like cable ties or packaging tape, batch tracking adds overhead without meaningful benefit.


Expiry Date Tracking

For items with Track Expiry enabled (set on the item master), each stock ledger entry can include an expiry_date. This is critical for:

  • Chemicals and adhesives — Epoxy resins, sealants, and paints degrade over time
  • Lubricants — Hydraulic oils and greases have shelf life specifications
  • Rubber compounds — Natural and synthetic rubber compounds lose properties over time
  • Paints and coatings — Shelf life typically 12 to 24 months

The expiry date, combined with batch tracking, lets you implement FIFO (First Expiry, First Out) practices — consuming the oldest stock first to minimize waste.

Example:

ItemBatchReceivedExpiry DateQty
Hydraulic Oil VG 68LOT-HO-2024-0315-Mar-202415-Mar-2025200 ltr
Hydraulic Oil VG 68LOT-HO-2024-0710-Jul-202410-Jul-2025150 ltr

When consuming this oil, you should draw from LOT-HO-2024-03 first, as it expires earlier.


Reference Linking

Every stock ledger entry includes reference_type and reference_id fields that link it back to the source document that caused the movement. This creates a complete audit trail.

Reference TypeReference DocumentExample
BillVendor bill / purchase invoiceBill #PUR-2024-0147
InvoiceSales invoiceInvoice #INV-2024-0523
ProductionOrderProduction orderPO #PROD-2024-0089
StockTransferInter-location transferTransfer #TRF-2024-0031
StockAdjustmentPhysical count adjustmentAdjustment #ADJ-2024-0012

When you view a stock ledger entry, you can click through to the reference document to see the full details of the transaction — who initiated it, what was the total value, which vendor or customer was involved, and what approvals were obtained.

Tip: Reference linking is one of the most powerful features of ERP-based inventory management. When a discrepancy arises, you do not need to hunt through paper files. Every stock movement is linked to its source, creating a clear chain of evidence.


Viewing the Stock Ledger

Stock Ledger Report

To view the stock ledger for a specific item:

  1. Navigate to Inventory > Items
  2. Select the item you want to inspect (e.g., MS Plate 6mm)
  3. View the Stock Ledger tab or section on the item detail page

The report shows all stock ledger entries for that item, typically with these columns:

ColumnDescription
Entry DateDate of the stock movement
Transaction TypeOpening, purchase, sale, production, transfer, or adjustment
LocationThe location where this movement occurred
QuantityThe quantity added (+) or removed (-)
Running BalanceCumulative balance at this location after this entry
Batch NumberBatch or lot identifier (if tracked)
Expiry DateExpiry date of this batch (if tracked)
ReferenceLink to the source document
NotesAdditional context (especially for adjustments)

Stock ledger report for an item

Filtering the Stock Ledger

You can filter the stock ledger by:

  • Location — See movements only at a specific warehouse or shop floor
  • Date range — Focus on a specific period (e.g., current month)
  • Transaction type — View only purchases, or only adjustments

Current Stock Summary

For a quick snapshot of current stock across all locations:

  1. Navigate to Inventory > Items
  2. The item list or item detail page shows the current stock quantity — the latest running balance aggregated across locations

To see a location-wise breakdown, look for the location-level stock summary on the item detail page.


Understanding Stock Movements

Reading the stock ledger effectively is a skill. Here are common patterns to watch for:

Healthy Pattern

Regular purchases followed by production consumption, with the running balance staying between the reorder level and max stock level. Transfers move stock smoothly from warehouse to shop floor. Adjustments are rare.

Warning Signs

  • Running balance frequently near zero or negative — You are cutting it too close. Increase reorder levels.
  • Large, infrequent purchases followed by long gaps — You may be over-ordering and tying up cash. Consider smaller, more frequent orders.
  • Frequent adjustments — Material movements are not being recorded properly. Retrain staff on the process.
  • Stock at one location but needed at another — Transfer planning needs improvement. Review transfer lead times.

Tips & Best Practices

Tip: Review the stock ledger for your top 20 items (by value or transaction frequency) weekly during the first month of ERP usage. This helps you catch process gaps early — missing entries, incorrect quantities, or wrong locations.

Warning: Never manually edit stock ledger entries to "fix" numbers. If there is an error, create a proper adjustment entry with notes explaining the correction. Manual edits break the audit trail and can cause accounting discrepancies.

Tip: Use the Notes field on adjustment entries generously. Six months from now, "Adjustment -20 kg" tells you nothing. "Adjustment -20 kg — wastage from cutting scrap not captured on production order PO-2024-0089, identified during physical count on 20-Apr" tells you exactly what happened and why.

Tip: Conduct periodic physical stock counts (at least quarterly) and reconcile with the system's running balance. Discrepancies should be resolved through adjustment entries. Over time, as your team consistently records every movement, the gap between physical and system stock will shrink.


Quick Reference — Stock Ledger Entry Fields

FieldDescriptionExample
ItemThe item this entry relates toMS Plate 6mm
LocationThe location where this movement occurredMain Warehouse
Transaction TypeType of movement: opening, purchase, sale, production, transfer, adjustmentpurchase
QuantityQuantity added or removed+1,000 kg
Running BalanceCumulative stock at this location after this entry3,500 kg
Batch NumberLot or batch identifierHEAT-2024-A157
Expiry DateExpiry date for this batch (if applicable)15-Mar-2025
Reference TypeType of source documentBill
Reference IDID of the source documentPUR-2024-0147
NotesAdditional context or explanationReceived against PO-2024-0098
Entry DateDate of the stock movement2024-04-05

Low Stock Alerts & Reorder Levels

Running out of a critical raw material at the wrong moment is one of the most expensive mistakes in manufacturing. A missing batch of M10 bolts can halt an entire assembly line. A shortage of hydraulic oil can delay machine testing. A stockout of packaging material can prevent dispatch of finished goods that are ready to ship.

Reorder levels and low stock alerts are your early warning system. Configured correctly, they give you enough lead time to replenish stock before a shortage disrupts production.


What You Will Learn

  • The concept of reorder levels and how they prevent stockouts
  • How to calculate reorder points using consumption data and lead times
  • The role of safety stock as a buffer
  • Max stock level and its use in preventing overstocking
  • How to configure reorder levels per item in Udyamo ERP Lite
  • How low stock alerts work in the system
  • Best practices for setting levels across different item categories

Prerequisites

  • Items are created with stock tracking enabled (Chapter 7)
  • You have a basic understanding of the stock ledger (Chapter 10)
  • You know your approximate consumption rates and vendor lead times

The Reorder Level Concept

The reorder level (also called the reorder point) is the stock quantity at which you should initiate a new purchase order. When the running balance of an item at any location drops to or below the reorder level, the system flags it as a low-stock item.

The goal is simple: order early enough that new stock arrives before the existing stock runs out, but not so early that you accumulate unnecessary inventory.

A Practical Example

Your manufacturing line consumes approximately 100 kg of MS Plate 6mm per day. Your primary vendor takes 7 days to deliver after you place an order. If you wait until stock reaches zero to order, you face 7 days of production downtime.

Instead, you set the reorder level at a point that accounts for the lead time:

Reorder Level = Average Daily Consumption x Lead Time in Days

Reorder Level = 100 kg/day x 7 days = 700 kg

When stock drops to 700 kg, the system alerts you. You place the order. Seven days later, the new stock arrives just as the old stock is about to run out.


Safety Stock

The basic reorder formula assumes that both consumption and lead time are perfectly predictable. In reality, they are not:

  • A large order from a customer may spike your consumption of raw materials
  • A vendor may deliver 2 days late due to transport issues
  • A quality rejection may render part of a delivery unusable

Safety stock is the buffer that absorbs this variability. It is the extra quantity you keep above the bare minimum to protect against unexpected demand or supply delays.

Reorder Level (with safety stock) = (Average Daily Consumption x Lead Time) + Safety Stock

Continuing the example:

  • Average daily consumption: 100 kg
  • Lead time: 7 days
  • Safety stock: 200 kg (approximately 2 days of extra buffer)

Reorder Level = (100 x 7) + 200 = 900 kg

With this configuration, even if the vendor is 2 days late or consumption spikes temporarily, you have enough buffer to avoid a stockout.

How Much Safety Stock?

There is no single formula that works for every item. Consider these factors:

FactorHigher Safety StockLower Safety Stock
Demand variabilityUnpredictable, lumpy demandSteady, predictable consumption
Supplier reliabilityVendor frequently delaysVendor consistently on time
Criticality of itemStockout halts productionStockout causes minor inconvenience
Cost of itemLow-cost item (carrying cost is small)Expensive item (carrying cost is high)
AvailabilityDifficult to procure on short noticeReadily available from multiple vendors

Tip: A common starting point is to set safety stock equal to 1 to 3 days of average consumption for most items, and higher (5 to 7 days) for critical items with unreliable supply. Refine these numbers over time as you gather actual consumption and lead time data from the ERP.


Max Stock Level

The max stock level is the upper limit for stock of an item. It serves as a guideline to prevent over-ordering.

Max stock level is useful in the following situations:

  • Storage constraints — Your warehouse can only hold 5,000 kg of a particular item
  • Shelf life — An item expires in 6 months, so ordering more than 3 months of consumption is wasteful
  • Cash management — You do not want more than a certain rupee value tied up in any single item
  • Hazardous materials — Regulatory limits on how much of certain chemicals you can store

Example:

ItemReorder LevelMax Stock LevelRationale
MS Plate 6mm900 kg5,000 kgWarehouse capacity constraint
Hydraulic Oil VG 6850 ltr500 ltr12-month shelf life; limit to 6 months supply
Epoxy Adhesive10 kg40 kg6-month shelf life; high cost
M10 Bolts500 pcs5,000 pcsInexpensive; order in bulk for better pricing

When the max stock level is configured, it provides a reference point for purchase planning. The ideal reorder quantity (also known as the economic order quantity) roughly fills the gap between the current stock and the max stock level.


The Reorder Point Formula

Putting it all together:

Reorder Point = (Average Daily Usage x Lead Time in Days) + Safety Stock

Reorder Quantity = Max Stock Level - Reorder Point

Complete example for Bearing 6205:

ParameterValue
Average daily consumption15 pcs
Vendor lead time10 days
Safety stock50 pcs (~3 days buffer)
Reorder point(15 x 10) + 50 = 200 pcs
Max stock level1,000 pcs
Suggested reorder quantity1,000 - 200 = 800 pcs

When stock of Bearing 6205 drops to 200 pcs, the system alerts you. You place an order for approximately 800 pcs. When the order arrives, stock is replenished close to the max level.


Configuring Reorder Levels in Udyamo ERP Lite

Reorder levels are set on the Item master. To configure them:

  1. Navigate to Inventory > Items
  2. Select the item (e.g., MS Plate 6mm)
  3. Click Edit
  4. Set the following fields:
    • Reorder Level: 900 (the quantity at which a low-stock alert is triggered)
    • Max Stock Level: 5000 (the upper stock limit)
  5. Click Save

Setting reorder level on an item

Required: The item must have Track Stock enabled for reorder levels to be meaningful. Items with stock tracking disabled (such as service items) do not participate in stock alerts.

Repeat this process for each item that needs reorder monitoring. Focus on items that are:

  • Critical to production (raw materials for your main products)
  • Expensive (where stockouts or overstocking have significant financial impact)
  • Long lead time (where you need early warning to order in time)

Low Stock Alerts and Dashboard

When the running balance of an item at any location drops to or below the reorder level, Udyamo ERP Lite flags it as a low-stock item.

How Alerts Work

The system compares the current running balance (from the stock ledger) against the reorder level set on the item. When the balance meets or falls below the threshold:

  • The item appears on the Low Stock dashboard or alert list
  • The alert includes the item name, current stock, reorder level, and the location(s) affected

Viewing Low Stock Items

  1. Navigate to Inventory > Items or the Dashboard
  2. Look for the low-stock indicator or filter for items below reorder level
  3. Review the list and initiate purchase orders for the flagged items

The low stock view typically shows:

ColumnDescription
Item NameThe item that is low on stock
Item CodeThe SKU / item code
Current StockCurrent running balance
Reorder LevelThe configured reorder threshold
DeficitReorder level minus current stock
LocationThe location where stock is low

Tip: Make it a daily practice — ideally first thing in the morning — for your purchase team to review the low stock dashboard. This simple habit prevents most stockout situations.


Best Practices for Setting Reorder Levels

Categorize Items by Criticality

Not all items deserve the same attention. Use a simple ABC classification:

CategoryDescriptionReorder Strategy
A — CriticalItems where a stockout stops production entirely. Core raw materials, essential components.Higher safety stock (5-7 days). Conservative reorder levels. Monitor daily.
B — ImportantItems that cause delays or quality issues if missing, but production can continue briefly.Moderate safety stock (2-3 days). Standard reorder levels. Monitor weekly.
C — RoutineLow-cost consumables and non-critical items. Inconvenient but not production-stopping.Minimal safety stock (1 day or none). Order in bulk when low. Monthly review.

Account for Seasonal Demand

If your business has seasonal patterns — for example, higher demand for agricultural machinery before the planting season — adjust reorder levels seasonally. A static reorder level that works in a slow quarter may be dangerously low in a peak quarter.

Factor in Vendor Reliability

If a vendor has a history of late deliveries, increase the lead time assumption in your reorder calculation. It is better to carry a little extra stock than to shut down production because you trusted an optimistic lead time.

Review and Adjust Quarterly

Reorder levels are not set-and-forget. Review them at least quarterly using actual data from the ERP:

  • Has your average daily consumption changed?
  • Has the vendor's lead time improved or worsened?
  • Have you experienced any stockouts since the last review?
  • Are you carrying excess stock that is tying up cash unnecessarily?

Udyamo ERP Lite's stock ledger provides the data you need to answer these questions. Calculate the actual average daily consumption from the last 90 days and compare it against your current reorder level assumptions.

Long Lead Time Items Need Special Attention

Items that take 30 to 60 days to procure — imported specialty steel, custom castings from distant foundries, or specialized electronic components — require careful planning. For these items:

  • Set reorder levels generously (include ample safety stock)
  • Monitor stock levels more frequently
  • Maintain relationships with multiple suppliers if possible
  • Consider keeping a strategic reserve beyond the calculated safety stock

Tips & Best Practices

Tip: Start with conservative (higher) reorder levels during the first three months of ERP usage. As you build confidence in the system and gather actual consumption data, you can fine-tune levels downward to reduce carrying costs.

Warning: Setting a reorder level of zero effectively disables the alert for that item. If you intentionally do not want alerts for an item, leave the reorder level blank or at zero. But do not set it to zero by accident for a critical material.

Tip: For items with multiple vendor options, your safety stock can be lower because you can source from an alternate vendor if the primary one delays. For single-source items, increase safety stock — you have no fallback.

Tip: Align your reorder quantities with vendor minimum order quantities and pricing tiers. If a vendor offers a price break at 1,000 kg, and your calculated reorder quantity is 900 kg, it may be cost-effective to order the full 1,000 kg — provided it does not exceed your max stock level or storage capacity.

Warning: Do not ignore low stock alerts because they happen too frequently. If alerts are firing constantly for many items, it means either your reorder levels are set too high (causing false alarms) or your procurement process is too slow. Fix the root cause: adjust levels or speed up ordering.


Quick Reference

ConceptFormula / Description
Reorder Level(Average Daily Usage x Lead Time) + Safety Stock
Safety StockBuffer for demand and supply variability (1-7 days of consumption)
Max Stock LevelUpper limit for stock (storage, shelf life, or cash constraints)
Reorder QuantityMax Stock Level - Reorder Level (approximate)
Lead TimeDays from order placement to goods receipt
ABC ClassificationA = Critical, B = Important, C = Routine
Review FrequencyAt least quarterly; monthly for critical items
Item ExampleDaily UsageLead TimeSafety StockReorder LevelMax Stock
MS Plate 6mm100 kg7 days200 kg900 kg5,000 kg
Bearing 620515 pcs10 days50 pcs200 pcs1,000 pcs
Hydraulic Oil VG 685 ltr5 days25 ltr50 ltr500 ltr
Packaging Box (small)40 nos3 days30 nos150 nos1,000 nos
Epoxy Adhesive2 kg14 days10 kg38 kg40 kg

Introduction to Manufacturing in ERP

Manufacturing is the heart of any production business. It is where raw materials are transformed into finished goods that generate revenue. Yet in many Indian SMBs, the manufacturing function operates in a silo — production schedules live in the supervisor's notebook, material consumption is tracked on paper registers, and quality records are filed away in cabinets never to be seen again.

An ERP system brings manufacturing into the same integrated environment as inventory, accounting, sales, and purchasing. When a production order consumes raw materials, the stock ledger updates in real time. When finished goods are produced, the cost is calculated automatically from the bill of materials. When a quality inspection fails, the rejection is recorded and linked to the production batch.

This chapter introduces the core manufacturing concepts that Udyamo ERP Lite implements, and explains how they connect to form a complete manufacturing workflow.

What You Will Learn

  • What Material Requirements Planning (MRP) means and how ERP implements it
  • The difference between production planning and production scheduling
  • How work-in-progress (WIP) tracking works in an ERP context
  • The end-to-end manufacturing workflow in Udyamo ERP Lite
  • How manufacturing connects to inventory, accounting, sales, and purchasing modules
  • The Indian MSME manufacturing context and why ERP matters for it

Prerequisites


Material Requirements Planning (MRP)

Material Requirements Planning is the calculation engine at the core of manufacturing ERP. MRP answers three fundamental questions:

  1. What materials are needed to produce the required finished goods?
  2. How much of each material is needed, accounting for current stock and scrap?
  3. When must each material be available on the shop floor?

MRP works backward from demand. If a customer orders 500 MS flanges to be delivered on 15 March, and each flange requires 2.5 kg of MS plate, 4 bolts, and 1 gasket, the system calculates total material requirements, checks existing stock, and identifies shortfalls that need to be procured. If MS plate has a lead time of 7 days, the system knows the purchase order must be placed by 6 March at the latest.

In Udyamo ERP Lite, the building blocks of MRP are:

  • Bill of Materials (BOM) — defines what components go into a finished product and in what quantities
  • Production Orders — specify what to produce, how much, and when
  • Material Issues — record the actual handover of materials from the warehouse to the production floor
  • Stock Ledger — provides real-time visibility into available stock for MRP calculations

Production Planning vs. Scheduling

These terms are often used interchangeably, but they refer to different levels of decision-making:

AspectProduction PlanningProduction Scheduling
Time horizonWeeks to monthsDays to hours
Question answeredWhat should we produce and in what quantities?When exactly should each operation start and finish?
Level of detailProduct-level (make 500 flanges this month)Operation-level (cut plates on Machine A at 9 AM Monday)
InputsSales forecasts, customer orders, inventory levelsMachine availability, labor shifts, setup times

Udyamo ERP Lite focuses on production planning through production orders with planned start and end dates. Detailed shop floor scheduling at the machine and operation level is beyond the scope of ERP Lite — most Indian SMBs with 20 to 200 employees manage scheduling through their production supervisor's daily coordination, with the ERP providing the planning framework.

Capacity Planning Basics

Capacity planning ensures that your factory can actually produce what the production plan calls for. There is no point planning 1,000 units per week if your machines and workforce can only handle 600.

Capacity planning operates at two levels:

  • Rough-cut capacity planning — a high-level check at the planning stage. Does the factory have enough total machine hours and labour hours to meet the production plan for the month?
  • Detailed capacity planning — a granular check at the scheduling stage. Is Machine A available on Tuesday afternoon for the cutting operation?

For most Indian MSMEs, rough-cut capacity planning is sufficient. The production manager knows the factory's approximate weekly capacity from experience. The ERP system helps by providing visibility into the volume and status of open production orders, so the manager can see whether the factory is overloaded or underutilized.

Work-in-Progress (WIP) Tracking

Work-in-progress represents materials that have been issued to production but have not yet been converted into finished goods. WIP is both a physical reality on the shop floor and an accounting concept on the balance sheet.

In Udyamo ERP Lite, WIP tracking works through the interplay of three records:

  1. Material Issue — when raw materials leave the warehouse and enter the production floor, a material issue records the transfer. Stock is deducted from the warehouse location.
  2. Production Order (In Progress) — while the production order is in the "in_progress" status, the materials are considered work-in-progress.
  3. Production Completion — when the production order is marked as completed, the finished goods are received into stock. The WIP is resolved.

Shop Floor Control

Shop floor control is the process of monitoring and managing what actually happens during production. It bridges the gap between the production plan (what should happen) and production reality (what actually happens).

In an ERP context, shop floor control includes:

  • Tracking production order status — is the order planned, in progress, on hold, or completed?
  • Recording actual dates — when did production actually start and end, versus the planned dates?
  • Managing exceptions — putting a production order on hold when a machine breaks down, then resuming it after repair
  • Material consumption — tracking what materials were actually consumed versus what was planned
  • Quality checks — inspecting production output during and after the manufacturing process

How Manufacturing Connects to Other Modules

The true power of ERP lies in integration. Manufacturing does not operate in isolation — it touches every other module in the system.

Connected ModuleHow It Connects to Manufacturing
InventoryBOMs reference items from the item master. Material issues deduct stock from warehouse locations. Completed production adds finished goods to stock.
AccountingMaterial costs flow from BOMs into production costing. WIP appears as an asset on the balance sheet. Finished goods production creates cost entries in the general ledger.
SalesCustomer orders drive production demand. Sales forecasts inform production planning. Delivery commitments depend on production capacity and timelines.
PurchasingMaterial shortfalls identified during production planning trigger purchase requisitions. Vendor lead times feed into MRP calculations.
QualityIncoming material inspections check raw materials before they enter production. In-process inspections catch defects during manufacturing. Final inspections ensure finished goods meet specifications before dispatch.

The Manufacturing Workflow in Udyamo ERP Lite

The end-to-end manufacturing workflow follows five stages:

Manufacturing workflow overview

1. Plan — Create a Bill of Materials (BOM) that defines the components and quantities needed to produce a finished good. Create a Production Order that specifies what to produce, how much, and when.

2. Issue Materials — Create a Material Issue to formally transfer raw materials from the warehouse to the production floor. This deducts stock from the source location and creates an audit trail.

3. Produce — Start the production order. The status changes from "planned" to "in_progress". Track actual start and end dates. Handle exceptions by putting orders on hold and resuming them.

4. Inspect — Create Quality Inspections at any stage — incoming (raw materials), in-process (during production), or final (before dispatch). Record pass/fail results, severity levels, and corrective actions.

5. Receive into Stock — Complete the production order. Finished goods are added to inventory at the designated location.

For outsourced manufacturing, the workflow includes two additional elements:

Job Work Orders — send materials to an external contractor for processing. Track what was sent, when it is expected back, and what was actually received.

Job Work Receipts — record the return of processed goods from the contractor, including accepted and rejected quantities.

Manufacturing in the Indian MSME Context

India's MSME manufacturing sector has unique characteristics that shape how ERP should work:

Job work is pervasive. Many Indian manufacturers outsource specific processes — heat treatment, surface finishing, electroplating, machining — to specialized contractors. The GST framework includes specific provisions for job work under Section 143 of the CGST Act, requiring careful tracking of materials sent and received.

Batch production is common. Rather than continuous production lines, most Indian MSMEs run batch production — producing a quantity of one product, then switching to another. Production orders in Udyamo ERP Lite are designed for this batch-oriented workflow.

Quality awareness is growing. With increasing participation in automotive, aerospace, and export supply chains, Indian MSMEs are adopting formal quality management practices. ERP-integrated quality inspections replace paper-based quality registers and enable traceability from raw material to finished product.

Regulatory compliance drives adoption. GST has been a significant driver of ERP adoption among Indian MSMEs. The requirement to file accurate returns with detailed transaction data has pushed businesses away from manual record-keeping toward integrated systems.

Tips & Best Practices

Tip: Before diving into individual manufacturing features, map out your complete production process on paper — from raw material receipt to finished goods dispatch. Identify which steps happen in-house and which are outsourced. This map will guide your ERP configuration.

Tip: Start with a simple, single-level BOM for your highest-volume product. Get the full workflow working — BOM, production order, material issue, completion — before adding complexity with multi-level BOMs or job work.

Warning: Do not skip the material issue step, even if it feels like unnecessary paperwork. Without formal material issues, your stock records will drift from reality, your production costing will be inaccurate, and you will lose visibility into material consumption and waste.

Quick Reference

TermDefinition
MRPMaterial Requirements Planning — calculating material needs from production demand
BOMBill of Materials — the list of components needed to produce a finished good
Production OrderA formal instruction to manufacture a specific quantity of a product
Material IssueThe transfer of raw materials from the warehouse to the production floor
WIPWork-in-Progress — materials that have entered production but are not yet finished goods
Job WorkOutsourcing a manufacturing process to an external contractor
Quality InspectionA formal check of materials or products against quality standards
Shop Floor ControlMonitoring and managing the actual production process
Capacity PlanningEnsuring factory resources can meet the production plan
ScrapMaterial wasted during the production process, expressed as a percentage

Bill of Materials (BOM)

A Bill of Materials is the foundation of manufacturing in any ERP system. It is the recipe, the formula, the blueprint — the structured list of every component, raw material, and sub-assembly required to produce a finished good, along with the exact quantity of each. Without an accurate BOM, production planning is guesswork, material procurement is reactive, and cost estimation is unreliable.

In Udyamo ERP Lite, the BOM is the starting point for production orders, material requirements calculations, and production costing. This chapter covers the concept in depth and walks through creating a BOM step by step.

What You Will Learn

  • What a Bill of Materials is and why it matters for manufacturing
  • BOM structure: parent item, components, quantities, and units
  • How scrap percentage accounts for material waste
  • The role of optional items in a BOM
  • Multi-level BOM concepts
  • BOM versioning and why it is necessary
  • How BOM cost is calculated
  • The BOM approval workflow: draft, approved, archived
  • Step-by-step: creating a BOM for a steel flange in Udyamo ERP Lite

Prerequisites

Required: Before creating a BOM, ensure the following are set up in your system:

  • All finished goods and raw material items exist in the Item Master (see Chapter 7)
  • Units of measurement are configured (see Chapter 8)
  • You understand the manufacturing workflow overview (see Chapter 12)

What is a Bill of Materials?

Think of a BOM as a recipe card in a commercial kitchen. A recipe for a particular dish lists every ingredient, the quantity of each, and sometimes notes about substitutions or preparation. A BOM does the same for a manufactured product.

Consider a steel fabrication shop that manufactures MS (Mild Steel) flanges. Each flange requires:

  • 3.2 kg of MS Plate (10 mm thick)
  • 8 pieces of Hex Bolts (M12 x 40 mm)
  • 8 pieces of Hex Nuts (M12)
  • 1 piece of Rubber Gasket (150 mm)
  • 0.5 litres of Rust-Preventive Primer

The BOM captures this information in a structured format that the ERP system can use for planning, costing, and material issuance.

BOM Structure

Every BOM in Udyamo ERP Lite has two parts:

The Parent Item — the finished good that the BOM produces. This is the item that will be received into stock when the production order is completed. In our example, the parent item is "MS Flange — 150 mm PN16".

The Component Items (BOM Items) — the individual raw materials, consumables, or sub-assemblies that go into making the parent item. Each component line specifies:

FieldDescriptionExample
ItemThe component item from the item masterMS Plate 10 mm
QuantityHow much of this component is needed for one unit of the parent item3.2
UnitThe unit of measurement for this componentKg
Scrap PercentageExpected material waste during production (see below)5%
OptionalWhether this component is optional or mandatoryNo
Cost Per UnitThe cost of one unit of this component72.00
NotesAny additional instructions or specificationsCut to 200 mm x 200 mm squares

Scrap Percentage

No manufacturing process is 100% efficient. When you cut a circular flange from a square plate, the material around the circle is wasted. When you apply primer, some is lost to overspray. Scrap percentage captures this expected waste.

If the BOM specifies 3.2 kg of MS Plate with a 5% scrap percentage, the actual material requirement for one flange is:

3.2 kg + (3.2 kg x 5%) = 3.2 + 0.16 = 3.36 kg

When the system calculates material requirements for a production order of 100 flanges, it will use 3.36 kg per unit (336 kg total) rather than 3.2 kg per unit (320 kg). This prevents material shortages on the shop floor.

Tip: Set scrap percentages based on actual production experience. Track your actual scrap rates over a few production runs before setting the BOM values. Overestimating scrap leads to excess inventory; underestimating leads to production stoppages.

Optional Items

Some components are not required for every unit produced. For example, a protective cap might only be added to flanges destined for export, or a special coating might only be applied when the customer specifies it.

Marking a BOM item as optional means it will appear in the BOM for reference and costing purposes, but the system will not flag it as a shortage if it is unavailable. When creating a material issue for a production order, the production supervisor can choose whether to include optional items based on the specific order requirements.

Multi-Level BOM Concept

In many manufacturing scenarios, a finished product contains sub-assemblies that are themselves manufactured from components. This creates a hierarchy:

MS Flange Assembly (Level 0 — Finished Good)
├── MS Flange Body (Level 1 — Sub-assembly)
│   ├── MS Plate 10 mm (Level 2 — Raw Material)
│   └── Rust-Preventive Primer (Level 2 — Consumable)
├── Bolt-Nut Set M12 (Level 1 — Sub-assembly)
│   ├── Hex Bolt M12 x 40 mm (Level 2 — Raw Material)
│   └── Hex Nut M12 (Level 2 — Raw Material)
└── Rubber Gasket 150 mm (Level 1 — Raw Material)

In a multi-level BOM, each sub-assembly has its own BOM. The top-level BOM references the sub-assembly as a component, and the system can "explode" the BOM to calculate the total raw material requirements across all levels.

Udyamo ERP Lite supports single-level BOMs directly. For multi-level scenarios, you create separate BOMs for each sub-assembly and manage them through linked production orders.

BOM Versioning

Products evolve. An engineering change might replace one grade of steel with another. A cost reduction initiative might substitute a cheaper gasket material. A customer specification might require thicker plate for a high-pressure application.

BOM versioning tracks these changes over time:

VersionChangeDate
v1Original BOM with 8 mm MS Plate01-Apr-2025
v2Changed to 10 mm MS Plate per revised spec15-Jun-2025
v3Replaced rubber gasket with PTFE gasket for high-temp variant01-Sep-2025

Each BOM in Udyamo ERP Lite carries a version field. When you need to modify a BOM, you create a new version rather than editing the approved one. This preserves the historical record — you can always trace back to see which BOM version was used for a specific production order.

BOM Cost Calculation

The total cost of a BOM is calculated as the sum of component costs, adjusted for scrap:

Total BOM Cost = Sum of (Quantity x (1 + Scrap%) x Cost Per Unit) for each component

For our MS Flange example:

ComponentQtyScrap %Effective QtyCost/UnitLine Cost
MS Plate 10 mm3.2 kg5%3.36 kg72.00241.92
Hex Bolt M12 x 40 mm8 pcs0%8 pcs5.5044.00
Hex Nut M128 pcs0%8 pcs2.5020.00
Rubber Gasket 150 mm1 pc0%1 pc35.0035.00
Rust-Preventive Primer0.5 L10%0.55 L120.0066.00
Total406.92

This total cost is stored in the BOM's total_cost field and serves as the basis for production costing and pricing decisions.

Warning: BOM cost is only as accurate as the component costs you enter. Review and update component costs periodically, especially for materials with volatile prices like steel, copper, and polymers. Outdated costs lead to incorrect margins and pricing errors.

BOM Approval Workflow

BOMs go through a three-stage lifecycle:

Draft — the BOM is being created or modified. It can be freely edited. Draft BOMs cannot be used to create production orders.

Approved — the BOM has been reviewed and approved for production use. Only approved BOMs can be linked to production orders. Edits are restricted to prevent unauthorized changes to active production recipes.

Archived — the BOM is no longer in active use but is retained for historical reference. Archived BOMs cannot be used for new production orders, but existing production orders that reference them remain intact.

BOM approval workflow

This workflow ensures that production always uses a vetted, approved recipe, and that changes go through a review process rather than being made ad hoc on the shop floor.

Step by Step: Creating a BOM for a Steel Flange

Step 1: Navigate to the BOM list.

Go to Manufacturing > Bill of Materials. You will see a list of existing BOMs (if any). Click New BOM to create a new one.

BOM list screen

Step 2: Fill in the BOM header.

FieldValueNotes
NameMS Flange 150mm PN16 — StandardA descriptive name that identifies this BOM
ItemMS Flange — 150 mm PN16Select the finished good from the item master
Version1The version number for this BOM
StatusDraftNew BOMs start in draft status
NotesStandard BOM for PN16 flanges using 10 mm MS plateAny additional context for this BOM

Step 3: Add component items.

In the BOM Items section, click Add Item to add each component:

Component 1: MS Plate

  • Item: MS Plate 10 mm
  • Quantity: 3.2
  • Unit: Kg
  • Scrap Percentage: 5
  • Optional: No
  • Cost Per Unit: 72.00
  • Notes: Cut to 200 mm x 200 mm blanks

Component 2: Hex Bolts

  • Item: Hex Bolt M12 x 40 mm
  • Quantity: 8
  • Unit: Pcs
  • Scrap Percentage: 0
  • Optional: No
  • Cost Per Unit: 5.50

Component 3: Hex Nuts

  • Item: Hex Nut M12
  • Quantity: 8
  • Unit: Pcs
  • Scrap Percentage: 0
  • Optional: No
  • Cost Per Unit: 2.50

Component 4: Rubber Gasket

  • Item: Rubber Gasket 150 mm
  • Quantity: 1
  • Unit: Pcs
  • Scrap Percentage: 0
  • Optional: No
  • Cost Per Unit: 35.00

Component 5: Primer

  • Item: Rust-Preventive Primer
  • Quantity: 0.5
  • Unit: Litre
  • Scrap Percentage: 10
  • Optional: No
  • Cost Per Unit: 120.00
  • Notes: Apply two coats after machining

Step 4: Review the total cost.

The system calculates the total BOM cost as the sum of all component line costs. Verify that the total (406.92 in this example) is consistent with your expected production cost per unit.

Step 5: Save the BOM.

Click Save to save the BOM in draft status. Review all fields and component lines carefully.

Step 6: Approve the BOM.

Once you are satisfied that the BOM is accurate, change the status to Approved. The BOM is now available for use in production orders.

Warning: Once a BOM is approved, modifications should be made by creating a new version rather than editing the approved BOM directly. This preserves the audit trail and ensures production orders reference the correct version.

Tips & Best Practices

Tip: Use consistent naming conventions for your BOMs. Include the product name, variant, and a brief descriptor. For example: "MS Flange 150mm PN16 — Standard" vs "MS Flange 150mm PN16 — Export Grade". This makes it easy to find the right BOM when creating production orders.

Tip: Review BOM costs quarterly, or whenever you negotiate new rates with suppliers. Material prices change — especially for steel, which can fluctuate significantly in the Indian market. Keeping BOM costs current ensures your quotations and pricing reflect actual production costs.

Tip: For products with many variants (different sizes, materials, or finishes), create a base BOM first and then create variant BOMs by adjusting the relevant components. This is faster and less error-prone than building each BOM from scratch.

Warning: Never approve a BOM without verifying quantities against actual production experience. A theoretical BOM based on engineering drawings may differ from what the shop floor actually consumes. Run a small production batch first and adjust quantities and scrap percentages based on real data.

Quick Reference

FieldRequiredDescription
NameYesDescriptive name for the BOM
ItemYesThe finished good this BOM produces
StatusYesDraft, Approved, or Archived
VersionYesVersion number for tracking changes
NotesNoAdditional context or instructions
Total CostAutoCalculated sum of all component line costs

BOM Item Fields

FieldRequiredDescription
ItemYesThe component item (raw material, consumable, or sub-assembly)
QuantityYesQuantity needed per unit of the finished good
UnitYesUnit of measurement for this component
Scrap PercentageNoExpected waste percentage (default 0)
OptionalNoWhether the component is optional (default No)
Cost Per UnitNoUnit cost for BOM costing
NotesNoComponent-specific instructions or specifications

Production Orders — Planning to Completion

A Bill of Materials defines how to make a product. A Production Order defines what to make, how much, and when. It is the formal instruction to the shop floor to manufacture a specific quantity of a finished good using a specific BOM, within a planned timeframe.

Production orders are the central record for tracking manufacturing activity in Udyamo ERP Lite. They link the BOM to actual production, drive material issues, and provide the basis for production costing and performance analysis. Every unit of finished goods that enters your inventory should trace back to a production order.

What You Will Learn

  • What a production order is and when to create one
  • The production order lifecycle: planned, in progress, on hold, completed, cancelled
  • Priority levels and how to use them
  • Planned vs. actual dates and what the gap tells you
  • Location assignment for production output
  • Step-by-step: creating a production order, starting production, handling holds, and completing the order
  • How production numbers are auto-generated

Prerequisites

Required: Before creating a production order, ensure the following:

  • At least one BOM exists in Approved status (see Chapter 13)
  • The finished good item exists in the Item Master
  • Warehouse locations are configured (see Chapter 9)

What is a Production Order?

A production order is an internal document that authorizes the shop floor to manufacture a specific quantity of a product. It answers four questions:

  1. What are we making? (The finished good, linked to a BOM)
  2. How many are we making? (The quantity)
  3. When should production start and finish? (Planned dates)
  4. Where will the finished goods be stored? (The output location)

In a steel fabrication shop, a production order might say: "Manufacture 200 units of MS Flange 150mm PN16 using BOM version 2, starting 10 March and finishing by 17 March, with output to the Finished Goods Warehouse."

Production Number

Every production order is assigned a unique production number that serves as its identifier throughout the system. Udyamo ERP Lite auto-generates production numbers in a sequential format. This number appears on material issues, quality inspections, and any other documents linked to the production order.

The Production Order Lifecycle

Production orders move through a defined set of statuses that reflect the real-world progression of manufacturing work:

Production order status lifecycle

Planned

The production order has been created but work has not started. At this stage, you can:

  • Edit all fields (BOM, quantity, dates, location, priority)
  • Review material requirements based on the linked BOM
  • Create material issues to prepare raw materials
  • Cancel the order if plans change

This is the planning phase. Use it to line up materials, verify capacity, and confirm the production schedule before committing shop floor resources.

In Progress

Production has started. The status changes to "in_progress" when you trigger the Start Production action. At this point:

  • The actual start date is recorded automatically
  • Material should have been issued to the production floor (via material issues)
  • The order is now visible as active work on the shop floor
  • Editing is restricted to prevent changes to an active production run

On Hold

Production has been temporarily paused. Common reasons for putting an order on hold:

  • Machine breakdown requiring repair
  • Quality issue discovered during in-process inspection
  • Material shortage mid-production
  • Priority change — a more urgent order needs the same resources

The Hold Production action pauses the order. The order remains in the system with all its data intact, waiting to be resumed.

Completed

Production is finished. The Complete Production action:

  • Records the actual end date
  • Signals that finished goods are ready to be received into inventory
  • Closes the production order against further material issues
  • Provides the basis for calculating actual vs. planned performance

Cancelled

The production order has been abandoned. The Cancel Production action is used when:

  • The customer cancels the underlying sales order
  • The product is discontinued
  • The order was created in error

Cancelled orders are retained in the system for audit purposes but cannot be reactivated. Any materials already issued should be handled through the material return process.

Status Transition Summary

FromToActionWhen to Use
PlannedIn ProgressStart ProductionWork begins on the shop floor
In ProgressOn HoldHold ProductionTemporary pause (breakdown, shortage, priority change)
On HoldIn ProgressResume ProductionIssue resolved, work resumes
In ProgressCompletedComplete ProductionAll units produced and ready
PlannedCancelledCancel ProductionOrder no longer needed
On HoldCancelledCancel ProductionOrder abandoned during hold

Warning: Completing a production order is a significant action. Once completed, the order cannot be reopened. Verify that the actual quantity produced is correct and that quality inspections (if required) have been performed before marking the order as complete.

Priority Levels

Not all production orders are equally urgent. Udyamo ERP Lite supports four priority levels:

PriorityTypical Use Case
LowStock replenishment with no immediate customer demand. Can be scheduled around other work.
MediumStandard production orders fulfilling regular customer orders. This is the default priority.
HighOrders with tight delivery deadlines or for key customers. Should be scheduled ahead of medium-priority work.
UrgentEmergency orders — a customer needs parts immediately, or a critical stock-out must be resolved. These take precedence over all other work.

Priority is an organizational tool. It does not automatically reschedule other orders — that remains the production supervisor's decision. However, filtering and sorting production orders by priority helps the supervisor make informed scheduling decisions.

Tip: Reserve the "urgent" priority for genuine emergencies. If everything is urgent, nothing is urgent. Most production orders should be "medium" priority, with "high" used selectively for time-sensitive work.

Planned vs. Actual Dates

Each production order tracks four dates:

Date FieldDescription
Planned Start DateWhen production is expected to begin
Planned End DateWhen production is expected to finish
Actual Start DateWhen production actually began (set automatically when you start production)
Actual End DateWhen production actually finished (set automatically when you complete production)

The gap between planned and actual dates is a key performance indicator. Consistently late completions may indicate:

  • Unrealistic planning (planned durations are too short)
  • Capacity constraints (too many orders competing for the same resources)
  • Material availability issues (production waiting for raw materials)
  • Quality problems (rework extending production time)

Review planned vs. actual dates regularly to calibrate your planning and identify systemic issues.

Location Assignment

The location field on a production order specifies where the finished goods will be received into stock upon completion. This is typically a finished goods warehouse or a specific storage area within your facility.

Choosing the correct location matters because:

  • Stock levels at that location will increase when the order is completed
  • Downstream processes (packing, dispatch) will look for finished goods at this location
  • Stock valuation reports will reflect the production output at this location

Step by Step: Creating and Managing a Production Order

Creating a Production Order

Step 1: Navigate to production orders.

Go to Manufacturing > Production Orders. Click New Production Order.

Production order list

Step 2: Fill in the production order details.

FieldValueNotes
BOMMS Flange 150mm PN16 — Standard (v2)Select the approved BOM
ItemMS Flange — 150 mm PN16Auto-populated from the selected BOM
Quantity200Number of units to produce
Planned Start Date10-Mar-2026When production should begin
Planned End Date17-Mar-2026When production should be complete
PriorityMediumStandard priority for this order
LocationFinished Goods WarehouseWhere output will be stored
NotesAgainst SO-2026-0145 for Mehta IndustriesReference to the sales order driving this production

Step 3: Save the production order.

Click Save. The system assigns a production number (e.g., PO-2026-0042) and sets the status to Planned.

Production order detail

Starting Production

Step 4: Ensure materials are available.

Before starting production, verify that raw materials have been issued to the production floor. Create a Material Issue if you have not already done so (see Chapter 15).

Step 5: Start the production order.

Click the Start Production button. The system:

  • Changes the status to In Progress
  • Records the actual start date as today's date
  • The production order now appears as active work

Handling a Production Hold

Step 6 (if needed): Put the order on hold.

If production needs to pause — for example, the cutting machine requires maintenance — click Hold Production. Enter a note explaining the reason (e.g., "CNC cutting machine — bearing replacement, expected 2-day downtime").

The status changes to On Hold. The order remains in the system, preserving all data.

Step 7 (when ready): Resume production.

Once the issue is resolved, click Resume Production. The status returns to In Progress.

Completing Production

Step 8: Complete the production order.

When all 200 flanges have been manufactured and passed quality inspection, click Complete Production. The system:

  • Changes the status to Completed
  • Records the actual end date
  • The finished goods (200 units of MS Flange 150mm PN16) are available at the Finished Goods Warehouse

Tip: Before completing the order, verify the produced quantity against the planned quantity. If you produced fewer units due to rejections, note this in the production order notes for future analysis.

Cancelling a Production Order

If a production order is no longer needed (e.g., the customer cancelled their order), click Cancel Production from the planned or on-hold status. Enter a note explaining the reason for cancellation.

Warning: If materials have already been issued to a cancelled production order, you will need to create a material return to move those materials back to the warehouse. Otherwise, your stock records will show materials as consumed when they were not.

Tips & Best Practices

Tip: Use the notes field liberally. Record the sales order number, customer name, any special instructions from the customer, and any deviations from the standard process. These notes become invaluable when reviewing production history months later.

Tip: Create production orders at least 2-3 days before the planned start date. This gives time to check material availability, create material issues, and resolve any shortages before the shop floor is ready to begin.

Tip: Review open production orders at the start of every day with your production supervisor. Filter by priority (urgent and high first) and by planned start date. This daily review is the simplest form of production scheduling and prevents orders from falling through the cracks.

Warning: Avoid creating production orders without linking them to an approved BOM. While the system allows you to select items directly, linking to a BOM ensures consistent material requirements, accurate costing, and a clear audit trail.

Quick Reference

FieldRequiredDescription
Production NumberAutoSystem-generated unique identifier
BOMYesThe approved Bill of Materials to use
ItemYesThe finished good to produce
QuantityYesNumber of units to manufacture
Planned Start DateYesExpected production start date
Planned End DateYesExpected production completion date
Actual Start DateAutoRecorded when production is started
Actual End DateAutoRecorded when production is completed
StatusAutoPlanned / In Progress / On Hold / Completed / Cancelled
PriorityYesLow / Medium / High / Urgent
LocationYesWarehouse location for finished goods output
NotesNoAdditional context, references, or instructions

Production Order Actions

ActionAvailable From StatusResult
Start ProductionPlannedStatus changes to In Progress; actual start date recorded
Hold ProductionIn ProgressStatus changes to On Hold
Resume ProductionOn HoldStatus returns to In Progress
Complete ProductionIn ProgressStatus changes to Completed; actual end date recorded
Cancel ProductionPlanned, On HoldStatus changes to Cancelled

Material Issues — Issuing Stock to Production

When a production order is ready to begin, raw materials must move from the warehouse to the production floor. In many Indian factories, this happens informally — the supervisor walks into the store, picks up what is needed, and production begins. There is no record of what was taken, when, or how much.

A Material Issue is the formal, documented transfer of raw materials from a warehouse location to the production floor. It creates a precise record of what was issued, in what quantity, from which location, and against which production order. This seemingly simple document is the link between your inventory records and your production costs.

What You Will Learn

  • Why formal material issues matter for stock accuracy and cost control
  • The material issue document structure: header and line items
  • Linking material issues to production orders
  • Source location selection and its impact on stock
  • Batch number tracking for traceability
  • The material issue lifecycle: draft, issued, returned
  • Step-by-step: creating a material issue for a production order

Prerequisites

Required: Before creating a material issue, ensure:

  • A production order exists in Planned or In Progress status (see Chapter 14)
  • Raw materials are available in the source warehouse location
  • Items and units are configured in the system

Why Track Material Issues?

Skipping the material issue step is the most common shortcut in SMB manufacturing — and the most costly in the long run. Here is what you lose without formal material issues:

Stock accuracy degrades. If you do not record material withdrawals from the warehouse, your stock ledger will show quantities that do not match physical reality. The system says you have 500 kg of MS Plate; the warehouse actually has 320 kg because 180 kg was taken to the shop floor without documentation. Now every stock report, reorder alert, and material planning calculation is wrong.

Production costing becomes impossible. If you do not know exactly what materials were consumed for a production order, you cannot calculate the true cost of the finished goods. Are your flanges costing 400 per unit or 450? Without material issue records, you are guessing.

Waste and pilferage go undetected. When there is no formal record of material issuance, there is no way to compare issued quantity against produced quantity. If 340 kg of steel was issued and only 280 kg worth of flanges were produced, where did the remaining 60 kg go? Was it scrap? Rework? Pilferage? Without the material issue record, you will never know.

Audit trail breaks. For cost accounting, tax assessments, and inventory audits, you need a clear trail from raw material receipt to production consumption to finished goods output. Material issues provide this trail.

Tip: Even if your factory is small and the storekeeper is also the production supervisor, create material issues in the system. It takes 2-3 minutes and saves hours of reconciliation later.

Material Issue Structure

A material issue has two sections:

The header contains information about the overall issue transaction:

FieldDescriptionExample
Issue NumberAuto-generated unique identifierMI-2026-0078
Production OrderThe production order this material is being issued forPO-2026-0042
Location (From)The warehouse location from which materials are being withdrawnRaw Material Store
Issue DateThe date the materials are physically handed over10-Mar-2026
StatusCurrent status of the material issueDraft
NotesAny additional contextFirst batch issue for 200 flanges

Line Items (Material Issue Items)

Each line represents a specific material being issued:

FieldDescriptionExample
ItemThe raw material or component being issuedMS Plate 10 mm
QuantityThe quantity being issued672
UnitThe unit of measurementKg
Batch NumberThe batch or lot number for traceability (optional)BATCH-2026-MS-047
NotesAny notes specific to this line itemFrom latest consignment dated 05-Mar

Linking to Production Orders

Every material issue should be linked to a production order. This linkage serves several purposes:

  • Material planning — you can see at a glance what materials have been issued against a production order and what remains to be issued
  • Cost allocation — the cost of issued materials is attributed to the production order, enabling accurate per-unit costing
  • Traceability — from the finished product, you can trace back to the exact materials (including batch numbers) that went into making it

When you select a production order on the material issue, the system knows which BOM is being used and can help you determine the required quantities.

Source Location Selection

The Location (From) field specifies which warehouse or storage area the materials are being withdrawn from. This is important because:

  • The system deducts stock from this specific location
  • If you have multiple warehouses or storage areas, you need to issue from the location that actually holds the materials
  • Different locations may hold different batches of the same material

For example, a factory might have a main raw material store and a smaller buffer stock area near the production floor. If the buffer stock has enough MS Plate for the immediate requirement, issue from there. If not, issue from the main store.

Warning: Always issue from the location where the materials are physically stored. Issuing from the wrong location will create mismatches between the system and physical stock counts, leading to confusion during stock audits.

Batch Number Tracking

For materials where traceability is important — steel with mill test certificates, chemicals with expiry dates, food ingredients with lot numbers — the batch number field on each material issue line provides traceability.

When you issue MS Plate from Batch-2026-MS-047, and that batch later turns out to have a quality issue, you can trace:

  1. Which material issues used that batch
  2. Which production orders received materials from those issues
  3. Which finished goods were produced from those orders

This traceability chain is essential for quality recalls, customer complaints, and regulatory compliance in industries like food processing, pharmaceuticals, and automotive components.

Material Issue Lifecycle

Material issues move through three statuses:

Draft

The material issue has been created but materials have not yet been physically handed over. At this stage:

  • All fields can be edited
  • No stock movement has occurred
  • The issue serves as a "picking list" for the storekeeper

Use the draft status to prepare material issues in advance. The production planner can create the draft based on the BOM requirements, and the storekeeper can review it, check physical availability, and make adjustments before confirming.

Issued

The materials have been physically handed over to the production floor. When the status changes to Issued:

  • Stock is deducted from the source location
  • The stock ledger records the material movement
  • The quantities become part of Work-in-Progress

This is the point of no return for stock deduction. Verify quantities carefully before confirming the issue.

Returned

If materials are returned from the production floor to the warehouse — due to production cancellation, excess issue, or quality rejection — the status changes to Returned:

  • Stock is added back to the source location
  • The stock ledger records the return movement
  • The production order's material consumption is adjusted

Tip: Partial returns are common. If you issued 672 kg of MS Plate but only used 650 kg, create a return for the 22 kg excess. This keeps your stock records accurate and your production costing honest.

Step by Step: Creating a Material Issue

Step 1: Navigate to material issues.

Go to Manufacturing > Material Issues. Click New Material Issue.

Material issue list

Step 2: Fill in the header.

FieldValue
Production OrderPO-2026-0042 (MS Flange 150mm PN16, Qty 200)
Location (From)Raw Material Store
Issue Date10-Mar-2026
NotesFull material issue for 200 units per BOM v2

Step 3: Add material issue items.

Based on the BOM for 200 flanges (with scrap percentages applied):

Line 1: MS Plate

  • Item: MS Plate 10 mm
  • Quantity: 672 (3.36 kg per unit x 200 units)
  • Unit: Kg
  • Batch Number: BATCH-2026-MS-047
  • Notes: Mill test certificate available

Line 2: Hex Bolts

  • Item: Hex Bolt M12 x 40 mm
  • Quantity: 1,600 (8 per unit x 200 units)
  • Unit: Pcs
  • Batch Number: (leave blank — standard hardware)

Line 3: Hex Nuts

  • Item: Hex Nut M12
  • Quantity: 1,600 (8 per unit x 200 units)
  • Unit: Pcs

Line 4: Rubber Gaskets

  • Item: Rubber Gasket 150 mm
  • Quantity: 200 (1 per unit x 200 units)
  • Unit: Pcs

Line 5: Primer

  • Item: Rust-Preventive Primer
  • Quantity: 110 (0.55 L per unit x 200 units)
  • Unit: Litre
  • Batch Number: PRM-2026-012
  • Notes: Check expiry date before issuing

Material issue form

Step 4: Save as draft.

Click Save. The material issue is saved in Draft status. No stock movement has occurred yet. This is your chance to review the quantities and have the storekeeper verify physical availability.

Step 5: Confirm the issue.

Once the storekeeper has physically prepared the materials and handed them over to the production team, change the status to Issued. The system deducts the quantities from the Raw Material Store location and records the stock movement in the ledger.

Warning: Do not confirm the issue until the materials have been physically handed over. If the storekeeper discovers that only 600 kg of MS Plate is available (instead of the required 672 kg), adjust the quantity before confirming and plan a supplementary issue for the balance.

Step 6 (if needed): Handle returns.

If production is completed and 15 kg of MS Plate remains unused on the shop floor, create a return. Change the status to Returned for the excess quantity, and the stock will be added back to the Raw Material Store.

Tips & Best Practices

Tip: Create material issues the day before production is scheduled to start. This gives the storekeeper time to pick, weigh, and stage the materials without holding up the production team.

Tip: Use batch numbers consistently, even if they are not legally required for your products. Batch traceability is a competitive advantage when dealing with large customers — automotive OEMs, for instance, increasingly require full material traceability from their suppliers.

Tip: Compare issued quantities against BOM quantities regularly. If you are consistently issuing 10-15% more than the BOM specifies, your scrap percentages need updating — or your process has a waste problem that needs attention.

Warning: Never issue materials in bulk for multiple production orders using a single material issue. Always create one material issue per production order. This enables accurate per-order costing and prevents attribution errors.

Quick Reference

Material Issue Header Fields

FieldRequiredDescription
Issue NumberAutoSystem-generated unique identifier
Production OrderYesThe production order this material is issued for
Location (From)YesWarehouse location from which materials are withdrawn
Issue DateYesDate of physical material handover
StatusAutoDraft / Issued / Returned
NotesNoAdditional context or instructions

Material Issue Item Fields

FieldRequiredDescription
ItemYesThe raw material or component being issued
QuantityYesQuantity being issued
UnitYesUnit of measurement
Batch NumberNoBatch or lot number for traceability
NotesNoLine-item-specific notes

Quality Inspections

Quality is not something you inspect into a product — it is something you build into the process. But inspections remain the formal mechanism by which a manufacturing business verifies that materials and products meet defined standards. In an ERP system, quality inspections create a documented, traceable record of every quality check, its result, and any corrective action taken.

For Indian manufacturers supplying to automotive, aerospace, or export markets, formal quality records are not optional. Customers expect inspection reports, traceability data, and evidence of quality management. Even for businesses serving domestic markets, systematic quality tracking reduces defects, lowers rework costs, and builds customer confidence.

Udyamo ERP Lite provides a quality inspection module that integrates with production orders, purchase receipts, and other reference documents across the system.

What You Will Learn

  • The three types of quality inspections: incoming, in-process, and final
  • The inspection workflow: create, inspect, pass or fail
  • How to record severity levels and corrective actions
  • Linking inspections to production orders, purchase orders, and other references
  • Step-by-step: creating and completing a quality inspection
  • Building a quality culture through ERP-integrated inspections

Prerequisites

Required: Before creating quality inspections, ensure:

  • Production orders or purchase orders exist in the system to link inspections to
  • You understand the manufacturing workflow (see Chapter 12)
  • Users who will perform inspections have appropriate system access

Why Quality Management in ERP?

In many Indian SMBs, quality management operates on paper — inspection sheets filled out by hand, filed in folders, and rarely reviewed after the fact. This approach has several problems:

No traceability. When a customer reports a defective batch, finding the relevant inspection records means digging through filing cabinets. If the inspector did not note the production order number, the trail goes cold.

No trend analysis. Paper records make it nearly impossible to identify patterns. Is rejection rate increasing? Are certain raw material suppliers causing more quality issues? Are specific production shifts producing more defects? You cannot answer these questions without structured, searchable data.

No accountability. Without formal inspection records in the system, it is difficult to establish who inspected what, when, and what they found. This makes it hard to enforce quality standards consistently.

No integration. Paper-based quality records are disconnected from production and procurement. A failed incoming inspection does not automatically flag the purchase order. A failed in-process inspection does not automatically put the production order on hold. The communication happens informally, and things fall through the cracks.

ERP-integrated quality inspections solve all of these problems by making quality data structured, searchable, traceable, and connected to the rest of the business.

Types of Quality Inspections

Udyamo ERP Lite supports three inspection types, corresponding to the three stages where quality checks typically occur in a manufacturing process:

Incoming Inspection

When: Raw materials or components are received from a vendor.

Purpose: Verify that purchased materials meet specifications before they enter the warehouse and are used in production.

Examples:

  • A textile mill receives a consignment of yarn and checks the count, twist, and tensile strength against the purchase order specification
  • A food processing unit receives raw spices and checks for moisture content, foreign matter, and microbiological contamination
  • A steel fabrication shop receives MS plate and verifies the thickness, grade, and mill test certificate

Reference: Incoming inspections are typically linked to a purchase order or goods receipt note.

Tip: Establish standard inspection criteria for each raw material category. If you always check the same five parameters for MS plate, document them once and use them as a checklist for every incoming inspection. This ensures consistency across different inspectors and shifts.

In-Process Inspection

When: During the manufacturing process, at defined checkpoints.

Purpose: Catch defects early — before more value is added to the product. Reworking a partially machined flange is far cheaper than reworking a fully assembled and coated one.

Examples:

  • After the cutting operation, check that flange blanks are within dimensional tolerance
  • During mixing in a food processing unit, verify that the temperature and consistency meet the recipe specification
  • After welding, perform a visual inspection and dimensional check before proceeding to surface treatment

Reference: In-process inspections are linked to the production order.

Final Inspection

When: After production is complete, before the finished goods are dispatched to the customer or received into finished goods inventory.

Purpose: Confirm that the finished product meets all customer and internal specifications. This is the last gate before the product leaves your control.

Examples:

  • A completed MS flange is checked for dimensions, bolt hole alignment, surface finish, and coating thickness
  • A batch of packaged food is checked for net weight, labelling accuracy, seal integrity, and appearance
  • An auto component is checked against the customer's drawing and specification sheet, with measurements recorded on an inspection report

Reference: Final inspections are linked to the production order and may also reference the customer's sales order.

Inspection Workflow

Every quality inspection in Udyamo ERP Lite follows a three-stage workflow:

Quality inspection workflow

Stage 1: Create the Inspection

The quality inspector (or production supervisor) creates an inspection record, specifying:

  • The type of inspection (incoming, in-process, or final)
  • The reference document (production order, purchase order, etc.)
  • The inspection date
  • The inspector's name
  • Any initial notes or observations

At this point, the inspection result is Pending — the inspection has been initiated but not yet completed.

Stage 2: Perform the Inspection

The inspector physically examines the material or product, performing the required checks. Measurements, observations, and any deviations from specification are noted.

Stage 3: Record the Result

The inspector records the outcome using one of two actions:

  • Pass Inspection — the material or product meets all specified requirements
  • Fail Inspection — the material or product does not meet one or more requirements

Result Tracking

ResultMeaningTypical Next Step
PendingInspection has been created but not yet completedInspector performs the physical check
PassMaterial/product meets specificationsProceed with the workflow (receive into stock, continue production, dispatch to customer)
FailMaterial/product does not meet specificationsCorrective action required (rework, reject, return to vendor, etc.)

Severity Levels

When an inspection fails, the severity field classifies how serious the defect is:

SeverityDefinitionExample
MinorA defect that does not affect the product's function or safety, but may affect appearance or convenienceSlight surface scratch on a flange that will not be visible after installation
MajorA defect that affects the product's function, performance, or reliability, but does not create a safety riskBolt hole diameter is 0.5 mm oversize, causing a loose fit that may affect sealing under pressure
CriticalA defect that creates a safety risk, renders the product completely non-functional, or violates regulatory requirementsMaterial thickness is below the minimum specified in the pressure vessel code

Severity classification drives the corrective action. Minor defects may be accepted with a concession note. Major defects typically require rework. Critical defects result in outright rejection.

Warning: Be honest and consistent in severity classification. Downgrading a major defect to minor in order to avoid rework might save time today but creates reliability problems and customer complaints tomorrow. Quality records are auditable — they should reflect reality.

Corrective Actions

The corrective_action field records what will be (or was) done to address a failed inspection. Common corrective actions include:

ActionWhen Used
ReworkThe product can be corrected and re-inspected (e.g., re-machining an oversize hole)
Reject and scrapThe product cannot be reworked and must be scrapped (e.g., cracked casting)
Return to vendorIncoming material fails inspection and will be sent back to the supplier
Accept with concessionThe defect is minor and the customer or internal authority agrees to accept the product as-is
Segregate and holdThe product is set aside pending further investigation or a decision from management
Root cause analysisThe defect pattern requires investigation to prevent recurrence

Always record the corrective action, even if the inspection passes. A pass with a note ("Dimensions within tolerance, but trending toward upper limit — monitor next batch") is more useful than a bare pass result.

Linking Inspections to Reference Documents

Every inspection in Udyamo ERP Lite is linked to a reference document through two fields:

  • Reference Type — the type of document (e.g., Production Order, Purchase Order)
  • Reference ID — the specific document identifier

This linkage means you can:

  • View all inspections for a specific production order from the production order screen
  • See the inspection history for materials received from a specific vendor
  • Trace a customer complaint back through the final inspection, the production order, and the incoming material inspections

Step by Step: Creating and Completing an Inspection

Creating a Final Inspection for a Production Order

Step 1: Navigate to quality inspections.

Go to Manufacturing > Quality Inspections. Click New Quality Inspection.

Quality inspection list

Step 2: Fill in the inspection details.

FieldValueNotes
Reference TypeProduction OrderThe type of document being inspected against
Reference IDPO-2026-0042The specific production order
Inspection TypeFinalThis is a final inspection before receiving into stock
Inspection Date16-Mar-2026The date the inspection is performed
Inspector NameRamesh KulkarniThe person performing the inspection
NotesSampling 20 units from batch of 200Inspection scope and methodology

Step 3: Save the inspection.

Click Save. The inspection is created with result Pending.

Quality inspection form

Step 4: Perform the physical inspection.

The inspector checks the sampled flanges against the specification:

  • Outer diameter: 285 mm +/- 1 mm
  • Bolt hole PCD: 240 mm +/- 0.5 mm
  • Thickness: 22 mm +/- 0.5 mm
  • Surface finish: No visible cracks, burrs, or coating defects
  • Bolt holes: 8 x M12, evenly spaced

Step 5: Record the result.

If all units pass:

Click Pass Inspection. The result changes to Pass. Add notes: "All 20 sampled units within specification. Dimensions measured with vernier caliper and PCD gauge."

If units fail:

Click Fail Inspection. Then fill in:

FieldValue
ResultFail
SeverityMajor
Notes3 out of 20 sampled units have bolt hole PCD deviation of 1.2 mm — exceeds 0.5 mm tolerance
Corrective ActionSegregate non-conforming units for re-drilling. Investigate CNC program alignment. Re-inspect full batch after rework.

Tip: When an inspection fails, do not just record the defect — record the corrective action and ensure it is followed through. An inspection failure without follow-up is worse than no inspection at all, because it creates a false sense of quality management.

Building a Quality Culture

Quality inspections in the ERP system are a tool, not a solution. The tool is only effective when it is part of a broader quality culture:

  1. Inspect consistently. Define which production orders require inspections and at which stages. Do not inspect selectively based on who the customer is or how busy the shop floor is.

  2. Act on failures. A quality inspection that fails but is followed by no corrective action is just paperwork. Ensure every failure triggers a defined response.

  3. Review trends. Periodically review inspection data. Which products have the highest rejection rates? Which vendors supply materials that frequently fail incoming inspection? Which production shifts produce the most defects? The data is in the system — use it.

  4. Close the loop. When a corrective action is taken (rework, process change, vendor feedback), document the outcome. Did the rework pass re-inspection? Did the process change reduce the defect rate? This closes the continuous improvement loop.

Tips & Best Practices

Tip: For production orders with large quantities, define a sampling plan. Inspecting every unit is impractical for most SMBs. A sampling plan (e.g., inspect 10% of the batch, minimum 5 units) balances thoroughness with practicality.

Tip: Record the inspector's name on every inspection. This enables accountability and also helps identify training needs — if one inspector's pass rate is significantly higher than others, they may be applying standards differently.

Tip: Use incoming inspections to build a vendor quality scorecard. Over time, you will have data on which vendors consistently supply conforming material and which do not. This data is powerful during vendor negotiations and selection.

Warning: Do not create backdated inspections to fill gaps in your quality records. If an inspection was not performed, it is better to acknowledge the gap than to create a fictitious record. False quality records undermine the entire system.

Quick Reference

FieldRequiredDescription
Inspection NumberAutoSystem-generated unique identifier
Reference TypeYesType of linked document (Production Order, Purchase Order, etc.)
Reference IDYesSpecific document being inspected against
Inspection TypeYesIncoming / In-Process / Final
Inspection DateYesDate the inspection is performed
Inspector NameYesPerson performing the inspection
ResultAutoPending / Pass / Fail
SeverityNoMinor / Major / Critical (applicable when result is Fail)
NotesNoObservations, measurements, inspection details
Corrective ActionNoAction taken or planned to address failures

Inspection Actions

ActionAvailable WhenResult
Pass InspectionResult is PendingResult changes to Pass
Fail InspectionResult is PendingResult changes to Fail; severity and corrective action should be recorded

Job Work — Outsourced Manufacturing

Not everything needs to be manufactured in-house. Indian SMBs routinely send materials to external contractors for specialized processes — heat treatment, electroplating, powder coating, CNC machining, embroidery, dyeing, or any operation that requires equipment the company does not own or capacity it does not have.

This practice is known as job work (also called subcontracting, outsourced processing, or contract manufacturing). It is deeply embedded in India's manufacturing ecosystem, where networks of small, specialized workshops serve larger manufacturers. The GST framework explicitly recognizes job work and provides specific provisions for it under Section 143 of the CGST Act.

Udyamo ERP Lite provides a Contractor management module to maintain your registry of external processors, and Job Work Orders to track the materials you send out and the processed goods you receive back. This chapter covers the contractor master and the concepts behind job work. The next chapter covers job work orders and receipts in detail.

What You Will Learn

  • What job work is and why it is prevalent in Indian manufacturing
  • Common reasons SMBs use job work
  • GST implications of job work in India
  • What a Contractor record is and how to manage it
  • Active vs. inactive contractor status
  • Step-by-step: adding a contractor to the system

Prerequisites

Required: Before setting up job work in the system:

  • You should understand the manufacturing workflow (see Chapter 12)
  • Items that will be sent for job work should exist in the Item Master
  • You should have your contractors' GSTIN and contact details available

What is Job Work?

Job work is a manufacturing arrangement where a principal manufacturer sends raw materials or semi-finished goods to an external contractor (the "job worker") for a specific processing operation. The contractor processes the materials and returns the finished or semi-finished goods to the principal manufacturer.

The key characteristic of job work is that the ownership of the materials remains with the principal manufacturer. The contractor is performing a service (the processing operation) on the principal's materials, not buying and selling goods. This distinction has important implications for accounting, taxation, and inventory tracking.

A Practical Example

A steel fabrication shop manufactures MS flanges. The shop has cutting, drilling, and assembly capabilities in-house, but does not own a heat treatment furnace. The heat treatment step — which hardens the steel and relieves internal stresses — is outsourced to a nearby heat treatment contractor.

The workflow is:

  1. The fabrication shop cuts and drills the flange blanks in-house
  2. The blanks are sent to the heat treatment contractor
  3. The contractor performs the heat treatment process
  4. The treated flanges are returned to the fabrication shop
  5. The shop performs final assembly, coating, and inspection

The materials (flange blanks) belong to the fabrication shop throughout the process. The contractor provides only the heat treatment service.

Why SMBs Use Job Work

Job work is not a stopgap — it is a strategic manufacturing decision. Indian SMBs use job work for several well-founded reasons:

Specialized equipment. Some processes require expensive, specialized machinery that a small manufacturer cannot justify purchasing. A CNC 5-axis machining centre costs crores. A powder coating plant requires significant capital and space. Job work provides access to these capabilities without the capital investment.

Capacity overflow. During peak demand periods, in-house capacity may not be sufficient. Rather than turning away orders or investing in capacity that will sit idle during lean periods, manufacturers send overflow work to contractors. This flexes capacity up without fixed cost increases.

Cost optimization. Contractors who specialize in a single process often achieve better economies of scale than a manufacturer doing the same process for a fraction of their volume. The unit cost of electroplating 500 parts at a dedicated electroplating shop may be lower than running a small in-house setup.

Focus on core competencies. By outsourcing non-core processes, a manufacturer can focus its capital, management attention, and shop floor space on the operations where it adds the most value.

Speed to market. When launching a new product, outsourcing some processes allows faster start-up than building all capabilities in-house.

GST Implications of Job Work in India

Job work has specific provisions under Indian GST law that manufacturers must understand and comply with:

Section 143 of the CGST Act

Section 143 allows a registered person (the principal manufacturer) to send inputs or capital goods to a job worker for processing without payment of GST at the time of sending. This is a significant provision — it means the outward movement of goods to a job worker is not treated as a supply, and no GST is charged.

However, there are conditions:

ProvisionRequirement
Time limit for inputsInputs sent to a job worker must be returned or supplied from the job worker's premises within 1 year from the date of sending
Time limit for capital goodsCapital goods sent to a job worker must be returned within 3 years from the date of sending
Failure to returnIf goods are not returned within the time limit, the transaction is deemed a supply, and GST becomes payable along with interest
Direct supplyThe principal can authorize the job worker to supply processed goods directly to the principal's customer or to another job worker
Job worker's invoiceThe job worker issues an invoice for the processing charges (service), on which GST is charged

Practical Implications for ERP Tracking

These GST provisions make it essential to track:

  • What was sent to the job worker (item, quantity, description)
  • When it was sent (date — the 1-year clock starts ticking)
  • What was received back (quantity, date)
  • What is still outstanding at the job worker's premises

Udyamo ERP Lite's job work orders and receipts provide exactly this tracking, ensuring you have the data needed for GST compliance.

Warning: The 1-year time limit for inputs at the job worker's premises is a strict requirement. Set up reminders to track outstanding job work orders and follow up with contractors before the deadline approaches. Failure to comply converts the transaction into a supply, triggering GST liability with interest.

GST on Processing Charges

The job worker charges the principal for the processing service. This charge is subject to GST:

  • The applicable rate depends on the nature of the processing service (typically 12% or 18%)
  • The principal can claim Input Tax Credit (ITC) on the GST paid on processing charges
  • The job worker must be registered under GST if their aggregate turnover exceeds the threshold

The Contractor Master

In Udyamo ERP Lite, a Contractor record represents an external job worker — the person or business that performs outsourced processing operations on your materials.

The contractor master is your registry of all external processors. Maintaining accurate contractor records enables:

  • Quick selection when creating job work orders
  • GST compliance (GSTIN is captured and validated)
  • Performance tracking over time
  • Communication management (contact details, address)

Contractor Fields

FieldRequiredDescription
NameYesBusiness name or proprietorship name of the contractor
Contact PersonNoThe primary person you deal with at the contractor's facility
PhoneNoContact phone number
EmailNoContact email address
AddressNoStreet address of the contractor's facility
CityNoCity
StateNoState (important for IGST vs CGST+SGST determination)
PincodeNoPIN code
GSTINNoGST Identification Number (15-digit alphanumeric)
ActiveYesWhether the contractor is currently active (default: Yes)

Active vs. Inactive Contractors

The active field controls whether a contractor appears in selection lists when creating new job work orders. The Toggle Active action lets you switch a contractor between active and inactive status.

When to deactivate a contractor:

  • The contractor has shut down operations
  • You have permanently stopped using the contractor due to quality or delivery issues
  • The contractor's GST registration has been cancelled

Why not delete instead of deactivate? Historical records. If you delete a contractor, you lose the reference on all past job work orders. Deactivating preserves the history — you can still see past job work orders and their details — while preventing the contractor from being used in new transactions.

Tip: Periodically review your contractor list. Deactivate contractors you have not used in over a year. This keeps the selection list clean and relevant for users creating new job work orders.

Step by Step: Adding a Contractor

Step 1: Navigate to the contractor list.

Go to Manufacturing > Contractors. You will see a list of existing contractors. Click New Contractor.

Contractor list

Step 2: Fill in the contractor details.

For this example, we are adding a heat treatment contractor:

FieldValue
NameSagar Heat Treatment Works
Contact PersonManoj Patil
Phone9876543210
Email[email protected]
AddressPlot 45, MIDC Industrial Area, Phase 2
CityPune
StateMaharashtra
Pincode411026
GSTIN27AABCS1234F1ZP
ActiveYes

Step 3: Save the contractor.

Click Save. The contractor is now available for selection when creating job work orders.

Contractor form

Step 4 (if needed later): Deactivate the contractor.

If you stop using this contractor, navigate to the contractor record and click Toggle Active. The status changes from active to inactive. The contractor will no longer appear in selection lists for new job work orders.

Tips & Best Practices

Tip: Always capture the contractor's GSTIN. Even if the field is not mandatory in the system, the GSTIN is essential for GST-compliant documentation of job work transactions. Verify the GSTIN on the GST portal (gst.gov.in) before entering it.

Tip: Use the Contact Person field to record the person you actually coordinate with at the contractor's facility — this is often different from the proprietor whose name appears on the GST registration. Having the right contact name speeds up communication when following up on deliveries or quality issues.

Tip: Maintain a separate internal note (in the contractor record or in your own files) about each contractor's capabilities, typical lead times, and quality track record. This institutional knowledge helps when deciding which contractor to use for a specific job.

Warning: Do not create duplicate contractor records for the same business. If a contractor changes their address or contact person, update the existing record rather than creating a new one. Duplicates split your job work history and make it difficult to get a complete picture of your dealings with a contractor.

Quick Reference

FieldRequiredDescription
NameYesContractor's business name
Contact PersonNoPrimary contact at the contractor
PhoneNoPhone number
EmailNoEmail address
AddressNoStreet address
CityNoCity
StateNoState
PincodeNoPIN code
GSTINNoGST Identification Number
ActiveYesActive or inactive status

Contractor Actions

ActionDescription
Toggle ActiveSwitches the contractor between active and inactive status

Job Work Orders & Receipts

The previous chapter introduced the concept of job work and the contractor master. This chapter covers the operational side — creating job work orders to send materials to a contractor, and recording job work receipts when the processed goods come back.

A job work order is the formal document that authorizes the movement of your materials to an external contractor's facility for processing. The job work receipt records what was returned — how much was received, how much was acceptable, and how much was rejected. Together, these two records provide complete traceability of outsourced manufacturing activity.

What You Will Learn

  • The job work order workflow: create, send, receive, close
  • Job work order fields and their purpose
  • Tracking sent vs. received quantities
  • Recording job work receipts with accepted and rejected quantities
  • How to handle quality issues on received goods
  • Step-by-step: creating a job work order and recording a receipt
  • Managing outstanding job work for GST compliance

Prerequisites

Required: Before creating job work orders:

  • At least one contractor exists in Active status (see Chapter 17)
  • Items to be sent for processing exist in the Item Master
  • Warehouse locations are configured (see Chapter 9)
  • You understand the GST implications of job work (see Chapter 17)

The Job Work Order Workflow

The complete job work cycle follows four stages:

Job work order workflow

Stage 1: Create the Order

The production planner creates a job work order specifying what items are being sent, to which contractor, in what quantity, and when the processed goods are expected back. This is the planning and documentation stage.

Stage 2: Send Materials

The materials are physically dispatched to the contractor's facility. The job work order serves as the basis for the delivery challan (the document accompanying the goods in transit). Stock is transferred out of your warehouse — the items are now at the contractor's premises but still belong to you.

Stage 3: Receive Processed Goods

When the contractor completes the processing and returns the goods, you create a job work receipt. The receipt records the received quantity, the date of receipt, and — critically — how many units were accepted and how many were rejected.

Stage 4: Close and Reconcile

Once all materials have been received back (or accounted for), the job work order can be closed. Any discrepancies between sent and received quantities are investigated and resolved.

Job Work Order Fields

FieldRequiredDescription
Order NumberAutoSystem-generated unique identifier (e.g., JW-2026-0015)
ContractorYesThe external contractor who will process the materials
ItemYesThe item being sent for processing
QuantityYesThe quantity being sent
Sent DateYesThe date materials are dispatched to the contractor
Expected Return DateYesWhen you expect the processed goods back
StatusAutoCurrent status of the job work order
LocationYesThe warehouse location from which materials are being sent
NotesNoProcessing instructions, specifications, or other context

Understanding Each Field

Contractor. Select from the list of active contractors. Only active contractors appear in the dropdown. If you need to use a contractor that has been deactivated, reactivate them first through the contractor master (see Chapter 17).

Item. The item being sent for job work. This could be a raw material (sending MS plate for cutting), a semi-finished good (sending machined flanges for heat treatment), or even a finished good (sending painted products for packaging). The item must exist in the item master.

Quantity. The number of units being sent. This is expressed in the item's default unit of measure.

Sent Date. The date the materials physically leave your premises. This date is important for GST compliance — the one-year clock for return of inputs starts from this date.

Expected Return Date. When you expect the contractor to complete the processing and return the goods. This date drives follow-up and planning. If you need the heat-treated flanges by 20 March to meet a customer delivery, set the expected return date to 18 March to allow time for receiving inspection.

Location. The warehouse location from which the materials are being dispatched. Stock at this location will be reduced when the materials are sent.

Notes. Use this field for processing instructions that the contractor needs. For example: "Heat treatment specification: Normalize at 920 degrees C, air cool. Hardness requirement: 180-220 BHN." These notes can be printed on the delivery challan.

Tracking Sent vs. Received Quantities

One of the most important functions of job work tracking is reconciling what you sent with what you received back. Discrepancies are common and have several causes:

ScenarioSentReceivedExplanation
Full return200 pcs200 pcsAll pieces processed and returned. Ideal case.
Processing loss200 pcs195 pcs5 pieces damaged or scrapped during processing. Common in heat treatment (cracking) and surface treatment (coating defects).
Partial return200 pcs150 pcsContractor has completed part of the order. Remaining 50 pcs expected in the next batch.
Quality rejection200 pcs200 pcs (180 accepted, 20 rejected)All pieces returned, but 20 did not meet specification. Rejected pieces need disposition — rework by the contractor, rework in-house, or scrap.

The job work receipt mechanism handles all these scenarios by recording received quantity, accepted quantity, and rejected quantity separately.

Job Work Receipts

A job work receipt is the record of processed goods returning from the contractor. Each receipt captures:

FieldRequiredDescription
Job Work OrderAutoThe job work order this receipt is against
Received QuantityYesTotal units received from the contractor
Received DateYesDate the goods were physically received
Accepted QuantityYesUnits that passed quality check and are accepted
Rejected QuantityYesUnits that failed quality check and are rejected
NotesNoReceiving observations, deviations, quality notes

The Relationship Between Quantities

The following rule must hold for every receipt:

Accepted Quantity + Rejected Quantity = Received Quantity

If you receive 195 pieces and 15 fail your incoming quality check:

  • Received Quantity: 195
  • Accepted Quantity: 180
  • Rejected Quantity: 15

Multiple Receipts per Order

A single job work order can have multiple receipts. This is common when:

  • The contractor delivers in batches (100 pieces this week, 100 next week)
  • You reject pieces and the contractor reworks and returns them separately
  • Some pieces require additional processing time

The system tracks the total received across all receipts against the original sent quantity, giving you visibility into what is still outstanding at the contractor's premises.

Quality Check on Received Goods

When processed goods return from a contractor, they should be inspected before being accepted into stock. This is effectively an incoming inspection (see Chapter 16) with the contractor as the "vendor."

The quality check should verify:

  • Processing quality — did the contractor perform the specified process correctly? (e.g., is the hardness within the specified range after heat treatment?)
  • Dimensional integrity — did the processing operation distort or damage the parts? (e.g., did heat treatment cause warping?)
  • Quantity accuracy — does the received count match what the contractor claims to have returned?
  • Surface condition — are there any new defects (scratches, dents, contamination) that occurred during processing or transit?

Record the quality check results in the job work receipt through the accepted and rejected quantity fields, and in the notes field. For formal traceability, you can also create a Quality Inspection record linked to the job work order.

Tip: Perform the quality check immediately upon receipt, while the contractor's delivery person is still present if possible. Discovering defects days later makes it harder to establish whether the damage occurred during processing, during transit, or after receipt at your facility.

Step by Step: Creating a Job Work Order

Scenario

Your steel fabrication shop has cut and drilled 200 MS flange blanks. These blanks now need heat treatment at Sagar Heat Treatment Works. You expect the treated flanges back within 5 working days.

Step 1: Navigate to job work orders.

Go to Manufacturing > Job Work Orders. Click New Job Work Order.

Job work order list

Step 2: Fill in the order details.

FieldValueNotes
ContractorSagar Heat Treatment WorksSelect from active contractors
ItemMS Flange Blank — 150 mm (Machined)The semi-finished item being sent
Quantity200Number of pieces being sent
Sent Date12-Mar-2026Date of dispatch
Expected Return Date18-Mar-20265 working days for processing
LocationProduction Floor — WIP AreaWhere the blanks currently are
NotesNormalize at 920 deg C, air cool. Hardness: 180-220 BHN. Handle with care — machined surfaces.

Step 3: Save the job work order.

Click Save. The system generates an order number (e.g., JW-2026-0015). The materials are now tracked as being at the contractor's premises.

Job work order detail

Step 4: Prepare the delivery challan.

Print or generate the delivery challan from the job work order. This document accompanies the goods in transit and must include:

  • Your GSTIN and the contractor's GSTIN
  • Description and quantity of goods
  • HSN code
  • Value of goods (even though no sale is occurring, the challan must state the value)
  • Statement that the goods are being sent for job work under Section 143 of the CGST Act

Warning: A valid delivery challan is legally required when sending goods for job work. Goods in transit without a proper challan can be detained and penalized during a roadside check by GST authorities.

Step by Step: Recording a Job Work Receipt

Scenario

Sagar Heat Treatment Works returns 195 pieces on 18 March. Five pieces cracked during heat treatment (a known risk with certain geometries). Of the 195 returned, your quality inspector finds that 188 meet the hardness specification and 7 are outside the acceptable range.

Step 1: Open the job work order.

Navigate to Manufacturing > Job Work Orders and open JW-2026-0015.

Step 2: Create a new receipt.

In the Job Work Receipts section, click Add Receipt.

Step 3: Fill in the receipt details.

FieldValueNotes
Received Quantity195Total pieces returned by the contractor
Received Date18-Mar-2026Date of physical receipt
Accepted Quantity188Pieces that passed quality check
Rejected Quantity7Pieces that failed hardness test
Notes5 pieces cracked during HT (not returned). 7 pieces returned but hardness exceeds 220 BHN — rejected. Total yield: 188 out of 200 sent (94%). Contractor notified about rejections.

Step 4: Save the receipt.

Click Save. The receipt is recorded against the job work order.

Job work receipt form

Understanding the Outcome

After this receipt, the job work order shows:

MetricValue
Sent200 pcs
Received195 pcs
Not returned5 pcs (cracked at contractor — scrapped)
Accepted188 pcs
Rejected7 pcs (hardness out of spec)

The 188 accepted pieces proceed to the next production step (final assembly and coating). The 7 rejected pieces need a disposition decision — send back for re-treatment, rework in-house, or scrap.

The 5 pieces that cracked at the contractor's premises should be discussed with the contractor — is this a normal process loss, or was there a process deviation? Your job work order notes should document this conversation and the agreed resolution (credit note from the contractor, replacement, etc.).

Managing Outstanding Job Work

For GST compliance, you need to track materials that are currently at contractors' premises. The key concerns are:

Time limit tracking. Under Section 143 of the CGST Act, inputs must be returned within one year. For each open job work order, calculate how long the materials have been at the contractor.

Outstanding quantity. For each open job work order, the outstanding quantity is:

Sent Quantity - Total Received Quantity (across all receipts) = Outstanding at Contractor

Review outstanding job work orders weekly. Follow up on overdue returns promptly.

Tip: Create a routine — every Monday morning, review all open job work orders sorted by expected return date. Any order past its expected return date should trigger a follow-up call to the contractor. Any order approaching the one-year GST time limit should be escalated immediately.

Tips & Best Practices

Tip: When negotiating with contractors, discuss processing loss expectations upfront. A 2-3% loss rate may be acceptable for heat treatment, but a 10% rate indicates a process problem. Setting expectations in advance avoids disputes when goods are returned.

Tip: Take photographs of materials before sending them for job work, especially for high-value items. This provides evidence of the condition at dispatch and helps resolve disputes about damage during processing.

Tip: For repeat job work (same contractor, same item, same process), track yield rates over time. If the accepted quantity as a percentage of sent quantity is declining, investigate — the contractor may be experiencing equipment issues, staffing changes, or using the wrong process parameters.

Warning: Never lose track of materials at a contractor's premises. Materials at the job worker are still your inventory — they are your assets and they count toward your stock valuation. More importantly, exceeding the one-year time limit without return converts the transaction into a deemed supply, triggering GST liability with interest and potential penalties.

Warning: Ensure that rejected items from job work receipts are properly dispositioned. Do not let rejected stock accumulate in a corner of the warehouse without a decision. Either send it back for rework, rework it in-house, or scrap it and write off the cost. Undecided rejections are a hidden cost.

Quick Reference

Job Work Order Fields

FieldRequiredDescription
Order NumberAutoSystem-generated unique identifier
ContractorYesExternal contractor performing the processing
ItemYesItem being sent for processing
QuantityYesNumber of units being sent
Sent DateYesDate materials leave your premises
Expected Return DateYesDate processed goods are expected back
StatusAutoCurrent status of the order
LocationYesWarehouse location from which materials are dispatched
NotesNoProcessing instructions, specifications, or context

Job Work Receipt Fields

FieldRequiredDescription
Job Work OrderAutoThe parent job work order
Received QuantityYesTotal units received from the contractor
Received DateYesDate goods were physically received
Accepted QuantityYesUnits that passed quality check
Rejected QuantityYesUnits that failed quality check
NotesNoReceiving observations and quality notes

The Sales Cycle in ERP

Every manufacturing business exists to sell what it produces. Whether the product is fabricated steel brackets, CNC-machined shaft components, or packaged food items, the journey from a customer enquiry to cash in the bank follows a predictable sequence of steps. In a manual environment, each step lives in a different register, spreadsheet, or someone's memory. In an ERP system, the entire sequence is connected — each document links to the next, data flows automatically, and nothing falls through the cracks.

This chapter maps the end-to-end sales cycle as implemented in Udyamo ERP Lite and explains why managing sales through an integrated system is fundamentally different from managing sales through disconnected tools.

What You Will Learn

  • The complete sales cycle from customer enquiry to payment receipt
  • How each document in the cycle links to the next (document flow)
  • The difference between make-to-order and make-to-stock selling
  • How credit management protects your cash flow
  • The sales metrics an ERP system enables automatically

Prerequisites

  • A basic understanding of your company's sales process
  • Familiarity with the Udyamo ERP Lite dashboard (Chapter 4)

The End-to-End Sales Cycle

The sales cycle in Udyamo ERP Lite follows this sequence:

Enquiry --- A customer contacts you asking about product availability, pricing, or delivery timelines. While Udyamo ERP Lite does not have a formal enquiry module, this is the trigger that starts the process.

Proforma Invoice (Quotation) --- You respond with a proforma invoice detailing the items, quantities, unit prices, applicable taxes (GST with HSN codes), and a validity period. This is not a tax document — it is a price confirmation and commercial offer.

Sales Order --- Once the customer accepts the quotation, you create a sales order. This is a confirmed commitment to supply the specified goods at the agreed terms. A sales order can be created by converting a proforma invoice or by manual entry.

Delivery --- You ship or hand over the goods to the customer. Inventory is adjusted to reflect the outward movement.

Tax Invoice --- You issue a GST-compliant tax invoice. The invoice can be generated from the sales order (fully or partially, depending on how much has been delivered) or created independently. The system calculates CGST, SGST, or IGST based on the customer's location and generates the corresponding accounting journal entry.

Payment Receipt --- The customer pays — in full or in part — by cash, cheque, bank transfer, or UPI. The payment is recorded against the invoice, updating the balance due and the invoice status.

Sales cycle flow from proforma to payment

Document Flow — Why It Matters

In Udyamo ERP Lite, every sales document carries references to the documents that came before it and after it. A tax invoice knows which sales order it was created from. That sales order knows which proforma invoice generated it. This chain of references is called the document flow.

Document flow delivers three critical benefits:

  1. Traceability. If a customer disputes an invoice amount, you can trace it back to the sales order and the original proforma to verify what was agreed.
  2. No duplication. The system prevents you from invoicing the same sales order line item twice. It tracks invoiced quantities against ordered quantities and only allows invoicing for the remaining balance.
  3. Status tracking. Each document's status updates automatically based on downstream events. When all items on a sales order are invoiced, the order status changes to "fully invoiced." When an invoice is fully paid, its status changes to "paid."

The following table shows how statuses propagate across the sales cycle:

DocumentStatus Progression
Proforma InvoiceDraft --- Sent --- Converted or Expired
Sales OrderDraft --- Confirmed --- Partially Invoiced --- Fully Invoiced (or Cancelled)
InvoiceDraft --- Sent --- Partially Paid --- Paid (also Overdue, Cancelled)
PaymentRecorded against the linked invoice

Make-to-Order vs. Make-to-Stock

Manufacturing businesses typically follow one of two sales strategies, and Udyamo ERP Lite supports both:

Make-to-Stock (MTS). You manufacture finished goods in advance and hold them in inventory. When a customer orders, you fulfil from existing stock. This is common for standardised products — fasteners, fittings, packaged food items. The sales cycle is straightforward: sales order, pick from stock, invoice, and collect payment.

Make-to-Order (MTO). You manufacture only after receiving a confirmed customer order. This is common for custom-fabricated parts, specialised machine components, or products with customer-specific specifications. The sales cycle here is longer: the confirmed sales order triggers a production order (covered in Part 3), production consumes raw materials, finished goods are received into inventory, and only then can you deliver and invoice.

In both cases, the sales documents in Udyamo ERP Lite remain the same. The difference is in timing — whether production happens before or after the sales order.

Credit Management Basics

Extending credit is standard practice in B2B manufacturing sales. A distributor of machined components might expect 30 or 45 days to pay after receiving an invoice. Udyamo ERP Lite helps you manage credit exposure through two fields on the customer master:

  • Credit Limit --- The maximum total outstanding amount you are willing to carry for a customer at any point in time. If a customer's unpaid invoices already total their credit limit, the system alerts you before creating new orders.
  • Credit Days --- The number of days from invoice date by which payment is expected. This drives the due date calculation on invoices and determines when an invoice is flagged as overdue.

Tip: Set credit limits and credit days on every business customer from the start. It is far easier to enforce credit discipline when the rules are established upfront than to impose limits after a customer has developed a habit of late payment.

Sales Metrics the ERP Enables

Because every transaction flows through a single system, Udyamo ERP Lite can generate sales intelligence that would be impossible with disconnected tools:

MetricWhat It Tells You
Revenue by customerWhich customers drive the most business
Outstanding receivablesTotal money owed to you, broken down by age
Average collection periodHow long customers take to pay on average
Quotation conversion rateWhat percentage of proforma invoices become sales orders
Order fulfilment rateWhat percentage of ordered quantities are invoiced and delivered
Overdue invoicesWhich invoices have crossed their due date without full payment

These metrics appear in the operational reports covered in Chapter 47.

Tips & Best Practices

Tip: Always start the sales cycle with a proforma invoice, even for repeat customers with standard pricing. The proforma creates a documented record of what was agreed and serves as the foundation for the sales order and invoice.

Tip: Use the expected delivery date on sales orders to plan production and logistics. When sales orders carry realistic delivery dates, your production team can prioritise work accordingly.

Warning: Do not skip the sales order step and jump directly from proforma to invoice unless you are dealing with a simple, immediate sale. The sales order provides a confirmed commitment that helps with production planning, inventory reservation, and partial invoicing.

Quick Reference

TermDefinition
Sales CycleThe complete sequence from customer enquiry to payment collection
Document FlowThe chain of references linking proforma, sales order, invoice, and payment
Proforma InvoiceA quotation or price confirmation — not a tax document
Sales OrderA confirmed commitment to supply goods at agreed terms
Tax InvoiceA legally required GST-compliant document for a sale
Credit LimitMaximum outstanding amount allowed for a customer
Credit DaysNumber of days allowed for payment from invoice date
Make-to-OrderManufacturing triggered by a confirmed customer order
Make-to-StockManufacturing in advance, selling from existing inventory

Customer Master

The customer master is the foundation of everything in the sales module. Every proforma invoice, sales order, tax invoice, and payment receipt is linked to a customer record. If the customer record is incomplete or inaccurate — a wrong GSTIN, a missing shipping address, an undefined credit limit — the errors cascade into every downstream document.

This chapter explains the customer master concept, walks through the key fields, and provides step-by-step instructions for creating both business and individual customer records in Udyamo ERP Lite.

What You Will Learn

  • What the customer master is and why a single, accurate record per customer matters
  • The difference between business and individual customer types
  • The role of GSTIN, PAN, and address fields in GST compliance
  • How credit limit and credit days control credit exposure
  • Step-by-step creation of business and individual customer records

Prerequisites

  • Access to Udyamo ERP Lite with permission to manage customers
  • Understanding of the sales cycle (Chapter 19)
  • Your customers' GSTIN and PAN details (for business customers)

The Customer Master Concept

A customer master record is a single, centralised entry for each customer your business sells to. Rather than re-entering customer details on every invoice or sales order, you create the customer once and reference that record throughout the system. When you update a customer's address or GSTIN, the change is reflected everywhere that customer appears.

This approach delivers three benefits:

  1. Consistency. The customer's legal name, GSTIN, and address are entered once and used uniformly across all documents. No more invoices with slightly different spellings of the same company name.
  2. Compliance. GST returns require exact matching of GSTINs and legal names. A centralised customer master ensures that every invoice carries the correct details.
  3. Analysis. With a single customer record, you can track total revenue, outstanding receivables, payment history, and credit utilisation across all transactions for that customer.

Customer Types

Udyamo ERP Lite supports two customer types:

Business. A registered company, partnership firm, LLP, or proprietorship. Business customers typically have a GSTIN (if GST-registered) and a PAN. B2B transactions require the customer's GSTIN on the tax invoice for input tax credit purposes.

Individual. A person buying in their individual capacity. Individual customers may not have a GSTIN. Sales to individuals are B2C transactions where GST is charged but the customer does not claim input tax credit.

Tip: Even if a proprietorship firm is run by a single person, classify it as "business" if it has a GSTIN. The customer type affects how GST is reported — B2B invoices appear in GSTR-1 with the customer's GSTIN, while B2C invoices are reported in aggregate.

Key Fields Explained

Identity and Contact

FieldDescriptionRequired
NameLegal name of the customer (as on GSTIN certificate for businesses)Yes
Customer TypeIndividual or BusinessYes
GSTIN15-digit GST Identification Number (for GST-registered businesses)No
PAN10-character Permanent Account NumberNo
EmailPrimary email for sending invoices and proformasNo
PhonePrimary contact numberNo
Contact PersonName of the person you deal with at the customer's organisationNo

Required: The Name and Customer Type fields are mandatory. For business customers engaged in B2B transactions, the GSTIN should always be entered to ensure correct GST reporting.

Addresses

Udyamo ERP Lite maintains separate billing and shipping addresses for each customer:

FieldDescription
Billing AddressStreet address for the billing location
Billing CityCity of the billing address
Billing StateState of the billing address (determines intra-state vs. inter-state GST)
Billing PincodePIN code of the billing address
Shipping AddressStreet address for the delivery location
Shipping CityCity of the shipping address
Shipping StateState of the shipping address
Shipping PincodePIN code of the shipping address

Warning: The billing state is critical for GST calculation. If your business is in Maharashtra and the customer's billing state is also Maharashtra, the transaction is intra-state (CGST + SGST). If the customer's billing state is Gujarat, the transaction is inter-state (IGST). An incorrect state will result in incorrect tax calculation and filing mismatches.

Credit and Payment Terms

FieldDescription
Credit LimitMaximum total outstanding amount (in rupees) allowed for this customer
Credit DaysNumber of days from invoice date by which payment is expected
Payment TermsFree-text description of payment terms (e.g., "50% advance, 50% on delivery")

Other Fields

FieldDescription
NotesInternal notes about the customer (not visible on invoices)
ActiveWhether the customer is active. Deactivated customers cannot be selected for new transactions

Step-by-Step: Creating a Business Customer

This example creates a customer record for a steel fabrication company in Pune that buys machined components from your factory.

  1. Navigate to Sales > Customers from the main menu.
  2. Click New Customer.
  3. Enter the customer details:
    • Name: Sai Engineering Works
    • Customer Type: Business
    • GSTIN: 27AABCS1234F1Z5
    • PAN: AABCS1234F
    • Email: [email protected]
    • Phone: 9876543210
    • Contact Person: Rajesh Patil
  4. Enter the billing address:
    • Billing Address: Plot 45, MIDC Phase II
    • Billing City: Pune
    • Billing State: Maharashtra
    • Billing Pincode: 411026
  5. Enter the shipping address (if different from billing):
    • Shipping Address: Gate No. 7, Industrial Area
    • Shipping City: Pune
    • Shipping State: Maharashtra
    • Shipping Pincode: 411039
  6. Set credit terms:
    • Credit Limit: 500000
    • Credit Days: 30
    • Payment Terms: Net 30 days from invoice date
  7. Click Create Customer to save the record.

Creating a business customer

The customer now appears in your customer list and can be selected when creating proforma invoices, sales orders, and invoices.

Step-by-Step: Creating an Individual Customer

This example creates a customer record for an individual buyer who purchases processed food products directly from your factory outlet.

  1. Navigate to Sales > Customers from the main menu.
  2. Click New Customer.
  3. Enter the customer details:
    • Name: Anita Sharma
    • Customer Type: Individual
    • Email: [email protected]
    • Phone: 9123456789
  4. Enter the billing address:
    • Billing Address: 12, Green Park Colony
    • Billing City: Jaipur
    • Billing State: Rajasthan
    • Billing Pincode: 302001
  5. Leave GSTIN and PAN blank (not applicable for most individual customers).
  6. Leave credit limit at 0 (no credit for walk-in individual customers).
  7. Click Create Customer to save.

Tip: For individual customers who make frequent purchases, creating a customer master saves time on every subsequent transaction. For rare, one-time buyers, you may choose to use a generic "Walk-in Customer" record instead of creating individual entries.

Why Accurate Customer Data Matters

Incorrect customer data causes problems at two levels:

Operational problems. A wrong shipping address means goods are delivered to the wrong location. A missing email means invoices cannot be sent electronically. An undefined credit limit means you have no guardrails against over-exposure.

Compliance problems. GST law requires the customer's exact legal name and GSTIN on every B2B tax invoice. Mismatches between the name or GSTIN on your invoice and the customer's actual registration can result in the customer's input tax credit being denied. This creates disputes and damages business relationships.

Tip: When onboarding a new business customer, ask for a copy of their GST registration certificate. This document contains the exact legal name, GSTIN, and registered address you need for accurate invoicing.

Tips & Best Practices

Tip: Periodically review your customer list and deactivate customers who are no longer active. This keeps the selection lists clean and prevents accidental invoicing to defunct entities.

Tip: Always enter both billing and shipping addresses, even if they are the same. Many manufacturing customers have a registered office (billing) at one location and a factory (shipping) at another. Getting this right from the start avoids delivery confusion.

Warning: Never reuse a customer record for a different entity. If a company changes its legal name or GSTIN (due to restructuring, for example), create a new customer record. Reusing the old record will corrupt historical data and create compliance issues.

Quick Reference

FieldPurposeImpact
NameLegal name on invoices and GST returnsMust match GSTIN certificate
Customer TypeBusiness or IndividualDetermines B2B vs. B2C reporting
GSTINGST Identification NumberRequired for B2B input tax credit
Billing StateState of the billing addressDetermines CGST+SGST vs. IGST
Credit LimitMaximum outstanding amountPrevents over-exposure
Credit DaysPayment deadline in daysDrives due dates and overdue alerts
ActiveWhether customer can be usedControls selection in transactions

Proforma Invoices (Quotations)

Before a sale is confirmed, the customer needs to know what they are buying, how much it will cost, and what taxes apply. A proforma invoice — also called a quotation — serves this purpose. It is a formal document that lists products, quantities, unit prices, and applicable GST, giving the customer a clear picture of the total cost before they commit.

A proforma invoice is not a tax invoice. It does not create any accounting entry, does not affect inventory, and does not appear in GST returns. It is purely a commercial document — a price offer with a defined validity period. Once the customer accepts, the proforma can be converted into a sales order or directly into a tax invoice, carrying all line item details forward automatically.

This chapter explains how proforma invoices work in Udyamo ERP Lite, covers the status lifecycle, and walks through creating, sending, and converting a proforma.

What You Will Learn

  • The difference between a proforma invoice and a tax invoice
  • When and why to use proforma invoices
  • The proforma status lifecycle: draft, sent, converted, expired
  • How to add line items with HSN codes, quantities, and tax rates
  • How to send a proforma to a customer and download the PDF
  • How to convert a proforma into a sales order or directly into an invoice

Prerequisites

  • At least one customer record created (Chapter 20)
  • Items set up in the item master with HSN codes and tax rates (Chapter 7)
  • Understanding of the sales cycle (Chapter 19)

When to Use Proforma Invoices

Proforma invoices are appropriate in the following situations:

Price confirmation for custom work. A customer asks for a quote on 500 custom-machined gear housings. You calculate the cost, add your margin, determine the applicable GST, and send a proforma. The customer reviews, negotiates if needed, and confirms.

Tender or bid responses. When quoting against a requirement from a larger company, the proforma serves as your formal price offer.

Export transactions. Proforma invoices are commonly required for international shipments to support customs clearance, letters of credit, and advance payment processing.

New customer evaluation. Before starting a relationship with a new customer, a proforma establishes the commercial terms clearly and creates a documented starting point.

Tip: Even for repeat customers with established pricing, issuing a proforma for each order creates a clear audit trail and reduces disputes about what was agreed.

Status Lifecycle

A proforma invoice in Udyamo ERP Lite moves through the following statuses:

StatusMeaning
DraftThe proforma is being prepared. It can be edited freely.
SentThe proforma has been sent to the customer (via email or PDF download). It remains editable but is marked as communicated.
ConvertedThe proforma has been converted into a sales order or a tax invoice. No further changes are allowed.
ExpiredThe validity date has passed without conversion. The proforma is closed.
Draft ──> Sent ──> Converted
                └──> Expired

Warning: Once a proforma is converted, it cannot be edited or converted again. If terms change after conversion, modify the resulting sales order or create a new proforma.

Proforma Invoice Fields

Header Fields

FieldDescription
Proforma NumberAuto-generated unique identifier
CustomerSelected from the customer master
Issue DateDate the proforma is created
Valid UntilDate until which the quoted prices are valid
StatusCurrent status (draft, sent, converted, expired)
Billing AddressPulled from customer master, can be overridden
Shipping AddressPulled from customer master, can be overridden
NotesFree-text notes (visible on the printed proforma)

Line Item Fields

FieldDescription
ItemSelected from the item master
DescriptionAuto-filled from the item record, can be customised
HSN CodeHarmonized System of Nomenclature code for the item
QuantityNumber of units being quoted
Unit PricePrice per unit (excluding tax)
Tax RateGST rate applicable to this item (e.g., 5%, 12%, 18%, 28%)
Tax AmountAutomatically calculated: Quantity x Unit Price x Tax Rate
TotalAutomatically calculated: (Quantity x Unit Price) + Tax Amount

Summary Fields

FieldDescription
SubtotalSum of all line item amounts before tax
Tax AmountSum of all line item tax amounts
TotalSubtotal + Tax Amount — the grand total of the proforma

Step-by-Step: Creating a Proforma Invoice

This example creates a proforma for a customer who has requested pricing on machined steel brackets and mounting plates.

  1. Navigate to Sales > Proforma Invoices from the main menu.
  2. Click New Proforma Invoice.
  3. Select the customer:
    • Customer: Sai Engineering Works
    • The billing and shipping addresses auto-fill from the customer master.
  4. Set the dates:
    • Issue Date: (defaults to today)
    • Valid Until: Set to 15 days from today (or as per your quoting policy).
  5. Add the first line item:
    • Item: MS Bracket Type A
    • HSN Code: 7308 (auto-filled from item master)
    • Quantity: 200
    • Unit Price: 450.00
    • Tax Rate: 18%
    • The system calculates: Tax Amount = 16,200.00, Total = 1,06,200.00
  6. Add the second line item:
    • Item: Mounting Plate 6mm
    • HSN Code: 7326 (auto-filled from item master)
    • Quantity: 100
    • Unit Price: 320.00
    • Tax Rate: 18%
    • The system calculates: Tax Amount = 5,760.00, Total = 37,760.00
  7. Review the summary:
    • Subtotal: 1,22,000.00
    • Tax Amount: 21,960.00
    • Total: 1,43,960.00
  8. Add any notes (e.g., "Delivery within 10 working days from order confirmation. Prices valid for 15 days.").
  9. Click Create Proforma Invoice to save as a draft.

Creating a proforma invoice with line items

Step-by-Step: Sending a Proforma

Once the proforma is saved, you need to communicate it to the customer.

  1. Open the proforma invoice from the list.
  2. Review the details one final time.
  3. Choose one of the following:
    • Click Send Proforma to email the proforma directly to the customer's email address (as recorded in the customer master). The status changes from "Draft" to "Sent."
    • Click Download PDF to generate a PDF file that you can share manually via WhatsApp, email attachment, or print.

Tip: Even if you plan to share the PDF manually, clicking Send Proforma updates the status to "Sent," which provides a clear record that the quotation was communicated. You can also download the PDF after sending.

Step-by-Step: Converting a Proforma

When the customer accepts the proforma, you convert it into the next document in the sales cycle.

Converting to a Sales Order

  1. Open the accepted proforma invoice.
  2. Click Convert to Sales Order.
  3. The system creates a new sales order pre-filled with:
    • The same customer
    • The same line items (items, quantities, prices, tax rates)
    • The same billing and shipping addresses
    • A reference back to the proforma
  4. Review the sales order. You can adjust quantities, add expected delivery dates, or modify terms.
  5. Save the sales order. The proforma status changes to "Converted."

Converting Directly to an Invoice

For simple, immediate sales where a separate sales order is not needed:

  1. Open the accepted proforma invoice.
  2. Click Convert to Invoice.
  3. The system creates a new tax invoice pre-filled with all proforma details.
  4. Review and adjust as needed (e.g., set the due date based on payment terms).
  5. Save the invoice. The proforma status changes to "Converted."

Warning: Converting directly to an invoice skips the sales order step. This means you lose the ability to track partial deliveries and partial invoicing. Use direct conversion only for straightforward, single-delivery transactions.

Validity and Expiry

The Valid Until date defines how long the quoted prices are guaranteed. This is important because:

  • Raw material costs fluctuate. A quote based on today's steel price may not be viable 60 days later.
  • GST rates can change. A rate revision between quoting and invoicing would require a new proforma.
  • Production capacity is finite. A quote for delivery in 2 weeks may not be achievable if the customer responds 3 months later.

If the validity date passes without the customer accepting, the proforma status can be marked as "Expired." You can then create a new proforma with updated pricing if the customer re-engages.

Tips & Best Practices

Tip: Standardise your validity period. Most manufacturing SMBs use 15 or 30 days. Shorter periods protect you from raw material price volatility; longer periods give customers more time to decide.

Tip: Include payment terms, delivery timelines, and any special conditions in the Notes field. This ensures the proforma serves as a complete commercial offer, not just a price list.

Tip: Track your quotation conversion rate (percentage of proformas that become sales orders). A low conversion rate may indicate pricing issues, slow response times, or misalignment with customer needs.

Warning: Do not use proforma invoices as a substitute for tax invoices. A proforma is not a legally valid document for GST purposes. The customer cannot claim input tax credit based on a proforma invoice.

Quick Reference

ActionPath
Create proformaSales > Proforma Invoices > New Proforma Invoice
Send to customerOpen proforma > Send Proforma
Download PDFOpen proforma > Download PDF
Convert to sales orderOpen proforma > Convert to Sales Order
Convert to invoiceOpen proforma > Convert to Invoice
View all proformasSales > Proforma Invoices

Sales Orders

A sales order represents a confirmed commitment between your business and the customer. While a proforma invoice is an offer that the customer may or may not accept, a sales order is an agreement — you have committed to supply specific goods at specific prices, and the customer has committed to buy them.

In a manufacturing context, the sales order is often the trigger for production. When a make-to-order factory receives a confirmed sales order for 500 custom brackets, that order drives the production plan, material procurement, and shop floor scheduling. Even in make-to-stock environments, the sales order is the authoritative document that tells the dispatch team what to ship, when, and to whom.

This chapter covers sales order creation, the status lifecycle, partial invoicing, and the conversion process from sales order to tax invoice.

What You Will Learn

  • The role of sales orders in the sales cycle and production planning
  • How to create a sales order from a proforma invoice or from scratch
  • The sales order status lifecycle and what each status means
  • How partial invoicing works with invoiced vs. pending quantities
  • How to confirm a sales order and convert it to a tax invoice

Prerequisites

  • At least one customer record created (Chapter 20)
  • Items set up in the item master (Chapter 7)
  • Understanding of proforma invoices (Chapter 21, optional but recommended)

Why Sales Orders Matter

Without a formal sales order, manufacturing businesses face recurring problems:

  • Disputed deliveries. The customer says they ordered 200 pieces; your records show 250. Without a confirmed order document, there is no definitive reference.
  • Production misalignment. The shop floor produces what it thinks was ordered, but the actual requirement was different. Rework and delays follow.
  • Invoicing errors. Without tracking what has been invoiced against what was ordered, items get billed twice or not at all.
  • No visibility into the pipeline. Management cannot see the total value of confirmed orders awaiting fulfilment — a critical metric for capacity planning and cash flow forecasting.

A sales order in Udyamo ERP Lite solves all of these problems by creating a single, versioned, trackable record of what was agreed.

Creating a Sales Order

There are two ways to create a sales order in Udyamo ERP Lite.

From a Proforma Invoice

If you sent a proforma invoice (Chapter 21) and the customer has accepted it:

  1. Navigate to Sales > Proforma Invoices.
  2. Open the accepted proforma.
  3. Click Convert to Sales Order.
  4. The system creates a new sales order pre-filled with all details from the proforma — customer, line items, quantities, prices, tax rates, and addresses.
  5. Add or update additional fields:
    • Expected Delivery Date: The date by which you plan to deliver the goods.
    • Billing Location: The billing warehouse or branch location (if applicable).
    • Shipping Location: The dispatch warehouse or branch location.
  6. Review and click Create Sales Order.

Manual Creation

For orders received verbally, via email, or through any channel where a proforma was not issued:

  1. Navigate to Sales > Sales Orders from the main menu.
  2. Click New Sales Order.
  3. Select the Customer from the dropdown.
  4. Set the Order Date (defaults to today).
  5. Set the Expected Delivery Date.
  6. Add line items:
    • Select the Item from the item master.
    • Enter the Quantity.
    • Enter the Unit Price (may auto-fill from the item master if configured).
    • Select the Tax Rate (auto-fills from the item's default GST rate).
    • The HSN Code auto-fills from the item master.
    • Tax Amount and Total are calculated automatically.
  7. Repeat for additional line items.
  8. Set billing and shipping locations if applicable.
  9. Add any notes (delivery instructions, special requirements).
  10. Click Create Sales Order.

Creating a sales order manually

Sales Order Fields

Header Fields

FieldDescription
Order NumberAuto-generated unique identifier
CustomerSelected from the customer master
Proforma InvoiceReference to the source proforma (if converted)
Order DateDate the order is recorded
Expected Delivery DateTarget date for dispatching goods
StatusCurrent status in the lifecycle
Billing LocationWarehouse or branch for billing purposes
Shipping LocationWarehouse or branch from which goods are dispatched
NotesInternal or customer-facing notes

Line Item Fields

FieldDescription
ItemProduct or material from the item master
DescriptionAuto-filled from item, can be customised
HSN CodeHarmonized System of Nomenclature code
QuantityOrdered quantity
Unit PriceAgreed price per unit (excluding tax)
Tax RateApplicable GST percentage
Tax AmountCalculated: Quantity x Unit Price x Tax Rate
TotalCalculated: (Quantity x Unit Price) + Tax Amount
Invoiced QuantityQuantity already invoiced against this line (system-maintained)

Summary Fields

FieldDescription
SubtotalSum of line item amounts before tax
Tax AmountTotal GST across all line items
TotalGrand total of the sales order

Status Lifecycle

Sales orders move through the following statuses:

StatusMeaning
DraftThe order is being prepared. All fields are editable.
ConfirmedThe order has been confirmed and is ready for fulfilment. Limited editing allowed.
Partially InvoicedAt least one invoice has been created from this order, but some quantities remain un-invoiced.
Fully InvoicedAll line item quantities have been invoiced. The order is complete.
CancelledThe order has been cancelled. No further invoicing is possible.
Draft ──> Confirmed ──> Partially Invoiced ──> Fully Invoiced
                    └──> Cancelled

Step-by-Step: Confirming a Sales Order

A draft sales order is a work-in-progress. Confirming it signals that the order is agreed upon and ready for fulfilment.

  1. Open the sales order from Sales > Sales Orders.
  2. Verify all details — customer, items, quantities, prices, delivery date.
  3. Click Confirm.
  4. The status changes from "Draft" to "Confirmed."

Required: A sales order must be in "Confirmed" status before it can be converted to an invoice. Draft orders cannot be invoiced.

Warning: Once confirmed, certain fields (such as the customer and line item details) have limited editability to maintain the integrity of the confirmed agreement. If significant changes are needed, it may be better to cancel the order and create a new one.

Tracking Invoiced vs. Pending Quantities

One of the most valuable features of the sales order is its ability to track how much of each line item has been invoiced. This is managed through the Invoiced Quantity field on each line item.

For example, consider a sales order with two line items:

ItemOrdered QtyInvoiced QtyPending Qty
MS Bracket Type A500300200
Mounting Plate 6mm2002000

In this scenario, the Mounting Plate line is fully invoiced, but 200 MS Brackets remain. The sales order status is "Partially Invoiced." When you convert the remaining quantity to an invoice, the system only offers the pending 200 brackets — it will not allow you to invoice the already-invoiced quantities again.

Step-by-Step: Converting a Sales Order to an Invoice

Full Conversion

When all items are ready for invoicing at once:

  1. Open the confirmed sales order.
  2. Click Convert to Invoice.
  3. The system creates a tax invoice with all pending line items and quantities.
  4. Review the invoice (set the due date, verify addresses).
  5. Save the invoice.
  6. The sales order status updates to "Fully Invoiced."

Partial Conversion

When only some items or quantities are ready (common in manufacturing where production batches complete at different times):

  1. Open the confirmed sales order.
  2. Click Convert to Invoice.
  3. The system creates an invoice pre-filled with all pending line items.
  4. Adjust quantities on the invoice to reflect only what is being delivered now. For example, change 200 brackets to 100 if only 100 are ready.
  5. Remove any line items that are not being invoiced in this batch.
  6. Save the invoice.
  7. The sales order status updates to "Partially Invoiced."
  8. Repeat the process later for the remaining quantities.

Tip: For make-to-order manufacturing, align your invoicing with production batch completions. If a production order yields 300 of 500 ordered brackets, create an invoice for 300. Invoice the remaining 200 when the next batch is complete. The sales order tracks everything automatically.

Expected Delivery Date

The expected delivery date serves two purposes:

  1. Customer communication. It sets the customer's expectation for when they will receive the goods.
  2. Internal planning. Production and dispatch teams can filter sales orders by expected delivery date to prioritise their work.

Tip: Be realistic with expected delivery dates. Factor in production lead time, raw material availability, and logistics. An unrealistic date creates a cascade of problems — rushed production, quality issues, and disappointed customers.

Tips & Best Practices

Tip: Use the sales order list view to monitor all open orders. Filter by status "Confirmed" or "Partially Invoiced" to see your current fulfilment backlog. This is your order book — the total value represents committed revenue awaiting delivery.

Tip: When creating sales orders from proforma invoices, always review the quantities and prices. Negotiations between the proforma stage and order confirmation may have changed the terms.

Warning: Do not delete a confirmed or partially invoiced sales order. Use the "Cancel" action instead. Cancellation preserves the record for audit purposes, while deletion removes it permanently.

Tip: If a customer wants to amend an order after confirmation (change quantities, add items, or modify prices), the recommended approach is to cancel the existing order and create a new one. This maintains a clean audit trail.

Quick Reference

ActionPath
Create sales orderSales > Sales Orders > New Sales Order
Create from proformaSales > Proforma Invoices > Open proforma > Convert to Sales Order
Confirm orderOpen sales order > Confirm
Convert to invoiceOpen confirmed sales order > Convert to Invoice
View all ordersSales > Sales Orders
Filter by statusSales > Sales Orders > Filter by status dropdown

Sales Invoices & Tax Calculation

The tax invoice is the most important document in the sales cycle. It is the legally mandated document under GST law that records a taxable supply of goods or services. Unlike a proforma invoice (which is an offer) or a sales order (which is a commitment), a tax invoice creates legal and financial consequences — it triggers a GST liability, creates an accounting journal entry, and establishes the customer's obligation to pay.

Every GST-registered business must issue a tax invoice for every taxable supply. The invoice must contain specific information prescribed by the CGST Rules, including the supplier's and recipient's GSTIN, HSN codes, item-wise tax breakup, and the place of supply. Udyamo ERP Lite handles all of this automatically, provided the underlying master data (customer GSTIN, item HSN codes, tax rates) is set up correctly.

This chapter covers invoice creation, GST tax calculation mechanics, the invoice status lifecycle, and the automatic accounting entries that invoices generate.

What You Will Learn

  • The legal significance of a tax invoice under GST
  • How to create invoices from a sales order or as standalone documents
  • GST calculation: CGST + SGST (intra-state) vs. IGST (inter-state)
  • The role of HSN codes and tax rates on line items
  • Invoice status lifecycle: draft through paid, overdue, and cancelled
  • How invoices automatically create journal entries in the accounting module
  • How to generate PDF invoices and send them to customers

Prerequisites

  • At least one customer record with accurate GSTIN and billing state (Chapter 20)
  • Items set up with HSN codes and default tax rates (Chapter 7)
  • Understanding of the sales order workflow (Chapter 22, if creating invoices from orders)
  • Basic familiarity with the chart of accounts (Chapter 32, helpful but not required)

Invoice vs. Proforma vs. Delivery Note

These three documents serve different purposes and are often confused:

DocumentLegal StatusCreates Accounting EntryAppears in GST ReturnsAffects Inventory
Proforma InvoiceNot a legal documentNoNoNo
Tax InvoiceLegally required under GSTYesYes (GSTR-1)No (handled separately)
Delivery NoteProof of physical goods movementNoNoYes

The tax invoice is the only document among these three that has legal standing for GST purposes and creates financial entries in the system.

Creating an Invoice

From a Sales Order

The most common method in a structured sales process:

  1. Navigate to Sales > Sales Orders.
  2. Open a confirmed sales order.
  3. Click Convert to Invoice.
  4. The system creates a new invoice pre-filled with:
    • Customer details (name, GSTIN, addresses)
    • Line items with quantities, prices, HSN codes, and tax rates
    • Only the un-invoiced quantities from the sales order
  5. Set the Invoice Date (defaults to today).
  6. Set the Due Date based on the customer's credit days (e.g., if credit days = 30, the due date is 30 days from the invoice date). The system may auto-calculate this from the customer's payment terms.
  7. Review the line items and totals.
  8. Click Create Invoice to save.

Standalone Invoice

For direct sales without a preceding sales order:

  1. Navigate to Sales > Invoices from the main menu.
  2. Click New Invoice.
  3. Select the Customer.
  4. Set the Invoice Date and Due Date.
  5. Add line items:
    • Select the Item.
    • Enter the Quantity and Unit Price.
    • The HSN Code and Tax Rate auto-fill from the item master.
    • Tax Amount and Total are calculated automatically.
  6. Add any notes.
  7. Click Create Invoice.

Creating a tax invoice with GST breakdown

GST Tax Calculation

GST calculation on invoices is determined by the place of supply — specifically, whether the transaction is intra-state or inter-state.

Intra-State Supply (CGST + SGST)

When your business and the customer are in the same state, the GST is split equally into two components:

  • CGST (Central GST): Half of the total GST rate, payable to the central government.
  • SGST (State GST): Half of the total GST rate, payable to the state government.

Example: You are in Maharashtra, selling to a customer in Maharashtra. The item's GST rate is 18%.

ComponentRateCalculation (on taxable value of 1,00,000)Amount
CGST9%1,00,000 x 9%9,000
SGST9%1,00,000 x 9%9,000
Total GST18%18,000

Inter-State Supply (IGST)

When your business and the customer are in different states, the entire GST is charged as a single component:

  • IGST (Integrated GST): The full GST rate, payable to the central government.

Example: You are in Maharashtra, selling to a customer in Gujarat. The item's GST rate is 18%.

ComponentRateCalculation (on taxable value of 1,00,000)Amount
IGST18%1,00,000 x 18%18,000
Total GST18%18,000

Required: The system determines intra-state vs. inter-state based on the billing state of the customer compared to your organisation's state. Ensure both are correctly configured.

Udyamo ERP Lite stores the tax breakdown at the invoice level:

FieldDescription
CGST AmountTotal CGST across all line items (intra-state transactions)
SGST AmountTotal SGST across all line items (intra-state transactions)
IGST AmountTotal IGST across all line items (inter-state transactions)

HSN Codes

Every line item on a tax invoice must carry an HSN (Harmonized System of Nomenclature) code. HSN codes classify goods for GST purposes and are required on invoices based on the following turnover thresholds:

Annual TurnoverHSN Requirement
Up to 5 crore4-digit HSN code
Above 5 crore6-digit HSN code

In Udyamo ERP Lite, the HSN code is stored on the item master and auto-fills on invoice line items. Common HSN codes for manufacturing include:

HSN CodeProduct Category
7308Structures and parts of structures of iron or steel
7318Screws, bolts, nuts, washers of iron or steel
7326Other articles of iron or steel
8483Transmission shafts, cranks, bearing housings, gears
8462Machine tools for working metal by forging, pressing

Invoice Fields

Header Fields

FieldDescription
Invoice NumberAuto-generated, sequential, unique identifier
CustomerFrom the customer master
Sales OrderReference to the source sales order (if applicable)
Invoice DateDate the invoice is issued
Due DateDate by which payment is expected
StatusCurrent status in the lifecycle
Billing AddressCustomer's billing address
Shipping AddressCustomer's shipping/delivery address
Journal EntryReference to the auto-created accounting entry
NotesTerms, conditions, or other remarks

Line Item Fields

FieldDescription
ItemProduct from the item master
DescriptionItem description (editable)
HSN CodeGST classification code
QuantityNumber of units sold
Unit PricePrice per unit before tax
Tax RateGST percentage (5%, 12%, 18%, or 28%)
Tax AmountCalculated GST for this line
TotalLine total including tax

Summary Fields

FieldDescription
SubtotalTotal before tax
Tax AmountTotal GST (sum of CGST+SGST or IGST)
TotalGrand total including tax
Amount PaidTotal payments received against this invoice
Balance DueTotal minus Amount Paid

Status Lifecycle

StatusMeaning
DraftInvoice is being prepared. Fully editable. No accounting entry created yet.
SentInvoice has been sent to the customer. Accounting entry is active.
Partially PaidOne or more payments received, but balance remains.
PaidFull amount has been received. Balance due is zero.
OverdueThe due date has passed and balance due remains.
CancelledInvoice has been cancelled. Accounting entry is reversed.
Draft ──> Sent ──> Partially Paid ──> Paid
               └──> Overdue
               └──> Cancelled

Warning: An invoice moves to "Overdue" status automatically when the due date passes and the balance due is greater than zero. Monitor overdue invoices regularly to maintain healthy cash flow.

Automatic Journal Entry

When an invoice is created (or moves out of draft status), Udyamo ERP Lite automatically creates a journal entry in the accounting module. This entry follows the double-entry bookkeeping principle:

AccountDebitCredit
Accounts Receivable (Customer)Total invoice amount
Sales RevenueSubtotal
CGST OutputCGST Amount
SGST OutputSGST Amount
IGST OutputIGST Amount

This means:

  • Your receivables increase by the invoice total (the customer owes you this amount).
  • Your revenue increases by the pre-tax amount.
  • Your GST liability increases by the tax amount.

You do not need to create this journal entry manually. The system handles it automatically, ensuring that your books are always in sync with your invoicing.

Tip: The journal entry reference is stored on the invoice record. You can click through to view the full accounting entry at any time for verification or audit purposes.

Step-by-Step: Creating a Tax Invoice with GST

This example creates an intra-state invoice for machined components.

  1. Navigate to Sales > Invoices > New Invoice.
  2. Select the customer:
    • Customer: Sai Engineering Works (Maharashtra)
    • Your organisation is also in Maharashtra, so this is an intra-state supply.
  3. Set dates:
    • Invoice Date: 15-Jan-2026
    • Due Date: 14-Feb-2026 (30 credit days)
  4. Add line items:
    • Item: MS Bracket Type A
    • HSN Code: 7308
    • Quantity: 300
    • Unit Price: 450.00
    • Tax Rate: 18%
    • Tax Amount: 24,300.00 (CGST 12,150 + SGST 12,150)
    • Total: 1,59,300.00
  5. Review the summary:
    • Subtotal: 1,35,000.00
    • CGST: 12,150.00
    • SGST: 12,150.00
    • Total: 1,59,300.00
    • Balance Due: 1,59,300.00
  6. Click Create Invoice.
  7. The system creates a journal entry debiting Accounts Receivable for 1,59,300 and crediting Sales Revenue (1,35,000), CGST Output (12,150), and SGST Output (12,150).

Sending and Downloading Invoices

Once the invoice is saved:

  • Click Send Invoice to email the invoice directly to the customer. The status changes to "Sent."
  • Click Download PDF to generate a formatted PDF document suitable for printing or manual sharing.

The PDF includes all legally required information: your GSTIN, the customer's GSTIN, invoice number, date, HSN-wise tax breakup, and total in words.

Tip: Send invoices promptly. The sooner the customer receives the invoice, the sooner the payment clock starts. Delays in sending invoices directly translate to delays in receiving payment.

Tips & Best Practices

Tip: Always verify the customer's billing state before creating an invoice. A wrong state means wrong GST components (CGST+SGST vs. IGST), which creates mismatches in GST returns and can result in notices from the tax authorities.

Tip: Use consistent item descriptions and HSN codes across all invoices. This simplifies GST return preparation and makes HSN-wise summary reporting straightforward.

Warning: Do not cancel a sent invoice without a valid reason. Under GST rules, if an invoice has been reported in GSTR-1, cancellation requires issuing a credit note. Simply cancelling the record in the ERP may not be sufficient for GST compliance. Consult your accountant for the correct procedure.

Tip: Review the auto-generated journal entry for every invoice during the first few weeks of using the system. This helps you verify that the accounting integration is working correctly and builds confidence in the automated process.

Quick Reference

ActionPath
Create invoiceSales > Invoices > New Invoice
Create from sales orderSales > Sales Orders > Open order > Convert to Invoice
Send to customerOpen invoice > Send Invoice
Download PDFOpen invoice > Download PDF
View all invoicesSales > Invoices
Check accounting entryOpen invoice > Click journal entry reference
Filter overdueSales > Invoices > Filter by status: Overdue

Receiving Payments from Customers

The sales cycle is complete only when payment is received. An invoice represents a legal obligation for the customer to pay, but until the money actually arrives in your bank account or cash register, it remains an outstanding receivable. Udyamo ERP Lite tracks every payment against every invoice, giving you a clear, real-time picture of who owes you how much and whether they are paying on time.

This chapter covers how to record payments received from customers, handle partial payments, link payments to invoices, and track outstanding balances.

What You Will Learn

  • The payment receipt concept and how it differs from the invoice
  • Available payment methods: cash, cheque, bank transfer, UPI, and others
  • How to link a payment to a specific invoice
  • How partial payments work and how they affect invoice status
  • How payments update the balance due and invoice status automatically
  • How to select the receiving bank account for proper bank reconciliation
  • The payment audit trail for financial accountability

Prerequisites

  • At least one invoice created and sent (Chapter 23)
  • Bank accounts configured in the system (Chapter 35, recommended)
  • Understanding of the invoice status lifecycle (Chapter 23)

The Payment Receipt Concept

A payment receipt in Udyamo ERP Lite records the fact that you have received money from a customer against a specific invoice. It is not a standalone financial event — every payment is linked to an invoice (the payable record). This linkage ensures that:

  1. The invoice's balance due decreases by the payment amount.
  2. The invoice's status updates automatically (from "sent" to "partially paid" or "paid").
  3. The customer's total outstanding receivable is always accurate.
  4. The accounting entries for the payment are generated correctly.

Each payment record carries a unique payment number for identification and audit purposes.

Payment Methods

Udyamo ERP Lite supports the following payment methods:

MethodDescriptionTypical Use
CashPhysical currency receivedSmall transactions, walk-in customers, factory outlet sales
ChequePaper cheque received from customerTraditional B2B transactions, government payments
Bank TransferNEFT, RTGS, or IMPS transfer to your bank accountStandard B2B payment method for medium-to-large amounts
UPIPayment via UPI apps (Google Pay, PhonePe, BHIM)Growing in popularity for both B2B and B2C transactions
OtherAny method not covered aboveDemand drafts, payment gateway, or other instruments

Tip: Record the payment method accurately. This helps during bank reconciliation — you can match bank statement entries with the recorded payment method and reference number.

Payment Fields

FieldDescription
Payment NumberAuto-generated unique identifier
AmountThe amount received (in rupees)
Payment DateThe date the payment was received
Payment MethodCash, cheque, bank_transfer, UPI, or other
Reference NumberExternal reference (cheque number, UTR number, UPI transaction ID)
Payable TypeThe document type being paid — for sales, this is "Invoice"
Payable IDThe specific invoice this payment is applied to
Bank AccountThe bank account into which the payment was deposited
StatusThe payment's processing status
NotesAny additional remarks about the payment

Required: The Amount, Payment Date, Payment Method, and the linked Invoice are mandatory fields. Without these, the payment cannot be recorded.

Step-by-Step: Recording a Full Payment

This example records a full payment of 1,59,300 received via bank transfer against an invoice for machined brackets.

  1. Navigate to Sales > Invoices.
  2. Open the invoice (e.g., Invoice INV-2026-0042, total 1,59,300.00, balance due 1,59,300.00).
  3. Click on the Payments section or navigate to the payments tab within the invoice.
  4. Click New Payment.
  5. Enter the payment details:
    • Amount: 159300.00
    • Payment Date: 12-Feb-2026
    • Payment Method: Bank Transfer
    • Reference Number: UTRNEFT20260212001234 (the UTR number from the bank statement)
    • Bank Account: HDFC Bank Current Account (select the account where the money was received)
    • Notes: (optional) "Against INV-2026-0042 for MS Bracket Type A"
  6. Click Create Payment to save.
  7. The system updates the invoice:
    • Amount Paid: 1,59,300.00
    • Balance Due: 0.00
    • Status: Paid

Recording a full payment against an invoice

Step-by-Step: Recording a Partial Payment

This example records a partial payment of 80,000 against an invoice with a total of 1,59,300.

  1. Open the invoice (INV-2026-0042, total 1,59,300.00).
  2. Click New Payment in the payments section.
  3. Enter the payment details:
    • Amount: 80000.00
    • Payment Date: 05-Feb-2026
    • Payment Method: Cheque
    • Reference Number: 654321 (the cheque number)
    • Bank Account: SBI Current Account
    • Notes: "Partial payment, balance to follow"
  4. Click Create Payment.
  5. The system updates the invoice:
    • Amount Paid: 80,000.00
    • Balance Due: 79,300.00
    • Status: Partially Paid

When the remaining 79,300 is received later:

  1. Open the same invoice again.
  2. Click New Payment.
  3. Enter:
    • Amount: 79300.00
    • Payment Date: 14-Feb-2026
    • Payment Method: Bank Transfer
    • Reference Number: UTRNEFT20260214005678
    • Bank Account: SBI Current Account
  4. Click Create Payment.
  5. The system updates the invoice:
    • Amount Paid: 1,59,300.00
    • Balance Due: 0.00
    • Status: Paid

Tip: Partial payments are common in manufacturing, especially for large orders. Customers may pay an advance, a second instalment on delivery, and the balance after inspection. Record each payment as it comes in — the system tracks the running balance automatically.

How Payments Update Invoice Status

The invoice status changes automatically based on the relationship between the total amount and the amount paid:

ConditionInvoice Status
No payment received, due date not passedSent
No payment received, due date has passedOverdue
Amount paid > 0 but less than totalPartially Paid
Amount paid equals totalPaid

This means you never need to manually update an invoice's payment status. The system derives it from the actual payment records linked to the invoice.

Bank Account Selection

When recording a payment, selecting the correct bank account is important for two reasons:

  1. Accounting accuracy. The payment creates an accounting entry that debits the selected bank account and credits the accounts receivable. Selecting the wrong bank account means your bank ledger will not match your actual bank statement.
  2. Bank reconciliation. When you reconcile your bank statements (Chapter 35), the system matches recorded payments against bank statement lines. Payments recorded against the correct bank account make reconciliation straightforward.

Warning: Always select the bank account where the money was actually received. If a customer paid via NEFT to your HDFC account, do not record it against your SBI account. This creates discrepancies that are time-consuming to fix during reconciliation.

Outstanding Tracking

With every payment recorded against its corresponding invoice, Udyamo ERP Lite maintains a real-time view of your outstanding receivables. At any point, you can see:

  • Total outstanding across all customers: The sum of all unpaid invoice balances.
  • Customer-wise outstanding: How much each individual customer owes you.
  • Age-wise analysis: How long invoices have been outstanding (e.g., 0-30 days, 31-60 days, 61-90 days, 90+ days). This is the accounts receivable aging report covered in Chapter 47.
  • Overdue invoices: Invoices past their due date that still carry a balance.

This information is critical for cash flow management. A manufacturing business with healthy revenue on paper can still face cash crunches if customers are slow to pay.

Payment Audit Trail

Every payment record in Udyamo ERP Lite is permanent and traceable. The system maintains:

  • Who recorded the payment (user ID)
  • When the payment was recorded (timestamp)
  • The exact amount, method, and reference number
  • Which invoice the payment was applied to

This audit trail is essential for:

  • Internal controls. If there is a discrepancy between the bank statement and the ERP records, the audit trail helps identify where the error occurred.
  • Tax audits. Auditors can trace every payment from the bank statement to the ERP record to the corresponding invoice.
  • Dispute resolution. If a customer claims they have already paid, you can pull up the payment records with reference numbers and dates.

Tip: Always enter the reference number (UTR, cheque number, UPI transaction ID) when recording a payment. This is the key that links your ERP record to the bank statement entry and makes reconciliation and dispute resolution possible.

Tips & Best Practices

Tip: Record payments on the same day they are received. Delayed recording leads to stale outstanding reports, incorrect cash flow projections, and confusion during bank reconciliation.

Tip: For cheque payments, record the payment when the cheque is received, not when it clears. If the cheque bounces, record a reversal. This keeps your records aligned with the actual sequence of events.

Warning: Never record a payment for more than the invoice's balance due. If a customer overpays, record the payment up to the balance due and handle the excess as a credit note or advance — consult your accountant for the correct treatment.

Tip: Use the outstanding reports (Chapter 47) in your weekly collections review. Sort by overdue days to prioritise follow-ups with customers who have the oldest unpaid invoices.

Quick Reference

ActionPath
Record paymentSales > Invoices > Open invoice > Payments > New Payment
View all paymentsSales > Payments
Check invoice balanceSales > Invoices > Open invoice > Balance Due field
View payment historySales > Invoices > Open invoice > Payments section
Outstanding reportReports > Operational Reports > Accounts Receivable Aging

The Purchase Cycle in ERP

Every manufactured product begins with a purchase. Before a single component is machined, welded, or assembled, someone must procure the raw materials, spare parts, consumables, and services that keep the factory running. Steel sheets from a distributor, bearings from an SKF dealer, cutting oil from a chemical supplier, annual maintenance contracts for CNC machines — all of these flow through the purchase cycle.

In a manual environment, purchases are handled through phone calls, handwritten orders, and paper invoices filed in cabinets. Price histories are lost, vendor comparisons are impossible, TDS compliance is an afterthought, and payment scheduling is a guessing game. An ERP system transforms purchasing into a structured, auditable, and compliant process where every rupee spent is tracked from requisition to payment.

This chapter introduces the complete purchase cycle, explains the key concepts that govern procurement in Indian manufacturing, and sets the stage for the detailed chapters that follow.

What You Will Learn

  • The end-to-end purchase cycle from requisition to payment
  • Why ERP matters for purchase management
  • The three-way matching concept and how it prevents overpayment
  • The difference between a purchase and an expense
  • How vendor credit management works
  • The types of procurement in a manufacturing business

Prerequisites

  • A basic understanding of ERP concepts (covered in Chapter 1)
  • Familiarity with the Udyamo ERP Lite interface (covered in Chapter 4)
  • Understanding of inventory and item management (covered in Part 2)

The Purchase Cycle — End to End

The purchase cycle in a manufacturing ERP follows a well-defined sequence. Each step creates a document that links to the next, forming a complete audit trail from the moment a need is identified to the moment the vendor is paid.

Identify Need (indent / requisition)
    |
    v
Create Purchase Order (PO)
    |
    v
Receive Goods (goods receipt / GRN)
    |
    v
Record Bill (vendor invoice)
    |
    v
Verify & Approve Bill
    |
    v
Make Payment to Vendor

Step 1 — Identify the need. A production order requires 500 kg of MS flat bar. The stock ledger shows only 120 kg on hand. The production supervisor or the ERP's low-stock alert flags the shortage. This is the trigger for procurement.

Step 2 — Create a Purchase Order. The purchase team creates a PO specifying the vendor, items, quantities, prices, tax rates, and expected delivery date. The PO is a formal authorization to buy — it commits the organization to a purchase and sets expectations with the vendor.

Step 3 — Receive goods. When the vendor delivers, the warehouse team inspects and accepts the shipment. The goods receipt note (GRN) records what was actually received — which may differ from what was ordered. Stock increases in the inventory ledger.

Step 4 — Record the bill. The vendor sends an invoice (called a "bill" in Udyamo ERP Lite to distinguish it from your sales invoices). The accounts team enters the bill, linking it to the PO. If TDS is applicable, the system calculates the deduction.

Step 5 — Verify and approve. The bill is checked against the PO and the GRN. Quantities, prices, and tax amounts must match. Once verified, the bill is approved, and an accounting journal entry is automatically created.

Step 6 — Make payment. Payment is made to the vendor — individually or as part of a payment batch. The payment clears the outstanding balance on the bill and updates the vendor's account.

Why ERP Matters for Purchases

Without an ERP, each of these steps is a disconnected activity. With an ERP, they form an integrated chain where data flows automatically.

Price tracking. Every PO records the price paid for each item. Over months, you build a price history that reveals trends, helps negotiate better rates, and flags unusual price increases.

Vendor comparison. When multiple vendors supply the same item, the ERP lets you compare prices, delivery performance, and quality across vendors — data that is impossible to assemble from paper files.

TDS compliance. Indian businesses must deduct TDS on payments to contractors (Section 194C), professionals (Section 194J), commission agents (Section 194H), and others. The ERP calculates TDS automatically based on the vendor's TDS section and the applicable rate, ensuring compliance without manual lookup.

Payment scheduling. Vendor credit terms — 30 days, 45 days, 60 days — determine when bills fall due. The ERP tracks due dates, highlights overdue bills, and enables payment planning based on cash flow.

Audit trail. Every document — PO, GRN, bill, payment — is numbered, dated, and linked. Auditors can trace any payment back to the original purchase order and verify that the organization received what it paid for.

Three-Way Matching

Three-way matching is the cornerstone of purchase control. It compares three documents before approving a payment:

DocumentWhat It Records
Purchase Order (PO)What you authorized to buy: items, quantities, prices
Goods Receipt Note (GRN)What you actually received: items, quantities, condition
Bill (Vendor Invoice)What the vendor is charging you: items, quantities, prices, taxes

If all three match, the bill is approved for payment. If they do not match — the vendor shipped fewer items than ordered, or the bill price differs from the PO price — the discrepancy must be resolved before payment.

In Udyamo ERP Lite, the link between PO and bill is maintained through the purchase_order_id on the bill and the billed_quantity tracking on each PO line item. This allows the system to track partially billed POs and flag fully billed ones.

Tip: Three-way matching prevents common procurement problems: paying for goods not received, paying more than the agreed price, and duplicate payments. Enforce this discipline from the start.

Purchase vs. Expense

Not every outgoing payment is a purchase in the ERP sense. Understanding the distinction matters for accurate accounting and reporting.

TypeExampleERP Treatment
PurchaseBuying 200 kg of mild steel for productionRecorded as a bill, increases inventory, linked to a vendor and possibly a PO
ExpensePaying the electricity bill or office rentRecorded as a journal entry or expense voucher, charged directly to an expense account

Purchases of raw materials increase your inventory asset. Expenses reduce your profit directly. In Udyamo ERP Lite, the purchase module handles vendor-related procurement — items that you receive, stock, and consume. Direct expenses that do not involve inventory are handled through accounting journal entries.

Vendor Credit Management

Most business-to-business purchases in India operate on credit. The vendor delivers goods and sends an invoice; you pay after an agreed number of days. Managing this credit effectively is critical for working capital.

Credit days. Each vendor record in Udyamo ERP Lite includes a credit_days field. When a bill is created for that vendor, the system calculates the due date automatically: bill date plus credit days.

Payment terms. Beyond simple credit days, payment terms may include early payment discounts, milestone-based payments, or advance payment requirements. These are captured in the vendor's payment_terms field.

Aging analysis. Over time, the ERP builds an accounts payable aging report showing how much you owe, to whom, and how overdue each amount is. This is the foundation for payment planning.

Manufacturing Procurement Context

A manufacturing business procures several categories of items, each with different purchasing patterns:

Raw materials — The primary inputs to production. MS plates, round bars, aluminum sheets, copper wire, chemicals. These are high-value, high-volume purchases that are directly linked to production orders through BOMs. Price fluctuations in raw materials directly affect product cost.

Consumables — Items consumed during production but not part of the finished product. Cutting tools, welding rods, lubricant oil, sandpaper, safety equipment. These are purchased regularly but in smaller quantities than raw materials.

Spare parts — Replacement parts for machinery. Bearings, belts, filters, electrical components. Procurement is driven by maintenance schedules and breakdown events. Lead times can be long, especially for imported or specialized parts.

Services — Annual maintenance contracts for machines, calibration services, testing lab fees, transport and logistics. Service purchases do not involve physical goods receipt but still require POs, bills, and payment tracking. TDS is frequently applicable on service payments.

Capital goods — Machinery, equipment, and tooling. These are infrequent but high-value purchases that are capitalized as fixed assets rather than expensed. The purchase module handles procurement; the asset module handles capitalization and depreciation.


Tips & Best Practices

Tip: Establish a policy that no purchase above a defined threshold is made without a Purchase Order in the ERP. This single discipline prevents unauthorized spending and ensures every purchase is tracked.

Tip: Maintain accurate vendor bank details from the start. When you move to bulk payment processing using payment batches and bank export, incomplete bank details will delay payments.

Warning: Do not bypass the purchase cycle by recording payments directly without bills. Every vendor payment should be linked to a bill, and every bill should reference a PO where applicable. This discipline is what makes three-way matching and audit trails possible.


Quick Reference

TermDefinition
Purchase Order (PO)A formal document authorizing the purchase of specific items from a vendor
Goods Receipt Note (GRN)A record of goods physically received from a vendor
BillThe vendor's invoice recorded in your books — your accounts payable obligation
Three-Way MatchingComparing PO, GRN, and bill to verify consistency before approving payment
Credit DaysThe number of days a vendor allows before payment is due
TDSTax Deducted at Source — withheld on payments to certain vendor categories
Accounts PayableThe total amount you owe to vendors for goods and services received
Payment BatchA group of vendor payments processed together for bulk bank transfer
HSN CodeHarmonized System of Nomenclature code — classifies goods for GST purposes
Indent / RequisitionAn internal request to procure materials, triggered by production or stock needs

Vendor Master

Behind every purchase is a vendor. The steel distributor who supplies MS sheets, the bearings dealer who ships SKF components, the chemical supplier who delivers cutting fluid, the job worker who handles heat treatment — each one must be recorded in your ERP with the information needed to place orders, verify invoices, deduct TDS, and make payments.

The Vendor Master is the central register of all your suppliers. A well-maintained vendor master is not just an address book — it is the foundation for GST compliance, TDS calculation, payment automation, and vendor performance tracking. Every purchase order, bill, and payment references the vendor record, making it one of the most critical master data entities in the system.

What You Will Learn

  • The purpose of the Vendor Master and why it matters
  • The difference between individual and business vendor types
  • Key fields: GSTIN, PAN, bank details, TDS configuration, and credit terms
  • Why maintaining vendor bank details enables bulk payment processing
  • Step-by-step: creating a vendor with TDS applicability
  • Step-by-step: creating a vendor without TDS

Prerequisites

  • Familiarity with the Udyamo ERP Lite interface (covered in Chapter 4)
  • Understanding of the purchase cycle (covered in Chapter 25)
  • TDS sections must be configured in the system if you plan to enable TDS for vendors (Settings > TDS Sections)

Vendor Types

Udyamo ERP Lite classifies vendors into two types:

Individual — A sole proprietor, freelancer, or independent contractor who supplies goods or services in their personal capacity. Examples: a freelance machinist, an independent transport operator, a consultant providing technical services. An individual vendor's PAN is their personal PAN.

Business — A registered company, partnership firm, LLP, or any entity that operates under a business name. Examples: a steel trading company, an industrial bearings distributor, a chemical manufacturing firm. A business vendor will typically have a GSTIN and a business PAN.

The vendor type affects how TDS is calculated and reported. TDS returns require separate reporting for individual and non-individual deductees, and certain TDS thresholds differ based on the payee type.

Key Vendor Fields

Identification and Contact

FieldDescriptionRequired
NameLegal name of the vendor (individual name or business name)Yes
Vendor TypeIndividual or BusinessYes
GSTIN15-digit GST Identification NumberNo (some vendors may be unregistered)
PAN10-character Permanent Account NumberRecommended (required for TDS)
EmailPrimary email address for correspondenceNo
PhoneContact phone numberNo
Contact PersonName of the person you deal with at the vendor's organizationNo

Address

FieldDescriptionRequired
AddressStreet address or premisesNo
CityCity or townNo
StateState (determines CGST+SGST vs IGST on bills)Recommended
PincodePostal codeNo

Tip: The vendor's state is critical for GST calculation. If the vendor's state matches your organization's state, the bill will attract CGST and SGST. If the states differ, IGST applies. Always record the vendor's state accurately.

Credit and Payment Terms

FieldDescriptionRequired
Credit DaysNumber of days before payment is due (e.g., 30, 45, 60)No (defaults vary)
Payment TermsText description of agreed payment termsNo

Credit days drive automatic due date calculation on bills. When you create a bill for a vendor with 30 credit days and a bill date of 15 January, the system sets the due date to 14 February.

TDS Configuration

FieldDescriptionRequired
TDS ApplicableBoolean flag — whether TDS should be deducted on payments to this vendorNo
TDS SectionThe applicable TDS section (e.g., 194C, 194J, 194H)Required if TDS Applicable is true

Common TDS sections for manufacturing businesses:

SectionApplies ToRate (typical)
194CPayments to contractors (job work, fabrication, transport)1% (individual) / 2% (others)
194JProfessional or technical services (consultants, testing labs)10%
194HCommission or brokerage5%
194QPurchase of goods (above threshold)0.1%

Required: If you enable TDS for a vendor, you must select a TDS section. The PAN of the vendor must also be on record — TDS at a higher rate (20%) applies when PAN is not available.

Bank Details

FieldDescriptionRequired
Bank NameName of the vendor's bankNo
Bank BranchBranch nameNo
Account NumberVendor's bank account numberNo
IFSC CodeIndian Financial System Code for the branchNo

These fields are optional but become essential when you use payment batches and bank export (covered in Chapters 29 and 30). The bank export feature generates payment instruction files (NEFT/RTGS/IMPS) for your bank. Without the vendor's bank details in the system, these payments cannot be included in the export file.

Tip: Make it a practice to collect vendor bank details when onboarding a new vendor. Attach a cancelled cheque or bank letter to the vendor record for verification. This avoids delays when you process your first payment batch.

Additional Fields

FieldDescription
NotesFree-text field for internal notes about the vendor
ActiveBoolean — inactive vendors are hidden from selection lists but their historical data is preserved

Step-by-Step: Creating a Vendor with TDS

This example creates a vendor record for a job work contractor who provides machining services. TDS under Section 194C applies.

  1. Navigate to Purchases > Vendors and click New Vendor.
  2. Enter the vendor name: Precision Machining Works.
  3. Set Vendor Type to Business.
  4. Enter the GSTIN: 24AABCP1234M1Z5.
  5. Enter the PAN: AABCP1234M.
  6. Fill in contact details: email, phone, and contact person name.
  7. Enter the address, city (Rajkot), state (Gujarat), and pincode.
  8. Set Credit Days to 30.
  9. In the Payment Terms field, enter: Net 30 days from invoice date.
  10. Enable TDS Applicable by checking the box.
  11. Select TDS Section: 194C — Payment to Contractors.
  12. Enter bank details: bank name, branch, account number, and IFSC code.
  13. Click Save.

Creating a vendor with TDS enabled

The vendor is now ready for use. When you create a bill against this vendor, the system will automatically calculate and display the TDS amount based on the Section 194C rate.

Step-by-Step: Creating a Vendor Without TDS

This example creates a vendor record for a steel distributor. No TDS deduction is required on goods purchases below the Section 194Q threshold.

  1. Navigate to Purchases > Vendors and click New Vendor.
  2. Enter the vendor name: National Steel Distributors.
  3. Set Vendor Type to Business.
  4. Enter the GSTIN: 27AABCN5678K1Z3.
  5. Enter the PAN: AABCN5678K.
  6. Fill in contact details.
  7. Enter the address, city (Mumbai), state (Maharashtra), and pincode.
  8. Set Credit Days to 45.
  9. Leave TDS Applicable unchecked.
  10. Enter bank details for future payment processing.
  11. Click Save.

Creating a vendor without TDS


Tips & Best Practices

Tip: Review your vendor list periodically and mark inactive vendors as Active: No. This keeps your selection lists clean without losing historical purchase and payment data.

Tip: Standardize vendor names. "National Steel Distributors", "National Steel Dist.", and "NSD" are the same vendor but will appear as three separate records if entered inconsistently. Agree on a naming convention before data entry begins.

Warning: Never create duplicate vendor records. If a vendor already exists, update the existing record. Duplicate vendors lead to fragmented purchase history, incorrect aging reports, and TDS calculation errors. Before creating a new vendor, search the existing list.

Tip: If your organization purchases goods worth more than fifty lakh rupees from a single vendor in a financial year, Section 194Q may apply. Review your vendor TDS settings at the start of each financial year.


Quick Reference

FieldPurpose
NameLegal name of the vendor
Vendor TypeIndividual or Business — affects TDS reporting
GSTINGST registration number — determines GST treatment
PANRequired for TDS; higher rate applies if missing
StateDetermines CGST+SGST vs IGST on bills
Credit DaysAuto-calculates bill due dates
TDS ApplicableEnables automatic TDS deduction on bills
TDS SectionSpecific section (194C, 194J, 194H, etc.) and rate
Bank DetailsRequired for payment batch export (NEFT/RTGS)
ActiveControls visibility in selection lists

Purchase Orders

A Purchase Order (PO) is a formal document issued to a vendor authorizing the purchase of specified goods or services at agreed prices. It is a commitment — once confirmed and sent to the vendor, the PO represents an obligation to accept delivery and make payment. In manufacturing, POs are issued daily for raw materials, consumables, spare parts, and outsourced services.

Without POs, purchases happen informally. Materials arrive without prior authorization, prices are not agreed in advance, and there is no baseline against which to verify the vendor's invoice. The PO brings discipline to procurement: it specifies what you are buying, how much, at what price, when you need it, and where it should be delivered.

What You Will Learn

  • The purpose and lifecycle of a Purchase Order
  • PO statuses: draft, confirmed, partially billed, fully billed, cancelled
  • How to create a PO with line items, HSN codes, and tax rates
  • How to assign a receiving location
  • The PO confirmation workflow
  • How to track billed vs. pending quantities
  • How to convert a PO to a bill
  • Step-by-step: creating and confirming a Purchase Order

Prerequisites

  • At least one vendor created in the system (covered in Chapter 26)
  • Items (raw materials, consumables, etc.) configured in the item master (covered in Chapter 7)
  • Warehouse/location records created (covered in Chapter 9)

Purchase Order Lifecycle

A Purchase Order in Udyamo ERP Lite moves through a defined set of statuses:

Draft  -->  Confirmed  -->  Partially Billed  -->  Fully Billed
                |
                v
            Cancelled

Draft — The PO has been created but not yet finalized. Line items, quantities, and prices can still be edited. Draft POs have no commitment — they are internal working documents.

Confirmed — The PO has been reviewed and confirmed. It is now a formal authorization to purchase. Once confirmed, the PO can be shared with the vendor. A confirmed PO cannot be casually edited — this preserves the integrity of the commitment.

Partially Billed — At least one bill (vendor invoice) has been recorded against this PO, but not all line items have been fully billed. This is common when a vendor delivers and invoices in multiple shipments.

Fully Billed — All line items on the PO have been fully billed. The PO is complete from a financial perspective. No further bills can be created against it.

Cancelled — The PO has been cancelled. Cancellation is only possible before a PO has been billed. Once billing begins, the PO cannot be cancelled — it must be played out through the normal cycle.

PO Line Items

Each Purchase Order contains one or more line items. A line item represents a single item being purchased.

FieldDescription
ItemThe item being purchased (selected from the item master)
DescriptionFree-text description (auto-populated from item, can be overridden)
HSN CodeHarmonized System of Nomenclature code for GST classification
QuantityThe number of units being ordered
Unit PricePrice per unit (exclusive of tax)
Tax RateGST rate applicable to this item (e.g., 5%, 12%, 18%, 28%)
Tax AmountCalculated automatically: Quantity x Unit Price x Tax Rate
TotalCalculated automatically: (Quantity x Unit Price) + Tax Amount
Billed QuantityHow many units have been billed so far (updated by the system)

The PO header summarizes the totals:

FieldDescription
SubtotalSum of (Quantity x Unit Price) across all line items
Tax AmountSum of tax amounts across all line items
TotalSubtotal + Tax Amount

Tip: Always verify the HSN code on each line item. The HSN code determines the GST rate and appears on the vendor's bill. Mismatched HSN codes between your PO and the vendor's invoice create reconciliation headaches during GST filing.

Receiving Location

Each PO specifies a Receiving Location — the warehouse or location where the goods will be delivered and received. This is critical for multi-location operations where a factory might have a main store, a secondary warehouse, and a shop floor staging area.

When goods are received against the PO, stock is added to the specified receiving location. Selecting the correct location ensures that inventory records reflect where materials physically are.

Creating a Purchase Order

Header Information

FieldDescription
Order NumberAuto-generated unique identifier for the PO
VendorSelect the vendor from the vendor master
Order DateDate the PO is being created (defaults to today)
Expected Delivery DateThe date by which you expect the vendor to deliver
Receiving LocationThe warehouse/location where goods will be received
NotesInternal notes or special instructions

Adding Line Items

For each item you are ordering:

  1. Select the Item from the item master dropdown.
  2. The Description and HSN Code auto-populate from the item record.
  3. Enter the Quantity you want to order.
  4. Enter the Unit Price agreed with the vendor.
  5. Select or verify the Tax Rate.
  6. The Tax Amount and Total calculate automatically.
  7. Repeat for each item on the order.

The PO totals (subtotal, tax, grand total) update as you add line items.

Confirming a Purchase Order

A draft PO is an internal working document. To formalize it, you must confirm it.

  1. Open the PO in draft status.
  2. Review all line items, quantities, prices, and the receiving location.
  3. Click the Confirm button.
  4. The status changes from Draft to Confirmed.

Once confirmed, the PO is ready to be shared with the vendor. Confirmation is a deliberate action — it signals that the purchase has been authorized.

Warning: Review the PO carefully before confirming. While the system does not prevent all edits after confirmation, the purpose of confirmation is to lock down the commitment. Treat it as a final approval step.

Tracking Billed vs. Pending Quantities

As bills are created against a PO, the system tracks the billed quantity for each line item. This enables you to see at a glance how much of the PO has been invoiced and how much is still pending.

For example, a PO for 1,000 kg of MS flat bar:

StageOrdered QtyBilled QtyPending QtyPO Status
PO created1,000 kg0 kg1,000 kgConfirmed
First bill (600 kg)1,000 kg600 kg400 kgPartially Billed
Second bill (400 kg)1,000 kg1,000 kg0 kgFully Billed

This tracking is automatic. You do not need to manually update PO quantities when creating bills.

Converting a PO to a Bill

When the vendor's invoice arrives, you can create a bill directly from the PO using the Convert to Bill action. This pre-fills the bill with the PO's vendor, line items, quantities, prices, and tax rates — saving data entry time and ensuring consistency.

  1. Open the confirmed PO.
  2. Click Convert to Bill.
  3. The system creates a new bill pre-populated with the PO data.
  4. Adjust quantities if the vendor delivered a partial shipment.
  5. Enter the Vendor Bill Number (the reference number on the vendor's physical invoice).
  6. Review and save the bill.

The PO's billed quantities update automatically, and the PO status changes to Partially Billed or Fully Billed as appropriate.

Tip: Always use Convert to Bill when a PO exists. Creating a standalone bill when a PO exists breaks the link between the two documents, making three-way matching impossible.


Step-by-Step: Create and Confirm a Purchase Order

Scenario: Your factory needs 200 pieces of 6205-2RS bearings from an SKF dealer for an upcoming production run. The agreed price is Rs. 145 per piece, GST at 18%.

  1. Navigate to Purchases > Purchase Orders and click New Purchase Order.
  2. Select the vendor: Industrial Bearings Corporation.
  3. Set the Order Date to today.
  4. Set the Expected Delivery Date to one week from today.
  5. Select the Receiving Location: Main Store.
  6. Add a line item:
    • Item: Bearing 6205-2RS
    • HSN Code: 8482 (auto-populated)
    • Quantity: 200
    • Unit Price: 145.00
    • Tax Rate: 18%
    • Tax Amount: 5,220.00 (calculated)
    • Total: 34,220.00 (calculated)
  7. Verify the PO totals: Subtotal Rs. 29,000.00, Tax Rs. 5,220.00, Total Rs. 34,220.00.
  8. Add any notes: Delivery at Gate 2. Contact stores supervisor on arrival.
  9. Click Save to create the PO in draft status.
  10. Review the PO one final time, then click Confirm.

Purchase Order with line items

The PO is now confirmed and can be shared with the vendor via email or print.


Tips & Best Practices

Tip: Use the expected delivery date consistently. Over time, you can compare expected vs. actual delivery dates to measure vendor reliability. This data is invaluable for choosing between vendors for time-sensitive orders.

Tip: When ordering raw materials whose prices fluctuate (steel, copper, chemicals), lock in the price on the PO and confirm promptly. A confirmed PO with an agreed price protects you from subsequent price increases by the vendor.

Warning: Do not leave POs in draft status indefinitely. Draft POs clutter the system and do not trigger any downstream tracking. If a PO is no longer needed, cancel it. If it is needed, confirm it.

Tip: For recurring purchases of the same items from the same vendor, use a previous PO as a reference. While Udyamo ERP Lite does not have a "copy PO" feature, having the previous PO open in another tab while creating the new one speeds up data entry.


Quick Reference

Field / ActionDescription
Order NumberSystem-generated unique PO identifier
VendorThe supplier you are ordering from
Order DateDate the PO is created
Expected Delivery DateWhen you expect to receive the goods
Receiving LocationWarehouse/location for goods receipt
Status: DraftPO created but not yet authorized
Status: ConfirmedPO authorized and ready to share with vendor
Status: Partially BilledSome line items billed, others pending
Status: Fully BilledAll line items fully billed — PO complete
Status: CancelledPO cancelled (only before any billing)
ConfirmAction to move PO from Draft to Confirmed
Convert to BillAction to create a bill pre-populated from the PO
Billed QuantitySystem-tracked count of how much has been invoiced per line item

Bills (Vendor Invoices) & TDS

When a vendor delivers goods or completes a service, they send you an invoice. In Udyamo ERP Lite, this vendor invoice is recorded as a Bill — the term is used deliberately to distinguish it from your outgoing sales invoices. A bill represents your obligation to pay the vendor. It is an accounts payable entry, a GST input credit record, and (where applicable) a TDS deduction point — all in one document.

Bills are where the financial reality of purchasing is recorded. The PO stated your intention to buy. The bill records what you actually owe. Getting bills right — with correct tax calculations, proper TDS deductions, and accurate vendor references — is essential for compliance, cash flow management, and clean books.

What You Will Learn

  • The bill concept and how it differs from a Purchase Order
  • Creating bills from a PO and creating standalone bills
  • The vendor bill number and why it matters
  • GST calculation on bills: CGST + SGST vs. IGST
  • TDS deduction: how it works, which sections apply, threshold limits
  • Bill status lifecycle: draft, approved, partially paid, paid, overdue, cancelled
  • Automatic journal entry creation
  • Step-by-step: creating a bill with TDS deduction

Prerequisites

  • At least one vendor created (covered in Chapter 26)
  • Purchase Orders created (covered in Chapter 27), if you plan to link bills to POs
  • TDS sections configured (Settings > TDS Sections) if TDS is applicable
  • Understanding of GST basics (intra-state vs. inter-state) is helpful

Bill vs. Purchase Order

A PO is a forward-looking document — it records what you intend to buy. A bill is a backward-looking document — it records what you owe for goods or services already received. A single PO can result in multiple bills (if the vendor delivers in stages), and a bill can also be created without a PO (for unplanned purchases or services).

AspectPurchase OrderBill
When createdBefore goods are receivedAfter goods/services are received
Financial impactNo accounting entryCreates a journal entry (accounts payable)
Tax impactIndicative tax calculationActual GST input credit and TDS deduction
PaymentNot payableTriggers payment obligation

Creating a Bill

From a Purchase Order

The most controlled way to create a bill is by converting an existing PO (using the Convert to Bill action described in Chapter 27). This pre-fills the vendor, line items, quantities, prices, and tax rates from the PO, ensuring consistency between what you ordered and what you record in your books.

Standalone Bill

For purchases that did not go through the PO process — emergency procurement, one-time services, small-value purchases — you can create a bill directly.

  1. Navigate to Purchases > Bills and click New Bill.
  2. Select the Vendor.
  3. Fill in the bill details and line items manually.

Tip: Even when creating a standalone bill, you can optionally link it to an existing PO by selecting the PO in the Purchase Order field. This is useful when a PO exists but you did not use the Convert to Bill action.

Bill Fields

Header

FieldDescription
Bill NumberSystem-generated unique identifier
VendorThe vendor who issued the invoice
Purchase OrderOptional link to the originating PO
Vendor Bill NumberThe invoice number printed on the vendor's physical invoice
Bill DateThe date on the vendor's invoice
Due DateAuto-calculated from bill date + vendor's credit days
NotesInternal notes or remarks

Required: Always enter the Vendor Bill Number. This is the vendor's own reference number and is essential for reconciliation, communication with the vendor, and duplicate detection. If you receive two bills with the same vendor bill number from the same vendor, it is likely a duplicate.

Line Items

FieldDescription
ItemThe item purchased (from item master)
DescriptionDescription of the item or service
HSN CodeGST classification code
QuantityNumber of units billed
Unit PricePrice per unit (exclusive of tax)
Tax RateGST rate (5%, 12%, 18%, 28%)
Tax AmountCalculated: Quantity x Unit Price x Tax Rate
TotalCalculated: (Quantity x Unit Price) + Tax Amount

Tax Summary

FieldDescription
SubtotalSum of line item values before tax
CGST AmountCentral GST (applicable on intra-state purchases)
SGST AmountState GST (applicable on intra-state purchases)
IGST AmountIntegrated GST (applicable on inter-state purchases)
Tax AmountTotal tax (CGST + SGST, or IGST)
TDS AmountTDS deducted (if vendor has TDS enabled)
TotalSubtotal + Tax Amount
Balance DueTotal - TDS Amount - Amount Paid

GST on Bills

GST on purchase bills works identically to GST on sales invoices, but in reverse — the tax you pay on purchases is your input tax credit (ITC), which offsets the GST you collect on sales.

Intra-State Purchase (Same State)

When both your organization and the vendor are in the same state, the tax is split equally between CGST and SGST.

Example: Bill subtotal Rs. 50,000 at 18% GST

  • CGST (9%): Rs. 4,500
  • SGST (9%): Rs. 4,500
  • Total tax: Rs. 9,000
  • Bill total: Rs. 59,000

Inter-State Purchase (Different State)

When the vendor is in a different state from your organization, IGST applies.

Example: Bill subtotal Rs. 50,000 at 18% GST

  • IGST (18%): Rs. 9,000
  • Total tax: Rs. 9,000
  • Bill total: Rs. 59,000

The system determines intra-state vs. inter-state automatically based on the vendor's state (from the vendor master) and your organization's state.


TDS on Bills

How TDS Works

Tax Deducted at Source (TDS) is a mechanism where the buyer deducts a percentage of the payment as income tax and remits it to the government on behalf of the vendor. The vendor receives the net amount (bill total minus TDS), and the TDS deducted is credited against their income tax liability.

For the buyer, TDS is an obligation — failure to deduct TDS when required attracts penalties and interest under the Income Tax Act.

When TDS Applies

TDS applies when:

  1. The vendor has TDS Applicable enabled in their vendor master record
  2. A TDS Section is assigned to the vendor
  3. The payment amount exceeds the threshold limit for that section (in many cases, the system applies TDS once the threshold is crossed)

Common TDS Sections

SectionNature of PaymentRate (Individual)Rate (Others)Threshold (Annual)
194CPayment to contractors — job work, fabrication, freight1%2%Rs. 30,000 (single) / Rs. 1,00,000 (aggregate)
194JProfessional/technical services — consultants, testing labs, software10%10%Rs. 30,000
194HCommission or brokerage — sales agents, intermediaries5%5%Rs. 15,000
194QPurchase of goods (buyer's turnover > Rs. 10 crore)0.1%0.1%Rs. 50,00,000

Warning: TDS rates and thresholds are subject to change with each Finance Act. The rates shown above are illustrative. Always verify current rates and configure them correctly in Settings > TDS Sections.

TDS Calculation Example

Scenario: A bill of Rs. 1,00,000 (inclusive of 18% GST) from a job work contractor with TDS under Section 194C (rate 2% for business entities).

  • Bill subtotal: Rs. 84,746 (value before tax)
  • GST (18%): Rs. 15,254
  • Bill total: Rs. 1,00,000
  • TDS (2% on subtotal): Rs. 1,695
  • Amount payable to vendor: Rs. 1,00,000 - Rs. 1,695 = Rs. 98,305

Tip: TDS is typically calculated on the bill amount excluding GST. The system computes TDS on the subtotal, not on the tax-inclusive total. This is in line with CBDT clarifications for GST-registered vendors who show GST separately on their invoices.

TDS in the System

When you create a bill for a TDS-applicable vendor, Udyamo ERP Lite:

  1. Reads the TDS section and rate from the vendor master
  2. Calculates the TDS amount on the bill subtotal
  3. Displays the TDS amount on the bill
  4. Reduces the balance due by the TDS amount
  5. Records the TDS liability in the accounting journal entry

You do not need to manually calculate TDS — the system handles it based on the vendor's configuration.


Bill Status Lifecycle

StatusMeaning
DraftBill created but not yet finalized — can be freely edited
ApprovedBill verified and approved — journal entry created, payable recognized
Partially PaidOne or more payments made, but balance remains
PaidFull amount paid — balance due is zero
OverdueDue date has passed and balance is still outstanding
CancelledBill voided — reversal entry created if already approved

When a bill is approved, the system automatically creates a journal entry that:

  • Debits the purchase/expense account (increasing cost)
  • Debits the GST input credit account (CGST, SGST, or IGST)
  • Credits the accounts payable / vendor account (increasing liability)
  • Credits the TDS payable account (if TDS applies)

This journal entry is linked to the bill through the journal_entry_id field, providing a direct audit trail from the bill to the general ledger.


Step-by-Step: Creating a Bill with TDS Deduction

Scenario: Your factory received machining services from Precision Machining Works (a job work vendor configured with TDS Section 194C at 2%). The vendor's invoice is for Rs. 75,000 plus 18% GST.

  1. Navigate to Purchases > Bills and click New Bill.
  2. Select the vendor: Precision Machining Works.
  3. Enter the Vendor Bill Number: PMW/2025-26/0847 (from the vendor's invoice).
  4. Set the Bill Date to the date on the vendor's invoice.
  5. The Due Date auto-calculates based on the vendor's credit days.
  6. Add a line item:
    • Item: Machining Services — CNC Turning
    • HSN Code: 9988 (manufacturing services)
    • Quantity: 1
    • Unit Price: 75,000.00
    • Tax Rate: 18%
    • Tax Amount: 13,500.00
    • Total: 88,500.00
  7. Review the bill summary:
    • Subtotal: Rs. 75,000.00
    • CGST (9%): Rs. 6,750.00 (assuming same-state vendor)
    • SGST (9%): Rs. 6,750.00
    • Total: Rs. 88,500.00
    • TDS (2% of Rs. 75,000): Rs. 1,500.00
    • Balance Due: Rs. 87,000.00
  8. Click Save to create the bill in draft status.
  9. Review all details, then click Approve.

Bill with TDS deduction

Upon approval, the system creates a journal entry:

  • Debit: Job Work Expense — Rs. 75,000.00
  • Debit: CGST Input Credit — Rs. 6,750.00
  • Debit: SGST Input Credit — Rs. 6,750.00
  • Credit: Accounts Payable (Precision Machining Works) — Rs. 87,000.00
  • Credit: TDS Payable (194C) — Rs. 1,500.00

The vendor's outstanding balance is Rs. 87,000.00 (bill total minus TDS). When you pay the vendor, you pay this net amount.


Tips & Best Practices

Tip: Enter bills promptly when received. Delayed bill entry means delayed GST input credit claims and inaccurate accounts payable balances, which distorts your cash flow picture.

Tip: Always cross-check the vendor's bill against the PO before approving. Verify item descriptions, quantities, unit prices, and tax rates. Discrepancies should be resolved with the vendor before approval.

Warning: Do not approve a bill until you are satisfied that the goods or services have been received and the amounts are correct. Once approved, the journal entry is created and the liability is recognized. Reversing an approved bill requires cancellation and re-entry.

Tip: Use the Vendor Bill Number field to detect duplicates. If the system already has a bill with the same vendor bill number for the same vendor, investigate before creating another.


Quick Reference

Term / FieldDescription
BillVendor's invoice recorded in your books — your payable obligation
Vendor Bill NumberThe reference number on the vendor's physical invoice
CGST / SGSTCentral and State GST — applies on intra-state purchases
IGSTIntegrated GST — applies on inter-state purchases
TDSTax Deducted at Source — withheld from vendor payment
Section 194CTDS on payments to contractors (1% individual, 2% others)
Section 194JTDS on professional/technical fees (10%)
Section 194HTDS on commission/brokerage (5%)
Journal EntryAuto-created on bill approval — posts to ledger accounts
Balance DueBill total minus TDS amount minus payments made
ApprovedBill finalized, journal entry created, ready for payment
OverdueDue date passed, balance still outstanding

Paying Vendors — Payments & Payment Batches

Once a bill is approved, the next step is paying the vendor. Timely and accurate payments maintain vendor relationships, protect credit terms, and keep your accounts clean. In Udyamo ERP Lite, vendor payments can be made one at a time — a single payment against a single bill — or grouped into payment batches for bulk processing.

Individual payments suit one-off or urgent situations: a vendor demanding immediate settlement, or a critical spare part supplier who needs payment before the next delivery. Payment batches suit the routine: processing all outstanding vendor bills in a weekly or fortnightly payment run, reviewing and approving the batch, and then exporting a bank file for NEFT/RTGS processing.

This chapter covers both approaches and walks you through the complete workflow from recording a payment to processing a batch.

What You Will Learn

  • How individual vendor payments work
  • Payment methods and linking payments to bills
  • Partial payments and their effect on bill status
  • The payment batch concept and why it matters
  • Creating a payment batch from outstanding bills
  • The batch approval workflow (draft, approved, exported)
  • Step-by-step: making an individual payment
  • Step-by-step: creating and approving a payment batch

Prerequisites

  • At least one approved bill with an outstanding balance (covered in Chapter 28)
  • Bank accounts configured in the system (covered in Chapter 35 or Settings > Bank Accounts)
  • Vendor bank details recorded if using payment batches for bank export (covered in Chapter 26)

Individual Vendor Payments

An individual payment records a single payment made against a specific bill. In Udyamo ERP Lite, the same Payment model handles both customer receipts and vendor payments — the difference is the payable_type field, which is set to Bill for vendor payments and Invoice for customer receipts.

Payment Fields

FieldDescription
Payment NumberSystem-generated unique identifier
AmountThe amount being paid
Payment DateThe date the payment was made
Payment MethodHow the payment was made (e.g., NEFT, RTGS, IMPS, cheque, cash, UPI)
Reference NumberExternal reference — UTR number for NEFT/RTGS, cheque number, UPI transaction ID
Bank AccountThe bank account from which payment was made
NotesOptional remarks
StatusPayment status

Payment Methods

In the Indian business context, common vendor payment methods include:

MethodDescriptionTypical Use
NEFTNational Electronic Funds Transfer — batch settlementRegular vendor payments, medium amounts
RTGSReal Time Gross Settlement — immediate for amounts above Rs. 2 lakhHigh-value or urgent payments
IMPSImmediate Payment Service — instant, 24x7Smaller urgent payments
ChequePhysical cheque drawn on your bank accountTraditional, declining in use
CashPhysical cash paymentSmall-value purchases, petty cash
UPIUnified Payments InterfaceGrowing in B2B transactions

Tip: Record the Reference Number for every electronic payment. The UTR (Unique Transaction Reference) number for NEFT/RTGS is the definitive proof of payment. If a vendor disputes a payment, the UTR is what you provide to your bank for verification.

Linking Payments to Bills

Every vendor payment must be linked to a bill. When you navigate to a bill and click to record a payment, the system automatically sets the payable_type to Bill and the payable_id to the specific bill. This link ensures that:

  • The bill's amount_paid increases by the payment amount
  • The bill's balance_due decreases accordingly
  • The bill status updates (to Partially Paid or Paid)
  • The vendor's accounts payable ledger reflects the payment

Partial Payments

Not every bill is paid in full at once. Partial payments are common when:

  • Cash flow constraints require spreading payments across weeks
  • A dispute on part of the bill amount is being resolved
  • The vendor has agreed to milestone-based payments

When a partial payment is made, the bill status changes to Partially Paid. The balance due reflects the remaining amount. You can make multiple partial payments against the same bill until the balance reaches zero, at which point the status changes to Paid.

Example: A bill for Rs. 1,50,000 with two partial payments:

DatePaymentAmount Paid (cumulative)Balance DueBill Status
Bill approvedRs. 0Rs. 1,50,000Approved
15 JanPayment 1: Rs. 75,000Rs. 75,000Rs. 75,000Partially Paid
30 JanPayment 2: Rs. 75,000Rs. 1,50,000Rs. 0Paid

Payment Batches

The Concept

A payment batch groups multiple vendor payments into a single batch for review, approval, and bulk processing. Instead of making 30 individual NEFT transfers for 30 vendors, you create a batch containing all 30 payments, get it approved by the authorized person, and export it as a single file for upload to your net banking portal.

Payment batches bring structure and control to the payment process:

  • Visibility — Everyone can see which bills are being paid in this cycle and the total outflow
  • Approval — A designated approver reviews the batch before any money moves
  • Efficiency — One file upload to net banking replaces 30 individual transactions
  • Audit trail — The batch is a single record linking to all constituent payments

Payment Batch Fields

FieldDescription
Batch NumberSystem-generated unique identifier
Payment DateThe date the payments will be processed
Bank AccountThe bank account from which payments will be made
StatusDraft, Approved, or Exported
Total AmountSum of all payment amounts in the batch
NotesOptional remarks (e.g., "Weekly payment run — Week 3, January")

Batch Items

Each batch contains one or more Payment Batch Items:

FieldDescription
BillThe bill being paid
AmountThe amount to pay against this bill

The total of all batch item amounts equals the batch's total amount.

Batch Lifecycle

Draft  -->  Approved  -->  Exported

Draft — The batch has been created and bills have been added. Amounts can be adjusted, bills can be added or removed. No financial commitment yet.

Approved — An authorized person has reviewed the batch and approved it for payment. The batch is locked — no further changes are allowed. This is the control point that separates payment preparation from payment execution.

Exported — The batch has been exported as a bank payment file. The file is ready for upload to the bank's net banking portal. Individual payments are recorded against each bill in the batch.

Creating a Batch from Outstanding Bills

Udyamo ERP Lite provides a dedicated workflow for creating payment batches from outstanding bills: the New from Bills action.

  1. Navigate to Purchases > Payment Batches.
  2. Click New from Bills.
  3. The system presents a list of all approved bills with outstanding balances.
  4. Select the bills you want to include in this payment run.
  5. For each bill, confirm or adjust the payment amount (you can pay less than the full balance).
  6. Select the Bank Account for the batch.
  7. Set the Payment Date.
  8. Click Create from Bills.

The system creates a payment batch in draft status with the selected bills and amounts.

Tip: Review the total amount before creating the batch. Compare it against your bank account balance to ensure sufficient funds. The system does not automatically check bank balances.


Step-by-Step: Making an Individual Payment

Scenario: You need to pay Specialty Chemicals Ltd. Rs. 42,500 against their bill for cutting fluid supplies, via NEFT.

  1. Navigate to Purchases > Bills and open the bill from Specialty Chemicals Ltd.
  2. Verify the bill status is Approved and the balance due is Rs. 42,500.
  3. Click Record Payment (or navigate to the bill's payments section and click New Payment).
  4. Enter the payment details:
    • Amount: 42,500.00
    • Payment Date: today
    • Payment Method: NEFT
    • Reference Number: UTR20250115NEFT001234 (from your bank statement)
    • Bank Account: HDFC Current Account
  5. Click Save.

Recording a vendor payment

The bill status updates to Paid (assuming this was the full balance), and the payment appears in the bill's payment history.

Step-by-Step: Creating and Approving a Payment Batch

Scenario: It is the end of the fortnight and you have 5 approved bills from different vendors totaling Rs. 3,87,000. You want to process them as a single batch payment run.

  1. Navigate to Purchases > Payment Batches and click New from Bills.
  2. The system displays all approved bills with outstanding balances.
  3. Select the 5 bills you want to pay:
    • National Steel Distributors — Rs. 1,45,000
    • Precision Machining Works — Rs. 87,000 (net of TDS)
    • Industrial Bearings Corporation — Rs. 34,220
    • Rajkot Fasteners Pvt. Ltd. — Rs. 78,780
    • Specialty Chemicals Ltd. — Rs. 42,000
  4. Select the Bank Account: ICICI Current Account.
  5. Set the Payment Date to the next business day.
  6. Add a note: Fortnightly payment run — 15 Jan 2026.
  7. Click Create from Bills.
  8. The batch is created in Draft status with a total of Rs. 3,87,000.
  9. Review each line item in the batch for accuracy.
  10. Click Approve.

Payment batch with multiple vendors

The batch status changes to Approved. It is now ready for bank export (covered in Chapter 30). No further edits are possible.


Tips & Best Practices

Tip: Establish a fixed payment cycle — weekly or fortnightly. Process all outstanding bills in a batch on the designated day. This creates predictability for your vendors, simplifies cash flow planning, and reduces the time spent on ad-hoc payment requests.

Tip: Always record the UTR or cheque number in the Reference Number field. This is your proof of payment and the key to resolving any disputes with vendors or your bank.

Warning: Once a payment batch is approved, it cannot be edited. Review the batch carefully before approval. If a bill needs to be removed or an amount changed after approval, you will need to create a new batch.

Tip: Use the payment batch notes field to record the context: "Monthly payment run — January 2026" or "Urgent payment — production material shortage." This makes it easy to locate specific batches later.

Warning: Ensure that vendor bank details are complete and verified before including them in a payment batch. Incorrect IFSC codes or account numbers will cause the bank to reject the payment, delaying the vendor and creating reconciliation work.


Quick Reference

Term / ActionDescription
PaymentA record of money paid to a vendor against a bill
Payment MethodHow payment was made: NEFT, RTGS, IMPS, cheque, cash, UPI
Reference NumberExternal reference (UTR, cheque number, UPI ID)
Partial PaymentPaying less than the full bill amount; balance remains
Payment BatchA group of vendor payments processed together
New from BillsAction to create a batch by selecting outstanding bills
Draft (Batch)Batch created, bills selected, amounts editable
Approved (Batch)Batch reviewed and locked — ready for bank export
Exported (Batch)Bank file generated — ready for upload to net banking
Bank AccountThe account from which payment is made
Total AmountSum of all payments in the batch

Bank Export for Bulk Payments

Processing vendor payments one by one through your bank's net banking portal is manageable when you have five vendors. When you have fifty, it becomes a tedious, error-prone exercise — entering each beneficiary's account number, IFSC code, amount, and narration manually, fifty times over. One transposed digit in an account number, and the payment bounces, delaying the vendor and creating reconciliation work.

Bank export solves this problem. Instead of entering each payment manually, Udyamo ERP Lite generates a payment instruction file — a structured text file containing all payment details in the format your bank expects. You upload this single file to your bank's net banking portal, and the bank processes all payments in the batch. This is how businesses handle bulk NEFT, RTGS, and IMPS payments efficiently.

What You Will Learn

  • The bank export concept and how it fits into the payment workflow
  • Bank export formats and why they are customizable
  • The end-to-end flow: batch creation, approval, file export, bank upload
  • How to set up a bank account with an export format
  • How bank export formats work (templates and format types)
  • Step-by-step: setting up a bank export format
  • Step-by-step: exporting a payment batch

Prerequisites

  • At least one bank account configured (Settings > Bank Accounts or covered in Chapter 35)
  • At least one approved payment batch ready for export (covered in Chapter 29)
  • Vendor bank details (account number, IFSC code) recorded for all vendors in the batch (covered in Chapter 26)
  • Knowledge of your bank's bulk payment file format (available from your bank's corporate net banking documentation)

Where Bank Export Fits

Bank export is the final step in the purchase payment workflow:

Create Bills  -->  Approve Bills  -->  Create Payment Batch
                                            |
                                            v
                                      Approve Batch
                                            |
                                            v
                                      Export Bank File
                                            |
                                            v
                                   Upload to Net Banking
                                            |
                                            v
                                   Bank Processes Payments

By the time you reach the export step, all the hard work is done: bills have been verified, TDS has been calculated, the batch has been reviewed and approved. The export step simply takes the approved payment data and formats it into a file your bank can read.

Bank Export Formats

Every bank has its own file format for bulk payment uploads. HDFC Bank expects a different file structure than ICICI Bank, which differs from SBI. Even within the same bank, the format may vary between NEFT, RTGS, and IMPS.

Udyamo ERP Lite handles this through Bank Export Formats — configurable templates that define how payment data is structured in the output file.

Bank Export Format Fields

FieldDescription
NameA descriptive name for the format (e.g., "HDFC NEFT Bulk Upload")
Format TypeThe type of file format (e.g., CSV, fixed-width text, XML)
TemplateThe template text that defines the file structure, with placeholders for payment data
DescriptionOptional notes explaining the format and its use
ActiveWhether this format is available for selection

How Templates Work

The template is a text-based definition of the output file structure. It contains static text (headers, delimiters, fixed values) interspersed with dynamic placeholders that the system replaces with actual payment data at export time.

For example, a simplified CSV template for NEFT might define each row as:

payment_method,beneficiary_name,account_number,ifsc_code,amount,narration

When the system processes an approved batch, it iterates through each payment batch item, reads the vendor's bank details and the payment amount, substitutes the placeholders, and generates the output file.

The exact template syntax and available placeholders depend on your bank's requirements. Common data points included in bank export files are:

Data PointSource
Beneficiary nameVendor master (name)
Bank account numberVendor master (account_number)
IFSC codeVendor master (ifsc_code)
Payment amountPayment batch item (amount)
Payment method (NEFT/RTGS)Bank export format or batch configuration
Debit account numberBank account (account_number)
Transaction referenceBatch number or payment number
Narration / remarksVendor name + bill number or batch notes

Common Format Types

Format TypeBanks That Use ItNotes
CSVHDFC, ICICI, KotakComma-separated values, most common
Fixed-width textSBI, PNBEach field occupies a fixed number of characters
Excel (XLS/XLSX)Some banks accept Excel uploadsLess common for automated processing
XMLEmerging standard for some corporate banking portalsStructured, self-describing

Tip: Contact your bank's corporate banking team and request their bulk payment upload format specification. This document will tell you exactly what fields are required, in what order, with what delimiters, and any header/footer requirements.

Bank Account Setup

Each bank account in Udyamo ERP Lite can be linked to a bank export format. This tells the system which template to use when exporting payment batches from that account.

Bank Account Fields (Relevant to Export)

FieldDescription
NameDescriptive name (e.g., "HDFC Current — Operations")
Bank NameName of the bank
Account NumberYour bank account number
IFSC CodeBranch IFSC code
BranchBranch name
Account TypeCurrent or Savings
Bank Export FormatThe format template to use for generating payment files
Is DefaultWhether this is the default bank account for payments
ActiveWhether this account is in use

When you create a payment batch and select a bank account, the system uses the linked bank export format to generate the file at export time.


Step-by-Step: Setting Up a Bank Export Format

Scenario: Your company banks with HDFC Bank and needs to set up the bulk NEFT upload format.

  1. Navigate to Settings > Bank Export Formats and click New Format.
  2. Enter the Name: HDFC NEFT Bulk Upload.
  3. Set the Format Type: CSV.
  4. In the Template field, enter the template structure as specified by HDFC Bank's corporate net banking documentation. A simplified example:
    NEFT,{beneficiary_name},{account_number},{ifsc_code},{amount},{narration}
    
    (The actual template will be more detailed and must match your bank's specification exactly.)
  5. Enter a Description: HDFC Bank NEFT bulk payment file format. Use for weekly/fortnightly payment runs. Upload via Corporate Net Banking > Bulk Transactions.
  6. Ensure Active is checked.
  7. Click Save.

Bank export format setup

Now link this format to your bank account:

  1. Navigate to Settings > Bank Accounts and open your HDFC current account record.
  2. Set the Bank Export Format field to HDFC NEFT Bulk Upload.
  3. Click Save.

The bank account is now configured for automated file export.

Step-by-Step: Exporting a Payment Batch

Scenario: You have an approved payment batch (from the previous chapter) containing 5 vendor payments totaling Rs. 3,87,000 on the ICICI current account. The bank export format is already configured.

  1. Navigate to Purchases > Payment Batches and open the approved batch.
  2. Verify the batch status is Approved.
  3. Confirm that all vendors in the batch have complete bank details (account number and IFSC code). If any vendor's bank details are missing, the export may fail or produce an incomplete file.
  4. Click Export.
  5. The system generates the payment file using the bank export format template linked to the batch's bank account.
  6. The file downloads to your computer.
  7. The batch status changes to Exported.

Exporting a payment batch

Uploading to Net Banking

  1. Log in to your bank's corporate net banking portal.
  2. Navigate to the bulk payment or batch transfer section.
  3. Upload the exported file.
  4. Review the parsed transactions on the bank portal — verify the count and total match your batch.
  5. Authorize the transaction using the bank's approval mechanism (typically a second-level authorization with OTP or digital signature).
  6. The bank processes the payments, typically within the same day for NEFT (during NEFT settlement windows) or immediately for RTGS/IMPS.

Warning: Always review the parsed transactions on the bank portal after uploading. If the bank shows a different count or total than your batch, something is wrong with the file format. Do not authorize until the numbers match.


Handling Export Issues

Missing Vendor Bank Details

If a vendor in the batch does not have complete bank details (account number or IFSC code), the export may exclude that vendor's payment or produce an error. Before exporting, review the batch and ensure every vendor has verified bank details.

Format Mismatch

If the bank rejects the uploaded file, the most common cause is a mismatch between your template and the bank's expected format. Common issues include:

  • Incorrect delimiter (comma vs. pipe vs. tab)
  • Missing header row
  • Incorrect field order
  • Date format mismatch (DD/MM/YYYY vs. YYYY-MM-DD)
  • Amount format (no decimal vs. two decimals)

Compare your template against the bank's specification document and correct any discrepancies.

Re-Export

If you need to re-export a batch (for example, after fixing a template issue), the system allows you to export again from the same approved batch. The batch remains in Exported status.


Tips & Best Practices

Tip: Test your bank export format with a small batch (one or two payments) before running your first large batch. Upload the test file to the bank portal and verify it parses correctly. Fixing format issues on a two-payment file is far easier than debugging a fifty-payment file.

Tip: Maintain separate bank export formats for different payment methods (NEFT vs. RTGS) if your bank requires different file formats for each. Name them clearly: "HDFC NEFT Bulk" and "HDFC RTGS Bulk".

Warning: Bank export formats contain your account details and payment structure. Treat them as sensitive configuration. Only authorized users should be able to create or modify export formats.

Tip: After the bank processes the payments, reconcile the bank statement against the payment batch. Every payment in the batch should appear on the bank statement with a matching amount and reference. This closes the loop and confirms that all vendors were paid as intended.

Tip: Keep a record of which batches have been uploaded and processed. The Exported status in the system confirms the file was generated, but you should also verify bank-side that the transactions were completed successfully.


Quick Reference

Term / FieldDescription
Bank ExportGenerating a payment instruction file for upload to your bank's net banking
Bank Export FormatA configurable template defining the file structure your bank expects
Format TypeThe file format: CSV, fixed-width, XML, etc.
TemplateText-based structure with placeholders for payment data
Bank AccountYour account, linked to an export format
Export (Action)Generates the payment file from an approved batch
Exported (Status)Batch has been exported — file is ready for bank upload
NEFTNational Electronic Funds Transfer — batch-processed bank transfer
RTGSReal Time Gross Settlement — immediate high-value transfer
IMPSImmediate Payment Service — instant transfer, 24x7
UTRUnique Transaction Reference — bank's confirmation of a processed payment
IFSC CodeIdentifies the bank branch — required for all electronic transfers

Accounting Fundamentals for ERP

Every transaction in an ERP system — a sales invoice, a purchase bill, a salary payment, a stock transfer — ultimately ends up in the accounting ledger. You do not need to be a chartered accountant to use Udyamo ERP Lite, but understanding basic accounting concepts will help you interpret reports, catch errors early, and have informed conversations with your auditor. This chapter covers the foundational ideas that underpin every financial record the system creates.

What You Will Learn

  • The principle of double-entry bookkeeping and why it matters
  • The accounting equation and how it stays in balance
  • The five account types and the debit/credit rules for each
  • How the Indian financial year (April to March) structures your books
  • The relationship between journals, ledgers, and trial balance
  • How ERP automates the flow from transaction to financial report
  • The difference between accrual and cash basis accounting
  • Accounting considerations specific to manufacturing

Prerequisites

  • Familiarity with the Udyamo ERP Lite dashboard (covered in Chapter 4)
  • No prior accounting knowledge is assumed

Double-Entry Bookkeeping

Double-entry bookkeeping is the foundation of modern accounting. The principle is simple: every financial transaction affects at least two accounts, and the total debits must always equal the total credits. This is not a software design choice — it is an accounting rule that has been in use since the 15th century and is mandated by Indian Accounting Standards.

Consider a practical example. Your factory purchases raw steel worth 50,000 from a vendor on credit:

  • Debit Raw Materials (Asset) 50,000 -- the value of materials you now hold increases
  • Credit Accounts Payable (Liability) 50,000 -- you now owe the vendor this amount

Both sides record 50,000. The books are in balance. When you later pay the vendor:

  • Debit Accounts Payable (Liability) 50,000 -- your obligation to the vendor is reduced
  • Credit Bank (Asset) 50,000 -- your bank balance decreases

Again, debits equal credits. This self-balancing mechanism is what makes accounting reliable. If the books do not balance, something has gone wrong, and the system will flag it.

In Udyamo ERP Lite, the JournalEntry model enforces this rule. Every journal entry contains one or more journal lines, and the system validates that total_debit equals total_credit before allowing the entry to be posted.

The Accounting Equation

The accounting equation expresses the fundamental relationship between what a business owns, what it owes, and what belongs to the owners:

Assets = Liabilities + Equity

This equation must always hold true. Every transaction either affects both sides equally or rearranges items within one side. Here are manufacturing examples:

TransactionEffect on Equation
Owner invests 10,00,000 in the businessAssets (Bank) increases; Equity increases
Factory takes a term loan of 5,00,000Assets (Bank) increases; Liabilities (Loan) increase
Purchase machinery for 3,00,000 cashAssets (Machinery) increases; Assets (Bank) decreases — net zero change
Sell finished goods for 1,20,000 on creditAssets (Receivable) increases; Equity increases (via Revenue)
Pay factory rent of 25,000Assets (Bank) decreases; Equity decreases (via Expense)

Revenue and expenses flow through the Profit & Loss statement and ultimately affect equity. When your factory earns revenue, equity grows. When it incurs expenses, equity shrinks. This is how daily operations connect to the balance sheet.

The Five Account Types

Udyamo ERP Lite classifies every account into one of five types. Understanding these types and their debit/credit behaviour is essential:

Account TypeNormal BalanceDebit MeansCredit MeansExamples
AssetDebitIncreaseDecreaseBank, Accounts Receivable, Raw Materials Inventory, Machinery, Factory Building
LiabilityCreditDecreaseIncreaseAccounts Payable, GST Payable, Term Loans, Salary Payable
EquityCreditDecreaseIncreaseOwner's Capital, Retained Earnings, Share Capital
IncomeCreditDecreaseIncreaseSales Revenue, Job Work Income, Scrap Sales, Interest Received
ExpenseDebitIncreaseDecreaseRaw Material Consumption, Factory Rent, Electricity, Depreciation, Wages

Tip: A simple mnemonic — assets and expenses normally have debit balances (they increase with debits). Liabilities, equity, and income normally have credit balances (they increase with credits). If you remember this, you can reason through any transaction.

The Indian Financial Year

In India, the financial year runs from 1 April to 31 March, as prescribed by the Companies Act, 2013 and the Income Tax Act, 1961. Udyamo ERP Lite is configured to follow this convention. Your financial year determines:

  • Opening balances -- Account balances carried forward from the previous year, effective 1 April
  • Period of reporting -- Trial balance, Profit & Loss, and Balance Sheet reports default to the current April-March period
  • Closing procedures -- At year-end (31 March), income and expense accounts are closed to Retained Earnings, and the cycle begins fresh

When you set up your organization in Udyamo ERP Lite (Chapter 5), you define the starting financial year. All subsequent years follow automatically.

Books of Account: Journal, Ledger, Trial Balance

Three core records form the backbone of any accounting system:

Journal. The journal is a chronological record of all financial transactions. Each journal entry records the date, a description, and the debit and credit lines. Think of it as a diary of everything that happened financially, in the order it happened.

Ledger. While the journal records transactions chronologically, the ledger organizes the same transactions by account. The "Raw Materials" ledger, for example, shows every debit and credit to that account, with a running balance. The ledger answers the question: what is the current position of this account?

Trial Balance. The trial balance is a summary that lists every account and its closing balance (debit or credit) as of a given date. If total debits equal total credits, the books are in balance. The trial balance is the starting point for preparing the Profit & Loss statement and Balance Sheet.

In Udyamo ERP Lite, these correspond directly to the data models: JournalEntry and JournalLine for the journal, LedgerEntry for the ledger, and the trial balance report generated from ledger data.

How ERP Automates Accounting

In a manual accounting system, a bookkeeper records every transaction by hand — first in the journal, then posted to the ledger. In Udyamo ERP Lite, this happens automatically:

  1. You create a sales invoice for finished goods worth 1,18,000 (1,00,000 + 18% GST)
  2. The system generates a journal entry — Debit Accounts Receivable 1,18,000; Credit Sales Revenue 1,00,000; Credit GST Payable 18,000
  3. Ledger entries are created for each affected account, updating running balances
  4. Reports update instantly — the trial balance, Profit & Loss, and Balance Sheet reflect the new invoice

The same automation applies to purchase bills, payments received, payments made, and any other transaction that has accounting implications. The invoice and bill models carry a journal_entry_id field that links them directly to their corresponding journal entries.

Tip: You do not need to manually create journal entries for routine transactions. The system handles sales, purchase, and payment postings automatically. Manual journal entries are reserved for adjustments, provisions, and non-routine transactions (covered in Chapter 33).

Accrual vs. Cash Basis

Accrual basis recognizes revenue when earned and expenses when incurred, regardless of when cash changes hands. If you deliver goods in March but the customer pays in April, the revenue is recognized in March.

Cash basis recognizes revenue and expenses only when cash is received or paid. The same delivery would be recorded as revenue in April when payment arrives.

Indian Accounting Standards (Ind AS) and the Companies Act, 2013 require the accrual basis for all companies. Udyamo ERP Lite follows accrual accounting by default — an invoice creates revenue and a receivable at the time of invoicing, not at the time of payment.

Warning: Do not confuse cash flow with profit. A business can be profitable on an accrual basis while running short of cash if customers delay payments. The Cash Flow report (Chapter 46) helps you monitor actual cash movement separately from accrual-based profit.

Manufacturing Accounting Specifics

Manufacturing introduces accounting concepts that trading or service businesses do not encounter:

Inventory as an asset. Raw materials, work-in-progress (WIP), and finished goods sitting in your warehouse are assets on your balance sheet, not expenses. Raw steel becomes an expense only when it is consumed in production (issued to a production order). This distinction is critical for accurate profit calculation.

Cost of Goods Sold (COGS). COGS represents the direct cost of producing the goods you sold during a period. It includes raw material consumption, direct labour, and manufacturing overheads. The formula is: Opening Inventory + Purchases - Closing Inventory = COGS. This appears on your Profit & Loss statement and directly affects gross profit.

Work-in-Progress (WIP) valuation. At any point in time, your factory will have partially completed production orders. The materials and labour already invested in these orders have value and must be accounted for. WIP is classified as a current asset on the balance sheet.

Depreciation. Factory machinery, moulds, vehicles, and the factory building lose value over time. Depreciation is the systematic allocation of an asset's cost over its useful life. Under the Companies Act, 2013, depreciation rates and methods are prescribed in Schedule II. Depreciation is an expense that reduces profit but does not involve any cash outflow.

Tips & Best Practices

Tip: Even if you are not an accountant, review the trial balance monthly. If total debits do not equal total credits, investigate immediately. The earlier you catch an imbalance, the easier it is to fix.

Tip: Keep your Chart of Accounts clean and consistent from the start. A well-structured CoA makes reporting straightforward. A poorly structured one creates confusion that compounds over time. Chapter 32 covers this in detail.

Tip: If you are transitioning from a manual or Tally-based accounting system, enter accurate opening balances for all accounts as of 1 April of your starting financial year. Incorrect opening balances will distort every report from day one.

Quick Reference

TermDefinition
Double-entryEvery transaction records equal debits and credits across at least two accounts
Accounting equationAssets = Liabilities + Equity; must always hold true
DebitAn entry on the left side of an account; increases assets and expenses
CreditAn entry on the right side of an account; increases liabilities, equity, and income
JournalChronological record of all financial transactions
LedgerAccount-wise record of transactions with running balances
Trial balanceSummary of all account balances; total debits must equal total credits
Accrual basisRecognizing revenue when earned and expenses when incurred, regardless of cash movement
COGSCost of Goods Sold — the direct cost of producing goods sold during a period
WIPWork-in-Progress — partially completed production with accumulated costs
DepreciationSystematic allocation of an asset's cost over its useful life
Financial yearApril 1 to March 31 in India, as mandated by the Companies Act, 2013

Chart of Accounts

The Chart of Accounts (CoA) is the organized list of every financial account in your business. It is the structural backbone of your accounting system — every journal entry, every ledger posting, and every financial report depends on the accounts defined here. A well-designed CoA makes reporting clean and auditing straightforward. A poorly designed one creates confusion that grows worse with every passing month.

This chapter explains how the Chart of Accounts works in Udyamo ERP Lite, how accounts are organized into types and hierarchies, and how to create and manage accounts for your manufacturing business.

What You Will Learn

  • The purpose and structure of a Chart of Accounts
  • The five account types and how they map to financial statements
  • Account hierarchy using parent accounts
  • Account codes and their role in organization
  • Report groups and financial statement classification
  • System-generated accounts and their protection
  • How to set opening balances
  • Step-by-step instructions for creating and managing accounts

Prerequisites

  • Understanding of the five account types and double-entry bookkeeping (Chapter 31)
  • Access to the Accounting module in Udyamo ERP Lite

What is a Chart of Accounts?

Think of the Chart of Accounts as the filing system for your financial data. Just as a factory organizes its warehouse into zones, racks, and bins, the CoA organizes financial transactions into categories that make sense for reporting and analysis.

Every business transaction in the ERP ultimately posts to one or more accounts in the CoA. When you sell finished goods, the system credits a revenue account. When you buy raw materials, it debits an asset or expense account. When you pay factory rent, it debits an expense account and credits the bank account. The CoA defines what these accounts are, how they are grouped, and where they appear on your financial statements.

Account Types

Every account in Udyamo ERP Lite belongs to one of five types, stored in the account_type field:

Account TypeFinancial StatementNormal BalancePurpose
AssetBalance SheetDebitResources the business owns — cash, bank, receivables, inventory, machinery, land
LiabilityBalance SheetCreditObligations the business owes — payables, loans, GST collected, salary payable
EquityBalance SheetCreditOwner's stake — capital, retained earnings, reserves
IncomeProfit & LossCreditRevenue earned — sales, job work income, interest received, scrap sales
ExpenseProfit & LossDebitCosts incurred — raw materials, wages, rent, electricity, depreciation

Asset, liability, and equity accounts appear on the Balance Sheet. Income and expense accounts appear on the Profit & Loss statement. This classification is fundamental — it determines where every rupee shows up in your financial reports.

Account Hierarchy

Udyamo ERP Lite supports hierarchical accounts through the parent_id field. A parent account groups related child accounts, creating a tree structure that mirrors how you think about your finances.

For example, a manufacturing company might structure its expense accounts as follows:

Expenses (parent)
├── Manufacturing Expenses (parent)
│   ├── Raw Material Consumption
│   ├── Direct Labour
│   ├── Factory Rent
│   ├── Factory Electricity
│   └── Machine Maintenance
├── Administrative Expenses (parent)
│   ├── Office Rent
│   ├── Office Supplies
│   ├── Telephone & Internet
│   └── Professional Fees
└── Selling Expenses (parent)
    ├── Freight & Transportation
    ├── Sales Commission
    └── Advertising

Parent accounts aggregate the balances of their children. The "Manufacturing Expenses" parent shows the total of all manufacturing-related costs, making it easy to see at a glance how much your factory operations cost during a period.

Tip: Design your hierarchy before you start creating accounts. Sketch it on paper or in a spreadsheet first. Restructuring the CoA after hundreds of transactions have been posted is difficult and error-prone.

Account Codes

Each account has a code field that provides a short alphanumeric identifier. Account codes serve two purposes: they establish a logical ordering, and they make data entry faster (you can search by code instead of typing the full account name).

A common coding convention for Indian manufacturing companies:

Code RangeAccount TypeExamples
1000–1999Asset1010 Cash in Hand, 1020 HDFC Bank Current Account, 1100 Accounts Receivable
2000–2999Liability2010 Accounts Payable, 2100 GST Payable, 2200 Salary Payable
3000–3999Equity3010 Owner's Capital, 3020 Retained Earnings
4000–4999Income4010 Sales Revenue — Finished Goods, 4020 Job Work Income, 4050 Scrap Sales
5000–5999Expense5010 Raw Material Consumption, 5020 Direct Labour, 5100 Factory Rent

Tip: Leave gaps between codes (1010, 1020, 1030 rather than 1001, 1002, 1003). This lets you insert new accounts later without disrupting the sequence.

Report Groups

The report_group field on each account controls where the account appears in financial reports. While the account type determines which statement (Balance Sheet or Profit & Loss) an account belongs to, the report group determines the specific section within that statement.

For example, assets might be classified into report groups such as:

  • Current Assets — Cash, bank, receivables, inventory
  • Fixed Assets — Land, building, machinery, vehicles
  • Investments — Fixed deposits, mutual funds

Similarly, liabilities might be grouped as:

  • Current Liabilities — Trade payables, GST payable, salary payable
  • Long-term Liabilities — Term loans, debentures

These groupings align with the disclosure requirements of the Companies Act, 2013 (Schedule III) and make your financial statements audit-ready.

System Accounts

Some accounts in Udyamo ERP Lite are marked with the is_system flag set to true. These are created automatically when you set up the system and are used internally by the application for automatic postings:

  • Accounts Receivable — debited when you create a sales invoice
  • Accounts Payable — credited when you record a vendor bill
  • GST Input Credit — debited when you record GST on purchases
  • GST Output (Payable) — credited when you collect GST on sales
  • Sales Revenue — credited for invoice revenue
  • Cost of Goods Sold — debited when finished goods are sold

Warning: System accounts cannot be deleted and should not be renamed or reclassified. They are integral to the automatic posting logic. If a system account is deactivated or misconfigured, automatic journal entries from invoices, bills, and payments will fail.

Opening Balances

When you begin using Udyamo ERP Lite mid-year or transition from another system, you need to enter opening balances for all accounts as of your starting date (typically 1 April of the financial year). The opening_balance field on each account stores this value.

Opening balances ensure that your Balance Sheet is correct from day one. Without them, assets, liabilities, and equity will be understated, and your trial balance will not reconcile with your previous records.

Required: Opening balances must satisfy the accounting equation. Total debit opening balances (assets + expenses) must equal total credit opening balances (liabilities + equity + income). If they do not balance, review your data entry for errors or omissions.

Step-by-Step: View the Chart of Accounts

  1. Navigate to Accounting > Accounts from the main menu
  2. The CoA displays all accounts in a list, grouped by account type
  3. Use the search bar to find an account by name or code
  4. Click any account to view its details, including the current balance

Chart of Accounts list view

Step-by-Step: Create a New Expense Account

Suppose your factory has started a new activity — heat treatment — and you want to track its costs separately.

  1. Navigate to Accounting > Accounts
  2. Click the New Account button
  3. Fill in the required fields:
FieldValue
NameHeat Treatment Expenses
Account TypeExpense
Code5060
ParentManufacturing Expenses
Report GroupManufacturing Overheads
DescriptionCosts related to heat treatment processes including furnace operation and outsourced HT services
Opening Balance0.00
ActiveYes
  1. Click Save

The new account is now available for use in journal entries, and any costs posted to it will appear under "Manufacturing Expenses" in reports.

Creating a new expense account

Step-by-Step: Create a Sub-Account

Sub-accounts allow finer granularity. Continuing the example above, if you want to separate in-house heat treatment costs from outsourced heat treatment:

  1. Navigate to Accounting > Accounts and click New Account
  2. Set the Parent field to "Heat Treatment Expenses" (the account you just created)
  3. Name the account "In-House Heat Treatment" with code 5061
  4. Save and repeat for "Outsourced Heat Treatment" with code 5062

The parent account "Heat Treatment Expenses" will now aggregate the balances of both sub-accounts.

Example Chart of Accounts for a Manufacturing Company

The following is a representative CoA structure. Your actual accounts will vary based on your industry and scale.

CodeAccount NameTypeParent
1010Cash in HandAssetCurrent Assets
1020HDFC Bank — Current AccountAssetCurrent Assets
1030ICICI Bank — Current AccountAssetCurrent Assets
1100Accounts ReceivableAssetCurrent Assets
1200Raw Materials InventoryAssetCurrent Assets
1210Work-in-Progress InventoryAssetCurrent Assets
1220Finished Goods InventoryAssetCurrent Assets
1500Factory BuildingAssetFixed Assets
1510Plant & MachineryAssetFixed Assets
1520Moulds & DiesAssetFixed Assets
1530Office EquipmentAssetFixed Assets
1540VehiclesAssetFixed Assets
2010Accounts PayableLiabilityCurrent Liabilities
2100CGST PayableLiabilityCurrent Liabilities
2110SGST PayableLiabilityCurrent Liabilities
2120IGST PayableLiabilityCurrent Liabilities
2130GST Input Credit (CGST)AssetCurrent Assets
2140GST Input Credit (SGST)AssetCurrent Assets
2150GST Input Credit (IGST)AssetCurrent Assets
2200Salary PayableLiabilityCurrent Liabilities
2300TDS PayableLiabilityCurrent Liabilities
2500Term Loan — SBILiabilityLong-term Liabilities
3010Owner's CapitalEquity
3020Retained EarningsEquity
4010Sales Revenue — Finished GoodsIncomeRevenue
4020Job Work IncomeIncomeRevenue
4050Scrap SalesIncomeOther Income
4060Interest ReceivedIncomeOther Income
5010Raw Material ConsumptionExpenseManufacturing Expenses
5020Direct LabourExpenseManufacturing Expenses
5030Factory RentExpenseManufacturing Expenses
5040Factory ElectricityExpenseManufacturing Expenses
5050Machine MaintenanceExpenseManufacturing Expenses
5100Office RentExpenseAdministrative Expenses
5110Telephone & InternetExpenseAdministrative Expenses
5200Freight OutwardExpenseSelling Expenses
5300DepreciationExpenseNon-Cash Expenses
5400Bank ChargesExpenseFinancial Expenses

Tips & Best Practices

Tip: Follow the principle of "as detailed as necessary, as simple as possible." Do not create 200 accounts when 50 will suffice. You can always add accounts later, but merging or deleting accounts with existing transactions is not straightforward.

Tip: Review your CoA with your accountant or auditor before entering opening balances. Their input on report groupings and classification will save rework during the audit.

Tip: Use the active field to deactivate accounts you no longer need instead of trying to delete them. Inactive accounts retain their historical data but do not appear in drop-down selections for new transactions.

Warning: Never create duplicate accounts for the same purpose. If two people independently create "Machine Repair Expenses" and "Machinery Maintenance," you will end up with costs split across both accounts, making reports inaccurate. Establish naming conventions and enforce them.

Quick Reference — Account Fields

FieldDescriptionRequired
nameHuman-readable account name (e.g., "Raw Material Consumption")Yes
account_typeOne of: asset, liability, equity, income, expenseYes
codeShort alphanumeric identifier for sorting and quick searchYes
parent_idLinks to a parent account for hierarchical groupingNo
descriptionDetailed explanation of what this account is used forNo
opening_balanceBalance carried forward from the previous system or financial yearNo
current_balanceSystem-calculated running balance (not manually editable)Auto
is_systemTrue for system-generated accounts; prevents deletionAuto
report_groupClassification for financial statement presentationNo
activeWhether the account appears in transaction formsYes

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:

FieldDescription
entry_numberSystem-generated unique identifier (e.g., JE-2025-0042)
entry_dateThe date on which the transaction is effective
voucher_typeClassification of the entry: sales, purchase, receipt, payment, journal, contra
reference_typeThe source document type (e.g., Invoice, Bill, Payment)
reference_idThe ID of the source document
descriptionA brief narrative explaining the transaction
statusCurrent state: draft, posted, or cancelled
total_debitSum of all debit amounts across lines
total_creditSum of all credit amounts across lines
notesAdditional notes or comments

Line fields record the individual debits and credits:

FieldDescription
journal_entry_idLinks the line to its parent journal entry
account_idThe account being debited or credited
debitAmount debited to this account (0.00 if this is a credit line)
creditAmount credited to this account (0.00 if this is a debit line)
descriptionOptional 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 TypePurposeTypically Created By
SalesRecords revenue from sales invoicesAutomatically, when a sales invoice is created
PurchaseRecords expenses or inventory additions from vendor billsAutomatically, when a purchase bill is recorded
ReceiptRecords money received from customersAutomatically, when a customer payment is recorded
PaymentRecords money paid to vendors or for expensesAutomatically, when a vendor payment is processed
JournalManual adjustments, provisions, corrections, depreciationManually by the user
ContraTransfers between cash and bank accounts, or between bank accountsManually 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":

LineAccountDebitCredit
1Accounts Receivable1,18,000
2Sales Revenue — Finished Goods1,00,000
3CGST Payable9,000
4SGST Payable9,000

When you record a purchase bill for raw materials, the system generates a journal entry with voucher type "Purchase":

LineAccountDebitCredit
1Raw Material Consumption (or Inventory)2,00,000
2GST Input Credit (CGST)18,000
3GST Input Credit (SGST)18,000
4Accounts Payable2,36,000

When you record a customer payment, the system generates a "Receipt" entry:

LineAccountDebitCredit
1HDFC Bank — Current Account1,18,000
2Accounts Receivable1,18,000

When you process a vendor payment, the system generates a "Payment" entry:

LineAccountDebitCredit
1Accounts Payable2,36,000
2HDFC Bank — Current Account2,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.

  1. Navigate to Accounting > Journal Entries
  2. Click New Journal Entry
  3. Fill in the header fields:
FieldValue
Entry Date31-03-2025
Voucher TypeJournal
DescriptionProvision for factory electricity — March 2025
  1. Add the journal lines:
LineAccountDebitCredit
1Factory Electricity (Expense)45,000
2Provision for Expenses (Liability)45,000
  1. Verify that Total Debit (45,000) equals Total Credit (45,000)
  2. Click Save — the entry is saved in draft status
  3. Review the entry, then click Post to finalize

Creating a manual journal entry for expense provision

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.

  1. Navigate to Accounting > Journal Entries and click New Journal Entry
  2. Set the header:
FieldValue
Entry Date15-01-2025
Voucher TypeContra
DescriptionFund transfer from HDFC to ICICI current account
  1. Add the lines:
LineAccountDebitCredit
1ICICI Bank — Current Account (Asset)2,00,000
2HDFC Bank — Current Account (Asset)2,00,000
  1. 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

TermDefinition
Journal entryA formal accounting record containing balanced debit and credit lines
Journal lineAn individual debit or credit entry within a journal entry
Voucher typeClassification of the journal entry: sales, purchase, receipt, payment, journal, contra
DraftInitial status; does not affect account balances
PostedFinalized status; updates ledger and reports
CancelledReversed status; neutralizes the original entry while preserving audit trail
ProvisionAn estimated liability for an expense that has been incurred but not yet billed
Contra entryA journal entry that transfers funds between cash and bank accounts
ReferenceLink from a journal entry back to its source document (invoice, bill, payment)

Ledger Entries & Automatic Postings

While the journal records transactions in chronological order, the ledger organizes the same data by account. The ledger is where you go to answer questions like: "What is the current balance of Accounts Receivable?" or "What transactions hit the Factory Rent account this month?" Every account in your Chart of Accounts has its own ledger — a running history of every debit, every credit, and the resulting balance after each transaction.

In Udyamo ERP Lite, ledger entries are created automatically whenever a journal entry is posted. You do not create ledger entries manually. This chapter explains how ledger entries work, how the running balance is calculated, and — most importantly — how routine business transactions generate automatic accounting postings without any manual intervention.

What You Will Learn

  • The structure of a ledger entry and its relationship to journal entries
  • How the running balance is maintained
  • How to view an account's ledger in the system
  • The complete set of automatic postings for invoices, bills, and payments
  • How reference linking provides a full audit trail
  • How to trace any ledger entry back to its source document

Prerequisites

  • Understanding of the Chart of Accounts (Chapter 32)
  • Understanding of journal entries and voucher types (Chapter 33)
  • Access to the Accounting module in Udyamo ERP Lite

What is a Ledger Entry?

A ledger entry is an individual line in an account's transaction history. It represents the effect of a single journal entry on that account. The ledger entry records:

FieldDescription
account_idThe account this entry belongs to
journal_entry_idThe journal entry that created this ledger entry
entry_dateThe date of the transaction
debitAmount debited to this account (0.00 if credit)
creditAmount credited to this account (0.00 if debit)
running_balanceThe account's balance after this entry
descriptionNarrative describing the transaction
reference_typeThe type of source document (Invoice, Bill, Payment, etc.)
reference_idThe ID of the source document

The key difference between a journal line and a ledger entry is context. A journal line exists in the context of a balanced transaction (debits equal credits across multiple accounts). A ledger entry exists in the context of a single account's history, complete with a running balance.

Running Balance

The running_balance field is what makes the ledger more useful than a simple list of debits and credits. After each transaction, the system calculates and stores the new balance of the account.

For an asset account (normal debit balance), the formula is:

New Balance = Previous Balance + Debit - Credit

For a liability, equity, or income account (normal credit balance), the conceptual balance still follows the same mathematical formula — the sign simply reflects the account's nature.

Consider the ledger for "HDFC Bank — Current Account" (an asset account) over a series of transactions:

DateDescriptionDebitCreditRunning Balance
01-04-2025Opening Balance5,00,000
05-04-2025Payment received — ABC Industries1,18,0006,18,000
10-04-2025Vendor payment — Steel Corp2,36,0003,82,000
15-04-2025Factory rent — April50,0003,32,000
20-04-2025Payment received — XYZ Fabricators75,0004,07,000

At any point, you can see exactly what the bank balance should be. If it does not match your bank statement, you know there is a discrepancy to investigate.

Viewing an Account's Ledger

Udyamo ERP Lite provides a dedicated ledger view for each account, accessible through the route /accounts/:id/ledger.

To view a ledger:

  1. Navigate to Accounting > Accounts
  2. Find the account you want to examine (e.g., "HDFC Bank — Current Account")
  3. Click the account name to open its detail page
  4. Click the Ledger tab or button

The ledger view displays all entries for the selected account, ordered by date, with the running balance column. You can typically filter by date range to view a specific period — for example, the current month or the current financial year.

Account ledger view showing transactions and running balance

Tip: When reconciling with external records (bank statements, vendor statements), use the ledger view filtered to the relevant period. The running balance column lets you compare the ERP balance at any date with the external balance.

Automatic Postings: The Complete Picture

The core value of ERP accounting is that everyday business transactions automatically generate the correct accounting entries. Below is the complete set of automatic postings for the major transaction types in Udyamo ERP Lite.

Sales Invoice Posting

When you create and post a sales invoice for finished goods worth 1,00,000 plus 18% GST (intra-state):

AccountDebitCreditExplanation
Accounts Receivable1,18,000Customer now owes this amount
Sales Revenue — Finished Goods1,00,000Revenue recognized
CGST Payable9,000GST collected on behalf of the government
SGST Payable9,000GST collected on behalf of the government

Ledger impact: Four ledger entries are created — one for each account. The Accounts Receivable running balance increases by 1,18,000. The Sales Revenue balance increases by 1,00,000. GST Payable balances increase by 9,000 each.

For an inter-state sale (IGST applies):

AccountDebitCreditExplanation
Accounts Receivable1,18,000Customer now owes this amount
Sales Revenue — Finished Goods1,00,000Revenue recognized
IGST Payable18,000Integrated GST for inter-state supply

Purchase Bill Posting

When you record a vendor bill for raw materials worth 2,00,000 plus 18% GST (intra-state):

AccountDebitCreditExplanation
Raw Material Consumption / Inventory2,00,000Material received or expense recorded
GST Input Credit (CGST)18,000Input tax credit claimed
GST Input Credit (SGST)18,000Input tax credit claimed
Accounts Payable2,36,000You now owe the vendor this amount

Ledger impact: Four ledger entries are created. Accounts Payable running balance increases by 2,36,000. GST Input Credit balances increase, reflecting the tax credit your business can claim.

Payment Received (Customer Payment)

When a customer pays 1,18,000 against an invoice:

AccountDebitCreditExplanation
HDFC Bank — Current Account1,18,000Cash inflow recorded
Accounts Receivable1,18,000Customer's obligation settled

Ledger impact: The bank balance increases by 1,18,000. The receivable balance decreases by the same amount. The net effect on the Balance Sheet is a shift from one asset (receivable) to another (bank) — total assets remain unchanged.

Payment Made (Vendor Payment)

When you pay a vendor 2,36,000 against a bill:

AccountDebitCreditExplanation
Accounts Payable2,36,000Vendor obligation settled
HDFC Bank — Current Account2,36,000Cash outflow recorded

Ledger impact: The payable balance decreases (you owe less). The bank balance decreases (your cash goes down). Both a liability and an asset decrease by equal amounts — the accounting equation stays in balance.

Payment with TDS Deduction

When you pay a vendor 1,00,000 for professional services with 10% TDS deducted (Section 194J):

AccountDebitCreditExplanation
Accounts Payable1,00,000Full vendor obligation settled
HDFC Bank — Current Account90,000Net payment after TDS
TDS Payable (194J)10,000TDS withheld, to be deposited with government

Ledger impact: The payable is fully cleared, but only 90,000 leaves the bank. The TDS Payable liability increases by 10,000, reflecting your obligation to deposit the withheld tax.

Reference Linking and the Audit Trail

Every ledger entry in Udyamo ERP Lite carries two reference fields: reference_type and reference_id. These fields create a chain of traceability from the ledger all the way back to the original business document.

The traceability chain works as follows:

Ledger Entry
  → references → Journal Entry (via journal_entry_id)
    → references → Source Document (via reference_type + reference_id)
      → e.g., Invoice #INV-2025-0137, Bill #BILL-2025-0089, Payment #PAY-2025-0201

This means you can start from any number in a financial report, drill down to the ledger, from there to the journal entry, and from there to the original invoice, bill, or payment. Conversely, from any business document, you can navigate to its journal entry and see exactly which accounts were affected.

The audit trail route (/accounts/:id/audit_trail) provides a comprehensive view of all changes and transactions related to an account, useful during statutory audits and internal reviews.

Tip: When your auditor asks "What is this 2,36,000 charge to Accounts Payable on 10 April?", you can click on the ledger entry, navigate to the journal entry, and from there to the vendor bill — all within seconds. This level of traceability is what separates ERP from spreadsheet-based accounting.

Understanding the Day Book

The day book (accessible at the reports route) is a chronological listing of all journal entries for a given date or date range. It is essentially the journal register and serves as the primary record of all financial transactions in the order they occurred.

The day book is useful for:

  • Daily review — scanning all transactions posted on a given day
  • Anomaly detection — spotting unusual entries, unexpected amounts, or missing transactions
  • Auditor queries — providing a complete list of all transactions for a period

Tips & Best Practices

Tip: Review account ledgers monthly, not just at year-end. Catching a misposted entry in the same month it occurred is far easier than finding it six months later during the annual audit.

Tip: Use the reference linking to verify automatic postings. When you create your first few invoices and bills, open the generated journal entries and ledger entries to confirm that the accounts and amounts are correct. This builds confidence in the system and helps you understand the posting logic.

Tip: The running balance in the bank account ledger should match your bank passbook balance (adjusted for timing differences like uncleared cheques). If the two diverge significantly, investigate before more transactions accumulate.

Warning: Do not attempt to manually adjust ledger entry running balances. The running balance is system-calculated and maintained. If a running balance appears incorrect, the issue lies in the underlying journal entries — investigate and correct those instead.

Quick Reference

TermDefinition
Ledger entryA single debit or credit record in an account's transaction history, with running balance
Running balanceThe account's cumulative balance after each transaction
Automatic postingA journal entry and its corresponding ledger entries created by the system from a business document
Reference linkingThe chain from ledger entry to journal entry to source document
Audit trailThe complete history of transactions and changes for an account
Day bookA chronological register of all journal entries for a given period
Accounts ReceivableMoney owed to you by customers (asset account)
Accounts PayableMoney you owe to vendors (liability account)
Input creditGST paid on purchases, which can be offset against GST collected on sales
TDS PayableTax deducted at source, held as a liability until deposited with the government

Bank Accounts & Reconciliation

For a manufacturing business, the bank account is the central artery of financial operations. Raw material payments flow out, customer collections flow in, salaries are disbursed, loan EMIs are debited, and GST payments are remitted — all through your bank accounts. Udyamo ERP Lite provides dedicated bank account management that goes beyond the Chart of Accounts, giving you a structured way to track bank-specific details, monitor balances, and reconcile your ERP records with your bank statements.

This chapter covers how to set up bank accounts in the system, how they link to your Chart of Accounts, how balances are maintained, and the process of bank reconciliation.

What You Will Learn

  • How to set up and manage bank accounts in Udyamo ERP Lite
  • The difference between bank accounts and chart of accounts entries
  • Key fields: bank name, account number, IFSC, branch, account type
  • How to designate a default bank account
  • How bank balances are updated by payments
  • The concept and importance of bank reconciliation
  • How to use the audit trail for bank accounts
  • Step-by-step instructions for adding a bank account and viewing transactions

Prerequisites

  • Understanding of the Chart of Accounts and asset accounts (Chapter 32)
  • Familiarity with payment processing (Chapters 24 and 29)
  • Access to the Accounting module in Udyamo ERP Lite

Bank Accounts in ERP

In the Chart of Accounts, your bank accounts are asset accounts — they represent money the business owns. But a bank account in real life carries additional details that a simple accounting entry does not capture: the bank name, branch, account number, IFSC code, and account type (current or savings). These details are needed for payment processing, bank exports, cheque printing, and reconciliation.

Udyamo ERP Lite handles this with a dedicated BankAccount model that stores bank-specific information and links to the corresponding asset account in the Chart of Accounts. This gives you the best of both worlds: full accounting integration through the CoA and detailed bank information for operational use.

Bank Account Fields

The following fields define a bank account in Udyamo ERP Lite:

FieldDescriptionRequired
nameA descriptive name for the account (e.g., "HDFC Current — Main")Yes
bank_nameThe name of the bank (e.g., "HDFC Bank")Yes
account_numberThe bank account numberYes
ifsc_codeThe IFSC code of the branch (e.g., "HDFC0001234")Yes
branchThe branch name or location (e.g., "Pimpri-Chinchwad Industrial Area")No
account_typeCurrent or SavingsYes
opening_balanceBalance at the time of setup or start of financial yearNo
current_balanceSystem-maintained running balance, updated by every payment transactionAuto
is_defaultWhether this is the default bank account for paymentsNo
activeWhether the account is available for transactionsYes
bank_export_format_idLinks to a bank export format for bulk payment files (Chapter 30)No

Account Types: Current vs. Savings

Indian businesses typically maintain one or more of the following:

Current Account. Designed for business use. No limit on the number of transactions. Does not earn interest (or earns minimal interest). Most manufacturing businesses use a current account as their primary operating account. All vendor payments, customer receipts, salary disbursements, and statutory payments flow through this account.

Savings Account. Earns interest but may have transaction limits. Some businesses maintain a savings account to park surplus funds. Savings accounts are less common for primary operations but are sometimes used for specific purposes such as holding security deposits or fixed deposit linked accounts.

Tip: Most manufacturing SMBs need just one or two current accounts for daily operations. Keep the structure simple. Every additional bank account adds a reconciliation burden.

Default Bank Account

The is_default field designates one bank account as the default for the organization. When users create payment transactions (customer receipts or vendor payments), the system pre-selects the default bank account. This reduces data entry errors and speeds up payment processing.

Only one bank account can be the default at any time. To change the default, navigate to the bank account you want to designate, enable the is_default flag, and save. The previous default is automatically unset.

Tip: Set your primary operating current account as the default. If your business uses one bank for vendor payments and another for customer collections, designate the one with the highest transaction volume as the default.

Linking to the Chart of Accounts

Every bank account in Udyamo ERP Lite corresponds to an asset account in the Chart of Accounts. When a payment is processed through a bank account, the corresponding CoA asset account is debited (for incoming payments) or credited (for outgoing payments).

For example:

  • Bank Account: "HDFC Current — Main" (BankAccount model)
  • CoA Account: "HDFC Bank — Current Account" (Account model, type: Asset, code: 1020)

When a customer payment of 1,18,000 is recorded against "HDFC Current — Main":

  • The current_balance on the BankAccount record increases by 1,18,000
  • A ledger entry is created on the CoA account "HDFC Bank — Current Account" with a debit of 1,18,000
  • The current_balance on the CoA Account record also increases by 1,18,000

Both records stay in sync because they represent the same underlying reality — cash in the HDFC bank account.

How Balances Are Updated

The current_balance field on the bank account is updated every time a payment transaction references that bank account:

Transaction TypeEffect on Balance
Customer payment receivedBalance increases (debit to bank)
Vendor payment madeBalance decreases (credit from bank)
Salary disbursementBalance decreases
Contra entry (transfer in from another bank)Balance increases
Contra entry (transfer out to another bank)Balance decreases
Bank charges (recorded via journal entry)Balance decreases

The balance is always calculated from actual posted transactions. It is not a manually entered figure (except for the opening balance at the time of setup).

Bank Reconciliation

Bank reconciliation is the process of comparing your ERP records (the bank account ledger) with your actual bank statement to ensure they match. This is one of the most important controls in financial management.

Why Reconciliation Matters

Even with an ERP system handling the accounting, discrepancies between your books and the bank statement are inevitable. Common causes include:

Timing differences. You issue a cheque to a vendor on 28 March, and your ERP records the payment immediately. The vendor deposits the cheque on 3 April. Your bank statement shows the deduction in April, but your ERP shows it in March.

Bank-initiated transactions. Bank charges, interest credits, standing instructions, and EMI debits happen at the bank's end. If these are not recorded in the ERP, the balances will diverge.

Errors. A payment may be recorded at the wrong amount, against the wrong bank account, or duplicated. Reconciliation is how you catch these errors.

Unauthorized transactions. Reconciliation can reveal transactions you did not initiate — a critical security control.

The Reconciliation Workflow

Bank reconciliation in a manufacturing business typically follows this monthly process:

  1. Obtain the bank statement for the month (download from internet banking or collect from the branch)
  2. Open the bank account ledger in Udyamo ERP Lite, filtered to the same period
  3. Match transactions — go through each entry in the bank statement and find the corresponding entry in the ERP ledger. Mark matched items.
  4. Identify unmatched items in the bank statement — these are transactions the bank has recorded but your ERP has not. Typical examples: bank charges, interest credits, direct debits (EMIs), and cheques deposited by customers that you have not yet recorded.
  5. Identify unmatched items in the ERP — these are transactions you have recorded but the bank has not yet processed. Typical examples: cheques issued but not yet presented, online transfers initiated but not yet settled.
  6. Prepare the reconciliation statement — the format is:
Balance as per ERP ledger                            4,07,000
Add: Cheques deposited not yet cleared               + 75,000
Less: Cheques issued not yet presented              - 1,50,000
Add: Interest credited by bank (not yet in ERP)       + 2,100
Less: Bank charges (not yet in ERP)                     - 850
                                                    ---------
Balance as per bank statement                        3,33,250
  1. Record missing entries — create journal entries in the ERP for bank charges, interest credits, and any other bank-initiated transactions that were not previously recorded
  2. Investigate discrepancies — any remaining differences should be investigated and resolved

Warning: Do not ignore small reconciliation differences. A 500-rupee discrepancy today could indicate a systematic issue that compounds over months. Investigate every difference, no matter how small.

Reconciliation Frequency

Business SizeRecommended Frequency
Low transaction volume (< 50/month)Monthly
Medium transaction volume (50-200/month)Fortnightly
High transaction volume (> 200/month)Weekly

Tip: The longer you wait between reconciliations, the harder it becomes to investigate discrepancies. Monthly reconciliation is the minimum for any business. If your factory processes hundreds of payments per month, consider weekly reconciliation.

Audit Trail for Bank Accounts

Udyamo ERP Lite maintains an audit trail for bank accounts, accessible via the audit_trail action. The audit trail records:

  • When the bank account was created and by whom
  • Changes to bank account details (account number, IFSC, default status)
  • All transactions that affected the bank balance

This audit trail is essential during statutory audits. Auditors need to verify that bank account details are accurate, that changes are authorized, and that the transaction history is complete and tamper-proof.

Step-by-Step: Add a Bank Account

Your factory opens a new current account with State Bank of India for vendor payments.

  1. Navigate to Accounting > Bank Accounts
  2. Click New Bank Account
  3. Fill in the fields:
FieldValue
NameSBI Current — Vendor Payments
Bank NameState Bank of India
Account Number39876543210
IFSC CodeSBIN0005678
BranchMIDC Bhosari
Account TypeCurrent
Opening Balance3,00,000
Is DefaultNo
ActiveYes
  1. Click Save

Adding a new bank account

The system creates the bank account record. Ensure that a corresponding asset account exists in the Chart of Accounts (e.g., "SBI Bank — Current Account" with code 1040). This account will be used for the accounting entries when payments are processed through this bank.

Step-by-Step: View Bank Transactions

  1. Navigate to Accounting > Bank Accounts
  2. Click on the bank account name (e.g., "HDFC Current — Main")
  3. The detail page shows the current balance and account details
  4. Click the Ledger or Transactions tab to view all transactions
  5. Use the date filter to narrow the view to a specific period
  6. Each transaction row shows the date, description, debit or credit amount, and running balance
  7. Click any transaction to navigate to the underlying journal entry, and from there to the source document

Bank account transaction list

Tips & Best Practices

Tip: Record bank charges and interest credits promptly — do not wait for month-end. These bank-initiated transactions are easy to forget, and they cause reconciliation differences that waste time.

Tip: Keep your bank account names descriptive. "HDFC Current — Main" is better than "Bank Account 1." When you have multiple bank accounts, clear naming prevents errors during payment processing.

Tip: If your business uses multiple bank accounts, assign a specific purpose to each. For example, one for vendor payments, one for salary disbursement, and one for customer collections. This simplifies reconciliation and provides clearer cash flow visibility.

Warning: Never share bank account credentials or payment authorization tokens. The audit trail records who performed each action, but it cannot prevent unauthorized access if credentials are compromised. Use role-based access controls (Chapter 48) to restrict who can view bank details and process payments.

Required: The IFSC code must be accurate. It is used for electronic fund transfers (NEFT, RTGS, IMPS) and for generating bank export files for bulk payments (Chapter 30). An incorrect IFSC code will cause payment failures.

Quick Reference

TermDefinition
Bank accountA dedicated record in the ERP storing bank-specific details (account number, IFSC, branch)
Current accountA bank account type designed for business transactions, with no transaction limits
Savings accountA bank account type that earns interest, typically with transaction limits
IFSC codeIndian Financial System Code — an 11-character code identifying a specific bank branch
Default bank accountThe bank account pre-selected for payment transactions
Opening balanceThe balance at the time of setup or start of financial year
Current balanceThe running balance maintained by the system from actual transactions
Bank reconciliationThe process of matching ERP records with the bank statement to ensure accuracy
Audit trailA complete log of all changes and transactions for the bank account
Bank export formatA predefined file format for generating bulk payment instructions for the bank

GST — Goods & Services Tax in ERP

The Goods and Services Tax (GST) replaced over a dozen indirect taxes in India when it came into effect on 1 July 2017. For a manufacturing SMB, GST touches every transaction — the steel you purchase, the machining service you outsource, the finished hydraulic cylinders you sell. Getting GST right in your ERP system is not optional; it is a legal requirement that affects your invoices, your returns, and your cash flow through Input Tax Credit.

This chapter explains how GST works from an ERP user's perspective, how Udyamo ERP Lite automates GST calculations, and how to configure your items and transactions so that every invoice and bill carries the correct tax breakup.


What You Will Learn

  • The structure of GST — CGST, SGST, and IGST — and when each applies
  • Standard GST rate slabs and how they map to goods
  • What HSN codes are and why they are mandatory
  • How Udyamo ERP Lite determines the correct GST split automatically
  • The concept of Input Tax Credit (ITC) and how ERP data supports it
  • Reverse Charge Mechanism (RCM) and composition scheme basics
  • GSTIN format and validation
  • Step-by-step: configuring GST on items and verifying tax calculation on an invoice

Prerequisites

  • Udyamo ERP Lite is set up with your organization details, including state and GSTIN (Chapter 5)
  • Items are created in the item master (Chapter 7)
  • You have Owner or Admin role access

GST Structure — CGST, SGST, and IGST

GST in India is a dual tax. The central government and state governments both levy tax on the same transaction. Which combination applies depends on whether the buyer and seller are in the same state.

Intra-state supply (seller and buyer in the same state): The tax is split equally between Central GST (CGST) and State GST (SGST). If the GST rate on an item is 18%, the invoice shows 9% CGST and 9% SGST.

Inter-state supply (seller and buyer in different states): The entire tax is levied as Integrated GST (IGST). If the GST rate is 18%, the invoice shows 18% IGST.

This distinction is critical because CGST goes to the central government, SGST goes to the state government, and IGST is shared between them. Your ERP system must determine the correct split on every transaction.

ScenarioSeller StateBuyer StateTax Applied
Intra-stateMaharashtraMaharashtraCGST 9% + SGST 9%
Inter-stateMaharashtraGujaratIGST 18%
Inter-stateTamil NaduKarnatakaIGST 18%
Intra-stateGujaratGujaratCGST 9% + SGST 9%

Tip: Udyamo ERP Lite determines the GST split automatically by comparing the state in your organization settings with the state on the customer or vendor record. Ensure both are set correctly to avoid incorrect tax breakups.


GST Rate Slabs

The GST Council has established five rate slabs. Most manufactured goods fall in the 18% bracket, but it is important to verify the rate for each item you deal with.

RateTypical Goods
0%Fresh agricultural produce, milk, salt, educational services
5%Apparel below Rs 1,000, branded food items, coal, fertilizers
12%Processed food, sewing machines, cell phones, umbrella parts
18%Steel (7208), bearings (8482), machine parts (8483), hydraulic cylinders (8412), electrical machinery
28%Automobiles, cement, AC machines, tobacco products, aerated drinks

Warning: GST rates are revised periodically by the GST Council. A rate change can take effect mid-year. Always verify rates against the latest CBIC (Central Board of Indirect Taxes and Customs) notifications or consult your tax advisor before updating your item master.


HSN Codes — Harmonized System of Nomenclature

The HSN code is an internationally standardized system of numerical codes used to classify traded products. India adopted HSN for GST purposes. Every item you sell or purchase must carry the correct HSN code because:

  1. It determines the applicable GST rate. The GST rate is tied to the HSN code, not to the item name.
  2. It is mandatory on tax invoices. Businesses with turnover above Rs 5 crore must mention 6-digit HSN codes. Those between Rs 1.5 crore and Rs 5 crore must mention 4-digit codes.
  3. GST returns require HSN-wise summary. GSTR-1 includes an HSN summary table, and the data comes directly from your invoices.

Common HSN codes in manufacturing:

Material / ProductHSN CodeGST Rate
Hot-rolled steel plates and sheets720818%
MS round bars721418%
Bolts, nuts, screws731818%
Ball and roller bearings848218%
Transmission shafts, gears, gearboxes848318%
Hydraulic cylinders and actuators841218%
Rubber sheets and strips400818%
Welding electrodes831118%

In Udyamo ERP Lite, the HSN code is stored on the item record in the hsn_code field, and the GST rate is stored in the gst_rate field. When you add an item to an invoice or bill, these values are pulled automatically.


How Udyamo ERP Lite Calculates GST

The GST calculation in Udyamo ERP Lite follows a straightforward sequence:

  1. Item-level rate. Each item carries its own gst_rate (for example, 18% for HSN 8483 — transmission shafts and gears).
  2. State comparison. The system compares the state from your organization settings with the state on the customer (for invoices) or vendor (for bills) record.
  3. Tax split. If both states match, the system splits the GST equally into cgst_amount and sgst_amount. If they differ, the full amount goes into igst_amount.
  4. Line-level and document-level totals. Tax is calculated per line item and then aggregated at the document level. The invoice or bill shows the total CGST, SGST, and IGST amounts.

For example, consider selling 10 gear shafts (HSN 8483) at Rs 2,500 each to a customer in the same state (Maharashtra):

Amount
Taxable value (10 x Rs 2,500)Rs 25,000
CGST at 9%Rs 2,250
SGST at 9%Rs 2,250
IGSTRs 0
Invoice totalRs 29,500

If the same sale were to a customer in Gujarat (inter-state):

Amount
Taxable valueRs 25,000
CGSTRs 0
SGSTRs 0
IGST at 18%Rs 4,500
Invoice totalRs 29,500

The total tax is identical. Only the split changes.

GST calculation flow on an invoice


Input Tax Credit (ITC)

Input Tax Credit is the mechanism that makes GST a value-added tax rather than a cascading tax. The core principle: the GST you pay on purchases (inputs) can be set off against the GST you collect on sales (outputs).

Suppose your firm purchases steel plates (HSN 7208) worth Rs 1,00,000 and pays Rs 18,000 as GST. You then use that steel to manufacture gear housings (HSN 8483) that you sell for Rs 2,00,000, collecting Rs 36,000 as GST. Your net GST liability is:

Amount
GST collected on sales (output tax)Rs 36,000
GST paid on purchases (input tax credit)Rs 18,000
Net GST payableRs 18,000

For ITC to be valid, three conditions must be met:

  1. You must have a valid tax invoice from your supplier.
  2. The goods or services must be used for business purposes.
  3. The supplier must have filed their GST return and deposited the tax.

Udyamo ERP Lite captures GST amounts on every bill you record, giving you a complete record of input tax available for credit. This data feeds directly into your GSTR-3B return (covered in Chapter 37).

Tip: Regularly reconcile your purchase records in Udyamo with the data available on the GST portal (GSTR-2A/2B) to ensure that the ITC you claim is actually reflected in your suppliers' filings.


Reverse Charge Mechanism (RCM)

Under the normal GST mechanism, the supplier charges GST and remits it to the government. Under the Reverse Charge Mechanism, the recipient (buyer) is liable to pay the GST directly to the government. RCM applies in specific scenarios:

  • Purchases from unregistered dealers (for specified categories of goods/services)
  • Certain notified services such as goods transport by road (GTA), legal services, and sponsorship services
  • Import of services

When RCM applies, the buyer records the purchase with GST but pays the tax to the government instead of to the supplier. The buyer can then claim ITC on the RCM tax paid, subject to conditions.

Warning: RCM transactions require careful handling. The tax is not paid to the vendor — it is paid to the government through your GST return. Consult your accountant for RCM scenarios specific to your business.


Composition Scheme

The GST composition scheme is a simplified compliance option for small businesses with turnover up to Rs 1.5 crore (Rs 75 lakh for some states). Under this scheme:

  • You pay GST at a flat rate (1% for manufacturers, 5% for restaurants, 6% for other service providers)
  • You cannot charge GST on your invoices — your invoices must say "Composition taxable person, not eligible to collect tax on supplies"
  • You cannot claim Input Tax Credit
  • You file quarterly returns instead of monthly

Most manufacturing SMBs using Udyamo ERP Lite will be regular taxpayers rather than composition dealers, because the inability to claim ITC makes composition unattractive for businesses with significant raw material purchases.


GSTIN Format and Validation

The Goods and Services Tax Identification Number (GSTIN) is a 15-character alphanumeric code assigned to every registered taxpayer. The format is:

22AAAAA0000A1Z5
│  │         │││
│  │         ││└─ Check digit (calculated)
│  │         │└── Default "Z"
│  │         └─── Entity code (1-9, A-Z)
│  └───────────── PAN (10 characters)
└──────────────── State code (01-37)
  • Characters 1-2: State code (e.g., 27 for Maharashtra, 24 for Gujarat, 33 for Tamil Nadu)
  • Characters 3-12: PAN of the business
  • Character 13: Entity number (for businesses with multiple registrations in the same state)
  • Character 14: "Z" by default
  • Character 15: Check digit

In Udyamo ERP Lite, the gstin field on customer and vendor records stores this number. The organization's own GSTIN is configured in organization settings. The state code embedded in the GSTIN is consistent with the state selection — a mismatch usually indicates a data entry error.

Required: Enter the GSTIN for every registered customer and vendor. This data appears on your tax invoices and is essential for accurate GST return filing.


Step by Step: Configuring GST on an Item

  1. Navigate to Inventory > Items and open an existing item or create a new one.
  2. In the item form, locate the HSN Code field. Enter the correct HSN code for the item. For example, enter 8483 for a transmission shaft.
  3. In the GST Rate field, enter the applicable rate as a number. For 18% GST, enter 18.
  4. Save the item.
  5. Repeat for all items in your catalog.

Item form showing HSN code and GST rate fields

Step by Step: Verifying GST Calculation on an Invoice

  1. Navigate to Sales > Invoices and create a new invoice.
  2. Select a customer. Ensure the customer record has the correct state and GSTIN set.
  3. Add a line item — for example, "Transmission Shaft (HSN 8483)" at Rs 5,000 per unit, quantity 20.
  4. Observe the tax breakup:
    • If the customer is in the same state as your organization, the invoice should show CGST Rs 9,000 and SGST Rs 9,000 (9% each on Rs 1,00,000).
    • If the customer is in a different state, the invoice should show IGST Rs 18,000 (18% on Rs 1,00,000).
  5. Verify the grand total is Rs 1,18,000.
  6. If the amounts are incorrect, check: (a) the GST rate on the item, (b) the state on the customer record, (c) the state in your organization settings.
  7. Save or approve the invoice.

Tips & Best Practices

  • Set HSN codes and GST rates when creating items, not later. Retrofitting tax data across hundreds of items is tedious and error-prone.
  • Use 4-digit or 6-digit HSN codes depending on your turnover bracket. When in doubt, use 6-digit codes — they provide more specificity and are accepted at all turnover levels.
  • Verify GSTIN before recording a customer or vendor. An invalid GSTIN will cause problems during return filing. You can verify GSTINs on the GST portal search tool.
  • Review the GST breakup on every invoice before finalizing. A common mistake is an incorrect state on the customer record, which results in IGST being charged instead of CGST+SGST or vice versa.
  • Keep your item master updated when the GST Council announces rate changes. A rate change affects all new transactions using that item.

Quick Reference

FieldLocationDescription
hsn_codeItemHarmonized System of Nomenclature code for the goods
gst_rateItemGST percentage applicable to the item (0, 5, 12, 18, or 28)
gstinCustomer / Vendor15-character GST Identification Number
cgst_amountInvoice / BillCentral GST amount (intra-state transactions)
sgst_amountInvoice / BillState GST amount (intra-state transactions)
igst_amountInvoice / BillIntegrated GST amount (inter-state transactions)
Organization stateOrganization SettingsYour business's registered state — used for CGST/SGST vs. IGST determination

GST Returns — GSTR-1 & GSTR-3B

Filing GST returns is a monthly obligation for every regular taxpayer in India. A return is a formal declaration to the government of your sales, purchases, and the tax you owe. For a manufacturing SMB, this means compiling data from dozens or hundreds of invoices and bills — a task that is painful with spreadsheets but straightforward when your ERP already holds every transaction.

This chapter covers the two GST returns that matter most for regular taxpayers — GSTR-1 and GSTR-3B — and how Udyamo ERP Lite supports the preparation, review, and filing workflow through the GstReturn module.


What You Will Learn

  • The purpose and due dates of GSTR-1 and GSTR-3B
  • What data goes into each return and where it comes from in ERP
  • The GstReturn model in Udyamo ERP Lite — fields, statuses, and actions
  • How to review return data, file a return, and waive a nil return
  • Reconciliation between your books and the GST portal
  • Step-by-step: viewing return data, filing a return, waiving a nil return

Prerequisites

  • GST is configured on your organization, items, customers, and vendors (Chapter 36)
  • Invoices and bills have been created for the return period (Chapters 23 and 28)
  • You have Owner or Admin role access

GSTR-1 — Outward Supplies

GSTR-1 is the return where you declare all your outward supplies (sales) for a given period. It is a detailed, invoice-level return.

Who files it: Every registered taxpayer except composition dealers.

Due date: 11th of the month following the tax period. For example, GSTR-1 for January is due by 11 February. (Taxpayers with turnover up to Rs 5 crore may opt for quarterly filing under the QRMP scheme, with an Invoice Furnishing Facility for the first two months of each quarter.)

What it contains:

SectionData
B2B invoicesInvoices issued to registered buyers (with GSTIN), including invoice number, date, GSTIN, taxable value, and tax breakup
B2C (large)Invoices to unregistered buyers where the invoice value exceeds Rs 2.5 lakh (inter-state only)
B2C (others)Summary of all other B2C sales, consolidated by tax rate
Credit/debit notesAdjustments issued against earlier invoices
HSN summaryAggregate taxable value and tax by HSN code
Nil-rated/exemptedValue of exempt, nil-rated, and non-GST supplies

In Udyamo ERP Lite, all of this data originates from the invoices you have created during the period. Every invoice records the customer GSTIN, item HSN codes, taxable amounts, and the CGST/SGST/IGST breakup. The system can summarize this data by tax rate, by HSN code, and by customer registration status to match the GSTR-1 format.

Tip: Ensure all invoices for the period are in "approved" or "paid" status before preparing your GSTR-1. Draft invoices should be finalized or deleted — they should not appear in your return.


GSTR-3B — Summary Return with Tax Payment

GSTR-3B is a self-declared summary return. Unlike GSTR-1 (which is invoice-level), GSTR-3B requires only aggregate figures. It is also the return through which you pay your GST liability.

Who files it: Every registered taxpayer except composition dealers.

Due date: 20th of the month following the tax period (the exact date varies by state for taxpayers with turnover up to Rs 5 crore — it can be the 20th, 22nd, or 24th depending on the state category).

What it contains:

TableDescription
3.1Outward supplies — taxable, zero-rated, nil-rated, exempt, and non-GST
3.2Inter-state supplies to unregistered persons and composition dealers
4Eligible Input Tax Credit — from imports, domestic purchases, and RCM
5Exempt, nil-rated, and non-GST inward supplies
6.1Payment of tax — IGST, CGST, SGST, and cess — through ITC utilization and cash

The key calculation in GSTR-3B is:

Net tax payable = Output tax (from sales) − Input Tax Credit (from purchases)

If the result is positive, you pay the difference through the electronic cash ledger on the GST portal. If the result is negative (more ITC than output tax), the excess carries forward.

In Udyamo ERP Lite, the output tax comes from your invoices (cgst_amount, sgst_amount, igst_amount on invoices), and the input tax comes from your bills (cgst_amount, sgst_amount, igst_amount on bills). The system provides the aggregate figures you need to fill Table 3.1 and Table 4 of GSTR-3B.


The GstReturn Model in Udyamo ERP Lite

Udyamo ERP Lite tracks each return period as a GstReturn record with the following fields:

FieldDescriptionExample
return_typeType of returngstr1 or gstr3b
periodThe month-year for the return01-2026 (January 2026)
filing_dateDate the return was filed on the GST portal2026-02-11
statusCurrent status of the returnpending, filed, or waived
total_taxTotal tax amount for the period45000.00
cgst_amountTotal CGST for the period12500.00
sgst_amountTotal SGST for the period12500.00
igst_amountTotal IGST for the period20000.00
notesAny remarks or observationsFiled after reconciliation with GSTR-2B

Statuses

  • Pending — The return record exists but has not been filed yet. This is the initial status.
  • Filed — The return has been filed on the GST portal and marked as filed in the ERP.
  • Waived — Used for nil returns where there are no transactions for the period. The return obligation is acknowledged but no filing is needed (some businesses still file a nil return on the portal — the waive action in ERP simply marks the internal record).

Actions

ActionWhat It DoesWhen to Use
file_returnChanges status from pending to filed, records the filing dateAfter you have filed the return on the GST portal
waiveChanges status from pending to waivedWhen there are no taxable transactions for the period (nil return)

Warning: Udyamo ERP Lite does not file returns directly on the GST portal. The ERP serves as your data preparation and record-keeping system. You must log in to the GST portal (or use a GST Suvidha Provider) to actually file the return. Once filed, you come back to Udyamo and mark the return as filed.


The Filing Workflow

The typical monthly workflow for GST return filing is:

  1. Close the period. Ensure all invoices and bills for the month are finalized. No draft transactions should remain.
  2. Review GSTR-1 data. Use the GST return view to see the outward supply summary — B2B invoices, B2C summary, HSN summary. Compare this with your sales register.
  3. File GSTR-1 on the GST portal. Log in to the portal, enter or upload the data, and submit GSTR-1.
  4. Mark GSTR-1 as filed in Udyamo. Use the file_return action on the GSTR-1 record for the period.
  5. Review GSTR-3B data. Check the output tax summary (from invoices) and input tax credit summary (from bills). Calculate the net tax payable.
  6. Reconcile ITC with GSTR-2B. Before filing GSTR-3B, compare your purchase-side GST with the GSTR-2B data available on the portal. Differences may arise because a vendor has not filed their return or has reported incorrect values.
  7. File GSTR-3B and pay tax. Submit GSTR-3B on the GST portal and pay any net tax liability through the electronic cash ledger.
  8. Mark GSTR-3B as filed in Udyamo. Use the file_return action on the GSTR-3B record.

GST return filing workflow in ERP


Reconciliation Between Books and Portal

Reconciliation is one of the most important — and most time-consuming — aspects of GST compliance. There are two key reconciliation points:

GSTR-1 vs. Books. Your GSTR-1 should match your invoice register exactly. If you find a mismatch, it usually means a late invoice was issued after GSTR-1 was filed, or an amendment is needed.

ITC (Books) vs. GSTR-2B. The ITC you claim in GSTR-3B must be supported by your supplier's filings. The GST portal generates GSTR-2B (an auto-drafted ITC statement) based on your suppliers' GSTR-1 filings. If a supplier has not filed their GSTR-1, the corresponding ITC will not appear in your GSTR-2B, and you may need to defer claiming that credit.

Tip: Run the reconciliation at least a week before the GSTR-3B due date. This gives you time to follow up with vendors whose invoices are missing from GSTR-2B.


Step by Step: Viewing GST Return Data

  1. Navigate to Tax & Compliance > GST Returns.
  2. You will see a list of return records organized by period and return type.
  3. Select the return period you want to review — for example, gstr1 for period 01-2026.
  4. The system displays the summary: total taxable value, CGST, SGST, IGST, and total tax.
  5. Review the underlying invoices or bills that contribute to these totals.
  6. If any figures look incorrect, investigate the source transactions before proceeding.

Step by Step: Filing a Return

  1. Navigate to Tax & Compliance > GST Returns and select the return record (e.g., GSTR-3B for January 2026).
  2. Verify that the status is Pending.
  3. Review the tax amounts: cgst_amount, sgst_amount, igst_amount, and total_tax.
  4. File the return on the GST portal using the figures from Udyamo.
  5. Once the portal confirms successful filing, return to Udyamo.
  6. Click the File Return action on the return record.
  7. The status changes to Filed and the filing_date is recorded.
  8. Optionally, add a note — for example, "Filed via GST portal, ARN: AA270226012345R".

Filing a GST return in Udyamo ERP Lite

Step by Step: Waiving a Nil Return

  1. Navigate to Tax & Compliance > GST Returns and select the return record for the period.
  2. Verify that the return has zero transactions — total tax should be Rs 0.
  3. Click the Waive action.
  4. The status changes to Waived.
  5. Add a note explaining why: for example, "No sales or purchases in this period — business was closed for annual maintenance shutdown."

Required: Even if you waive a return in Udyamo, you may still need to file a nil return on the GST portal. Check with your accountant.


Tips & Best Practices

  • Finalize all transactions before the 10th of the following month. This gives you time to review data and file GSTR-1 by the 11th.
  • Do not modify invoices after GSTR-1 has been filed. If a correction is needed, issue a credit note or debit note instead.
  • Maintain a filing calendar. GSTR-1 by the 11th, GSTR-3B by the 20th. Late filing attracts a penalty of Rs 50 per day (Rs 20 per day for nil returns), plus interest at 18% per annum on the outstanding tax.
  • Archive the GST portal acknowledgment (ARN) in the notes field of the GstReturn record. This creates a single audit trail — your ERP has the data, the filing date, and the ARN.
  • Reconcile ITC monthly, not annually. Catching discrepancies early is far easier than sorting out twelve months of mismatches before the annual return.

Quick Reference

Field / ActionDescription
return_typegstr1 (outward supplies) or gstr3b (summary return)
periodMonth-year string, e.g., 01-2026
statuspendingfiled (via file_return) or waived (via waive)
total_taxSum of CGST + SGST + IGST for the period
cgst_amountCentral GST total for the period
sgst_amountState GST total for the period
igst_amountIntegrated GST total for the period
filing_dateDate the return was filed on the GST portal
file_returnAction to mark a pending return as filed
waiveAction to mark a pending nil return as waived
GSTR-1 due date11th of the following month
GSTR-3B due date20th of the following month (varies by state category)

E-Way Bills

When goods move from one place to another in India — whether across state borders or within a state — the GST law requires an electronic document called an E-Way Bill to accompany them. Introduced in April 2018, the E-Way Bill system is designed to track the movement of goods and prevent tax evasion. For a manufacturing business that ships finished products to customers or receives raw materials from vendors, E-Way Bills are a routine part of dispatching and receiving goods.

This chapter explains when E-Way Bills are required, what information they contain, how validity is calculated, and how to manage them in Udyamo ERP Lite through the EwayBill module.


What You Will Learn

  • When an E-Way Bill is required and when it is not
  • The key data points on an E-Way Bill
  • Validity rules based on distance
  • The EwayBill model in Udyamo ERP Lite — fields, statuses, and actions
  • The generation, activation, and cancellation workflow
  • Step-by-step: generating, activating, and cancelling an E-Way Bill

Prerequisites

  • GST is configured on your organization, items, and customers/vendors (Chapter 36)
  • At least one invoice exists for which goods need to be transported (Chapter 23)
  • You have Owner or Admin role access

When Is an E-Way Bill Required?

The E-Way Bill rules are governed by Rule 138 of the CGST Rules, 2017. The key thresholds are:

Inter-state movement: An E-Way Bill is mandatory for the movement of goods with a consignment value exceeding Rs 50,000. This applies to all inter-state movements without exception.

Intra-state movement: The Rs 50,000 threshold applies, but individual states may lower this threshold. Some states (such as Kerala, Karnataka, and Tamil Nadu) have reduced it to Rs 50,000, while others have set different limits. Check the rules for your specific state.

When it is NOT required:

  • Goods transported by a non-motorized conveyance (bullock cart, hand cart)
  • Goods transported from the port, airport, or land customs station to an Inland Container Depot (ICD) or Container Freight Station (CFS) for customs clearance
  • Goods covered under specific exemption notifications (e.g., LPG for household use, kerosene under PDS)
  • Movement of goods within the same premises or between premises of the same person within a distance of 20 km

Warning: Transporting goods without a valid E-Way Bill when one is required can result in detention of the goods and the vehicle, along with a penalty equal to the tax amount or Rs 10,000, whichever is higher. Ensure you generate the bill before goods leave your premises.


Key Information on an E-Way Bill

An E-Way Bill captures details about the goods, the transaction, and the movement. The following table maps these to the EwayBill model fields in Udyamo ERP Lite:

InformationEwayBill FieldDescriptionExample
Bill numberbill_numberUnique 12-digit EBN generated by the portal3210 7865 4321
Invoice referenceinvoice_idThe sales invoice linked to this shipmentInvoice #INV-2026-0042
Transporter nametransporter_nameName of the transport companyRajdhani Transport Co.
Transporter GSTIN/IDtransporter_idGSTIN or transporter ID of the carrier27AABCT1234F1ZQ
Vehicle numbervehicle_numberRegistration number of the vehicleMH 04 AB 1234
Distancedistance_kmApproximate distance of the consignment in kilometers450
Generation dategeneration_dateDate and time the E-Way Bill was generated2026-01-15
Valid untilvalid_untilDate and time until which the bill is valid2026-01-18
StatusstatusCurrent status of the E-Way Billpending, generated, active, expired, cancelled
NotesnotesAny remarksPart load, sharing vehicle with ABC Industries

Validity Rules

The validity of an E-Way Bill depends on the distance the goods must travel. The rules are:

Cargo TypeDistanceValidity
Regular cargoUp to 200 km1 day
Regular cargoEvery additional 200 km1 additional day
Over-dimensional cargo (ODC)Up to 20 km1 day
Over-dimensional cargo (ODC)Every additional 20 km1 additional day

Examples for regular cargo:

DistanceValidity
150 km1 day
200 km1 day
350 km2 days
450 km3 days
1,000 km5 days

The validity period starts from the time of generation on the E-Way Bill portal. If the validity expires before the goods reach their destination, the transporter or the generator can extend it — but only within 8 hours before or after expiry.

Tip: When entering the distance_km in Udyamo, use the approximate road distance between your dispatch location and the customer's delivery address. The E-Way Bill portal provides a distance calculator based on PIN codes that you can reference.


E-Way Bill Statuses and Lifecycle

The EwayBill record in Udyamo ERP Lite follows a defined lifecycle:

pending  ──>  generated  ──>  active  ──>  expired
                                │
                                └──>  cancelled
StatusMeaning
PendingThe record has been created in Udyamo but the E-Way Bill has not yet been generated on the portal
GeneratedThe bill number has been obtained from the E-Way Bill portal and recorded
ActiveThe E-Way Bill is active and goods are in transit
ExpiredThe validity period has passed
CancelledThe E-Way Bill has been cancelled (allowed only within 24 hours of generation)

Actions

ActionTransitionWhen to Use
generate_billpending to generatedAfter generating the E-Way Bill on the portal and obtaining the bill number
activategenerated to activeWhen goods are dispatched and the bill becomes effective
cancel_billgenerated or active to cancelledWhen the shipment is cancelled or the bill was generated with errors (within 24 hours only)

Required: E-Way Bills must be generated on the government E-Way Bill portal (ewaybillgst.gov.in) or through the NIC API. Udyamo ERP Lite tracks the E-Way Bill lifecycle internally and stores the bill number for reference. The actual generation happens on the portal.


Cancellation Rules

An E-Way Bill can be cancelled only under the following conditions:

  1. Time limit: Cancellation is allowed only within 24 hours of generation.
  2. Goods must not be in transit. If the goods have already been verified by a tax officer during transit, the bill cannot be cancelled.
  3. Reason: You must provide a reason for cancellation — typically because the goods are not being transported, the order was cancelled, or the bill was generated with incorrect details.

If more than 24 hours have passed and the E-Way Bill contains errors, you cannot cancel it. Instead, you generate a new E-Way Bill with the correct details. The original bill will expire on its own.


Step by Step: Generating an E-Way Bill for an Invoice

  1. Navigate to Tax & Compliance > E-Way Bills and click New E-Way Bill.
  2. Select the Invoice for which the goods are being shipped. For example, Invoice #INV-2026-0042 for 50 gear housings (HSN 8483) valued at Rs 3,75,000 to a customer in Gujarat.
  3. Enter the Transporter Name — for example, Rajdhani Transport Co..
  4. Enter the Transporter ID (GSTIN or transporter enrollment number) — for example, 27AABCT1234F1ZQ.
  5. Enter the Vehicle Number — for example, MH 04 AB 1234.
  6. Enter the Distance in kilometers — for example, 650 (Pune to Ahmedabad).
  7. Save the record. The status is now Pending.
  8. Log in to the E-Way Bill portal (ewaybillgst.gov.in) and generate the E-Way Bill using the invoice and transport details.
  9. Copy the 12-digit E-Way Bill Number (EBN) from the portal.
  10. Return to Udyamo, open the E-Way Bill record, and enter the Bill Number — for example, 3210 7865 4321.
  11. Click the Generate Bill action. The status changes to Generated and the generation_date is recorded.

Creating an E-Way Bill record linked to an invoice

Step by Step: Activating an E-Way Bill

  1. Once the vehicle is loaded and ready to depart, open the E-Way Bill record in Udyamo.
  2. Verify that the vehicle number matches the actual vehicle. If the vehicle has changed, update the vehicle_number field and update Part B on the E-Way Bill portal as well.
  3. Click the Activate action. The status changes to Active.
  4. Print or share the E-Way Bill number with the driver. The driver (or the transporter) must carry the E-Way Bill number or a printed copy during transit. A tax officer may verify it at any checkpoint.

Step by Step: Cancelling an E-Way Bill

  1. Ensure you are within 24 hours of the generation time.
  2. Open the E-Way Bill record in Udyamo.
  3. Click the Cancel Bill action.
  4. The status changes to Cancelled.
  5. Add a note explaining the reason — for example, "Customer cancelled the order before dispatch" or "Incorrect vehicle number — regenerating with correct details."
  6. Cancel the E-Way Bill on the portal as well, providing the same reason.
  7. If needed, create a new E-Way Bill record for the corrected shipment.

Warning: Cancelling on the portal and cancelling in Udyamo are separate steps. Always do both. A mismatch between portal status and ERP status will cause confusion during audits.


Tips & Best Practices

  • Generate the E-Way Bill before the vehicle leaves your premises. Generating it "on the way" is risky — network issues at checkpoints can delay your shipment.
  • Keep vehicle numbers updated. If the transporter changes the vehicle mid-route (transshipment), update Part B of the E-Way Bill on the portal. Record the change in the notes field in Udyamo.
  • For multiple invoices on one vehicle, you can generate a consolidated E-Way Bill on the portal. In Udyamo, create separate EwayBill records for each invoice and note the consolidated EBN in each record's notes.
  • Monitor expiring E-Way Bills. If your shipment is delayed (breakdown, road closure), extend the E-Way Bill on the portal before it expires. You can extend only within 8 hours before or after the expiry time.
  • Archive E-Way Bill records. Maintain records for at least 72 months (6 years) from the date of filing the annual return, as required under GST law.

Quick Reference

Field / ActionDescription
bill_number12-digit E-Way Bill Number from the portal
invoice_idLinked invoice for the goods movement
transporter_nameName of the transport company
transporter_idGSTIN or enrollment number of the transporter
vehicle_numberVehicle registration number
distance_kmRoad distance in kilometers
generation_dateDate the bill was generated on the portal
valid_untilExpiry date/time based on distance
statuspending / generated / active / expired / cancelled
generate_billAction: mark as generated after obtaining EBN from portal
activateAction: mark as active when goods are dispatched
cancel_billAction: cancel within 24 hours of generation
ThresholdRs 50,000 consignment value (inter-state); varies intra-state
Validity1 day per 200 km for regular cargo

TDS — Tax Deducted at Source

Tax Deducted at Source (TDS) is a mechanism under the Indian Income Tax Act where the person making a payment deducts tax before paying the vendor and remits it to the government on the vendor's behalf. For a manufacturing business, TDS applies to a wide range of payments — contractor charges for fabrication work, professional fees for consulting engineers, commission to sales agents, and even purchase of goods above a threshold.

Getting TDS right is both a legal obligation and a matter of vendor relationships. Deducting the wrong amount — or forgetting to deduct at all — creates problems during quarterly TDS return filing and can attract interest and penalties. This chapter explains the TDS sections relevant to manufacturing, how Udyamo ERP Lite handles TDS through the TdsSection model, and how to configure vendors and bills for automatic TDS calculation.


What You Will Learn

  • The concept of TDS and who is required to deduct it
  • Common TDS sections applicable to manufacturing businesses
  • Threshold limits and rates for each section
  • The TdsSection model in Udyamo ERP Lite
  • How TDS is calculated and applied on vendor bills
  • TDS reporting for quarterly returns
  • Step-by-step: setting up TDS sections, configuring a vendor for TDS, creating a bill with TDS deduction

Prerequisites

  • Vendors are created in the vendor master (Chapter 26)
  • Bills (vendor invoices) workflow is understood (Chapter 28)
  • You have Owner or Admin role access

Who Must Deduct TDS?

Under the Income Tax Act, the following persons are required to deduct TDS:

  • Companies — All companies, regardless of turnover
  • Partnership firms and LLPs — Required to deduct TDS on most payments
  • Individuals and HUFs — Required only if they were subject to a tax audit in the previous year (i.e., turnover exceeding the threshold under Section 44AB — Rs 1 crore for business, Rs 50 lakh for profession, with higher limits for digital transactions)

If your manufacturing business is a private limited company, an LLP, or a proprietorship with audit-level turnover, you are required to deduct TDS on applicable payments.

Warning: Failure to deduct TDS when required makes the entire payment amount disallowable as a business expense under Section 40(a)(ia) of the Income Tax Act. Additionally, interest under Section 201(1A) is charged at 1% per month for non-deduction and 1.5% per month for non-payment after deduction.


Common TDS Sections for Manufacturing

The following sections are the ones most frequently encountered by manufacturing SMBs:

Section 194C — Payment to Contractors

This is the most common TDS section for manufacturers. It covers payments to contractors and sub-contractors for carrying out any work, including:

  • Fabrication and machining work outsourced to job workers
  • Annual maintenance contracts for machinery
  • Construction and civil work at the factory
  • Labour supply contracts
  • Transport contracts (if not covered under 194C exemptions)
Deductee TypeTDS RateThreshold per transactionThreshold per year
Individual / HUF1%Rs 30,000Rs 1,00,000
Others (company, firm, etc.)2%Rs 30,000Rs 1,00,000

TDS is deducted if a single payment exceeds Rs 30,000 or if the aggregate payments to the contractor during the financial year exceed Rs 1,00,000.

Section 194H — Commission or Brokerage

Covers commission paid to sales agents, brokers, and distributors.

Deductee TypeTDS RateThreshold per year
All5%Rs 15,000

Section 194J — Professional or Technical Services

Covers fees paid to professionals (chartered accountants, engineers, consultants) and technical service fees (software development, technical testing, quality certification).

Deductee TypeTDS RateThreshold per year
All (technical services)2%Rs 30,000
All (professional services)10%Rs 30,000

Tip: The distinction between technical services (2%) and professional services (10%) under Section 194J can be nuanced. Payments for technical services such as testing, calibration, and specialized machining are typically at 2%. Payments for professional advice — legal, accounting, engineering design consultancy — are at 10%. When in doubt, consult your tax advisor.

Section 194Q — Purchase of Goods

Introduced in July 2021, this section requires buyers to deduct TDS on purchase of goods if:

  • The buyer's turnover exceeded Rs 10 crore in the preceding financial year
  • The aggregate purchases from the seller exceed Rs 50 lakh during the current financial year
Deductee TypeTDS RateThreshold per year
All0.1%Rs 50,00,000

This section applies to the purchase of raw materials (steel, bearings, components) from vendors whose aggregate billing crosses Rs 50 lakh in a year. The rate is low (0.1%) but the threshold monitoring requires careful tracking.


TDS Rate Summary Table

SectionNature of PaymentRate (Individual/HUF)Rate (Others)Threshold
194CContractor payments1%2%Rs 30,000 single / Rs 1,00,000 annual
194HCommission or brokerage5%5%Rs 15,000 annual
194JTechnical services2%2%Rs 30,000 annual
194JProfessional services10%10%Rs 30,000 annual
194QPurchase of goods0.1%0.1%Rs 50,00,000 annual

Warning: These rates are subject to change by the Finance Act each year. Surcharge and cess are not applicable on TDS. If the vendor does not furnish a PAN, TDS must be deducted at the higher rate of 20% (or 5% for 194Q). Always verify current rates before the start of each financial year.


The TdsSection Model in Udyamo ERP Lite

Udyamo ERP Lite maintains a master list of TDS sections through the TdsSection model:

FieldDescriptionExample
sectionThe Income Tax Act section number194C
descriptionHuman-readable description of the sectionPayment to Contractors
rateTDS rate as a decimal percentage2.0 (for 2%)
thresholdThe threshold amount below which TDS is not deducted30000
activeWhether this section is currently activetrue or false

You configure these sections once during initial setup. The system ships with common sections pre-configured, but you should verify the rates and thresholds against the current year's Finance Act.

Managing TDS Sections

TDS sections are managed through the route Tax & Compliance > TDS Sections. You can:

  • Create a new section if your business encounters a section not already in the system
  • Edit an existing section to update the rate or threshold after a budget change
  • Deactivate a section that is no longer applicable by setting active to false

TDS on Vendor Bills

The practical application of TDS in Udyamo ERP Lite happens when you create a bill (vendor invoice). The workflow is:

  1. Vendor configuration. Each vendor record can be linked to a TDS section. When a vendor is marked as TDS-applicable and assigned a section (e.g., 194C), the system knows to calculate TDS on bills from this vendor.

  2. Bill creation. When you create a bill for a TDS-applicable vendor, the system calculates the TDS amount based on the section's rate and the bill's taxable amount.

  3. TDS on the bill. The bill record includes a tds_amount field. For example, if you receive a bill for Rs 1,00,000 from a fabrication contractor (Section 194C, 2% rate), the TDS amount is Rs 2,000. The bill shows:

Amount
Bill amount (taxable value)Rs 1,00,000
GST at 18%Rs 18,000
Total invoice valueRs 1,18,000
TDS at 2% (on Rs 1,00,000)Rs 2,000
Net payable to vendorRs 1,16,000

Tip: TDS is calculated on the taxable value (before GST), not on the total invoice value including GST. This was clarified by CBDT Circular No. 23/2017. If the bill does not separately show the GST component, TDS is deducted on the total amount.

  1. Payment. When you pay the vendor, you pay the net amount (Rs 1,16,000 in the example above). The TDS amount (Rs 2,000) is deposited to the government through TDS challan.

TDS Reporting and Quarterly Returns

TDS is not just a deduction — it triggers reporting obligations:

ReturnPeriodDue DateContent
Form 26QQuarterly31 July, 31 Oct, 31 Jan, 31 MayTDS on all payments other than salaries
Form 24QQuarterlySame as aboveTDS on salary payments
Form 27QQuarterlySame as aboveTDS on payments to non-residents

For a manufacturing business, Form 26Q is the relevant quarterly return. It contains details of every payment on which TDS was deducted: the vendor's PAN, the section, the amount paid, the TDS deducted, and the date of deduction and deposit.

Udyamo ERP Lite captures all the data needed for Form 26Q through the bills and payment records:

  • Vendor PAN (from the vendor master)
  • TDS section and rate (from the TdsSection and vendor configuration)
  • Bill amount and TDS amount (from the bill record)
  • Payment date (from the payment record)

You can export this data to prepare your quarterly TDS return using your tax filing software or through your chartered accountant.

Required: After filing Form 26Q, you must issue TDS certificates to vendors. Form 16A is the certificate for non-salary TDS. It must be issued within 15 days of filing the quarterly return. Vendors need this certificate to claim credit for the TDS deducted from their income.


Step by Step: Setting Up TDS Sections

  1. Navigate to Tax & Compliance > TDS Sections.
  2. Review the existing sections. Verify that the rates and thresholds match the current year's Finance Act.
  3. To add a new section, click New TDS Section.
  4. Enter the following:
    • Section: 194C
    • Description: Payment to Contractors
    • Rate: 2.0 (for companies/firms; create a separate entry at 1.0 for individual/HUF contractors if needed)
    • Threshold: 30000
    • Active: checked
  5. Save the record.
  6. Repeat for other sections your business needs (194H, 194J, 194Q).

TDS Section setup form

Step by Step: Configuring a Vendor for TDS

  1. Navigate to Purchases > Vendors and open the vendor record — for example, "Precision Fabricators Pvt. Ltd."
  2. In the vendor form, locate the TDS configuration fields.
  3. Mark the vendor as TDS Applicable.
  4. Select the TDS Section — for example, 194C - Payment to Contractors.
  5. Verify that the vendor's PAN is recorded. TDS cannot be correctly reported without the vendor's PAN.
  6. Save the vendor record.

Warning: If a vendor does not provide their PAN, you must deduct TDS at the higher rate of 20% instead of the section-specific rate. Update the vendor's TDS configuration accordingly until they furnish their PAN.

Step by Step: Creating a Bill with TDS Deduction

  1. Navigate to Purchases > Bills and click New Bill.
  2. Select the vendor — for example, "Precision Fabricators Pvt. Ltd." (configured for 194C at 2%).
  3. Add the line items. For example:
    • Fabrication of gear housing — 25 units at Rs 4,000 each = Rs 1,00,000
  4. The system calculates GST: CGST Rs 9,000 + SGST Rs 9,000 = Rs 18,000 (assuming intra-state, 18% GST).
  5. The system calculates TDS: 2% of Rs 1,00,000 = Rs 2,000. This appears in the tds_amount field.
  6. Review the bill summary:
    • Taxable value: Rs 1,00,000
    • GST: Rs 18,000
    • Total: Rs 1,18,000
    • TDS: Rs 2,000
    • Net payable: Rs 1,16,000
  7. Save or approve the bill.
  8. When making payment, pay Rs 1,16,000 to the vendor. Deposit Rs 2,000 as TDS to the government using Challan 281 (ITNS 281) by the 7th of the following month.

Bill with TDS deduction applied


Tips & Best Practices

  • Set up TDS sections at the start of each financial year. Review rates and thresholds after the Union Budget in February. Update any changed rates before April 1.
  • Collect PAN from every vendor before the first payment. Missing PAN triggers 20% TDS, which creates cash flow problems for the vendor and administrative burden for you.
  • Monitor threshold limits for Section 194C. A single payment may be below Rs 30,000, but if your aggregate payments to the same contractor cross Rs 1,00,000 in the year, TDS becomes applicable on all subsequent payments — and potentially retroactively on earlier payments.
  • Deposit TDS on time. TDS deducted in any month (except March) must be deposited by the 7th of the following month. For March, the due date is 30 April. Late deposit attracts interest at 1.5% per month.
  • Reconcile TDS with Form 26AS. Your vendors can see the TDS you have deposited against their PAN on the TRACES portal (Form 26AS). Ensure your deposits match your deductions to avoid disputes.
  • Issue Form 16A promptly. Vendors often need TDS certificates for their own tax filings. Delayed certificates strain vendor relationships.

Quick Reference

Field / ConceptDescription
sectionIncome Tax Act section (e.g., 194C, 194H, 194J, 194Q)
descriptionHuman-readable name of the section
rateTDS percentage (e.g., 1.0, 2.0, 5.0, 10.0, 0.1)
thresholdAmount below which TDS is not deducted
activeWhether the section is currently in use
tds_amountTDS deducted on a bill, stored on the bill record
TDS baseTaxable value of the bill (before GST)
Deposit due date7th of the month following deduction (30 April for March)
Quarterly returnForm 26Q — due 31 July, 31 Oct, 31 Jan, 31 May
TDS certificateForm 16A — issued within 15 days of quarterly return filing
No PAN rate20% (or 5% for Section 194Q)

Employee Management

The employee master is the foundation of the HR & Payroll module in Udyamo ERP Lite. Every salary slip, statutory deduction, and payroll report traces back to an employee record. A well-maintained employee master — with accurate personal details, correct salary structure, and up-to-date statutory enrolment numbers — ensures that payroll runs smoothly, bank transfers reach the right accounts, and compliance filings are error-free.

This chapter explains the employee master concept, walks you through adding a factory worker with complete details, and documents every field on the employee form.

What You Will Learn

  • Why a centralised employee master is essential for payroll
  • How to record personal, employment, salary, and statutory details
  • The Indian salary structure: basic, HRA, and allowances
  • How statutory identifiers (PF, ESI, UAN, PAN, Aadhar) link to compliance
  • The employee lifecycle: active, inactive, and terminated states
  • Step-by-step creation of a new employee record

Prerequisites

  • Udyamo ERP Lite account with access to the HR module
  • Department and designation names defined in your organization
  • Employee's personal documents: Aadhar card, PAN card, bank passbook or cancelled cheque
  • Offer letter or appointment letter with salary breakup

The Employee Master Concept

In many small and mid-size manufacturing units, employee records live in registers, spreadsheets, or the memory of the HR person. Salary structures are recalculated every month from scratch. PF numbers are looked up from a separate file. Bank details are copied by hand. Each manual step introduces the risk of errors — a wrong account number delays salary credit, a missing PF number leads to compliance notices.

An employee master is a single, authoritative record for each person on your payroll. The salary module reads the employee's salary structure directly from this record when generating slips. The bank export module reads account number and IFSC code from the same record. Statutory deduction calculations reference the PF number, ESI number, and PAN stored here. One record, used everywhere, updated in one place.

Personal Details

The personal details section captures the employee's identity and contact information:

  • First Name and Last Name -- The employee's legal name as it appears on identity documents. This name prints on salary slips and statutory filings.
  • Date of Birth -- Required for age-related compliance checks and retirement date calculation.
  • Email and Phone -- Used for sending payslips electronically and emergency communication.
  • Aadhar Number -- The 12-digit unique identification number. Mandatory for EPF and ESIC filings. Employers must seed Aadhar with UAN for PF compliance.
  • Address, City, State, Pincode -- The employee's residential address, used for Professional Tax state determination and correspondence.
  • Emergency Contact Name and Phone -- Critical for manufacturing environments where workplace incidents require immediate notification of a family member or designated contact.

Tip: Collect and verify personal details during the onboarding process itself. Correcting Aadhar or PAN mismatches after payroll has run creates reconciliation headaches with EPFO and the Income Tax department.

Employment Details

Employment details define the employee's role and tenure within the organization:

  • Employee Code -- A unique identifier assigned by your organization (e.g., EMP-001, FAC-0045). Use a consistent numbering convention across departments.
  • Date of Joining (DOJ) -- The date the employee started work. This determines eligibility for statutory benefits, probation period calculations, and leave entitlements.
  • Date of Leaving -- Populated only when an employee exits the organization. Leave blank for active employees.
  • Department -- The functional area: Production, Quality, Maintenance, Stores, Packaging, Administration, etc.
  • Designation -- The job title: Machine Operator, Production Supervisor, Quality Inspector, Maintenance Technician, Helper, etc.
  • Employment Type -- Udyamo supports four types:
    • full_time -- Regular employees on the company payroll with full benefits.
    • part_time -- Employees working reduced hours, often with pro-rated benefits.
    • contract -- Fixed-term employees engaged through a contract for a specific period or project.
    • intern -- Trainees or apprentices, typically with a stipend rather than a full salary.

Salary Structure

Udyamo ERP Lite follows the standard Indian salary structure. The employee master stores the monthly salary breakup that is used as the default when generating salary slips:

  • Basic Salary -- The core component of compensation. PF and gratuity are calculated as a percentage of basic salary. A common practice is to set basic at 40-50% of Cost to Company (CTC).
  • HRA (House Rent Allowance) -- Typically 40-50% of basic salary. Employees living in rented accommodation can claim partial HRA exemption under Section 10(13A) of the Income Tax Act.
  • Conveyance Allowance -- A fixed amount to cover commuting expenses.
  • Medical Allowance -- A fixed amount towards medical expenses.
  • Special Allowance -- A flexible component used to bridge the gap between the sum of structured components and the total gross salary.
  • Other Allowance -- Any additional allowance specific to the role or organization, such as a shift allowance for factory workers on rotating shifts or a skill allowance for certified technicians.

Required: Basic salary must be entered accurately because PF and ESI deductions are calculated based on it. An incorrect basic salary will cascade into wrong deductions on every salary slip.

Statutory Enrolment

Indian labour law requires employers to enrol eligible employees in several statutory schemes:

  • PF Number -- The Employee Provident Fund account number, assigned by the EPFO regional office. Format varies by establishment.
  • UAN (Universal Account Number) -- A 12-digit number that remains with the employee for life, even if they change jobs. Multiple PF accounts (member IDs) can be linked under one UAN.
  • ESI Number -- The Employee State Insurance number. Required for employees with gross wages up to Rs 21,000 per month.
  • PAN (Permanent Account Number) -- Required for TDS on salary under Section 192 of the Income Tax Act.

Bank Details

Salary credit via bank transfer (NEFT/IMPS) requires accurate banking details:

  • Bank Name -- The name of the employee's bank.
  • Bank Branch -- The specific branch where the account is held.
  • Account Number -- The bank account number for salary credit.
  • IFSC Code -- The 11-character Indian Financial System Code used for electronic fund transfers.

Warning: Verify bank details against a cancelled cheque or bank passbook copy. A single digit error in the account number or IFSC code will cause the salary transfer to bounce or credit a wrong account.

Employee Lifecycle

An employee record in Udyamo has three status states:

  • Active -- Currently employed and eligible for payroll processing. New employees start in this state.
  • Inactive -- Temporarily not on the active payroll. Use this for employees on long leave, suspension, or sabbatical. Inactive employees are excluded from monthly payroll runs but their records are preserved.
  • Terminated -- The employee has permanently left the organization. The date of leaving should be recorded. Terminated records are retained for historical reporting and statutory compliance but do not appear in active employee lists.

You can change an employee's status using the Toggle Active action on the employee record. To mark an employee as terminated, set the date of leaving and toggle the status to inactive.

Step-by-Step: Adding a New Factory Worker

This example adds a machine operator joining the production department of a manufacturing unit in Pune.

  1. Navigate to HR > Employees from the main menu.
  2. Click New Employee.
  3. Fill in personal details:
    • First Name: Ramesh
    • Last Name: Jadhav
    • Date of Birth: 15-03-1990
    • Email: [email protected]
    • Phone: 9876543210
    • Aadhar Number: 1234 5678 9012
  4. Fill in address details:
    • Address: Room 12, Shivaji Chawl, Bhosari
    • City: Pune
    • State: Maharashtra
    • Pincode: 411039
  5. Fill in emergency contact:
    • Emergency Contact Name: Sunita Jadhav
    • Emergency Contact Phone: 9876543211
  6. Fill in employment details:
    • Employee Code: FAC-0078
    • Date of Joining: 01-02-2026
    • Department: Production
    • Designation: Machine Operator
    • Employment Type: full_time
  7. Enter the salary structure:
    • Basic Salary: 12000
    • HRA: 6000
    • Conveyance Allowance: 1600
    • Medical Allowance: 1250
    • Special Allowance: 3150
    • Other Allowance: 1000 (shift allowance)
  8. Enter statutory details:
    • PF Number: PU/PNE/12345/678
    • UAN: 100987654321
    • ESI Number: 3100123456789
    • PAN: ABCPJ1234K
  9. Enter bank details:
    • Bank Name: State Bank of India
    • Bank Branch: Bhosari Industrial Area
    • Account Number: 38912345678
    • IFSC Code: SBIN0005678
  10. Add any notes: "Experienced on CNC lathe. Completed ITI from Pune."
  11. Click Save.

Adding a new employee record with salary and statutory details

The employee is now active and ready for salary slip generation. The salary structure entered here will be used as the default values when you create a salary slip for this employee.

Tips & Best Practices

Tip: Establish a consistent employee code convention before you start adding records. A common pattern for manufacturing units is a department prefix followed by a sequential number (e.g., PROD-001, QC-001, MAINT-001). This makes it easy to identify employees by department at a glance.

Tip: Review salary structures at the start of each financial year. When basic salary changes — due to increments or minimum wage revisions — update the employee master immediately so that subsequent salary slips pick up the correct values.

Warning: Never delete an employee record, even after termination. Historical salary slips, PF filings, and TDS certificates reference the employee master. Mark terminated employees as inactive with a date of leaving instead.

Tip: For contract workers with a fixed end date, record the contract end date in the Notes field. Set a reminder to either extend the contract or mark the employee as terminated on that date.

Quick Reference: Employee Fields

FieldTypeRequiredDescription
Employee CodeTextYesUnique identifier (e.g., FAC-0078)
First NameTextYesLegal first name
Last NameTextYesLegal last name
EmailEmailNoPrimary email address
PhoneTextNoPrimary phone number
Date of BirthDateNoEmployee's date of birth
Date of JoiningDateYesDate employment started
Date of LeavingDateNoDate employment ended (blank if active)
DepartmentTextNoFunctional department
DesignationTextNoJob title
Employment TypeSelectionYesfull_time, part_time, contract, or intern
StatusSelectionAutoactive, inactive, or terminated
Basic SalaryCurrencyYesMonthly basic salary in rupees
HRACurrencyNoHouse Rent Allowance
Conveyance AllowanceCurrencyNoMonthly conveyance allowance
Medical AllowanceCurrencyNoMonthly medical allowance
Special AllowanceCurrencyNoFlexible allowance component
Other AllowanceCurrencyNoAdditional allowance (shift, skill, etc.)
PF NumberTextNoEmployee Provident Fund number
UANTextNoUniversal Account Number (12 digits)
ESI NumberTextNoEmployee State Insurance number
PANText (10 chars)NoPermanent Account Number
Bank NameTextNoName of the salary bank
Bank BranchTextNoBranch of the salary bank
Account NumberTextNoBank account number
IFSC CodeText (11 chars)NoIFSC code for electronic transfers
Aadhar NumberText (12 digits)NoUnique Identification number
AddressTextNoResidential street address
CityTextNoCity of residence
StateTextNoState of residence
PincodeTextNoPIN code
Emergency Contact NameTextNoName of emergency contact person
Emergency Contact PhoneTextNoPhone number of emergency contact
NotesTextNoInternal remarks

Salary Slips & Payroll Processing

Payroll is the most time-sensitive function in any manufacturing organization. Workers expect their salary to be credited on a fixed date every month. Delays or errors — a wrong deduction, a missed allowance, an incorrect net salary — erode trust and create compliance risks. Udyamo ERP Lite's salary slip module brings structure and accuracy to this critical process by computing earnings, applying statutory deductions, and tracking the payment lifecycle from draft to paid.

This chapter covers the payroll processing concept, explains the salary slip structure in detail, and walks you through creating, processing, and finalizing salary slips.

What You Will Learn

  • How the monthly payroll cycle works in Udyamo ERP Lite
  • The earnings breakdown: basic salary through gross salary
  • The deductions breakdown: PF, ESI, Professional Tax, TDS, and other deductions
  • How net salary is calculated
  • Working days versus days worked and pro-rata salary calculation
  • The salary slip lifecycle: draft, processed, and paid
  • Step-by-step: creating a salary slip, processing it, and marking it as paid
  • Tips for efficient bulk payroll processing

Prerequisites

  • Employee records created with complete salary structures (see Employee Management)
  • Statutory enrolment details (PF, ESI, PAN) recorded in employee records
  • Knowledge of the applicable Professional Tax slab for your state
  • Working days and attendance data for the month

The Payroll Processing Cycle

In a typical manufacturing setup, the monthly payroll cycle follows a predictable rhythm:

  1. Attendance compilation -- At the end of the month (or a defined payroll cut-off date), the HR or admin team compiles attendance data: how many days each employee worked, leaves taken, and any loss-of-pay days.
  2. Salary slip creation -- For each employee, a salary slip is created for that month. The system pulls the default salary structure from the employee master and allows adjustments for the specific month.
  3. Deduction calculation -- Statutory deductions (PF, ESI, Professional Tax, TDS) and any other deductions are applied. The system computes gross salary, total deductions, and net salary.
  4. Review and processing -- The HR manager or accounts team reviews the draft salary slips for accuracy and processes them. Processing locks the slip against casual edits.
  5. Payment -- Net salary is credited to each employee's bank account via NEFT or IMPS. The salary slip is marked as paid with the payment date.

Earnings Breakdown

The earnings side of a salary slip in Udyamo ERP Lite consists of the following components, pulled from the employee master as defaults:

  • Basic Salary -- The fixed core component. This is the base for PF and gratuity calculations.
  • HRA (House Rent Allowance) -- Compensation for housing expenses.
  • Conveyance Allowance -- Compensation for commuting expenses.
  • Medical Allowance -- Compensation for medical expenses.
  • Special Allowance -- A flexible component that absorbs differences between structured components and the target gross salary.
  • Other Allowance -- Any additional component such as shift allowance, overtime, or performance incentive.

The sum of all these components equals the Gross Salary:

Gross Salary = Basic Salary + HRA + Conveyance Allowance
             + Medical Allowance + Special Allowance + Other Allowance

Tip: If an employee earns overtime or a one-time bonus in a particular month, add the amount to the Other Allowance field on that month's salary slip. This keeps the regular salary structure in the employee master unchanged while correctly reflecting the actual payout.

Deductions Breakdown

The deductions side captures all amounts withheld from the employee's gross salary:

  • PF Deduction -- The employee's contribution to the Provident Fund, typically 12% of basic salary (subject to the PF wage ceiling of Rs 15,000). See Statutory Deductions for detailed calculation.
  • ESI Deduction -- The employee's contribution to the Employee State Insurance scheme, currently 0.75% of gross salary for employees with gross wages up to Rs 21,000 per month.
  • Professional Tax -- A state-level employment tax deducted monthly. Rates vary by state — for example, Rs 200 per month in Maharashtra for employees earning above Rs 10,000.
  • TDS Deduction -- Tax Deducted at Source on salary under Section 192 of the Income Tax Act. The monthly TDS amount is the estimated annual tax liability divided by 12, based on the employee's declared investments and tax regime.
  • Other Deduction -- Any additional deduction such as loan recovery, advance adjustment, canteen charges, or salary advance repayment.

The Total Deductions is the sum of all deduction components:

Total Deductions = PF Deduction + ESI Deduction + Professional Tax
                 + TDS Deduction + Other Deduction

Net Salary Calculation

The Net Salary — the amount actually credited to the employee's bank account — is simply:

Net Salary = Gross Salary - Total Deductions

This is the figure that matters most to the employee and the figure that must match the bank transfer amount.

Required: Always verify that the net salary on the salary slip matches the amount you are transferring to the employee's bank account. Any mismatch indicates an error in earnings or deductions that must be corrected before payment.

Working Days and Days Worked

Not every employee works every day of the month. The salary slip captures two fields to handle this:

  • Working Days -- The total number of payable days in the month. For most manufacturing units, this is the number of days the factory was operational (e.g., 26 days if Sundays are off, or 30 days for a continuous process plant).
  • Days Worked -- The actual number of days the employee was present or on paid leave.

When days worked is less than working days, the salary is calculated on a pro-rata basis. For example, if the working days for a month are 26 and the employee worked only 20 days:

Pro-rata factor = Days Worked / Working Days = 20 / 26 = 0.769

Each earning component is multiplied by this factor:
Basic Salary (pro-rata) = 12,000 x 0.769 = 9,228
HRA (pro-rata) = 6,000 x 0.769 = 4,614
... and so on for all components

Tip: Ensure attendance data is finalized before creating salary slips. Late corrections to days worked after a slip has been processed require the slip to be recreated, which adds unnecessary effort.

Salary Slip Lifecycle

A salary slip in Udyamo ERP Lite progresses through three statuses:

Draft. The slip has been created but not yet finalized. All fields are editable. Use this stage to review earnings and deductions, make corrections, and get approvals. Draft slips have no financial effect.

Processed. The HR manager or accounts team has reviewed the slip and confirmed that all figures are correct. Use the Process Slip action to move a slip from draft to processed. Processed slips are locked for editing — this prevents accidental changes after approval. If a correction is needed after processing, the slip must be returned to draft first.

Paid. The salary amount has been credited to the employee's bank account. Use the Mark Paid action to record the payment. This action also records the Payment Date, which is important for compliance reporting and employee queries. Once marked as paid, the slip represents a completed payroll transaction.

Salary slip lifecycle: Draft to Processed to Paid

Slip Number

Each salary slip is assigned a unique Slip Number that serves as a reference for the employee, the accounts team, and audit purposes. The slip number is auto-generated by the system when you create a new salary slip. It typically follows a sequential pattern that includes the month and year for easy identification (e.g., SS-202602-001 for the first slip of February 2026).

Step-by-Step: Creating and Processing a Salary Slip

This example creates a February 2026 salary slip for Ramesh Jadhav (FAC-0078), the machine operator added in the previous chapter.

Creating the Salary Slip

  1. Navigate to HR > Salary Slips from the main menu.
  2. Click New Salary Slip.
  3. Select the employee:
    • Employee: Ramesh Jadhav (FAC-0078)
  4. Set the pay period:
    • Month: 2 (February)
    • Year: 2026
  5. The system auto-fills earnings from the employee master:
    • Basic Salary: 12,000
    • HRA: 6,000
    • Conveyance Allowance: 1,600
    • Medical Allowance: 1,250
    • Special Allowance: 3,150
    • Other Allowance: 1,000
    • Gross Salary: 25,000 (auto-calculated)
  6. Enter attendance:
    • Working Days: 24 (February 2026, Sundays off)
    • Days Worked: 24 (full attendance)
  7. Enter deductions:
    • PF Deduction: 1,440 (12% of basic salary Rs 12,000)
    • ESI Deduction: 188 (0.75% of gross salary Rs 25,000)
    • Professional Tax: 200 (Maharashtra slab for salary above Rs 10,000)
    • TDS Deduction: 0 (below taxable threshold after deductions)
    • Other Deduction: 0
    • Total Deductions: 1,828 (auto-calculated)
  8. The system calculates:
    • Net Salary: 23,172 (Gross Rs 25,000 minus deductions Rs 1,828)
  9. Review all figures and click Save.

The salary slip is created in Draft status.

Salary slip showing earnings, deductions, and net salary

Processing the Salary Slip

  1. Open the draft salary slip for Ramesh Jadhav, February 2026.
  2. Review all earnings and deductions one final time.
  3. Click the Process Slip action button.
  4. The status changes from Draft to Processed. The slip is now locked for editing.

Marking as Paid

  1. Once the bank transfer is complete, open the processed salary slip.
  2. Click the Mark Paid action button.
  3. The system records the current date as the Payment Date and changes the status to Paid.

Bulk Payroll Processing Tips

Processing salary slips one by one is manageable for a unit with 10 employees but impractical for a factory with 100 or more workers. Here are practical strategies for efficient bulk processing:

Tip: Create all salary slips for the month before processing any of them. This allows you to review the entire payroll run at once — spotting outliers, verifying totals, and catching errors before any slips are locked.

Tip: Maintain a payroll calendar with fixed dates: attendance cut-off on the 25th, salary slip creation on the 26th-27th, review and processing on the 28th, bank transfer on the 30th. Consistency reduces last-minute rushes and errors.

Warning: Never mark a salary slip as paid until the bank transfer has actually been completed and confirmed. The paid status and payment date are used for compliance reporting. Marking slips as paid prematurely creates a false record.

Tip: For employees with partial attendance, double-check the pro-rata calculations before processing. Pay particular attention to employees who joined or left mid-month — their first or last salary slip should reflect only the days actually worked.

Quick Reference: Salary Slip Fields

FieldTypeRequiredDescription
Slip NumberTextAutoUnique salary slip identifier
EmployeeReferenceYesLink to the employee record
MonthNumber (1-12)YesSalary month
YearNumberYesSalary year
Basic SalaryCurrencyYesMonthly basic salary
HRACurrencyNoHouse Rent Allowance
Conveyance AllowanceCurrencyNoConveyance allowance for the month
Medical AllowanceCurrencyNoMedical allowance for the month
Special AllowanceCurrencyNoSpecial allowance for the month
Other AllowanceCurrencyNoAdditional allowance (overtime, bonus, etc.)
Gross SalaryCurrencyAutoSum of all earning components
PF DeductionCurrencyNoEmployee PF contribution
ESI DeductionCurrencyNoEmployee ESI contribution
Professional TaxCurrencyNoState Professional Tax
TDS DeductionCurrencyNoTax Deducted at Source
Other DeductionCurrencyNoLoan recovery, advances, etc.
Total DeductionsCurrencyAutoSum of all deduction components
Net SalaryCurrencyAutoGross salary minus total deductions
Working DaysNumberNoTotal payable days in the month
Days WorkedNumberNoActual days worked by the employee
StatusSelectionAutodraft, processed, or paid
Payment DateDateNoDate salary was credited to bank
NotesTextNoInternal remarks for this slip

Statutory Deductions — PF, ESIC & Professional Tax

Indian labour law mandates that employers deduct and contribute to several statutory schemes on behalf of their employees. These are not optional — failure to comply results in penalties, interest on delayed payments, and potential prosecution. For manufacturing units, where the workforce often includes a mix of permanent staff, contract workers, and helpers, understanding these deductions is critical for both compliance and accurate payroll processing.

This chapter provides a comprehensive guide to Provident Fund (PF), Employee State Insurance (ESI), Professional Tax, and TDS on salary — how they are calculated, how Udyamo ERP Lite records them on salary slips, and how to verify compliance.

What You Will Learn

  • Provident Fund contribution structure: employee share, employer share, EPS, and EPF
  • The PF wage ceiling and its impact on deductions
  • ESIC contribution rates and the wage ceiling for coverage
  • Professional Tax slabs for major states
  • TDS on salary under Section 192 — a brief overview
  • How these deductions map to salary slip fields in Udyamo ERP Lite
  • Step-by-step: verifying statutory deductions on a salary slip
  • Monthly and annual compliance calendar

Prerequisites

  • Employee records with PF number, UAN, ESI number, and PAN (see Employee Management)
  • Understanding of salary slip structure (see Salary Slips & Payroll Processing)
  • Your organization's PF and ESI establishment registration details
  • Knowledge of the Professional Tax slab applicable in your state

Provident Fund (PF)

The Employees' Provident Fund is a retirement savings scheme governed by the Employees' Provident Funds and Miscellaneous Provisions Act, 1952. It applies to establishments with 20 or more employees, though many smaller units voluntarily register to provide this benefit.

Contribution Structure

PF contributions have two sides — the employee pays a share and the employer pays a matching share:

Employee Contribution: 12% of basic salary (or basic + dearness allowance, if applicable). This entire amount goes into the employee's EPF (Employee Provident Fund) account.

Employer Contribution: 12% of basic salary, split into two sub-accounts:

  • EPS (Employee Pension Scheme): 8.33% of basic salary, subject to a pensionable salary ceiling of Rs 15,000 per month. The maximum EPS contribution is Rs 1,250 per month (8.33% of Rs 15,000).
  • EPF (Employee Provident Fund): The remaining portion of the employer's 12%. If basic salary is Rs 15,000 or below, this is 3.67% of basic. If basic salary exceeds Rs 15,000, the EPS is capped at Rs 1,250, and the rest of the employer's 12% goes to EPF.

PF Wage Ceiling

The statutory PF wage ceiling is Rs 15,000 per month. This ceiling affects contributions as follows:

  • For employees with basic salary up to Rs 15,000: PF is mandatory, and the contribution is 12% of actual basic salary.
  • For employees with basic salary above Rs 15,000: The employer may choose to restrict PF contribution to 12% of Rs 15,000 (i.e., Rs 1,800 per month each for employee and employer), or contribute on the actual basic salary.

Tip: Many manufacturing units contribute PF on actual basic salary even when it exceeds Rs 15,000, as a retention benefit. Confirm your organization's PF policy with management before setting up deductions.

Example Calculation

For an employee with a basic salary of Rs 12,000:

ComponentCalculationAmount
Employee PF (12% of basic)12% x 12,000Rs 1,440
Employer EPS (8.33% of basic)8.33% x 12,000Rs 1,000
Employer EPF (3.67% of basic)3.67% x 12,000Rs 440
Total employer contributionRs 1,440

The pf_deduction field on the salary slip records the employee's share — Rs 1,440 in this example. The employer's contribution is an additional cost to the company, not deducted from the employee's salary.

UAN and ECR Filing

Every employee is assigned a Universal Account Number (UAN) that stays with them for life, even when they change jobs. The UAN is linked to the employee's Aadhar, PAN, and bank account.

Employers must file an Electronic Challan cum Return (ECR) every month through the EPFO Unified Portal. The ECR contains employee-wise contribution details and must be filed by the 15th of the following month.


Employee State Insurance (ESI)

The Employee State Insurance scheme, governed by the ESI Act, 1948, provides medical and cash benefits to employees and their dependants. It applies to establishments in notified areas with 10 or more employees.

Contribution Rates

PartyContribution RateBasis
Employee0.75%Gross salary
Employer3.25%Gross salary
Total4.00%

Wage Ceiling

ESI coverage applies to employees with gross wages up to Rs 21,000 per month. Once an employee's gross salary exceeds this ceiling, they are no longer covered under ESI and no ESI deduction is made.

Required: Check each employee's gross salary against the Rs 21,000 ceiling every month. If an employee's gross salary exceeds the ceiling due to overtime, bonus, or an increment, ESI deduction should stop from the next contribution period (April or October, as per half-yearly coverage rules).

Example Calculation

For an employee with a gross salary of Rs 25,000:

  • Gross salary exceeds Rs 21,000 — check whether the employee was already covered in the current contribution period.
  • If the employee was earning Rs 18,000 when the contribution period started (April or October) and is already enrolled for the current half-year, ESI continues for the entire half-year regardless of a mid-period salary increase.

For an employee with a gross salary of Rs 18,000:

ComponentCalculationAmount
Employee ESI (0.75% of gross)0.75% x 18,000Rs 135
Employer ESI (3.25% of gross)3.25% x 18,000Rs 585

The esi_deduction field on the salary slip records the employee's share — Rs 135 in this example.

Coverage and Benefits

ESI provides the following benefits to covered employees:

  • Medical benefit -- Full medical care for the employee and dependants at ESI hospitals and dispensaries.
  • Sickness benefit -- Cash compensation at 70% of wages for up to 91 days during certified illness.
  • Maternity benefit -- Full wages for 26 weeks.
  • Disablement benefit -- Monthly payment for employment injury resulting in disablement.
  • Dependants' benefit -- Monthly payment to dependants if an employee dies due to employment injury.

Professional Tax

Professional Tax is a state-level tax on employment and professions, levied under Article 276 of the Constitution of India. The maximum Professional Tax that a state can levy is Rs 2,500 per year. The tax is deducted by the employer from the employee's salary and deposited with the state government.

State-Wise Slabs

Professional Tax rates vary significantly by state. Here are the slabs for some major manufacturing states:

Maharashtra:

Monthly SalaryTax per Month
Up to Rs 7,500Nil
Rs 7,501 to Rs 10,000Rs 175
Above Rs 10,000Rs 200 (Rs 300 in February to make annual total Rs 2,500)

Karnataka:

Monthly SalaryTax per Month
Up to Rs 15,000Nil
Rs 15,001 to Rs 25,000Rs 200
Above Rs 25,000Rs 200

Gujarat:

Monthly SalaryTax per Month
Up to Rs 5,999Nil
Rs 6,000 to Rs 8,999Rs 80
Rs 9,000 to Rs 11,999Rs 150
Rs 12,000 and aboveRs 200

Tamil Nadu:

Half-Yearly SalaryTax per Half-Year
Up to Rs 21,000Nil
Rs 21,001 to Rs 30,000Rs 135
Rs 30,001 to Rs 45,000Rs 315
Rs 45,001 to Rs 60,000Rs 690
Rs 60,001 to Rs 75,000Rs 1,025
Above Rs 75,000Rs 1,250

Warning: Professional Tax slabs are revised by state governments periodically. Verify the current slabs applicable in your state before configuring deductions. Using outdated slabs will result in under-deduction or over-deduction, both of which create compliance issues.

The professional_tax field on the salary slip records the monthly Professional Tax amount deducted from the employee.


TDS on Salary (Section 192)

Under Section 192 of the Income Tax Act, every employer is required to deduct tax at source (TDS) on salary payments when the employee's estimated annual income exceeds the basic exemption limit.

How TDS is Calculated

  1. Estimate annual salary -- Project the employee's total annual income based on current salary and expected bonuses.
  2. Apply exemptions -- Deduct exempt allowances (HRA exemption, standard deduction of Rs 75,000 under the new tax regime).
  3. Apply deductions -- Under the old tax regime, deduct eligible amounts under Section 80C (PF, LIC, PPF — up to Rs 1.5 lakh), Section 80D (health insurance), and other applicable sections. Under the new tax regime, most deductions are not available.
  4. Compute tax -- Apply the applicable income tax slab rates to the net taxable income.
  5. Divide by 12 -- The annual tax liability is divided equally across 12 months for monthly TDS deduction.

Tip: Ask employees to submit their investment declarations (Form 12BB) at the start of the financial year. This allows you to compute TDS accurately from month one, avoiding heavy deductions in the last quarter when employees fail to provide proof of investments.

The tds_deduction field on the salary slip records the monthly TDS amount. For employees below the taxable threshold (common for factory floor workers), this will be zero.


How Udyamo Records Statutory Deductions

Udyamo ERP Lite provides dedicated fields on each salary slip for every statutory deduction:

Salary Slip FieldStatutory DeductionTypical Calculation
pf_deductionEmployee PF contribution12% of basic salary
esi_deductionEmployee ESI contribution0.75% of gross salary (if eligible)
professional_taxState Professional TaxPer state slab
tds_deductionTDS on salaryAnnual tax / 12
other_deductionNon-statutory deductionsLoan recovery, advances, etc.

These fields are entered during salary slip creation and are included in the total deductions calculation. The net salary the employee receives reflects all these deductions.

Required: Statutory deductions are not optional. PF, ESI (for eligible employees), and Professional Tax (in applicable states) must be deducted every month without exception. Non-compliance attracts penalties: EPFO charges interest at 12% per annum on delayed PF payments, and damages up to 100% of arrears for persistent default.


Step-by-Step: Verifying Statutory Deductions on a Salary Slip

This example verifies the statutory deductions for Ramesh Jadhav (FAC-0078), a machine operator in Pune, Maharashtra, with the following salary structure:

  • Basic Salary: Rs 12,000
  • Gross Salary: Rs 25,000

Verification Checklist

  1. Open the salary slip for Ramesh Jadhav for the relevant month under HR > Salary Slips.

  2. Verify PF deduction:

    • Basic salary: Rs 12,000 (below the Rs 15,000 ceiling)
    • Expected PF deduction: 12% of 12,000 = Rs 1,440
    • Check the pf_deduction field shows Rs 1,440.
  3. Verify ESI deduction:

    • Gross salary: Rs 25,000 (exceeds the Rs 21,000 ceiling)
    • If the employee was already covered in the current contribution period (enrolled when gross was below Rs 21,000), ESI continues. Expected: 0.75% of 25,000 = Rs 188
    • If the employee was never covered (always above Rs 21,000), ESI should be Rs 0
    • Check the esi_deduction field matches the applicable amount.
  4. Verify Professional Tax:

    • State: Maharashtra
    • Monthly salary above Rs 10,000
    • Expected Professional Tax: Rs 200 (or Rs 300 in February for annual adjustment)
    • Check the professional_tax field shows the correct amount.
  5. Verify TDS:

    • Estimate annual gross: Rs 25,000 x 12 = Rs 3,00,000
    • Under the new tax regime with standard deduction of Rs 75,000: Taxable income = Rs 2,25,000
    • This is below the basic exemption limit of Rs 3,00,000 under the new regime
    • Expected TDS: Rs 0
    • Check the tds_deduction field shows Rs 0.
  6. Verify totals:

    • Total Deductions = 1,440 + 188 + 200 + 0 + 0 = Rs 1,828
    • Net Salary = 25,000 - 1,828 = Rs 23,172
    • Confirm these match the total_deductions and net_salary fields on the slip.

Verifying statutory deductions on a salary slip

Tip: Perform this verification for at least a few sample employees every month — one from each salary bracket. This catches systematic errors (such as an outdated Professional Tax slab) before they affect the entire payroll.


Compliance Calendar

Staying on top of filing deadlines prevents penalties. Here is the monthly and annual compliance calendar for payroll-related statutory obligations:

Monthly

Due DateObligationAuthority
15th of following monthEPF/EPS challan and ECR filingEPFO
15th of following monthESI contribution challanESIC
7th of following monthTDS deposit (challan 281)Income Tax Department
End of month / state-specificProfessional Tax depositState Government

Quarterly / Annual

Due DateObligationAuthority
31st July / 31st Oct / 31st Jan / 31st MayTDS return filing (Form 24Q) — quarterlyIncome Tax Department
15th JuneForm 16 (TDS certificate) to employees — annualIncome Tax Department
15th NovemberEPF annual return (if applicable)EPFO
11th May and 11th NovemberESI half-yearly returnESIC
Varies by stateProfessional Tax annual returnState Government

Warning: Late filing of ECR attracts damages ranging from 5% to 25% of total PF contributions depending on the delay period. Late payment of ESI attracts interest at 12% per annum. These penalties are avoidable with disciplined monthly processing.

Tips & Best Practices

Tip: Create a payroll processing checklist that your HR team follows every month: (1) finalize attendance, (2) create salary slips, (3) verify statutory deductions for sample employees, (4) process all slips, (5) initiate bank transfers, (6) mark slips as paid, (7) file PF and ESI challans. A standard checklist eliminates missed steps.

Tip: When an employee's basic salary changes due to an increment, update the employee master immediately. The next salary slip will automatically pick up the revised basic salary, and PF deduction will adjust accordingly.

Warning: The employer's PF and ESI contributions are costs over and above the employee's gross salary. When budgeting for labour costs, remember that the actual cost per employee is the CTC (Cost to Company), which includes both the employee's gross salary and the employer's statutory contributions. For an employee with Rs 12,000 basic and Rs 25,000 gross, the employer additionally pays Rs 1,440 (PF) + Rs 813 (ESI at 3.25%) = Rs 2,253 per month in statutory contributions.

Tip: Keep digital copies of all ECR receipts, ESI challans, and TDS challan counterfoils organized by month. During audits or inspections, being able to produce compliance records quickly demonstrates diligence and can avoid protracted investigations.

Quick Reference: Statutory Deduction Rates

DeductionEmployee RateEmployer RateCeiling / BasisSalary Slip Field
Provident Fund (PF)12% of basic12% of basic (8.33% EPS + 3.67% EPF)Wage ceiling: Rs 15,000 basicpf_deduction
ESI0.75% of gross3.25% of grossWage ceiling: Rs 21,000 grossesi_deduction
Professional TaxPer state slabN/A (employer deducts)Max Rs 2,500/yearprofessional_tax
TDS on SalaryPer income tax slabN/A (employer deducts)Per tax regime and declarationstds_deduction

Fixed Assets in ERP

Every manufacturing business relies on long-lived physical assets — machines that cut and shape metal, buildings that house the shop floor, vehicles that deliver finished goods, computers that run the office. These are fixed assets, and they represent a significant portion of a manufacturing company's total investment. Tracking them properly is not optional; it is a regulatory requirement under the Companies Act, 2013 and a practical necessity for financial accuracy, tax compliance, and operational planning. This chapter introduces the concepts behind fixed asset management and explains why an ERP system is the right place to manage them.

What You Will Learn

  • What qualifies as a fixed asset and how it differs from a regular expense
  • The types of fixed assets commonly found in manufacturing businesses
  • The difference between capital expenditure and revenue expenditure
  • What an asset register is and why it matters
  • How book value, salvage value, and accumulated depreciation relate to each other
  • Why tracking fixed assets in ERP benefits small and medium manufacturers

Prerequisites

  • Familiarity with the Udyamo ERP Lite dashboard (covered in Chapter 4)
  • Basic understanding of accounting fundamentals (covered in Chapter 31)

What Qualifies as a Fixed Asset

Not every purchase your business makes is a fixed asset. For an item to qualify, it must meet all of the following criteria:

  1. Tangible. The asset has a physical form. You can see it and touch it. A CNC milling machine qualifies; a software licence does not fall into the tangible fixed asset category (it may qualify as an intangible asset, which is outside the scope of Udyamo ERP Lite's current asset module).

  2. Held for long-term use. The asset is intended to be used in the business for more than one accounting period — typically more than 12 months. A lathe that will serve the shop floor for 15 years qualifies; a box of cutting tool inserts that will be consumed within weeks does not.

  3. Not held for resale. The asset is used in the business, not bought with the intention of selling it to customers. The delivery truck that carries your finished goods is a fixed asset; the finished goods themselves are inventory, not fixed assets.

  4. Above the capitalization threshold. The asset's cost must exceed a minimum value defined by your organization's accounting policy. Many Indian SMBs set a capitalization threshold of Rs 5,000 or Rs 10,000. A wall clock costing Rs 800 might technically last for years, but it is usually expensed immediately rather than tracked as a fixed asset. Your auditor can help you set an appropriate threshold.

Tip: When in doubt about whether a purchase qualifies as a fixed asset, ask two questions: Will it last more than a year? Is the amount material enough to warrant tracking? If both answers are yes, capitalize it.

Types of Fixed Assets in Manufacturing

Manufacturing businesses typically hold a wider range of fixed assets than trading or service companies. The table below lists the most common categories:

CategoryExamples
Plant & MachineryCNC machines, lathes, milling machines, grinding machines, compressors, welding machines, hydraulic presses
Factory BuildingShop floor structure, factory shed, warehouse building
Moulds & DiesInjection moulds, casting dies, press tools, jigs and fixtures
VehiclesDelivery trucks, forklifts, company cars
Furniture & FixturesOffice desks, chairs, storage racks, workbenches
Computers & IT EquipmentDesktop computers, laptops, servers, printers, networking equipment
Electrical InstallationsTransformers, distribution panels, power factor correction units, generator sets
Office EquipmentAir conditioners, water purifiers, CCTV systems

Each of these categories has a different useful life and depreciation rate, as prescribed by Schedule II of the Companies Act, 2013. We will cover these rates in detail in the next chapter.

Capital Expenditure vs. Revenue Expenditure

Understanding this distinction is critical for correct accounting:

Capital expenditure (CapEx) is money spent to acquire or improve a fixed asset. The cost is not immediately expensed; instead, it is recorded as an asset on the balance sheet and gradually expensed through depreciation over the asset's useful life. Examples include purchasing a new CNC machine, constructing a factory extension, or overhauling an engine to extend its operational life.

Revenue expenditure (RevEx) is money spent on the day-to-day operation and maintenance of the business. It is expensed entirely in the period it is incurred. Examples include electricity bills, routine machine servicing, lubricant purchases, and consumable tool replacements.

The distinction matters because capital expenditure affects your balance sheet (assets increase) and is spread over multiple years, while revenue expenditure affects your Profit & Loss statement immediately (expenses increase, profit decreases). Misclassifying a capital expense as revenue — or vice versa — distorts both your profit figures and your asset register.

Warning: A common error in small factories is to expense large machinery purchases directly instead of capitalizing them. This understates assets on the balance sheet and overstates expenses in the current year, which can create problems during audit and when applying for bank loans where asset backing matters.

The Asset Register

An asset register is a comprehensive record of every fixed asset owned by the business. For each asset, the register tracks:

  • Asset name and unique code
  • Category (Plant & Machinery, Vehicle, etc.)
  • Date of purchase and original cost
  • Location (which factory, which floor, which department)
  • Serial number and identification details
  • Depreciation method, rate, and accumulated depreciation to date
  • Current book value
  • Warranty and insurance information
  • Current status (active, under maintenance, disposed, scrapped)

In a manual system, this is maintained in a spreadsheet or a physical register. In Udyamo ERP Lite, the Asset model serves as your digital asset register. Every field listed above maps directly to an attribute on the Asset record, and the system calculates book value automatically as depreciation entries are recorded.

Asset register list view in Udyamo ERP Lite

Book Value, Salvage Value, and Accumulated Depreciation

Three financial measures define the current state of any fixed asset:

Purchase cost (original cost). The total amount paid to acquire the asset and bring it to a usable state. This includes the purchase price, freight, installation charges, and any non-refundable taxes. For a CNC machine costing Rs 8,00,000 with Rs 50,000 in installation charges, the total purchase cost recorded is Rs 8,50,000.

Accumulated depreciation. The total amount of depreciation charged against the asset from the date of purchase to the current date. If the machine above has been depreciated by Rs 85,000 each year for three years, the accumulated depreciation is Rs 2,55,000.

Book value (written-down value). The current value of the asset on the books, calculated as:

Book Value = Purchase Cost - Accumulated Depreciation

For the CNC machine: Rs 8,50,000 - Rs 2,55,000 = Rs 5,95,000.

Salvage value (scrap value). The estimated residual value of the asset at the end of its useful life — what you expect to recover by selling or scrapping it. Under the Straight Line Method, salvage value directly affects the annual depreciation amount. Under the Written Down Value method, the asset theoretically never reaches zero, but the salvage value serves as a practical floor.

Why Track Fixed Assets in ERP

Small manufacturers sometimes question whether they need formal asset tracking. After all, the factory owner can see the machines on the shop floor. The benefits, however, go well beyond visibility:

Accurate depreciation and tax compliance. Depreciation is a deductible expense under the Income Tax Act, 1961. Accurate asset records ensure you claim the correct depreciation, neither more nor less. Over-claiming triggers scrutiny during assessment; under-claiming means you pay more tax than necessary.

Financial statement accuracy. Your balance sheet must reflect the true value of fixed assets. Lenders, investors, and auditors rely on these figures. A manufacturing company applying for a term loan will be asked for its fixed asset schedule — the ERP-generated report serves this purpose directly.

Insurance management. You need to know the replacement cost and current book value of assets to maintain adequate insurance coverage. Udyamo ERP Lite tracks insurance provider, policy details, and expiry dates for each asset, ensuring nothing falls through the cracks.

Maintenance scheduling. Sending a machine for preventive maintenance at the right time avoids costly breakdowns. The asset module tracks maintenance status, helping you plan downtime without disrupting production schedules.

Audit readiness. Statutory auditors require a complete fixed asset schedule every year. When your asset register lives in the ERP, generating this schedule is a matter of running a report, not scrambling through files and spreadsheets in March.

Disposal and scrap tracking. When an old machine is sold or scrapped, the ERP records the event, calculates profit or loss on disposal, and removes the asset from active tracking. This creates a clean audit trail from acquisition to disposal.

Tips & Best Practices

Tip: Establish a clear capitalization threshold in consultation with your auditor before you begin entering assets. This avoids inconsistency where some small items are capitalized and others are not.

Tip: Assign a unique asset code to every fixed asset, even if you have only a handful of machines. As the business grows, you will be glad you started with a systematic coding convention. A simple format like PLM-001, VEH-001, FUR-001 works well for small factories.

Tip: Record the full acquisition cost of an asset, including freight, installation, and non-refundable taxes. Under-recording the cost leads to under-depreciation and an inaccurate balance sheet.

Tip: When migrating from a manual register to ERP, enter each asset's original purchase cost, purchase date, and accumulated depreciation to date. This ensures the ERP can calculate future depreciation correctly and your book values match the previous records.

Quick Reference

TermDefinition
Fixed assetA tangible, long-lived item used in the business, not held for resale, above the capitalization threshold
Capital expenditureSpending to acquire or improve a fixed asset; recorded on the balance sheet
Revenue expenditureSpending on day-to-day operations; expensed in the current period
Asset registerA comprehensive record of all fixed assets with purchase, depreciation, and status details
Purchase costTotal cost to acquire an asset and bring it to a usable state
Accumulated depreciationTotal depreciation charged against an asset from purchase to the current date
Book valuePurchase cost minus accumulated depreciation; the asset's current value on the books
Salvage valueEstimated residual value of the asset at the end of its useful life
Capitalization thresholdMinimum cost above which an item is recorded as a fixed asset rather than expensed
Schedule IISchedule II of the Companies Act, 2013, which prescribes useful life for depreciation

Asset Categories & Depreciation Methods

Depreciation is the systematic allocation of a fixed asset's cost over its useful life. It recognizes a simple reality: a CNC machine that costs Rs 10,00,000 today will not be worth Rs 10,00,000 five years from now. The machine wears out, technology advances, and the asset loses value. Accounting standards require businesses to reflect this decline in value through periodic depreciation charges. In Udyamo ERP Lite, the AssetCategory model governs how depreciation is calculated for groups of similar assets — defining the method, the useful life, and the rate. This chapter explains the two depreciation methods supported by the system, the Indian regulatory context, and walks you through creating asset categories step by step.

What You Will Learn

  • What asset categories are and why they exist
  • How the Straight Line Method (SLM) calculates depreciation
  • How the Written Down Value (WDV) method calculates depreciation
  • The Indian regulatory framework: Companies Act, 2013 Schedule II and Income Tax Act rates
  • Common asset categories and their prescribed rates
  • How to create and manage asset categories in Udyamo ERP Lite

Prerequisites

  • Understanding of fixed asset concepts (covered in Chapter 43)
  • Familiarity with the Udyamo ERP Lite dashboard (covered in Chapter 4)
  • Basic understanding of accounting fundamentals (covered in Chapter 31)

What Are Asset Categories

An asset category is a grouping of similar fixed assets that share the same depreciation treatment. Instead of defining depreciation parameters individually for every machine, vehicle, or computer in your factory, you define them once at the category level, and every asset assigned to that category inherits the settings.

For example, you might create a category called "Plant & Machinery" with the Straight Line Method, a useful life of 15 years, and a depreciation rate of 6.33%. Every machine you add to this category — CNC lathe, hydraulic press, compressor — automatically uses these parameters for depreciation calculation.

This approach offers two key advantages:

  1. Consistency. All assets of the same type are depreciated uniformly, as required by accounting standards.
  2. Efficiency. You define the rules once. When you add the twentieth machine to your factory, you simply select the category rather than re-entering depreciation parameters.

Straight Line Method (SLM)

Under the Straight Line Method, an equal amount of depreciation is charged every year throughout the asset's useful life. The formula is:

Annual Depreciation = (Purchase Cost - Salvage Value) / Useful Life in Years

Worked Example: SLM

A manufacturing company purchases a lathe for Rs 10,00,000. The estimated salvage value at the end of its useful life is Rs 1,00,000. The useful life, as prescribed by Schedule II of the Companies Act, 2013 for general plant and machinery, is 15 years.

Annual Depreciation = (10,00,000 - 1,00,000) / 15 = Rs 60,000 per year

YearOpening Book ValueDepreciationAccumulated DepreciationClosing Book Value
110,00,00060,00060,0009,40,000
29,40,00060,0001,20,0008,80,000
38,80,00060,0001,80,0008,20,000
48,20,00060,0002,40,0007,60,000
57,60,00060,0003,00,0007,00,000
......60,000......
151,60,00060,0009,00,0001,00,000

After 15 years, the book value equals the salvage value of Rs 1,00,000. No further depreciation is charged. The SLM is straightforward to understand, easy to calculate, and results in predictable, uniform charges to the Profit & Loss statement each year.

Tip: SLM is the method prescribed by Schedule II of the Companies Act, 2013 for computing depreciation under company law. If your business is a registered company, this is the method you will typically use for statutory financial statements.

Written Down Value Method (WDV)

Under the Written Down Value method, depreciation is calculated as a fixed percentage of the asset's current book value (not the original cost). Because the book value decreases each year, the depreciation amount also decreases year over year. The formula is:

Annual Depreciation = Depreciation Rate (%) x Book Value at the Beginning of the Year

Worked Example: WDV

The same lathe costs Rs 10,00,000. The depreciation rate under the Income Tax Act for plant and machinery is 15%.

YearOpening Book ValueDepreciation (15%)Accumulated DepreciationClosing Book Value
110,00,0001,50,0001,50,0008,50,000
28,50,0001,27,5002,77,5007,22,500
37,22,5001,08,3753,85,8756,14,125
46,14,12592,1194,77,9945,36,006
55,36,00680,4015,58,3954,55,605

Notice how the depreciation charge is highest in Year 1 and declines each subsequent year. The WDV method front-loads depreciation, reflecting the reality that most machinery loses value more rapidly in its early years.

Tip: The WDV method is prescribed by the Income Tax Act, 1961 for computing depreciation for tax purposes. Most Indian businesses maintain two depreciation schedules — one using SLM for Companies Act compliance and one using WDV for income tax. Udyamo ERP Lite lets you set up categories for either method.

Indian Regulatory Context

Indian businesses must comply with two distinct sets of depreciation rules:

Companies Act, 2013 — Schedule II. This schedule prescribes the useful life of assets by category. Companies compute depreciation using SLM based on these useful lives. The depreciation rate is derived from the useful life: Rate = (1 / Useful Life) x 100, adjusted for salvage value (which Schedule II caps at 5% of original cost unless the company justifies a higher amount).

Income Tax Act, 1961 — Section 32. The Income Tax Act prescribes depreciation rates for the WDV method. These rates are used to calculate depreciation for the purpose of computing taxable income. The IT Act rates are often more aggressive than Companies Act rates, resulting in higher depreciation deductions in the early years.

For manufacturing businesses, the key difference is this: the Companies Act determines what appears in your audited financial statements, while the Income Tax Act determines how much depreciation you claim in your tax return. The two figures may differ significantly, giving rise to what accountants call "deferred tax."

Warning: Do not confuse Companies Act depreciation with Income Tax depreciation. Using tax rates in your financial statements — or vice versa — will result in incorrect reporting. Discuss with your chartered accountant which method to use in the ERP for your primary books of account.

Common Asset Categories and Rates

The table below lists the most common fixed asset categories in manufacturing, along with the prescribed useful life (Companies Act, Schedule II) and WDV depreciation rates (Income Tax Act):

CategoryUseful Life (SLM, Companies Act)SLM Rate (approx.)WDV Rate (Income Tax Act)
Plant & Machinery (general)15 years6.33%15%
Plant & Machinery (continuous process)8 years11.88%15%
Moulds & Dies8 years11.88%15%
Computers & IT Equipment3 years31.67%40%
Furniture & Fixtures10 years9.50%10%
Motor Vehicles8 years11.88%15%
Buildings (factory)30 years3.17%10%
Buildings (non-factory)60 years1.58%10%
Electrical Installations10 years9.50%15%
Office Equipment5 years19.00%15%

Tip: These rates are general guidelines. Specific assets may fall into different sub-categories with different rates. Always verify the applicable rate with your auditor, especially for specialized manufacturing equipment.

Creating an Asset Category — Step by Step

Follow these steps to create a new asset category in Udyamo ERP Lite:

Step 1: Navigate to Asset Categories. From the main menu, go to Assets > Asset Categories. This opens the asset category list view, showing all existing categories.

Asset categories list view

Step 2: Click "New Asset Category." Click the New button to open the asset category creation form.

Step 3: Enter the category details. Fill in the following fields:

FieldDescriptionExample Value
NameA descriptive name for the categoryPlant & Machinery
DescriptionOptional notes about what assets belong in this categoryGeneral plant and machinery including CNC machines, lathes, compressors, and hydraulic presses
Depreciation MethodSelect either straight_line or written_down_valuestraight_line
Useful Life (Years)The expected useful life of assets in this category (used with SLM)15
Depreciation RateThe annual depreciation rate (used with WDV)6.33
ActiveWhether the category is available for assigning new assetsYes

Required: The Name and Depreciation Method fields are mandatory. You must provide at least one of Useful Life or Depreciation Rate depending on the method selected.

Step 4: Save the category. Click Save. The category now appears in the list and is available for selection when creating new assets.

Completed asset category form

Example: Setting Up Categories for a Small Factory

A typical small manufacturing unit might create the following categories to start:

  1. Plant & Machinery — Depreciation Method: Straight Line, Useful Life: 15 years, Rate: 6.33%
  2. Moulds & Dies — Depreciation Method: Straight Line, Useful Life: 8 years, Rate: 11.88%
  3. Computers — Depreciation Method: Written Down Value, Rate: 40%
  4. Furniture & Fixtures — Depreciation Method: Straight Line, Useful Life: 10 years, Rate: 9.50%
  5. Vehicles — Depreciation Method: Written Down Value, Rate: 15%
  6. Factory Building — Depreciation Method: Straight Line, Useful Life: 30 years, Rate: 3.17%

Tip: Set up your asset categories before you begin entering individual assets. This ensures every asset has a category assigned from the start, and depreciation parameters are consistent.

Asset Category Field Reference

FieldTypeRequiredDescription
NameTextYesUnique name identifying the asset category
DescriptionTextNoOptional notes about the category's scope and applicable assets
Depreciation MethodSelectionYesstraight_line or written_down_value
Useful Life (Years)NumberConditionalNumber of years over which the asset is depreciated (SLM)
Depreciation RateDecimalConditionalAnnual depreciation rate as a percentage (WDV)
ActiveBooleanYesControls whether the category is available for new asset assignments

Tips & Best Practices

Tip: If your business maintains both Companies Act and Income Tax depreciation schedules, create separate categories for each — for example, "Plant & Machinery (Companies Act)" and "Plant & Machinery (IT Act)." Discuss with your auditor which set to use as the primary in ERP.

Tip: Moulds and dies in manufacturing often have shorter useful lives than general machinery due to wear from repeated use. If your moulds are replaced every 4-5 years in practice, consult your auditor about justifying a shorter useful life than the default 8 years prescribed by Schedule II.

Tip: Review your asset categories annually. If your business adds new types of assets — say, you invest in solar panels or 3D printers — create appropriate categories before entering the assets. Do not force-fit assets into incorrect categories just because a suitable one does not exist yet.

Warning: Once depreciation entries have been created for assets in a category, changing the depreciation method or rate on the category will not retroactively recalculate past depreciation. Any changes apply prospectively. Always verify parameters before starting depreciation runs.

Quick Reference

TermDefinition
Asset categoryA grouping of similar assets that share the same depreciation method, useful life, and rate
Straight Line Method (SLM)Depreciation method that charges equal amounts each year: (Cost - Salvage) / Useful Life
Written Down Value (WDV)Depreciation method that charges a fixed percentage of the reducing book value each year
Useful lifeThe number of years an asset is expected to be usable in the business
Depreciation rateThe percentage applied annually to calculate depreciation
Schedule IISchedule II of the Companies Act, 2013, prescribing useful lives for SLM depreciation
Section 32Section 32 of the Income Tax Act, 1961, prescribing WDV rates for tax depreciation
Deferred taxThe difference arising when Companies Act depreciation differs from Income Tax Act depreciation
Salvage value capSchedule II limits salvage value to 5% of original cost unless otherwise justified
Continuous process plantMachinery used in industries running 24x7 (e.g., steel, cement) — shorter useful life prescribed

Asset Lifecycle — Acquisition to Disposal

A fixed asset in your factory does not exist in a single, unchanging state. A CNC machine is purchased, put into active service, depreciated over the years, sent for maintenance when needed, brought back into production, and eventually either sold to a buyer or scrapped when it is no longer viable. Udyamo ERP Lite models this complete lifecycle through distinct statuses and actions on the Asset record, combined with DepreciationEntry records that track the financial decline in value over time. This chapter walks you through every stage of the asset lifecycle, from the moment you record the acquisition to the final disposal or scrap entry.

What You Will Learn

  • How to create an asset record in Udyamo ERP Lite
  • The four asset statuses and how transitions between them work
  • How to create depreciation entries and understand the accounting impact
  • How to send an asset for maintenance and return it to active service
  • How to dispose of an asset and calculate profit or loss on sale
  • How to scrap an asset and write off its remaining book value
  • The journal entries generated at each stage

Prerequisites

  • Understanding of fixed asset concepts (covered in Chapter 43)
  • Asset categories created in the system (covered in Chapter 44)
  • Familiarity with journal entries and double-entry accounting (covered in Chapters 31 and 33)

Asset Status Overview

Every asset in Udyamo ERP Lite has a status field that reflects its current operational state. The four possible statuses and the actions that trigger transitions are:

StatusMeaningHow to Reach This Status
ActiveThe asset is in use and available for production or operationsInitial status on creation, or after return_from_maintenance
Under MaintenanceThe asset has been sent for repair or servicing and is temporarily out of operationTriggered by the send_for_maintenance action
DisposedThe asset has been sold to a third party and is no longer owned by the organizationTriggered by the dispose action
ScrappedThe asset has been written off as unusable and removed from the active registerTriggered by the scrap action

The lifecycle flows as follows:

                    send_for_maintenance
  [Active] ─────────────────────────────────> [Under Maintenance]
     ^                                              │
     │           return_from_maintenance            │
     └──────────────────────────────────────────────┘
     │
     ├── dispose ──────> [Disposed]
     │
     └── scrap ────────> [Scrapped]

Warning: Disposal and scrapping are terminal states. Once an asset is disposed or scrapped, it cannot be returned to active status. Verify the details carefully before performing either action.

Stage 1: Acquisition — Creating the Asset Record

When your organization purchases a new fixed asset, the first step is to create a corresponding record in Udyamo ERP Lite. This is the acquisition stage.

Step-by-Step: Adding a New Asset

Step 1: Navigate to Assets. From the main menu, go to Assets > Assets. This opens the asset list view.

Step 2: Click "New Asset." Click the New button to open the asset creation form.

New asset creation form

Step 3: Fill in the asset details.

FieldDescriptionExample Value
NameDescriptive name of the assetCNC Vertical Milling Machine
Asset CodeUnique identifier for the assetPLM-012
Asset CategorySelect the appropriate categoryPlant & Machinery
Purchase DateDate the asset was acquired2025-04-15
Purchase CostTotal acquisition cost including installation, freight, and non-refundable taxes12,50,000
Salvage ValueEstimated value at end of useful life62,500
Current ValueBook value at the time of entry (equals purchase cost for a new asset)12,50,000
LocationFactory, warehouse, or office where the asset is housedMain Factory — Shop Floor A
Serial NumberManufacturer's serial numberVMC-2025-A7834
Warranty ExpiryDate the manufacturer warranty expires2027-04-14
Insurance ExpiryDate the current insurance policy expires2026-03-31
Insurance ProviderName of the insurance companyNational Insurance Co. Ltd.
NotesAny additional informationPurchased from Ace Machine Tools, Rajkot. AMC with vendor for first 2 years.

Required: Name, Asset Code, Asset Category, Purchase Date, and Purchase Cost are mandatory fields. All other fields are optional but strongly recommended for complete asset tracking.

Step 4: Save the asset. Click Save. The asset is created with the status Active and appears in the asset list. The current value is set to the purchase cost, and accumulated depreciation starts at zero.

Saved asset record showing Active status

Tip: Record the purchase cost inclusive of all costs necessary to bring the asset to its working condition — purchase price, freight, loading/unloading charges, installation costs, and non-refundable taxes. Input GST credit claimed should not be included in the asset cost.

Stage 2: Active — The Asset in Service

Once created, the asset is in Active status. During this phase:

  • The asset is physically in use on the shop floor, in the office, or on the road.
  • Depreciation entries are created periodically (monthly, quarterly, or annually depending on your accounting practice).
  • Warranty and insurance expiry dates are tracked.
  • The asset may be sent for maintenance as needed and returned to active status.

This is typically the longest phase in an asset's lifecycle, spanning the entire useful life of the asset — 3 years for a computer, 15 years for machinery, or 30 years for a building.

Stage 3: Depreciation — Recording the Decline in Value

Depreciation entries record the periodic reduction in an asset's book value. In Udyamo ERP Lite, the DepreciationEntry model stores each depreciation charge along with the resulting accumulated depreciation and book value.

Step-by-Step: Creating a Depreciation Entry

Step 1: Navigate to Depreciation Entries. Go to Assets > Depreciation Entries and click New.

Step 2: Fill in the depreciation entry details.

FieldDescriptionExample Value
AssetSelect the asset being depreciatedCNC Vertical Milling Machine (PLM-012)
Entry DateThe date of the depreciation charge2026-03-31
AmountThe depreciation amount for this period79,167
Accumulated DepreciationTotal depreciation to date including this entry79,167
Book ValueAsset's book value after this depreciation11,70,833
DescriptionOptional noteDepreciation for FY 2025-26 (SLM, 15 years useful life)
Journal EntryThe linked journal entry recording the accounting impactAuto-linked

Tip: The depreciation amount for the CNC machine example is calculated as follows under SLM: (12,50,000 - 62,500) / 15 = Rs 79,167 per year. For a partial year (if the asset was purchased mid-year), prorate the amount based on the number of days the asset was in use.

Step 3: Save the entry. Click Save. The depreciation entry is recorded, and the asset's current value is updated.

Depreciation entry form

The Accounting Impact

Each depreciation entry generates a journal entry with two lines:

AccountDebitCredit
Depreciation Expense (Expense)79,167
Accumulated Depreciation — Plant & Machinery (Contra Asset)79,167

The Depreciation Expense account appears on the Profit & Loss statement, reducing the period's profit. The Accumulated Depreciation account appears on the Balance Sheet as a deduction from the gross asset value, reducing the net book value shown to readers of the financial statements.

Tip: Many businesses create depreciation entries annually on 31 March (the end of the Indian financial year). However, if you need monthly financial statements for management review, create monthly entries by dividing the annual amount by twelve.

Depreciation Schedule Over Multiple Years

Continuing the CNC machine example under SLM with annual depreciation of Rs 79,167:

YearEntry DateDepreciationAccumulated DepreciationBook Value
FY 2025-262026-03-3179,16779,16711,70,833
FY 2026-272027-03-3179,1671,58,33410,91,666
FY 2027-282028-03-3179,1672,37,50110,12,499
FY 2028-292029-03-3179,1673,16,6689,33,332
FY 2029-302030-03-3179,1673,95,8358,54,165

This schedule continues until the book value reaches the salvage value of Rs 62,500 at the end of the 15th year.

Stage 4: Maintenance — Temporary Removal from Service

Machines break down. Preventive maintenance is scheduled. When an asset needs to be taken out of active service temporarily, use the maintenance workflow.

Sending an Asset for Maintenance

Step 1: Open the asset record (e.g., CNC Vertical Milling Machine, PLM-012).

Step 2: Click the Send for Maintenance action button.

Step 3: The asset status changes from Active to Under Maintenance.

Asset showing Under Maintenance status

The asset remains in the register with its full financial history intact. Depreciation can still be charged during the maintenance period — the asset has not been disposed of, and under accounting standards, depreciation continues unless the asset is retired from active use permanently.

Tip: Use the Notes field to record maintenance details: What was the issue? Which vendor is handling the repair? What is the expected return date? This creates a useful history for future reference when evaluating the asset's ongoing viability.

Returning an Asset from Maintenance

Step 1: Open the asset record showing Under Maintenance status.

Step 2: Click the Return from Maintenance action button.

Step 3: The status changes back to Active.

The asset is back in service. No financial entries are generated for the status change itself — the cost of maintenance (spare parts, vendor charges) should be recorded as a revenue expenditure through a purchase bill or journal entry against a "Repairs & Maintenance" expense account.

Stage 5: Disposal — Selling the Asset

When an asset is no longer needed — perhaps you are upgrading to a newer machine, or the factory no longer requires a particular vehicle — you may sell it to a buyer. This is disposal.

Step-by-Step: Disposing of an Asset

Step 1: Ensure all depreciation entries are up to date through the date of disposal. If the asset is being sold on 15 September 2030, create a depreciation entry for the period from 1 April 2030 to 15 September 2030 (prorated).

Step 2: Open the asset record.

Step 3: Click the Dispose action button.

Step 4: The asset status changes to Disposed.

Asset disposed confirmation

Profit or Loss on Disposal

When an asset is sold, the difference between the sale proceeds and the book value at the time of disposal determines whether there is a profit or loss:

  • Sale proceeds > Book value = Profit on disposal (credited to income)
  • Sale proceeds < Book value = Loss on disposal (debited to expense)

Example: The CNC machine has a book value of Rs 8,54,165 on the date of disposal. It is sold for Rs 9,00,000.

Profit on disposal = 9,00,000 - 8,54,165 = Rs 45,835

The journal entry for the disposal would be:

AccountDebitCredit
Bank / Accounts Receivable9,00,000
Accumulated Depreciation — Plant & Machinery3,95,835
CNC Vertical Milling Machine (Asset)12,50,000
Profit on Disposal of Asset (Income)45,835

This entry removes the asset and its accumulated depreciation from the books and records the sale proceeds and the resulting profit.

Warning: Do not forget to account for GST on the sale of used fixed assets if applicable. The sale of used capital goods may attract GST under the margin scheme or at the applicable rate. Consult your tax advisor for the correct treatment.

Stage 6: Scrap — Writing Off the Asset

Sometimes an asset has no resale value. It is broken beyond economical repair, obsolete, or physically destroyed. In such cases, the asset is scrapped rather than disposed of.

Step-by-Step: Scrapping an Asset

Step 1: Ensure all depreciation entries are up to date through the scrap date.

Step 2: Open the asset record.

Step 3: Click the Scrap action button.

Step 4: The asset status changes to Scrapped.

Accounting Impact of Scrapping

When an asset is scrapped, the remaining book value is written off as a loss. If the CNC machine is scrapped with a book value of Rs 2,50,000 remaining:

AccountDebitCredit
Accumulated Depreciation — Plant & Machinery10,00,000
Loss on Scrap of Asset (Expense)2,50,000
CNC Vertical Milling Machine (Asset)12,50,000

The full original cost is removed from the asset account, accumulated depreciation is cleared, and the remaining book value is charged as a loss to the Profit & Loss statement.

Tip: If you recover any scrap value (for example, selling the metal for Rs 15,000 to a scrap dealer), record that amount separately as scrap sale income. This reduces the net loss on the scrapped asset.

Complete Lifecycle Walkthrough

To bring everything together, here is the full lifecycle of the CNC Vertical Milling Machine (PLM-012) from acquisition to disposal:

DateEventStatusBook Value
15 Apr 2025Purchased and added to ERPActive12,50,000
31 Mar 2026Depreciation entry — FY 2025-26Active11,70,833
31 Mar 2027Depreciation entry — FY 2026-27Active10,91,666
10 Aug 2027Spindle bearing failure — sent for maintenanceUnder Maintenance10,91,666
28 Aug 2027Repaired and returned to serviceActive10,91,666
31 Mar 2028Depreciation entry — FY 2027-28Active10,12,499
31 Mar 2029Depreciation entry — FY 2028-29Active9,33,332
31 Mar 2030Depreciation entry — FY 2029-30Active8,54,165
15 Sep 2030Sold to another manufacturer for Rs 9,00,000Disposed

This sequence demonstrates how the ERP system maintains a complete, auditable history for every fixed asset from the day it enters the organization to the day it leaves.

Asset Field Reference

FieldTypeRequiredDescription
NameTextYesDescriptive name of the asset
Asset CodeTextYesUnique alphanumeric identifier
Asset CategoryAssociationYesLinks to an AssetCategory record for depreciation parameters
Purchase DateDateYesDate the asset was acquired
Purchase CostDecimalYesTotal acquisition cost
Current ValueDecimalAutoCurrent book value after depreciation
Salvage ValueDecimalNoEstimated residual value at end of useful life
LocationAssociationNoPhysical location (factory, floor, department)
StatusSelectionAutoactive, under_maintenance, disposed, or scrapped
Warranty ExpiryDateNoDate the manufacturer warranty ends
Insurance ExpiryDateNoDate the current insurance policy ends
Insurance ProviderTextNoName of the insurer
Serial NumberTextNoManufacturer serial number or identification
NotesTextNoFree-form notes for maintenance history, purchase details, etc.
OrganizationAssociationAutoThe organization that owns the asset

Depreciation Entry Field Reference

FieldTypeRequiredDescription
AssetAssociationYesThe asset being depreciated
Entry DateDateYesDate of the depreciation charge
AmountDecimalYesDepreciation amount for this entry
Accumulated DepreciationDecimalYesTotal depreciation to date after this entry
Book ValueDecimalYesAsset book value after this entry
DescriptionTextNoOptional note about the depreciation period or method
Journal EntryAssociationAutoLinked journal entry for the accounting postings

Tips & Best Practices

Tip: Run depreciation entries on a consistent schedule. Whether you choose monthly, quarterly, or annual depreciation, stick to the same frequency across all assets. Inconsistent timing makes reconciliation difficult and can raise questions during audit.

Tip: Before disposing of or scrapping an asset, always bring depreciation up to date. If you dispose of a machine in September but last ran depreciation on 31 March, you need to record six months of additional depreciation first. Skipping this step overstates the profit or understates the loss on disposal.

Tip: Maintain a physical verification schedule. At least once a year, verify that every asset in the ERP register physically exists at the recorded location. Flag discrepancies immediately. Auditors under the Companies Act are required to verify that physical assets match the register.

Tip: Use asset codes that encode the category for easy identification on the shop floor. For example: PLM for Plant & Machinery, VEH for Vehicles, FUR for Furniture, CMP for Computers. Affix labels with the asset code on the physical asset for quick reference during verification.

Warning: Insurance expiry dates must be monitored actively. A machine worth Rs 12,50,000 operating without insurance cover exposes the business to significant financial risk. Review the asset list filtered by insurance expiry date at the start of each quarter.

Quick Reference

TermDefinition
AcquisitionRecording a new fixed asset in the ERP with its purchase details and initial values
Active statusThe asset is in use, operational, and subject to periodic depreciation
Under MaintenanceThe asset is temporarily out of service for repair or servicing
Depreciation entryA record of periodic depreciation, reducing book value and increasing accumulated depreciation
Journal entry linkEach depreciation entry is linked to a journal entry that debits Depreciation Expense and credits Accumulated Depreciation
DisposalSelling an asset to a third party; calculates profit or loss based on sale proceeds vs. book value
ScrappingWriting off an asset with no resale value; the remaining book value is charged as a loss
Profit on disposalSale proceeds exceed book value at the time of sale
Loss on disposalBook value exceeds sale proceeds at the time of sale
Physical verificationAnnual process of confirming that ERP asset records match actual physical assets
Prorated depreciationDepreciation calculated for a partial period when an asset is acquired or disposed mid-year

Financial Reports — Trial Balance, P&L, Balance Sheet

The ultimate purpose of recording every transaction in an ERP system is to produce financial reports that tell you where your business stands. Udyamo ERP Lite generates four key financial reports directly from your accounting data: the Trial Balance, Profit & Loss statement, Balance Sheet, and Cash Flow Statement. Together, these reports answer the fundamental questions — are the books in balance, is the business profitable, what does the business own and owe, and where did the cash go?

For Indian manufacturing businesses, these reports also serve regulatory purposes. They align with the formats prescribed by the Companies Act, 2013 and Indian Accounting Standards (Ind AS), and they follow the Indian financial year running from April to March. Understanding how to generate and read these reports is essential for business owners, accountants, and auditors alike.

What You Will Learn

  • How the Trial Balance verifies that your books are in balance
  • How to read a Profit & Loss (Income Statement) with manufacturing considerations
  • How the Balance Sheet presents assets, liabilities, and equity at a point in time
  • How the Cash Flow Statement tracks actual cash movement
  • How the report_group field on accounts maps data to financial statements
  • How to generate each report in Udyamo ERP Lite with period and date selection
  • How to interpret the output for decision-making

Prerequisites


How Accounts Map to Financial Reports

Every account in Udyamo ERP Lite carries a report_group attribute that determines which section of which financial report it appears in. When you set up or modify an account in the Chart of Accounts, the report_group controls placement:

Report GroupAppears OnSection
Fixed AssetsBalance SheetNon-Current Assets
Current AssetsBalance SheetCurrent Assets
Current LiabilitiesBalance SheetCurrent Liabilities
Long-term LiabilitiesBalance SheetNon-Current Liabilities
EquityBalance SheetShareholders' Equity
RevenueProfit & LossRevenue / Income
Cost of Goods SoldProfit & LossDirect Costs
Operating ExpensesProfit & LossOperating Expenses
Other IncomeProfit & LossOther Income
Other ExpensesProfit & LossOther Expenses

If an account is assigned to the wrong report group, it will appear in the wrong section of your financial statements. Review your Chart of Accounts periodically to ensure correct classification.

Tip: When creating new accounts, always verify the report group. A common mistake is classifying "Factory Rent" as an operating expense when it should be part of manufacturing overhead under Cost of Goods Sold. The distinction directly affects your gross profit calculation.

Trial Balance

The Trial Balance is the simplest and most fundamental financial report. It lists every account in your Chart of Accounts along with its debit or credit balance as of a selected date. Its primary purpose is verification: if total debits equal total credits, your books are in balance.

What the Trial Balance tells you:

  • The closing balance of every account — bank, receivables, payables, revenue, expenses
  • Whether the books are mathematically in balance (total debits = total credits)
  • A quick snapshot of where money sits across the organization

What the Trial Balance does not tell you:

  • Whether transactions are correctly classified (a posting to the wrong account will not break the balance)
  • Whether revenue exceeds expenses (that is the Profit & Loss statement's job)
  • The financial position in structured format (that is the Balance Sheet's job)

Step-by-step: Generating the Trial Balance

  1. Navigate to Reports > Trial Balance from the sidebar.
  2. Select the period — choose the start date and end date. For a full financial year, select 1 April to 31 March.
  3. Click Generate Report.
  4. The report displays a table with columns for Account Name, Account Code, Debit Balance, and Credit Balance.
  5. Verify that the Totals row at the bottom shows equal debit and credit amounts.

Trial Balance report showing account balances

Warning: If the trial balance does not balance, do not proceed with other financial reports until the discrepancy is resolved. An imbalance indicates a data issue — possibly a journal entry that was partially saved or a manual adjustment that was entered incorrectly. Check recent journal entries for errors.

Profit & Loss (Income Statement)

The Profit & Loss statement (also called the Income Statement) answers the question: did the business make a profit or a loss during a given period? It calculates the difference between all income earned and all expenses incurred.

Structure of the P&L statement:

Line ItemCalculation
Revenue from OperationsTotal sales of goods and services
Less: Cost of Goods Sold (COGS)Raw material consumption + direct labour + manufacturing overheads
= Gross ProfitRevenue - COGS
Less: Operating ExpensesSalaries, rent, utilities, depreciation, administrative costs
= Operating Profit (EBIT)Gross Profit - Operating Expenses
Add: Other IncomeInterest received, scrap sales, miscellaneous income
Less: Other ExpensesInterest paid, bank charges, foreign exchange losses
= Net Profit / (Net Loss)The final bottom line

Manufacturing P&L considerations:

For a manufacturing business, the COGS calculation is more involved than for a trading company. COGS includes not just the purchase price of materials, but also the cost of converting those materials into finished goods:

  • Raw material consumption: Opening stock + Purchases - Closing stock of raw materials
  • Direct labour: Wages paid to workers directly involved in production
  • Manufacturing overheads: Factory rent, power, machine maintenance, consumables

Udyamo ERP Lite derives these figures from the accounts classified under the "Cost of Goods Sold" report group. If your manufacturing cost accounts are correctly set up, the P&L statement will show an accurate gross profit that reflects true production economics.

Step-by-step: Generating the P&L statement

  1. Navigate to Reports > Profit & Loss from the sidebar.
  2. Select the period — typically the current financial year (April to March) or a specific quarter.
  3. Click Generate Report.
  4. The report displays the structured P&L with revenue, COGS, gross profit, operating expenses, and net profit.
  5. Review the gross profit margin (Gross Profit / Revenue) to assess production efficiency.

Profit & Loss statement with manufacturing breakdown

Tip: Compare P&L statements across periods to spot trends. If gross profit margin is declining while revenue is growing, your production costs are rising faster than your prices — a signal to investigate raw material costs or manufacturing efficiency.

Balance Sheet

The Balance Sheet presents the financial position of the business at a specific point in time. Unlike the P&L (which covers a period), the Balance Sheet is a snapshot: what the business owns, what it owes, and what remains for the owners, as of a particular date.

The fundamental equation:

Assets = Liabilities + Equity

Structure of the Balance Sheet:

SectionIncludes
Non-Current Assets (Fixed Assets)Factory building, machinery, vehicles, furniture, computers, accumulated depreciation
Current AssetsCash and bank balances, accounts receivable, raw material inventory, finished goods inventory, work-in-progress, prepaid expenses
Current LiabilitiesAccounts payable, GST payable, salary payable, short-term borrowings, provisions
Non-Current LiabilitiesTerm loans, deferred tax liabilities, long-term provisions
EquityShare capital, retained earnings (accumulated profits from all previous years)

Step-by-step: Generating the Balance Sheet

  1. Navigate to Reports > Balance Sheet from the sidebar.
  2. Select the as-of date — the date for which you want the snapshot. Typically 31 March for year-end, or the current date for an interim view.
  3. Click Generate Report.
  4. The report displays assets on one side and liabilities plus equity on the other.
  5. Verify that the two sides balance. If they do not, review your trial balance for discrepancies.

Balance Sheet showing assets, liabilities, and equity

Tip: For manufacturing businesses, pay close attention to the inventory line items on the balance sheet. High raw material inventory relative to production volume may indicate overstocking. High finished goods inventory relative to sales may signal slow-moving products. The balance sheet reveals capital tied up in stock that could be deployed elsewhere.

Cash Flow Statement

The Cash Flow Statement tracks the actual movement of cash into and out of the business during a period. While the P&L shows profitability on an accrual basis, the Cash Flow Statement shows liquidity — how much cash the business actually generated or consumed.

The three sections of cash flow:

SectionWhat It CoversManufacturing Examples
Operating ActivitiesCash from core business operationsCash received from customers, cash paid to vendors for raw materials, wages paid, rent paid, GST paid
Investing ActivitiesCash spent on or received from long-term assetsPurchase of new machinery, sale of old equipment, factory expansion
Financing ActivitiesCash from or to capital providersBank loan received, loan repayments, owner's capital contribution, dividends paid

The sum of all three sections gives the net increase or decrease in cash during the period. This should reconcile with the actual change in bank and cash balances.

Step-by-step: Generating the Cash Flow Statement

  1. Navigate to Reports > Cash Flow from the sidebar.
  2. Select the period — start date and end date.
  3. Click Generate Report.
  4. Review each section: operating, investing, and financing.
  5. Check the net cash position at the bottom and compare it to your bank balance.

Cash Flow Statement with three activity sections

Warning: A profitable business can still run out of cash. If your customers pay in 60 days but your vendors demand payment in 30 days, you have a cash flow gap. The Cash Flow Statement makes this visible. Use it alongside the P&L, not as a replacement.

The Indian Financial Year and Report Periods

All financial reports in Udyamo ERP Lite default to the Indian financial year (April to March) as configured in your organization settings. When you open any report, the system pre-selects the current financial year as the default period.

Common reporting periods for Indian manufacturing businesses:

PeriodDatesUse Case
Full Year1 April to 31 MarchAnnual financial statements, statutory filing
Quarter 11 April to 30 JuneQuarterly review, advance tax calculation
Quarter 21 July to 30 SeptemberMid-year assessment
Quarter 31 October to 31 DecemberThree-quarter review
Quarter 41 January to 31 MarchYear-end closing preparation
Monthly1st to last day of any monthOperational monitoring, GST return preparation

Tip: Generate the Trial Balance at the end of every month before filing GST returns. This confirms that all transactions for the month are recorded and the books are in balance. Catching errors monthly is far easier than discovering them at year-end.

Tips & Best Practices

Tip: Share the P&L and Balance Sheet with your chartered accountant quarterly, not just at year-end. Early review allows time to correct misclassifications and optimize tax planning.

Tip: When reviewing the Balance Sheet, calculate key ratios: Current Ratio (Current Assets / Current Liabilities) and Debt-to-Equity Ratio (Total Liabilities / Total Equity). These ratios are often required by banks when you apply for working capital loans or term loans.

Tip: Use the Cash Flow Statement to plan capital expenditure. If operating cash flow is consistently positive and growing, you have the capacity to invest in new machinery or expand the factory. If it is negative, focus on collections and cost control before committing to new investments.

Warning: Financial reports are only as accurate as the underlying data. If transactions are not recorded, recorded in the wrong accounts, or recorded in the wrong period, the reports will be misleading. Establish a discipline of timely and accurate data entry.

Quick Reference

ReportQuestion It AnswersInputKey Output
Trial BalanceAre the books in balance?Period (start and end date)Account-wise debit and credit balances; totals must match
Profit & LossDid the business make a profit or loss?Period (start and end date)Revenue, COGS, Gross Profit, Operating Expenses, Net Profit
Balance SheetWhat does the business own, owe, and retain?As-of date (point in time)Assets, Liabilities, Equity; two sides must balance
Cash FlowWhere did the cash come from and go?Period (start and end date)Operating, Investing, Financing activities; net cash change
Report GroupHow accounts map to statementsConfigured per account in Chart of AccountsDetermines placement in P&L or Balance Sheet

Operational Reports — Sales, Purchase & Aging

Financial statements tell you how the business performed over a period and where it stands at a point in time. Operational reports serve a different purpose — they help you manage the day-to-day. Who owes you money, and for how long? Which vendor bills are pending payment? What transactions happened today? Udyamo ERP Lite provides five operational reports designed for daily and weekly management: the Day Book, Sales Register, Purchase Register, Aged Receivables, and Aged Payables.

These reports are particularly valuable for manufacturing businesses where cash flow timing is critical. Raw material vendors often demand faster payment than your customers are willing to provide, and the gap between paying for materials and collecting from customers must be actively managed.

What You Will Learn

  • How to use the Day Book for a comprehensive view of all transactions in a period
  • How to review the Sales Register for invoice tracking and revenue analysis
  • How to review the Purchase Register for bill tracking, expense analysis, and TDS compliance
  • How Aged Receivables help prioritize customer collections
  • How Aged Payables help plan vendor payments
  • How to generate each report with appropriate filters
  • Manufacturing-specific use cases for each report

Prerequisites

  • Sales invoices, purchase bills, and payments recorded in the system (covered in Parts 4, 5, and 6)
  • Familiarity with the customer and vendor masters (covered in Chapter 20: Customers and Chapter 26: Vendors)

Day Book

The Day Book is the most comprehensive transaction report in Udyamo ERP Lite. It shows every recorded transaction for a selected date or date range — journal entries, invoices, bills, payments received, payments made, and any other posting. Think of it as the daily diary of your entire business.

When to use the Day Book:

  • End-of-day review to confirm all transactions were entered
  • Preparing for a management review meeting
  • Investigating discrepancies between expected and actual balances
  • Handing over between shifts or team members — the incoming person can review what happened during the previous period

What the Day Book shows:

ColumnDescription
DateTransaction date
TypeTransaction type (Invoice, Bill, Payment, Journal Entry, etc.)
ReferenceDocument number (e.g., INV-2025-0042, BILL-2025-0018)
PartyCustomer or vendor name (where applicable)
AccountAccounts affected
DebitDebit amount
CreditCredit amount
NarrationDescription or notes for the transaction

Step-by-step: Generating the Day Book

  1. Navigate to Reports > Day Book from the sidebar.
  2. Select the date range — for a single day's activity, set both start and end date to the same date.
  3. Click Generate Report.
  4. The report displays all transactions in chronological order.
  5. Review the entries to confirm completeness and accuracy.

Day Book showing a full day of transactions

Tip: Generate the Day Book at the end of every working day. A quick five-minute scan catches missing entries, duplicate entries, or obvious errors while the day's events are still fresh in everyone's memory.

Sales Register

The Sales Register lists all sales invoices for a selected period. It provides a consolidated view of your revenue stream — which customers were invoiced, for what amounts, with what taxes, and the current payment status of each invoice.

What the Sales Register shows:

ColumnDescription
Invoice DateDate of the sales invoice
Invoice NumberUnique invoice reference
Customer NameThe billed customer
Gross AmountInvoice amount before tax
Tax AmountGST charged (CGST + SGST or IGST)
Total AmountInvoice total including tax
StatusDraft, Sent, Paid, Partially Paid, Overdue

Step-by-step: Generating the Sales Register

  1. Navigate to Reports > Sales Register from the sidebar.
  2. Select the period — start and end date. For monthly GST reconciliation, select the calendar month.
  3. Click Generate Report.
  4. Review the list of invoices. Use the Status column to identify unpaid or partially paid invoices.

Sales Register with invoices for the selected period

Manufacturing context: The Sales Register helps production planning teams understand the revenue pipeline. If the register shows a concentration of invoices to a small number of customers, the business faces customer concentration risk. If certain product lines consistently generate higher invoice values, they may warrant production priority.

Tip: Cross-reference the Sales Register totals with your GSTR-1 filing for the same period. The taxable amounts and tax amounts in the Sales Register should reconcile with the values reported in your GST return. Discrepancies indicate missing invoices or incorrect tax calculations.

Purchase Register

The Purchase Register lists all purchase bills (vendor invoices) for a selected period. It provides visibility into your procurement spending — which vendors billed you, for what amounts, applicable taxes, TDS deducted, and payment status.

What the Purchase Register shows:

ColumnDescription
Bill DateDate of the vendor bill
Bill NumberVendor's invoice reference
Vendor NameThe billing vendor
Gross AmountBill amount before tax
Tax AmountGST charged by the vendor
TDS AmountTax Deducted at Source (if applicable)
Net PayableAmount payable after TDS deduction
StatusPending, Paid, Partially Paid, Overdue

Step-by-step: Generating the Purchase Register

  1. Navigate to Reports > Purchase Register from the sidebar.
  2. Select the period — start and end date.
  3. Click Generate Report.
  4. Review the list of bills. Use the TDS column to verify that deductions have been applied where required.

Purchase Register with vendor bills for the selected period

Manufacturing context: For a factory, the Purchase Register is a window into raw material costs. If steel prices are rising, the register will show increasing bill amounts from steel suppliers over successive months. Tracking purchase trends by vendor or material category helps negotiate better rates and identify alternative suppliers before costs become unsustainable.

Tip: Review the Purchase Register alongside the GST Input Tax Credit (ITC) claim. The tax amounts shown in the register represent potential ITC. Ensure every bill with GST is from a valid, registered vendor — ITC claims on bills from unregistered or non-compliant vendors will be rejected during GST reconciliation.

Aged Receivables

The Aged Receivables report shows all outstanding customer invoices grouped by how long they have been due. This is the single most important report for managing cash flow in a manufacturing business.

Aging buckets:

BucketMeaning
0 - 30 daysCurrent — invoices within normal payment terms
31 - 60 daysSlightly overdue — follow-up recommended
61 - 90 daysSignificantly overdue — escalation required
90+ daysCritically overdue — collection risk, potential bad debt

What the report shows for each customer:

  • Customer name
  • Total outstanding amount
  • Breakdown across the four aging buckets
  • Oldest unpaid invoice date

Step-by-step: Generating Aged Receivables

  1. Navigate to Reports > Aged Receivables from the sidebar.
  2. Select the as-of date — typically today's date for the current position.
  3. Click Generate Report.
  4. The report groups outstanding amounts by customer and aging bucket.
  5. Focus on the 61-90 and 90+ columns — these are the highest-risk receivables.

Aged Receivables report with aging buckets

Why it matters for manufacturing:

Manufacturing businesses often have long production cycles. You issue raw material to production, consume labour and overhead, and produce finished goods — all before invoicing the customer. Once invoiced, you wait another 30-60 days for payment. If a customer in the 90+ bucket owes a significant amount, you have effectively financed their purchase with your working capital for over three months. The Aged Receivables report makes this visible and actionable.

Warning: Do not ignore small amounts in the 90+ bucket. They often represent disputed invoices or partial payments where the customer withheld an amount. Resolving these quickly prevents them from becoming write-offs.

Tip: Share the Aged Receivables report with your sales team weekly. Sales teams have the closest relationship with customers and are often the most effective at prompting payment. A weekly review meeting focused on overdue receivables establishes a collection discipline.

Aged Payables

The Aged Payables report is the mirror image of Aged Receivables. It shows all outstanding vendor bills grouped by how long they have been due. This report is essential for payment planning and maintaining healthy vendor relationships.

Aging buckets:

BucketMeaning
0 - 30 daysCurrent — within normal payment terms
31 - 60 daysComing due or slightly overdue
61 - 90 daysOverdue — may affect vendor relationship
90+ daysCritically overdue — risk of supply disruption, legal action

What the report shows for each vendor:

  • Vendor name
  • Total outstanding amount
  • Breakdown across the four aging buckets
  • Oldest unpaid bill date

Step-by-step: Generating Aged Payables

  1. Navigate to Reports > Aged Payables from the sidebar.
  2. Select the as-of date — typically today's date.
  3. Click Generate Report.
  4. The report groups outstanding amounts by vendor and aging bucket.
  5. Prioritize payments to vendors in the 61-90 and 90+ buckets, especially critical raw material suppliers.

Aged Payables report with aging buckets

Why it matters for manufacturing:

A manufacturing business depends on a reliable supply chain. If your steel supplier is owed payment for 90+ days, they may delay or refuse the next shipment. This disrupts production schedules, delays customer deliveries, and damages your reputation. The Aged Payables report helps you prioritize payments strategically — pay critical raw material suppliers first, negotiate extended terms with less time-sensitive vendors.

Tip: Compare Aged Receivables with Aged Payables to understand your net working capital position. If receivables are concentrated in the 60-90 day bucket but payables are due in 30 days, you have a structural cash flow gap that may require a working capital facility from your bank.

Tips & Best Practices

Tip: Establish a weekly reporting rhythm. Run the Day Book daily, the Sales and Purchase Registers weekly, and the Aging reports every Monday morning. Consistent monitoring prevents surprises.

Tip: Use the Sales Register to prepare for GST return filing. Reconcile the register totals with GSTR-1 before filing. Similarly, use the Purchase Register to verify ITC claims against GSTR-2B.

Tip: When reviewing Aged Receivables, categorize customers into three groups: those who always pay on time (maintain the relationship), those who occasionally delay (send reminders early), and those who consistently delay beyond 90 days (consider revising credit terms or requiring advance payment).

Warning: Operational reports reflect data as entered. If invoices or bills are created with incorrect dates, the reports will show misleading information. Ensure that the invoice date on every document matches the actual transaction date, not the date it was entered into the system.

Quick Reference

ReportQuestion It AnswersInputKey Output
Day BookWhat happened financially today or this period?Date rangeAll transactions in chronological order
Sales RegisterWhat did we invoice during this period?Date rangeAll sales invoices with customer, amount, tax, and status
Purchase RegisterWhat were we billed for during this period?Date rangeAll purchase bills with vendor, amount, tax, TDS, and status
Aged ReceivablesWho owes us money, and for how long?As-of dateCustomer-wise outstanding grouped by aging buckets (0-30, 31-60, 61-90, 90+ days)
Aged PayablesWho do we owe money to, and for how long?As-of dateVendor-wise outstanding grouped by aging buckets (0-30, 31-60, 61-90, 90+ days)

Users, Roles & Permissions

An ERP system contains some of the most sensitive data in your organization — financial records, customer details, vendor pricing, employee salaries, and production costs. Controlling who can access, create, modify, and delete this data is not just a best practice; it is a compliance requirement under Indian data protection regulations and a practical necessity for any business with more than one user.

Udyamo ERP Lite provides a comprehensive access control system built on three pillars: user management, role-based permissions, and location-based restrictions. This chapter covers how to set up users, define roles with granular permissions, assign roles to users, and restrict access to specific warehouses or locations.

What You Will Learn

  • Why access control matters in an ERP system
  • How to add, manage, and deactivate user accounts
  • How the role-based access control (RBAC) system works
  • The difference between system roles and custom roles
  • How permissions are stored and what granular permission keys control
  • How to create custom roles tailored to your organization
  • How location-based access restricts users to specific warehouses
  • Step-by-step procedures for user and role management

Prerequisites

  • Administrator or owner access to Udyamo ERP Lite
  • Your organization setup completed (covered in Chapter 5: First-Time Setup)
  • A clear understanding of your team structure and who needs access to which modules

Why Access Control Matters

In a manufacturing business, different people handle different parts of the operation. The shop floor supervisor manages production orders. The purchase manager raises purchase orders and approves vendor bills. The accountant processes journal entries and reconciles bank accounts. The sales executive creates quotations and invoices. The business owner reviews reports and approves large expenditures.

Without access control, every user can see and modify everything — a sales executive could accidentally modify a journal entry, a production worker could view salary information, or a junior employee could delete a customer record. Access control prevents these scenarios through three mechanisms:

  1. Segregation of duties — Ensures that the person who creates a purchase order is not the same person who approves the payment. This is a fundamental internal control that reduces the risk of fraud.
  2. Data confidentiality — Sensitive information (salaries, profit margins, vendor pricing) is visible only to authorized personnel.
  3. Error prevention — Users can only access the modules relevant to their role, reducing the chance of accidental modifications to records they do not understand.

User Management

Users are managed under Settings > Team (the URL path is /team). Each user represents an individual who can log in to the system.

User fields:

FieldDescriptionRequired
EmailLogin email address — must be unique across the organizationYes
First NameUser's first nameYes
Last NameUser's last nameYes
PhoneContact phone numberNo
PasswordSet on creation; user can change later. Managed via Devise authentication.Yes (on creation)
ActiveWhether the user can log in. Inactive users are locked out.Yes (default: active)
Theme / Dark ModeVisual preferences — each user can customize their own interfaceNo

Adding a New User

Step-by-step:

  1. Navigate to Settings > Team.
  2. Click Add User (or New User).
  3. Fill in the required fields: email, first name, last name, and password.
  4. Optionally set the phone number.
  5. Click Save.
  6. The new user can now log in with their email and password.

Add user form with required fields

Tip: Use official company email addresses for user accounts, not personal email addresses. This ensures that when an employee leaves, the account is clearly associated with their company identity and can be deactivated without confusion.

Deactivating a User

When an employee leaves the organization or no longer needs system access, deactivate their account rather than deleting it. Deactivation preserves the audit trail — all transactions created by that user remain attributed to them.

Step-by-step:

  1. Navigate to Settings > Team.
  2. Find the user in the list.
  3. Click on the user to open their profile.
  4. Click Toggle Active (or the active/inactive toggle).
  5. The user's status changes to inactive. They can no longer log in.

Warning: Never delete a user account if they have created any transactions in the system. Deleting the user would orphan those records and break the audit trail. Always deactivate instead of delete.

Roles and Permissions

Roles define what a user can do in the system. Each role contains a set of permissions that grant or restrict access to specific features and data. When a role is assigned to a user, that user inherits all the permissions defined in the role.

System Roles

Udyamo ERP Lite ships with two system roles that cannot be deleted or modified. These are marked with is_system: true:

System RoleDescriptionPermissions
OwnerThe organization owner — typically the business proprietor or managing directorFull access to every feature, setting, and record. Cannot be restricted.
AdminSystem administrator — typically the IT manager or senior operations managerNear-full access to all features. Can manage users, roles, and settings. Cannot change ownership.

System roles provide a safe foundation. The owner role ensures that at least one person always has unrestricted access, and the admin role allows delegation of system management without granting ownership.

Custom Roles

For everyone else, you create custom roles that match your organizational structure. Permissions are stored as a JSONB field on the Role model, containing an array of granular permission keys.

Common permission keys:

Permission KeyWhat It Controls
manage_itemsCreate, edit, and delete items in the inventory
view_itemsView items without modification rights
manage_production_ordersCreate and manage production orders, material issues
manage_bomCreate and edit Bills of Materials
manage_salesCreate and manage quotations, sales orders, invoices
manage_purchasesCreate and manage purchase orders, bills
manage_accountingCreate journal entries, manage Chart of Accounts
view_reportsAccess all reports (financial and operational)
manage_reportsAccess and export reports
manage_usersAdd, edit, and deactivate user accounts
manage_rolesCreate and modify roles and permissions
manage_settingsModify organization settings and configuration
manage_payrollProcess salary slips and payroll
manage_assetsManage fixed assets, depreciation
manage_approvalsApprove or reject approval requests
view_audit_trailView activity logs and audit records

Tip: Follow the principle of least privilege — assign each user only the permissions they need to perform their job. It is better to start with minimal permissions and add more as needed than to grant broad access and try to restrict it later.

Creating a Custom Role

Step-by-step:

  1. Navigate to Settings > Roles.
  2. Click New Role.
  3. Enter a Name (e.g., "Production Manager") and an optional Description (e.g., "Manages production orders, BOMs, and quality inspections").
  4. In the Permissions section, select the permission keys that apply to this role.
  5. Click Save.

Example roles for a manufacturing business:

Role NamePermissionsTypical Assignees
Production Managermanage_production_orders, manage_bom, manage_items, view_reportsShop floor supervisor, production head
Accountantmanage_accounting, manage_reports, view_reports, view_audit_trailChartered accountant, accounts executive
Sales Executivemanage_sales, view_items, view_reportsSales team members
Purchase Managermanage_purchases, manage_items, view_reportsProcurement team
Store Keepermanage_items, view_itemsWarehouse staff
HR Managermanage_payroll, view_reportsHR department

Role creation form with permission checkboxes

Assigning Roles to Users

Once roles are created, assign them to users through the RoleAssignment mechanism.

Step-by-step:

  1. Navigate to Settings > Team.
  2. Click on the user you want to assign a role to.
  3. In the user profile, find the Roles section.
  4. Select one or more roles from the available list.
  5. Click Save.

A user can have multiple roles. The effective permissions are the union of all assigned roles. For example, if a user has both "Production Manager" and "Sales Executive" roles, they can manage production orders and also create sales invoices.

Tip: Avoid assigning too many roles to a single user. If one person needs permissions from multiple roles, consider creating a dedicated combined role (e.g., "Operations Manager") with exactly the permissions needed, rather than stacking five separate roles.

Location-Based Access Control

In addition to role-based permissions, Udyamo ERP Lite supports location-based restrictions through the UserLocationAssignment model. This is particularly useful for multi-location manufacturing businesses.

Use case: Your company operates two factories — one in Ahmedabad and one in Pune. The Ahmedabad production manager should only see inventory, production orders, and stock movements for the Ahmedabad factory, not Pune. Location-based access makes this possible.

Step-by-step: Restricting a user to specific locations

  1. Navigate to Settings > Team.
  2. Click on the user to open their profile.
  3. In the Locations section, select the locations this user should have access to.
  4. Click Save.
  5. The user will now only see data associated with their assigned locations.
ScenarioLocation AssignmentEffect
No locations assignedUser sees all locations (default behaviour)Suitable for owners, admins, and accountants who need a company-wide view
One location assignedUser sees only that location's dataSuitable for factory-specific managers and store keepers
Multiple locations assignedUser sees data from all assigned locationsSuitable for regional managers overseeing multiple facilities

Warning: Location-based access affects inventory visibility, production order access, and stock movement records. It does not affect accounting or reports, which typically require a company-wide perspective. Accountants and report viewers should not have location restrictions.

Tips & Best Practices

Tip: Document your role definitions and permission assignments in a simple spreadsheet outside the ERP. This makes it easy to onboard new employees — you can look up which role a "new sales executive" should receive without reviewing every existing user's configuration.

Tip: Review user access quarterly. Employees change roles, leave the organization, or take on new responsibilities. A quarterly audit of active users and their assigned roles ensures that permissions stay aligned with actual job functions.

Tip: For segregation of duties in accounting, create separate roles for transaction entry and approval. The person who creates a journal entry should not be the same person who approves it. Similarly, the person who raises a purchase order should not be the person who records the vendor payment.

Warning: The owner role should be assigned to no more than one or two people — the business owner and, if applicable, a co-founder or managing director. Granting owner access broadly defeats the purpose of access control.

Quick Reference

ConceptLocationKey Points
User ManagementSettings > TeamAdd, edit, deactivate users; email is the login identifier
Toggle ActiveUser profile > Toggle ActiveDeactivate users who leave; preserves audit trail
System RolesPre-configured (Owner, Admin)Cannot be deleted or modified; provide baseline access
Custom RolesSettings > RolesDefine granular permissions tailored to job functions
PermissionsStored as JSONB on RoleArray of permission keys controlling feature access
Role AssignmentUser profile > RolesAssign one or more roles to each user; permissions are cumulative
Location AccessUser profile > LocationsRestrict users to specific warehouses/factories
Principle of Least PrivilegeDesign guidelineAssign only the permissions each user needs; expand as justified

Approval Workflows & Audit Trail

In any well-run business, certain actions should not take effect without authorization. A production manager should not be able to approve their own purchase order. A new Bill of Materials should be reviewed before it goes live. A payment batch worth lakhs should require sign-off from a senior manager before funds leave the bank account. Udyamo ERP Lite addresses this need through approval workflows — a formal mechanism for requesting, reviewing, and granting authorization on specific documents.

Equally important is knowing what happened after the fact. When a dispute arises, when an auditor asks questions, or when you simply need to understand how a number changed, you need a complete, tamper-resistant record of who did what, when, and what changed. Udyamo ERP Lite maintains this record through two complementary systems: Activity Logs and Audits.

What You Will Learn

  • How the approval workflow operates from submission to resolution
  • Which documents can require approval and how the process is configured
  • How to submit a document for approval, and how to approve or reject it
  • How Activity Logs track user actions across the system
  • How the Audits table records detailed before-and-after changes
  • How to view the audit trail for specific records
  • Why audit trails matter for compliance, dispute resolution, and error detection

Prerequisites


Approval Workflows

The Concept

An approval workflow adds a checkpoint between document creation and document activation. Instead of a document taking effect immediately when saved, it enters a "pending approval" state and waits for an authorized user to review and approve it. This provides a layer of oversight that prevents unauthorized or erroneous actions from affecting your business operations.

The approval workflow in Udyamo ERP Lite is built on the ApprovalRequest model, which can be linked to any approvable record in the system through a polymorphic association (approvable_type and approvable_id).

ApprovalRequest Structure

FieldDescription
approvable_typeThe type of document (e.g., Bom, Bill, PaymentBatch)
approvable_idThe specific record's ID
requested_by_idThe user who submitted the document for approval
statusCurrent state: pending, approved, or rejected
notesOptional notes from the requester or the approver
approved_by_idThe user who approved or rejected (null while pending)
approved_atTimestamp of the approval or rejection decision

Documents That Can Require Approval

The following document types commonly participate in approval workflows:

Document TypeWhy Approval Matters
Bill of Materials (BOM)A BOM defines the material and cost structure of a product. An incorrect BOM leads to wrong material issues, incorrect costing, and production waste. Requiring approval ensures engineering review before a BOM goes into production use.
Purchase BillsBills represent financial obligations. Approving a bill confirms that the goods or services were received and the amount is correct before payment is processed.
Payment BatchesPayment batches authorize bulk payments to vendors. Given the financial magnitude, requiring approval ensures that a senior manager reviews the total outflow before funds are released.

Tip: Not every document needs an approval workflow. Approval adds a step and introduces a delay. Apply it to high-value, high-risk, or high-impact documents. Routine transactions like individual sales invoices (which are backed by confirmed sales orders) typically do not need a separate approval step.

The Approval Process

The workflow follows a simple three-step lifecycle:

1. Submit for Approval

The user who creates or modifies the document submits it for approval. This creates an ApprovalRequest record with status pending.

2. Review

An authorized user (someone with the manage_approvals permission) reviews the pending request. They can see the document details, the requester, and any notes attached.

3. Approve or Reject

The reviewer either approves the request (status changes to approved, the document becomes active) or rejects it (status changes to rejected, with notes explaining the reason). The approved_by_id and approved_at fields are populated at this point.

Approval workflow: submit, review, approve or reject

Step-by-step: Submitting a Document for Approval

  1. Open the document that requires approval (e.g., a new Bill of Materials).
  2. After filling in all required fields, click Submit for Approval (instead of the standard Save or Activate button).
  3. Optionally add notes explaining the context (e.g., "New BOM for 20mm MS Flange — replaces old BOM with updated material quantities based on revised drawings").
  4. The document status changes to Pending Approval. It is visible but not yet active in production workflows.
  5. The approver is notified of the pending request.

Step-by-step: Approving a Request

  1. Navigate to Approval Requests from the sidebar (or access via notifications).
  2. The list shows all pending approval requests with document type, requester, date, and notes.
  3. Click on a pending request to review the underlying document.
  4. Review the document details carefully. For a BOM, verify the components, quantities, and unit costs. For a payment batch, verify the vendor list and amounts.
  5. If satisfied, click Approve. Optionally add notes (e.g., "Reviewed against engineering drawing REV-3. Quantities confirmed.").
  6. If the document has issues, click Reject. Add notes explaining what needs to change (e.g., "Quantity for item MS-PIPE-25MM appears incorrect — should be 4 units per assembly, not 40. Please verify and resubmit.").
  7. The requester is notified of the decision.

Warning: Once approved, the document becomes active. For BOMs, this means production orders can now be created using the approved BOM. For payment batches, this means the payments can be processed. Review carefully before approving.

Step-by-step: Handling a Rejection

  1. The requester receives notification that their submission was rejected, along with the reviewer's notes.
  2. Open the rejected document.
  3. Make the corrections indicated in the rejection notes.
  4. Submit for approval again. This creates a new ApprovalRequest record — the history of the previous rejection is preserved.

Audit Trail

Why Audit Trails Matter

An audit trail is a chronological record of every significant action taken in the system. It answers four critical questions:

  • Who performed the action?
  • What action was performed?
  • When was it performed?
  • What changed as a result?

Audit trails serve multiple purposes:

PurposeExample
Regulatory complianceAuditors under the Companies Act, 2013 require evidence that financial records have not been tampered with. The audit trail provides this evidence.
Dispute resolutionA vendor claims they were quoted a different price. The audit trail on the purchase order shows exactly when the price was changed, by whom, and from what value to what value.
Error detectionAn account balance looks wrong. The audit trail on the account reveals that someone changed the account type from "Expense" to "Asset" last week, causing misclassification.
Internal controlManagement can monitor whether the segregation of duties is being followed — is the same person creating and approving records?

Activity Logs

The ActivityLog model tracks user actions at a high level. Every significant action — creating a record, updating a record, approving a request, generating a report — is logged.

ActivityLog structure:

FieldDescription
user_idThe user who performed the action
actionDescription of the action (e.g., "created", "updated", "deleted", "approved")
trackable_typeThe type of record affected (e.g., "Invoice", "ProductionOrder", "JournalEntry")
trackable_idThe specific record's ID
metadataAdditional context stored as JSONB (e.g., IP address, browser, specific field changes)
organization_idThe organization this log belongs to
created_atWhen the action occurred

Activity Logs provide a quick, scannable history of system usage. They answer "what happened" without necessarily providing the granular detail of what specific values changed.

Audits (Detailed Change Tracking)

The Audits table provides a more detailed record, capturing the exact before-and-after values for every change to an auditable record.

Audits structure:

FieldDescription
auditable_typeThe type of record (e.g., "Account", "Invoice", "Payment")
auditable_idThe specific record's ID
user_idThe user who made the change
actionThe type of change: create, update, or destroy
audited_changesJSONB field containing the changes — for an update, this shows the old and new values of each modified field
versionSequential version number for this record (version 1 = creation, version 2 = first update, etc.)
remote_addressIP address of the user when the change was made
created_atTimestamp of the change

Example of audited_changes for an update:

When a user changes the billing amount on a purchase bill from 45,000 to 48,500, the audited_changes field records:

{
  "amount": [45000.0, 48500.0]
}

The first value in the array is the old value; the second is the new value. This provides an unambiguous, tamper-resistant record of exactly what changed.

Viewing Audit History

Udyamo ERP Lite provides audit trail access on key records. The URL pattern follows the format /<resource>/:id/audit_trail.

Step-by-step: Viewing the audit trail for an account

  1. Navigate to Accounting > Chart of Accounts.
  2. Click on the account you want to inspect.
  3. On the account detail page, click Audit Trail (or navigate to the audit trail tab).
  4. The system displays a chronological list of all changes to this account, including:
    • Who made each change
    • When the change was made
    • What was changed (with before and after values)
    • The IP address of the user

Records with accessible audit trails:

Record TypeHow to Access
AccountsAccount detail page > Audit Trail
PaymentsPayment detail page > Audit Trail
Bank AccountsBank account detail page > Audit Trail
InvoicesInvoice detail page > Audit Trail
BillsBill detail page > Audit Trail

Audit trail for an account showing change history

Tip: When your statutory auditor visits for the annual audit, the audit trail is your first line of defence against any question about financial record integrity. Being able to show exactly who changed what, when, and why (via the metadata and notes) demonstrates strong internal controls and saves time during the audit process.

Activity Logs vs. Audits: When to Use Which

AspectActivity LogsAudits
Level of detailHigh-level (action + record reference)Granular (field-by-field before/after values)
Primary useMonitoring user activity, identifying unusual patternsInvestigating specific changes, regulatory compliance
Typical userManager, system administratorAuditor, accountant, compliance officer
Example question"How many records did this user create last week?""Who changed the amount on invoice INV-2025-0089, and what was the original value?"

Tips & Best Practices

Tip: Review pending approval requests daily. A backlog of pending approvals delays operations — production cannot start without an approved BOM, and vendors cannot be paid without approved payment batches. Assign backup approvers for when the primary approver is unavailable.

Tip: Use rejection notes constructively. A rejection without explanation frustrates the requester and wastes time. Always explain what is wrong and what needs to change. This turns the approval process into a quality control mechanism rather than a bottleneck.

Tip: Periodically review Activity Logs for unusual patterns — a user creating an unusually high number of journal entries, or modifications happening outside business hours. These patterns may indicate errors or, in rare cases, unauthorized activity.

Warning: Audit records are system-generated and should not be modifiable by any user. If your auditor asks whether the audit trail can be altered, the answer is no — these records are created automatically by the system and are not exposed for editing.

Quick Reference

ConceptLocationKey Points
Approval RequestsSidebar > Approval RequestsList of pending, approved, and rejected requests
Submit for ApprovalOn the document form (BOM, Bill, Payment Batch)Creates a pending ApprovalRequest
Approve / RejectApproval request detail pageChanges status; populates approved_by and approved_at
Activity LogsSystem-wide (accessed by administrators)High-level tracking of user actions
AuditsRecord-specific (e.g., accounts/:id/audit_trail)Granular change history with before/after values
audited_changesJSONB field on Audits tableStores old and new values for each modified field
VersionOn Audits tableSequential version number tracking the history of a record
ComplianceCompanies Act, 2013Requires maintenance of audit trails for financial records

Organization Settings & Module Configuration

Every configuration choice you made during the initial setup wizard (Chapter 5) lives in the Settings section of Udyamo ERP Lite. As your business evolves, these settings will need updating — you may move to a larger factory and update your address, register for a new GSTIN in another state, enable a module you initially skipped, or adjust document numbering schemes. Beyond the basics, the Settings section also manages the key-value configuration store, demo mode operations, and financial year transitions.

This chapter provides a comprehensive reference for every configurable aspect of the system, along with step-by-step instructions for the most common configuration tasks.

What You Will Learn

  • How to update your organization profile (name, address, GSTIN, PAN, logo)
  • How to enable and disable application modules
  • How to configure and transition between financial years
  • How the key-value Settings store works for additional configuration
  • How to configure document number ranges for invoices, POs, and other documents
  • How demo mode works and when to use it
  • How users can customize their own theme and dark mode preferences

Prerequisites

  • Administrator or owner access to Udyamo ERP Lite
  • Your organization's legal and tax registration details at hand (GSTIN, PAN)
  • An understanding of which modules your business needs (covered in Chapter 5: First-Time Setup)

Organization Profile

The organization profile contains the foundational details that identify your business. This information appears on every printed document — invoices, purchase orders, delivery challans, salary slips — and is used for tax compliance and regulatory reporting.

Organization fields:

FieldDescriptionExample
NameRegistered company nameRajesh Steel Fabricators Pvt. Ltd.
EmailOfficial company email[email protected]
PhonePrimary contact number+91 79 2589 1234
AddressStreet addressPlot 45, GIDC Industrial Estate, Phase II, Vatva
CityCity or townAhmedabad
StateState (determines GST state code)Gujarat
PIN Code6-digit postal code382445
GSTIN15-digit GST Identification Number24AABCR1234F1Z5
PAN10-character Permanent Account NumberAABCR1234F
LogoCompany logo (uploaded via Active Storage)PNG or JPG file

Step-by-step: Updating the Organization Profile

  1. Navigate to Settings from the sidebar.
  2. The organization profile form is displayed (or navigate to Settings > Edit).
  3. Update the fields that need to change.
  4. If updating the logo, click the upload area and select a new image file. Supported formats are PNG and JPG.
  5. Click Update to save the changes.

Required: GSTIN and PAN are critical for tax compliance. The GSTIN determines the state code used in GST calculations (CGST/SGST for intra-state, IGST for inter-state). Ensure these match your registration certificates exactly.

Warning: Changing the GSTIN after transactions have been recorded does not retroactively update existing invoices and bills. Those documents retain the GSTIN that was active at the time of creation. If you are correcting a data entry error in the GSTIN, review and regenerate any affected documents.

Organization profile settings form

Module Toggles

Udyamo ERP Lite is modular. Three major functional areas can be independently enabled or disabled based on your business needs:

Module FlagWhat It ControlsWhen to Enable
accounting_enabledChart of Accounts, Journal Entries, Ledger Entries, Financial Reports (Trial Balance, P&L, Balance Sheet, Cash Flow)Always recommended. Disable only if you manage accounting entirely in a separate system.
inventory_enabledItems, Units of Measurement, Locations, Stock Ledger, Stock Movements, Low Stock AlertsEnable if you hold physical stock — raw materials, finished goods, consumables.
manufacturing_enabledBills of Materials, Production Orders, Material Issues, Quality Inspections, Job Work, Job Work OrdersEnable if you manufacture or assemble products.

Step-by-step: Enabling or Disabling a Module

  1. Navigate to Settings.
  2. Locate the module toggle switches (Accounting, Inventory, Manufacturing).
  3. Toggle the switch for the module you want to enable or disable.
  4. Click Update.
  5. The sidebar navigation updates immediately — sections for disabled modules are hidden.

Tip: For a manufacturing company, all three modules should be enabled. The interplay between inventory (raw materials), manufacturing (production orders consuming materials), and accounting (cost tracking and financial reporting) is where the real value of an integrated ERP system lies. Disabling any one module breaks the chain.

Warning: Disabling a module hides its menu items and features but does not delete any data. All records created while the module was active are preserved. Re-enabling the module restores full visibility. This means you can safely disable a module for a period without losing historical data.

Financial Year Settings

Indian businesses operate on a financial year that runs from April to March, as mandated by the Companies Act, 2013 and the Income Tax Act, 1961. Udyamo ERP Lite uses two fields to manage the financial year:

FieldDescriptionExample
financial_year_start_monthThe first month of the financial year (1-12)4 (April)
current_financial_yearLabel for the active financial year2025-26

The financial year configuration affects:

  • Report defaults — When you open the Trial Balance, P&L, or Balance Sheet, the system pre-selects the current financial year period.
  • Document numbering — Number ranges that include the year component use the financial year (e.g., INV-2025-0001 for invoices in FY 2025-26).
  • Year-end closing — The system uses the financial year end date to determine when income and expense accounts should be closed to Retained Earnings.

Step-by-step: Transitioning to a New Financial Year

At the start of each new financial year (typically 1 April):

  1. Navigate to Settings.
  2. Update the Current Financial Year field from the previous year to the new year (e.g., change "2025-26" to "2026-27").
  3. Click Update.
  4. Verify that reports now default to the new financial year period.
  5. Ensure that opening balances for the new year reflect closing balances of the previous year.

Required: Transition the financial year promptly on or after 1 April. Delays can cause new transactions to appear in reports for the wrong period, creating confusion during GST filing and financial reporting.

Tip: Before transitioning, generate and save the final Trial Balance, P&L, and Balance Sheet for the closing financial year. These serve as the official financial statements for statutory filing and provide a reference point for opening balances.

Settings Key-Value Store

Beyond the structured organization fields, Udyamo ERP Lite provides a flexible key-value configuration store through the Settings model. Each setting is a key-value pair scoped to your organization.

Settings fields:

FieldDescription
keyA unique identifier for the setting (e.g., default_payment_terms, invoice_footer_text)
valueThe value for this setting (stored as a string)
organization_idEnsures each organization has its own independent settings

This key-value store is used for configuration that does not fit neatly into the organization profile — default values, display preferences, integration parameters, and other operational settings.

Tip: The Settings store is managed through the Settings edit/update interface. If you need to add a custom configuration that the system does not expose through the UI, contact your system administrator or refer to the developer documentation.

Number Ranges

Documents in Udyamo ERP Lite are assigned sequential numbers automatically. The NumberRange system controls the prefix, format, and starting number for each document type.

Common number range configurations:

Document TypePrefix ExampleFormat ExampleNotes
Sales InvoiceINVINV-2025-0001Resets annually with new financial year prefix
Proforma InvoicePIPI-2025-0001Separate sequence from tax invoices
Sales OrderSOSO-2025-0001Tracks confirmed orders
Purchase OrderPOPO-2025-0001Sent to vendors
Bill (Vendor Invoice)BILLBILL-2025-0001Internal tracking reference
Journal EntryJEJE-2025-0001Accounting entries
Production OrderPRDPRD-2025-0001Manufacturing floor reference
PaymentPAYPAY-2025-0001Payment receipts and disbursements

Step-by-step: Configuring Number Ranges

  1. Navigate to Settings > Number Ranges (or the number range configuration section within Settings).
  2. For each document type, you can configure:
    • Prefix — The text that appears before the number (e.g., "INV", "PO").
    • Starting Number — The first number in the sequence (e.g., 1, or 1001 if continuing from a previous system).
    • Year Component — Whether to include the financial year in the number (e.g., "2025" in INV-2025-0001).
  3. Click Save for each document type after configuration.

Warning: Configure number ranges before entering live transactions. Changing the prefix or format after transactions have been recorded creates gaps or inconsistencies in the document sequence. Auditors and tax authorities expect a continuous, unbroken sequence of invoice numbers within a financial year.

Tip: If you are migrating from another system (Tally, spreadsheets, or another ERP), set the starting number to continue from where the previous system left off. For example, if your last invoice in the old system was INV-2025-0847, set the starting number to 848 in Udyamo ERP Lite.

Demo Mode

Demo mode populates the system with realistic sample data for training, evaluation, and experimentation. It is managed through three actions:

ActionRouteWhat It Does
ActivateDemo Mode > ActivateGenerates sample data: items, BOMs, customers, vendors, production orders, invoices, bills, journal entries
DeactivateDemo Mode > DeactivateRemoves the demo mode flag but preserves the sample data for continued reference
ResetDemo Mode > ResetClears all demo data and restores the system to a clean state

There is also a Hide option that dismisses the demo mode banner from the interface without deactivating it.

When to Use Demo Mode

ScenarioRecommendation
Evaluating the softwareActivate demo mode to explore features with realistic data before committing to implementation
Training new employeesActivate demo mode on a separate training instance so staff can practice without affecting live data
Demonstrating to stakeholdersActivate demo mode to show management or investors how the system works with populated data
Starting live operationsDeactivate or reset demo mode; enter your real organization data

Step-by-step: Activating Demo Mode

  1. Navigate to Settings (or the Demo Mode section).
  2. Click Activate Demo Mode.
  3. The system generates sample data across all enabled modules.
  4. Explore the system — navigate to Items, Production Orders, Invoices, and Reports to see how the sample data populates each section.

Step-by-step: Resetting Demo Mode

  1. Navigate to Settings > Demo Mode.
  2. Click Reset Demo Mode.
  3. Confirm the action when prompted.
  4. All demo data is deleted. The system returns to a clean state with only your organization profile intact.

Warning: Resetting demo mode is irreversible. All demo records are permanently deleted. If you have added or modified demo records and want to keep them, export the data before resetting. Never activate demo mode on a production instance that contains real business data — the reset operation does not distinguish between demo and real records once demo data has been mixed with live data.

User Preferences: Theme and Dark Mode

Each user in Udyamo ERP Lite can customize their visual experience without affecting other users. Two preference fields are available on the User model:

PreferenceDescriptionOptions
ThemeThe visual theme for the interfaceDefault theme (or any configured alternatives)
Dark ModeDark background with light text, reducing eye strain in low-light environmentsOn / Off

Step-by-step: Changing Theme and Dark Mode

  1. Click on your user profile icon (typically in the top-right corner of the interface).
  2. Navigate to Profile or Preferences.
  3. Select your preferred Theme.
  4. Toggle Dark Mode on or off.
  5. Click Save. The interface updates immediately.

Tip: For users who spend long hours in the system — accountants processing journal entries, store keepers updating stock records — dark mode can reduce eye fatigue. Encourage team members to set up their preferences during their first login.

Tips & Best Practices

Tip: Schedule a settings review at the start of each financial year. Update the current financial year label, review number ranges, verify that the GSTIN and PAN are current, and confirm that the correct modules are enabled. A 15-minute annual review prevents configuration drift.

Tip: Keep your company logo file clean and high-resolution. The logo appears on invoices, purchase orders, and reports that you send to customers and vendors. A pixelated or incorrectly cropped logo creates a poor impression.

Tip: If you operate in multiple states with different GSTINs, your primary organization profile should reflect the principal place of business. Additional GSTINs for branch operations may require configuration at the location level — consult the advanced settings documentation.

Warning: Do not disable the accounting module if you have active financial transactions. While the data is preserved, disabling accounting removes access to reports, journal entries, and ledger views. This can disrupt month-end closing, GST filing, and financial oversight.

Quick Reference

SettingLocationPurpose
Organization ProfileSettings (edit/update)Name, address, GSTIN, PAN, logo, contact details
Module TogglesSettingsEnable/disable Accounting, Inventory, Manufacturing
Financial Year Start MonthSettingsDetermines the start of the financial year (default: April)
Current Financial YearSettingsLabel for the active year (e.g., 2025-26)
Settings Key-Value StoreSettingsAdditional configuration as key-value pairs
Number RangesSettings > Number RangesPrefix, format, and starting number for each document type
Demo Mode — ActivateSettings > Demo ModeGenerate sample data for training and evaluation
Demo Mode — DeactivateSettings > Demo ModeRemove demo flag; data remains
Demo Mode — ResetSettings > Demo ModeDelete all demo data; restore clean state
Demo Mode — HideSettings > Demo ModeDismiss the demo mode banner
ThemeUser Profile > PreferencesVisual theme selection
Dark ModeUser Profile > PreferencesToggle dark background for reduced eye strain

Glossary

Quick reference for ERP, manufacturing, inventory, accounting, and compliance terms used throughout this guide. Terms are organized alphabetically for easy lookup.


A

Accounts Payable (AP) Money owed by your business to vendors for goods or services received but not yet paid for. In Udyamo ERP Lite, accounts payable is tracked through Bills (vendor invoices) and vendor payment records. The AP aging report shows outstanding vendor balances by due date.

Accounts Receivable (AR) Money owed to your business by customers for goods or services delivered but not yet paid for. Tracked through Sales Invoices and customer payment records in Udyamo ERP Lite. The AR aging report helps identify overdue customer balances.

Approval Workflow A configurable sequence of review and authorization steps that a document must pass through before it becomes effective. In Udyamo ERP Lite, approval workflows can be set up for purchase orders, production orders, and other transactions so that designated approvers must sign off before the document proceeds.

Audit Trail A chronological record of every action performed on a record — who created it, who modified it, what was changed, and when. Udyamo ERP Lite maintains an automatic audit trail for all transactions, which is essential for internal controls, external audits, and regulatory compliance.


B

Balance Sheet A financial statement that shows a business's assets, liabilities, and equity at a specific point in time. It follows the equation: Assets = Liabilities + Equity. In Udyamo ERP Lite, the balance sheet is generated automatically from the general ledger and is available under Reports > Financial Reports.

Batch Tracking The practice of assigning a unique batch number to a group of items produced or received together. Batch tracking enables traceability — if a quality issue is found, the business can identify which batch was affected and trace all items within it. Udyamo ERP Lite supports batch tracking for raw materials and finished goods.

Bill (Vendor Invoice) A document received from a vendor requesting payment for goods or services supplied. In Udyamo ERP Lite, a Bill is the purchase-side equivalent of a Sales Invoice. Bills are recorded under Purchases > Bills and can be matched against purchase orders and goods receipt notes.

Bill of Materials (BOM) A structured list of all raw materials, sub-assemblies, and components required to manufacture one unit of a finished product, along with the quantity of each. The BOM is the foundation of manufacturing planning in Udyamo ERP Lite. It drives material requirement calculations, production order creation, and cost estimation.

Book Value The value of an asset as recorded in the accounting books, calculated as the original cost minus accumulated depreciation. In Udyamo ERP Lite, the book value of each fixed asset is updated automatically as depreciation entries are posted.


C

Cash Flow Statement A financial report that shows the inflows and outflows of cash over a period, categorized into operating, investing, and financing activities. It reveals whether a business is generating enough cash to fund operations and growth, regardless of accounting profit.

CGST (Central Goods and Services Tax) The central government's share of GST, charged on intra-state (within the same state) supplies of goods and services. When a seller and buyer are in the same state, the invoice carries CGST and SGST in equal proportions. Udyamo ERP Lite calculates CGST automatically based on the parties' state codes.

Chart of Accounts (COA) A structured list of all ledger accounts used by a business, organized into categories such as assets, liabilities, income, and expenses. The COA forms the backbone of the accounting module. Udyamo ERP Lite ships with a default Indian COA that can be customized to suit your business.

Closing Balance The balance of a ledger account, bank account, or stock item at the end of a defined period (typically a financial year or month). Closing balances of one period become the opening balances of the next. In Udyamo ERP Lite, closing balances are computed automatically from transaction data.

Cloud ERP An ERP system hosted on remote servers and accessed over the internet, rather than installed on local hardware. Cloud ERP eliminates the need for on-premises infrastructure, reduces upfront costs, and allows access from anywhere. Udyamo ERP Lite can be deployed as a cloud ERP or self-hosted on your own servers.

Composition Scheme A simplified GST compliance option for small taxpayers with turnover below a prescribed threshold (currently 1.5 crore for manufacturers). Businesses under the Composition Scheme pay GST at a flat rate on turnover and file simplified quarterly returns, but they cannot issue tax invoices or claim input tax credit.

Consumable A material that is used during the manufacturing process but does not become part of the finished product — for example, lubricants, cleaning agents, or packaging tape. In Udyamo ERP Lite, consumables can be included in the BOM and tracked in inventory.

Contractor An external party engaged to perform specific manufacturing operations or services on behalf of your business. In Udyamo ERP Lite, contractors are managed as vendors and are linked to Job Work Orders when manufacturing operations are outsourced.

Cost to Company (CTC) The total annual expenditure a company incurs for an employee, including gross salary, employer contributions to PF and ESIC, bonuses, and other benefits. In Udyamo ERP Lite, CTC is defined in the employee master and is used to derive the salary structure.

Credit (Accounting) An entry on the right side of a ledger account in double-entry bookkeeping. Credits increase liability, equity, and income accounts, and decrease asset and expense accounts. Every journal entry in Udyamo ERP Lite must have equal debits and credits.

Credit Days The number of days a buyer is allowed to pay after receiving an invoice. For example, "Net 30" means payment is due within 30 days. In Udyamo ERP Lite, credit days are configured in the customer or vendor master and are used to calculate due dates on invoices and bills.

Credit Limit The maximum outstanding balance a customer is allowed to accumulate before further sales are restricted. In Udyamo ERP Lite, credit limits can be set per customer. The system warns or blocks new orders when a customer's outstanding balance approaches or exceeds the limit.

Credit Note A document issued by a seller to a buyer reducing the amount owed. Credit notes are issued for sales returns, pricing corrections, or discounts given after invoicing. In Udyamo ERP Lite, credit notes adjust both accounts receivable and GST liability.


D

Dashboard A visual summary screen that displays key business metrics and indicators at a glance. The Udyamo ERP Lite dashboard shows pending orders, low-stock alerts, outstanding receivables, cash position, and other KPIs relevant to the logged-in user's role.

Debit (Accounting) An entry on the left side of a ledger account in double-entry bookkeeping. Debits increase asset and expense accounts, and decrease liability, equity, and income accounts. In every transaction recorded in Udyamo ERP Lite, total debits must equal total credits.

Debit Note A document issued by a buyer to a seller requesting a reduction in the amount owed — typically for purchase returns or pricing disputes. In Udyamo ERP Lite, debit notes adjust accounts payable and the corresponding GST input credit.

Depreciation The systematic allocation of the cost of a fixed asset over its useful life. Depreciation reflects the gradual consumption of an asset's economic value. In Udyamo ERP Lite, depreciation is calculated automatically based on the method (SLM or WDV) and rates defined in the asset category.

Double-Entry Bookkeeping An accounting system in which every financial transaction is recorded in at least two accounts — one debited and one credited — ensuring that the accounting equation (Assets = Liabilities + Equity) always remains in balance. Udyamo ERP Lite follows double-entry bookkeeping for all financial transactions.


E

E-Way Bill An electronic document required under GST for the movement of goods exceeding a specified value (currently 50,000 rupees) from one place to another. The e-way bill contains details of the goods, consignor, consignee, and transporter. Udyamo ERP Lite can generate the data needed for e-way bill creation.

ESIC (Employee State Insurance Corporation) A statutory social security scheme in India that provides medical, disability, and maternity benefits to employees earning below a prescribed wage ceiling. Both employer and employee contribute a percentage of wages. Udyamo ERP Lite calculates ESIC contributions automatically during payroll processing.

ERP (Enterprise Resource Planning) A class of integrated software that manages all core business processes — manufacturing, inventory, sales, purchases, accounting, HR, and compliance — in a single system with a shared database. ERP eliminates data silos and manual reconciliation by ensuring that every transaction flows automatically across all affected modules.


F

FIFO (First In, First Out) An inventory valuation method where the items purchased or produced first are assumed to be sold or consumed first. Under FIFO, the cost of goods sold reflects the oldest inventory costs, while closing stock reflects the most recent costs.

Finished Goods Products that have completed the manufacturing process and are ready for sale to customers. In Udyamo ERP Lite, finished goods are a category of items in the item master and are the output of production orders.

Fiscal Year The 12-month period used by a business for accounting and tax reporting purposes. In India, the standard fiscal year runs from 1 April to 31 March. Udyamo ERP Lite requires the fiscal year to be configured during first-time setup, and all financial reports are generated based on it.

Fixed Asset A long-term tangible resource owned by a business and used in operations — such as machinery, vehicles, furniture, or buildings. Fixed assets are not intended for resale and are subject to depreciation over their useful life. Udyamo ERP Lite maintains a fixed asset register under the Asset Management module.


G

General Ledger (GL) The master accounting record that contains all ledger accounts and their transactions. The general ledger is the single source of truth for all financial data and is used to generate the trial balance, profit and loss statement, and balance sheet. In Udyamo ERP Lite, ledger entries are created automatically from sales, purchase, payroll, and other transactions.

Goods Receipt Note (GRN) A document that records the physical receipt of goods from a vendor at the warehouse. The GRN verifies the quantity and condition of goods received against the purchase order. In Udyamo ERP Lite, goods receipt updates inventory and is used in three-way matching with the purchase order and the vendor bill.

Gross Salary The total salary earned by an employee before any deductions such as PF, ESIC, professional tax, or income tax. Gross salary includes basic pay, allowances (HRA, DA, special allowance), and any other fixed components. In Udyamo ERP Lite, gross salary is derived from the salary structure defined for each employee.

GST (Goods and Services Tax) India's unified indirect tax, introduced on 1 July 2017, replacing multiple central and state taxes. GST is levied on the supply of goods and services and is collected at each stage of the value chain with input tax credit available to avoid cascading taxation. Udyamo ERP Lite handles GST calculation, invoicing, and return data generation.

GSTIN (GST Identification Number) A unique 15-digit identifier assigned to every registered GST taxpayer in India. The GSTIN is derived from the state code and PAN of the business. In Udyamo ERP Lite, the GSTIN is stored in the organization profile and printed on all tax invoices.

GSTR-1 A monthly or quarterly GST return that reports all outward supplies (sales) made by a registered taxpayer. GSTR-1 includes invoice-level details of B2B transactions and summary details of B2C transactions. Udyamo ERP Lite generates the GSTR-1 data from sales invoices and credit notes.

GSTR-3B A monthly self-declaration GST return summarizing outward supplies, inward supplies, input tax credit claimed, and net tax payable. GSTR-3B is due by the 20th of the following month (with variations for QRMP filers). Udyamo ERP Lite computes the values needed for GSTR-3B filing.


H

HSN Code (Harmonized System of Nomenclature) An internationally standardized system of numerical codes used to classify traded goods. In India, HSN codes are mandatory on GST invoices for identifying the category of goods and determining the applicable tax rate. In Udyamo ERP Lite, HSN codes are assigned to items in the item master.


I

IGST (Integrated Goods and Services Tax) The GST component charged on inter-state (between different states) supplies of goods and services, and on imports. IGST is collected by the central government and apportioned between the central and destination state. Udyamo ERP Lite applies IGST automatically when the seller and buyer are in different states.

Input Tax Credit (ITC) The credit that a registered GST taxpayer can claim for the GST paid on purchases (inputs) used in the course of business. ITC reduces the total GST liability on outward supplies. In Udyamo ERP Lite, ITC is tracked automatically from purchase bills and reconciled against GSTR-2B data.

Integration The connection between two or more software systems that allows data to flow between them automatically. In the ERP context, integration refers both to the internal integration between modules (where a sales invoice automatically posts accounting entries) and external integration with banks, GST portals, or other third-party services.


J

Job Work A manufacturing arrangement where raw materials or semi-finished goods are sent to an external contractor (job worker) for processing and then received back. Job work is common in Indian manufacturing, particularly for specialized operations like electroplating, heat treatment, or printing. Udyamo ERP Lite manages job work through Job Work Orders and Job Work Receipts.

Journal Entry A record of a financial transaction in the accounting system, specifying the accounts to be debited and credited along with the amounts. Journal entries are the fundamental building blocks of double-entry bookkeeping. In Udyamo ERP Lite, many journal entries are created automatically (from invoices, payments, and payroll), while manual journal entries can be recorded for adjustments.


L

Lead Time The total time between placing an order for materials and receiving them at the warehouse, or between starting and completing a production order. Lead time is a critical factor in inventory planning. In Udyamo ERP Lite, lead times can be configured for items and are used to determine when reorders should be triggered.

Ledger An account in the chart of accounts that records all transactions of a specific type — for example, a Sales Revenue ledger, a Cash-in-Hand ledger, or a specific vendor's payable ledger. Each ledger maintains a running balance. In Udyamo ERP Lite, ledger entries are viewable under Accounting > Ledger Entries.

LIFO (Last In, First Out) An inventory valuation method where the most recently purchased or produced items are assumed to be sold or consumed first. Under LIFO, the cost of goods sold reflects the newest inventory costs. Note that LIFO is not permitted under Indian Accounting Standards (Ind AS) and is mentioned here for completeness.

Location A specific storage area within a warehouse — such as a rack, bin, shelf, or zone. Locations allow granular tracking of where items are physically stored. In Udyamo ERP Lite, locations are defined under Inventory > Warehouses & Locations and can be assigned when recording stock movements.


M

Master Data The foundational, relatively static records that define the business entities used across the ERP system — such as items, customers, vendors, employees, accounts, and warehouses. Master data is set up during implementation and updated infrequently, in contrast to transaction data which is created daily.

Material Issue The process of issuing (withdrawing) raw materials or components from inventory to a production order for consumption on the shop floor. In Udyamo ERP Lite, material issues reduce stock from the warehouse and link the consumed materials to the corresponding production order.

Material Requirements Planning (MRP) A planning methodology that calculates the quantity and timing of raw material purchases needed to fulfill production orders, based on the BOM, current stock levels, and lead times. MRP ensures that materials are available when production needs them, without overstocking.

Migration The process of transferring data from an existing system (spreadsheets, legacy software, or another ERP) into Udyamo ERP Lite. Migration typically involves importing master data (items, customers, vendors, accounts) and opening balances. Careful data cleaning and validation are essential for a successful migration.

Module A functional component of an ERP system that handles a specific area of business operations. Udyamo ERP Lite includes modules for Manufacturing, Inventory, Sales, Purchases, Accounting, Tax & Compliance, HR & Payroll, and Asset Management. Modules share a common database and pass data between each other automatically.

MRP (Material Requirements Planning) See Material Requirements Planning (MRP).

MRP II (Manufacturing Resource Planning) An extension of MRP that goes beyond material planning to include capacity planning, shop floor scheduling, and financial integration. MRP II is the predecessor to modern ERP systems and represents the evolution from materials-only planning to full manufacturing resource management.

Multi-tenancy A software architecture in which a single instance of the application serves multiple organizations (tenants), with each tenant's data logically isolated from the others. Multi-tenancy is common in cloud ERP and SaaS deployments, where the infrastructure is shared but each business sees only its own data.


N

Net Salary The amount an employee actually receives after all deductions (PF, ESIC, professional tax, income tax, and any other deductions) are subtracted from the gross salary. Also known as take-home pay. In Udyamo ERP Lite, net salary is calculated on the salary slip.

Number Range A sequential numbering scheme used to assign unique identifiers to documents such as invoices, purchase orders, production orders, and journal entries. Number ranges ensure documents are uniquely and consistently numbered. In Udyamo ERP Lite, number ranges are configured per document type during setup.


O

On-Premise A deployment model where the ERP software is installed and runs on servers physically located at the business's own premises or data center. On-premise deployments give the business full control over its data and infrastructure but require in-house IT expertise for maintenance and updates.

Opening Balance The balance of a ledger account, bank account, or stock item at the beginning of a defined period (typically a financial year). When setting up Udyamo ERP Lite for the first time, opening balances must be entered to reflect the business's financial position as of the go-live date.


P

PAN (Permanent Account Number) A unique 10-character alphanumeric identifier issued by the Indian Income Tax Department to individuals and entities. PAN is required for tax filings, TDS compliance, and is embedded within the GSTIN. In Udyamo ERP Lite, PAN is recorded in the organization profile and vendor master.

Payment Terms The conditions under which a seller expects payment from a buyer, including the due date, any early payment discount, and the credit period. Common examples include "Net 30," "Net 60," or "50% advance, 50% on delivery." In Udyamo ERP Lite, payment terms are configured and assigned to customers and vendors.

Production Order A document that authorizes the manufacturing of a specified quantity of a finished product. The production order references a BOM, specifies the planned quantity and dates, and tracks the progress of production from planning through material issue to completion. In Udyamo ERP Lite, production orders are managed under Manufacturing > Production Orders.

Professional Tax A state-level tax levied on salaried individuals and professionals in India. The tax amount varies by state and is typically a small monthly deduction (up to 200 rupees per month in most states). In Udyamo ERP Lite, professional tax is deducted automatically during payroll processing based on the employee's work state.

Profit and Loss Statement (P&L) A financial report that summarizes a business's revenues, costs, and expenses over a specific period to show whether the business made a profit or a loss. Also known as the income statement. In Udyamo ERP Lite, the P&L is generated automatically from the general ledger under Reports > Financial Reports.

Proforma Invoice A preliminary document sent to a prospective buyer quoting prices, quantities, and terms before a confirmed sale. A proforma invoice is not a demand for payment — it serves as a quotation or estimate. In Udyamo ERP Lite, proforma invoices can be converted into sales orders and then into tax invoices once the customer confirms.

Provident Fund (PF/EPF) A statutory retirement savings scheme in India managed by the Employees' Provident Fund Organisation (EPFO). Both the employer and employee contribute 12% of basic salary (subject to statutory rules). In Udyamo ERP Lite, PF contributions are calculated and deducted automatically during payroll processing.

Purchase Order (PO) A formal document issued by a buyer to a vendor authorizing the purchase of goods or services at agreed prices and terms. The purchase order serves as a binding commitment. In Udyamo ERP Lite, purchase orders are created under Purchases > Purchase Orders and can be linked to goods receipt notes and bills.


Q

Quality Inspection A formal evaluation of materials or products against defined quality parameters to ensure they meet specifications. Quality inspections can be performed on incoming raw materials, in-process goods, or finished products. In Udyamo ERP Lite, inspections are recorded against production orders with pass/fail outcomes.


R

Raw Material A basic material that is consumed in the manufacturing process and transformed into a finished product or semi-finished good. Examples include steel sheets, chemicals, yarn, or electronic components. In Udyamo ERP Lite, raw materials are a category of items in the item master and appear as inputs in the BOM.

Reconciliation The process of comparing two sets of records to ensure they agree — for example, matching the bank statement against the cash/bank ledger in the ERP, or matching purchase bills against vendor statements. In Udyamo ERP Lite, bank reconciliation is available under Accounting > Bank Accounts.

Reorder Level The inventory threshold at which a new purchase order should be placed to replenish stock before it runs out. The reorder level accounts for lead time and consumption rate. In Udyamo ERP Lite, reorder levels are set per item, and the system generates low-stock alerts when stock falls to or below this level.

Reverse Charge Mechanism (RCM) A GST provision where the liability to pay tax shifts from the supplier to the recipient of goods or services. RCM applies to specified categories of supplies (such as services from unregistered persons or certain notified goods). In Udyamo ERP Lite, transactions subject to RCM can be flagged so that the tax liability is recorded against the buyer.


S

SAC Code (Services Accounting Code) A classification code used under GST to identify and categorize services, analogous to HSN codes for goods. SAC codes determine the applicable GST rate for services. In Udyamo ERP Lite, SAC codes are assigned to service-type items in the item master.

SaaS (Software as a Service) A software delivery model in which the application is hosted by a provider and accessed by users over the internet, typically on a subscription basis. SaaS eliminates the need for local installation and infrastructure management. Udyamo ERP Lite can be used as a SaaS product or self-hosted.

Safety Stock An additional quantity of inventory kept on hand as a buffer against unexpected demand spikes or supply delays. Safety stock reduces the risk of stockouts. In Udyamo ERP Lite, safety stock levels can be configured per item and are factored into reorder calculations.

Salary Slip A document issued to an employee each pay period detailing the components of their earnings (basic, allowances) and deductions (PF, ESIC, professional tax, TDS). In Udyamo ERP Lite, salary slips are generated during payroll processing under HR & Payroll > Salary Slips.

Sales Order A confirmed order from a customer specifying the products, quantities, prices, delivery date, and payment terms. A sales order represents a commitment to deliver. In Udyamo ERP Lite, sales orders are created under Sales > Sales Orders and can be generated from proforma invoices.

Salvage Value The estimated residual value of a fixed asset at the end of its useful life. Salvage value is subtracted from the original cost when calculating depreciation under the Straight Line Method. In Udyamo ERP Lite, salvage value is configured in the asset record.

Scrap Waste material generated during the manufacturing process that has little or no value. Scrap may be sold to scrap dealers or disposed of. In Udyamo ERP Lite, scrap quantities can be recorded against production orders to maintain accurate yield and cost calculations.

Semi-Finished Good A product that has undergone partial manufacturing and requires further processing before it becomes a finished good. Also known as a work-in-progress item or intermediate product. In Udyamo ERP Lite, semi-finished goods can be stocked as inventory items and used as inputs in subsequent BOMs.

SGST (State Goods and Services Tax) The state government's share of GST, charged on intra-state (within the same state) supplies of goods and services. SGST is always charged alongside CGST in equal proportions. Udyamo ERP Lite calculates SGST automatically based on the parties' state codes.

Shop Floor The area in a manufacturing facility where production activities take place — where machines operate, assembly happens, and goods are fabricated. In ERP terminology, shop floor management refers to tracking and controlling production activities at the operational level.

Stock Keeping Unit (SKU) A unique identifier assigned to each distinct product or item variant for the purpose of inventory tracking. An SKU distinguishes items by attributes such as size, colour, or grade. In Udyamo ERP Lite, the item code serves as the SKU and is used across all inventory transactions.

Stock Ledger A detailed record of all stock movements — receipts, issues, transfers, and adjustments — for each item, showing the running balance and valuation. In Udyamo ERP Lite, the stock ledger is the authoritative record for inventory quantities and values, accessible under Inventory > Stock Ledger.

Stock Movement Any transaction that changes the quantity of an item in a warehouse — including goods receipt, material issue, stock transfer, sales dispatch, and stock adjustment. Each stock movement creates an entry in the stock ledger. In Udyamo ERP Lite, stock movements are recorded automatically from related transactions or manually via stock adjustments.

Straight Line Method (SLM) A depreciation method that allocates an equal amount of depreciation expense to each year of an asset's useful life. The annual depreciation is calculated as (Cost - Salvage Value) / Useful Life. Udyamo ERP Lite supports SLM as one of the available depreciation methods for fixed assets.


T

TAN (Tax Deduction and Collection Account Number) A unique 10-digit alphanumeric number issued by the Indian Income Tax Department to entities responsible for deducting or collecting tax at source (TDS/TCS). TAN is mandatory for filing TDS returns. In Udyamo ERP Lite, TAN is recorded in the organization profile.

Tax Invoice A document issued by a registered GST taxpayer to a buyer that details the goods or services supplied, their value, and the tax charged (CGST, SGST, or IGST). A tax invoice is the legal document that enables the buyer to claim input tax credit. In Udyamo ERP Lite, tax invoices are generated under Sales > Invoices.

TDS (Tax Deducted at Source) A mechanism under the Indian Income Tax Act where the payer deducts a prescribed percentage of tax from specified payments (such as contractor fees, rent, or professional fees) and remits it to the government on behalf of the payee. In Udyamo ERP Lite, TDS sections and rates can be configured and applied to vendor bills automatically.

Three-Way Matching A verification process that compares three documents — the purchase order, the goods receipt note, and the vendor bill — to ensure that the quantities and amounts are consistent before authorizing payment. Three-way matching prevents overpayment and fraud. Udyamo ERP Lite supports this matching during bill processing.

Transaction Data The records generated from day-to-day business operations — such as sales invoices, purchase orders, production orders, journal entries, and payments. Transaction data is created continuously and in high volume, in contrast to master data which is relatively static.

Trial Balance A report listing all ledger accounts and their debit or credit balances at a specific date. The total of all debits must equal the total of all credits. The trial balance is used to verify the accuracy of bookkeeping before preparing financial statements. In Udyamo ERP Lite, the trial balance is available under Reports > Financial Reports.


U

UAN (Universal Account Number) A unique 12-digit number assigned to each member of the Employees' Provident Fund (EPF) by EPFO. The UAN remains constant throughout an employee's career, even when they change employers, and is linked to all their PF accounts. In Udyamo ERP Lite, UAN is recorded in the employee master.


V

Voucher A document that authorizes or records a financial transaction. In Indian accounting practice, vouchers are categorized by type — payment voucher, receipt voucher, journal voucher, contra voucher, and so on. In Udyamo ERP Lite, the term refers to the underlying accounting entry created for each financial transaction.


W

Warehouse A physical location where inventory is stored. A business may have multiple warehouses — for example, a raw material warehouse, a finished goods warehouse, and a dispatch area. In Udyamo ERP Lite, warehouses are defined under Inventory > Warehouses & Locations, and stock is tracked separately for each warehouse.

Weighted Average An inventory valuation method where the cost of each unit is calculated as the weighted average of all units available for sale or use, recalculated after each purchase or production receipt. This method smooths out cost fluctuations. Udyamo ERP Lite uses the weighted average method for inventory valuation.

Work-in-Progress (WIP) Goods that are in the process of being manufactured but are not yet complete. WIP represents the value of raw materials, labour, and overhead that have been invested in partially completed products. In Udyamo ERP Lite, WIP is tracked through open production orders and the associated material issues.

Workflow A defined sequence of steps, approvals, and actions that a business process follows from initiation to completion. In Udyamo ERP Lite, workflows govern how documents move through stages — for example, a purchase order may go from Draft to Pending Approval to Approved to Received.

Written Down Value (WDV) A depreciation method where a fixed percentage of the asset's remaining book value is depreciated each year. This results in higher depreciation in the early years and lower depreciation in later years. WDV is the method prescribed by the Indian Income Tax Act for most asset categories. Udyamo ERP Lite supports WDV as a depreciation method.


Y

Yield The quantity of finished goods actually produced from a production order, expressed as a percentage of the planned or expected output. A yield of less than 100% indicates material loss due to scrap, evaporation, or process inefficiency. In Udyamo ERP Lite, yield is tracked by comparing the completed quantity against the planned quantity on a production order.