TDL is the backbone of Tally.ERP 9; the entire user interface and default reports are built using it.
Non-Procedural & Action-Driven: Unlike traditional procedural languages (like C or Java), TDL focuses on "definitions." Actions are triggered by user interactions such as key presses or menu selections.
Object-Oriented Structure: TDL operates on an object-oriented framework where interface objects (menus, reports, forms) and data objects (masters, transactions) are manipulated through methods and collections.
Rapid Development: It emphasizes re-usability, allowing developers to create complex reports or modify existing ones with significantly fewer lines of code than traditional languages. 2. Core Components and Architecture
TDL programs are structured through a hierarchy of definitions:
Interface Objects: These define the user experience and include Menus, Reports, Forms, Parts, Lines, and Fields.
Data Objects: These manage data persistence within the Tally database. TDL allows for the creation of User Defined Fields (UDFs) to store additional information not present in the default schema.
Collections: These are groups of objects (internal or external) used to fetch and display data. tdl for tally erp 9
Actions & Events: TDL uses actions like Display, Print, or Alter to execute tasks when specific conditions or events occur. 3. Development Environment and Tools
Developing in TDL requires specific tools to write, compile, and manage code:
Tally Developer 9 (TD9): This is the specialized Integrated Development Environment (IDE) provided by Tally Solutions for writing and managing TDL projects. It provides access to the complete Tally source code for reference.
Dictionary Manager: A tool within Tally Developer 9 used to handle multi-lingual requirements, enabling the translation of interface strings for localized versions. File Formats:
.txt or .tdl: Source code files created in any ASCII text editor (like Notepad).
.tcp (Tally Compliant Product): Compiled binary files that protect the source code for commercial distribution. 4. Key Capabilities and Applications
Developers use TDL to bridge the gap between standard Tally features and specific business needs: TDL is the backbone of Tally
Custom Reporting: Designing unique layouts for vertical reports, department-specific reports, or MIS dashboards.
Voucher & Invoice Customization: Modifying the look and feel of invoices, adding extra columns for GST/HSN tracking, or creating custom voucher types.
Data Integration: Linking Tally with external applications or databases via XML, ODBC, or DLL interfaces.
Automation: Setting up cash control limits (e.g., restricting payments above ₹10,000) or automating recurring entries. 5. Implementation and Configuration
To run a TDL file in Tally.ERP 9, the file path must be specified in the system:
Open Tally.ERP 9 and go to F12: Configuration > Product & Features. Press F4: Manage Local TDLs.
Set Load TDL files on startup to Yes and provide the full path of the .txt or .tcp file. Report: The top-level container (e
Alternatively, the path can be added directly to the Tally.ini file using the TDL parameter.
For further learning, developers often refer to the Tally Developer Reference or the TDL Reference Manual. TDL Training for Tally.ERP 9 Developers | PDF - Scribd
Here’s a detailed guide to TDL (Tally Definition Language) for Tally ERP 9, covering its purpose, structure, key components, development environment, and practical examples.
A typical TDL customization follows this object hierarchy:
TDL syntax is proprietary and tag-based. It uses a hierarchical structure to define objects.
.tcp files) are lightweight and easy to deploy. You simply place the file in the Tally folder or link it via the configuration, and the features are live.Using Tally Developer:
.tcp (Tally Compiled Package)For client distribution without exposing source code, use Encrypted TDL (Tally Developer can encrypt).
TDL (Tally Definition Language) is the proprietary development language used by Tally Solutions. It is an action-oriented, non-procedural language that allows developers to extend the capabilities of Tally.ERP 9. Unlike standard programming languages (like C++ or Python) that build software from scratch, TDL is designed specifically to customize existing software.
Sample.tdl from Tally ERP 9 folder (often inside Tally\Develop\Samples)