What is TDL or Tally Definition Language?

What is TDL or Tally Definition Language?

What is TDL or Tally Definition Language?

Since more than 20 years ago, Tally Solutions has been engaged in providing complete business solutions to large and micro enterprises, and Small and Medium-sized Enterprise (SMEs) companies. Every year, most businesses continue to use Tally, the company’s flagship software, which has more than 3 million users in more than 100 countries.

The company’s flagship product, Tally, which started as a simple accounting system 20 years ago, is now a complete integrated solution that addresses many different business aspects of a corporation. This includes budgets and controls, cost and profit centres, order costing, Point of Sale (POS), group company consolidation, statutory taxes, payroll, and accounts.

It also manages Receivable/Payable, Inventory Accounting, Inventory Management, Manufacturing Inventory, and other major and minor functions. During the previous 12 years, it operated as an ERP (Enterprise resource Planning) software for small businesses.

Tally has added some excellent features with the addition of remote access and authentication, support centre, central administration, and in-house support in the product.

What is TDL in Tally Prime?

The development language for Tally is called Tally Definition Language (TDL). TDL was created to give the user the freedom and control to extend Tally’s built-in features and integrate them with third-party applications. TDL offers the user a platform for the development of the entire Tally user interface. TDL is used to build Tally ERP 9. Also, rapid development, rendering, data management and integration are all possible with TDL in Tally Prime. After Tally ERP 9 Release 3, new features will be included in each subsequent version to serve large enterprises better.

Comparison of Tally Prime TDL to Other Languages

Nowadays, there are many languages used worldwide to create applications. These languages were created with several specific application areas in mind. While some languages may be useful for writing system programs, others may be better suited for creating front-end applications. Numerous language categories are that are currently available include:

1. Low-level Languages

Low-level languages are those that can communicate with the hardware directly. They contain instructions delivered either directly in digital code that a computer can interpret, or in pseudocode. These languages require a very high level of hardware knowledge. For example, any native machine language or assembly.

2. Intermediate Languages

Like higher-level languages, intermediate-level languages include grammar, rules, and functions. However, they can also incorporate low-level languages into their code. Examples include BASIC, C , etc.

3. Advanced Languages

High-level languages are like English in many ways. They are easy to program, learn and debug. Third-generation and fourth-generation languages are two subcategories of high-level programming languages. Examples include Python, Java, etc.

4. Third-generation Languages

Most high-level languages are third-generation languages. Third-generation languages are procedural, meaning that the computer exactly follows the sequence of execution defined by the programmer. From the first to the last line of code, the program runs, considering all the control statements and loops that have been used. Examples include C, COBOL, Fortran, Java, etc.

5. Fourth-generation Languages

Fourth-generation languages are not well defined (4GL). 4GLs are typically high-level languages that require fewer instructions to complete a task. This allows the programmer to quickly create and implement code. 4GLs are primarily non-procedural languages.

For example, some 4GLs use report generators to create complicated reports, while others use single-line instructions to load, store, and modify data in a database. The report is generated automatically when headings and totals are entered using the language. A specific 4GL can be used to define a screen design that is automatically generated.

TDL can be categorised as a fourth-generation, high-level language in the classification of computer languages. The user-friendly features that TDL offers go far beyond those of other 4GL languages. This may also include achieving certain goals such as screen design, report generation, and database management.

With the ability to process data, create complicated reports, and design screens with only a few lines of code, TDL is a comprehensive 4GL language that gives programmers power and enables rapid development. Let us now look at the elements in more detail so that we can understand and appreciate the potential offered by TDL.


What Are the Capabilities of TDL Programming?

1. Rapid Development

TDL is a definition-based language. Existing definitions can be reused and implemented. This language is designed for rapid growth. Comprehensive reports can be created in minutes, using TDL. By entering a few lines of code, the user can extend the basic functionality of the product.

2. Several Output Possibility

Multiple output devices and formats can be used when sending output in the same language. Whenever the output is generated, it can be printed, displayed on the screen, saved to a file in a specific format, and then mailed or uploaded via HTTP to a web page. A single line of code is all it takes to make everything work.

3. Data Management Capacity

Data is stored and retrieved as objects are previously mentioned with TDL file. The platform has several predefined internal objects. Information about them can be easily created and edited using the TDL programming. Imagine that the user needs a second field to store data as part of a preset object. A user can create a new field and enter a value into it using TDL which enables this functionality. This value can then be stored in the Tally.ERP 9 database.

4. Integration Skills

Information sharing between applications must be seamless to meet the demands of the business environment. To avoid double data entry, integration is essential. Data integration with other applications is a feature of the Tally.ERP 9 platform.

Main Features of TDL Programming 

1. Definition of the TDL Language

Users are given “definitions” through a definition language that they can use to describe the work at hand. The user can specify a task to be completed but has no control over the sequence of events that occur when the job is completed. The expected order of language occurrences cannot be changed by the user. Since TDL in Tally relies on named definitions, each definition must have a different name from other definitions. Definitions of user interface objects in TDL include assemblies, parts, forms, lines, and fields.

TDL can define reports, menus, forms, and other things, but until they are used, the definitions are meaningless. Definitions are used not just because they are there. The principles of object-oriented programming serve as the basis for TDL. This language was developed for reuse. Once generated, the definition can be used as many times as needed. In addition to reusability, the user can also add new functions and modify current definitions.

2. Non-procedural Words

Most programming experts require the knowledge of procedural languages, where a series of actions are provided to specify a series of events to occur. The programmer has full control. The beginning and end of the program can be determined by the programmer. The sequence cannot be controlled by the programmer, and the software includes implicit links to each sequence. The programmer is unable to create a custom procedure, because the TDL programming platform  offers programmers a choice of tools.

3. Activated Language

The only thing a programmer can control is what happens when a particular event occurs. The user has the option to choose any series of actions during the interaction. A certain part of the code will be executed depending on the user’s action.

4. Detailed Language

The list of available features, characteristics, actions, etc. of the platform is given in TDL, which is a rich language. It is possible to quickly create a complex report or change an existing one. Consider how many lines of code it would take to implement a simple button if you used a conventional programming language.

5. Rapidity and Adaptability

The software’s architecture and language offer incredibly high flexibility and speed. In this context, “speed” refers to the rate of deployment. The deployment process is incredibly fast with Tally.ERP 9/ Tally Prime, and is adaptable enough to adjust its functionality to the needs of the customer’s business. Most of the time, customer-specific requirements may appear to require significant functional modifications, but they may only need modest tweaks to already-existing functionality, which may be completed quickly.


The development language for Tally is called Tally Definition Language (TDL). ERP 9 TDL was created to give the user the freedom and control to expand Tally’s built-in features and integrate them with third-party apps. TDL offers the user a platform for development.
You can use the Biz Analyst application to manage your business effectively. It syncs with Tally data making it easy to access even if you’re offline or on the go. You can manage the accounts, create ledger entries, access business reports, and more to keep your business on the right track.

Share this post

has been added to your cart.