Voucher Type Wise Print Title Fixed in Tally

In Default Tally Prime or Tally ERP have no option to set title voucher Print invoice in all Voucher Type. Using This addons you can set Voucher type Wise Print Title. If The Print Title is blank or Empty then Voucher Type Name will be Print as Voucher Print title.

for Example

if we are Create more the one voucher type in single voucher type (Sales Order or Purchase Order) Now we want to fixed the Print title for every Voucher Type. Then Using This addons we can fixed title for every voucher.

Voucher Type Wise Print Title Fixed

For any Type of Tally Customization Please connect with us.


Voucher Type Wise Print Title Fixed in Tally Read More »

Data Type in Tally Developer

In TDL (Tally Definition Language), which is the language used to customize Tally ERP software, there are several data types available for storing and manipulating data. Here are the common data types used in TDL

The Data Types in TDL specify the type of data stored in the field. TDL, being a business language, supports business data types like amount, quantity, rate, etc., apart from the other basic types. The data types are classified as

  • Simple Data Types
  • Compound Data Types.

 Simple Data Type This holds only one type of data. These data types cannot be further divided into sub-types. String, Number, Date and Logical data types fall in this category.

 Compound Data Type It is a combination of more than one data type. The data types that form the Compound Data Type are referred to as sub-data types. The Compound Data types in TDL are: Amount, Quantity, Rate, Rate of exchange and Aggregate.

The type for the field definition is specified using the Type attribute.


 [Field : MYField]
 Type  : Number Field

Data Type in Tally Developer Read More »

What is the Collection in Tally Developer

Collection is group of objects, or group of collection.

There are two type of collection

  1. Simple collection
  2. Compound Collections

  Simple Collection : – A collection have only single method which is repatriable, This Know as simple collection.

Example : –

[Collection   : My Ledger Coll]

	Type : Ledger   
 ;; Ledger is The Object Using This Object We can Get Date From Ledger Master , Like LedgerName , Group , Mobile No etc
	Fetch : Name

Compound Collections : A collection have multiple object or Multiple Collection This know as compound collection.

Example : –

           [collection : BaseSalesVoucher]
		Type : Vouchers  : Voucher Type
		Child of : “Sales”
		Belong To : Yes

;;;;;; Voucher is a object using This Object we can get data From Transaction Level. in This Collection we fixed the data will be ;;;;;return from Sales Voucher.

[Collection  : My New Collection]
     Source Collection :  BaseSalesVoucher

  ;;;; Using the source Collection we are Call the pre
    ;;;;; After That you can write your ,logic  if you want call data party Wise then PartyledgerName
	By 	: PartyLedgerName	: $PartyLedgerName
	Aggr Compute : Amount	: Sum	: $Amount

What is the Collection in Tally Developer Read More »

Earn Money From TDL Freelancing

TDL (Tally Definition Language) is a programming language used to customize and extend the functionality of Tally.ERP 9, which is a popular accounting software widely used by businesses. TDL allows users to create custom reports, modify existing features, add new functionalities, and integrate Tally with other applications.

If you have expertise in TDL programming and want to work as a TDL freelancer, here are some steps you can take:

Enhance your TDL skills: Ensure that you have a solid understanding of TDL programming language and its syntax. Familiarize yourself with the Tally. ERP 9 software and its various modules.

Build a portfolio: Create a portfolio of your TDL projects to showcase your skills and expertise. Include examples of customizations, reports, or enhancements you have implemented using TDL. This will help you demonstrate your capabilities to potential clients.

Create profiles on freelancing platforms: Register on popular freelancing platforms such as Upwork, Freelancer, or Fiverr. Create a detailed profile highlighting your TDL skills and experience. Include your portfolio and any relevant certifications or qualifications.

Bid on TDL projects: Browse through the available TDL projects on freelancing platforms and submit proposals for the ones that align with your skills and interests. Clearly communicate your expertise and explain how you can add value to the project. Be competitive with your pricing but ensure it reflects your expertise and the complexity of the project.

Network and market yourself: Attend industry events, join TDL programming communities or forums, and network with professionals in the accounting and TDL space. Participate in discussions, share your knowledge, and establish yourself as a TDL expert. Utilize social media platforms and your personal website/blog to promote your TDL services and showcase your expertise.

Deliver quality work: When you secure TDL projects, focus on delivering high-quality work within the agreed-upon timeframe. Communicate effectively with clients, understand their requirements, and provide regular updates on the progress of the project. Ensure that the final deliverables meet or exceed their expectations.

Seek feedback and testimonials: Request feedback and testimonials from your clients once the project is completed. Positive reviews and testimonials can enhance your credibility and attract more clients in the future.

Continuously update your skills: Stay updated with the latest developments in TDL programming and the Tally.ERP 9 software. Attend training programs, participate in webinars, and explore additional certifications to enhance your skills and stay competitive in the market.

Remember, freelancing requires self-motivation, discipline, and effective time management. It may take time to establish your reputation and build a steady client base. Provide excellent customer service, maintain professionalism, and deliver quality work to ensure long-term success as a TDL freelancer.

If you want TDL freelancer Please connect with us.

We are hiring TDL Developer , TDL Freelance Part Time .

If you are a TDL developer and you to do job as freelancer Please connect with us.

Pradeep Ray TDL Freelancer

Earn Money From TDL Freelancing Read More »

Key feature of TDL

TDL (Tally Definition Language) is a programming language specifically designed for customizing and extending the functionality of Tally.ERP 9, a popular accounting software. Here are some key features of TDL:

  1. Extensibility: TDL allows you to extend the core functionality of Tally.ERP 9 by adding new features, customizing existing features, and integrating with other applications. It provides a framework to develop custom modules and applications tailored to specific business requirements.
  2. Data Manipulation: TDL allows you to manipulate data within Tally.ERP 9. You can create, modify, and delete Tally objects such as ledgers, vouchers, groups, and masters. This enables you to customize the behavior and structure of Tally as per your business needs.
  3. User Interface Customization: With TDL, you can modify the user interface of Tally.ERP 9 to enhance user experience and simplify data entry. You can add new screens, buttons, menus, and forms, and define their behavior and interactions with Tally data.
  4. Data Integration: TDL enables seamless integration of Tally with other applications and databases. You can exchange data between Tally and external systems, import/export data in various formats (such as Excel, XML, CSV), and automate data synchronization processes.
  5. Business Logic Implementation: TDL allows you to implement complex business logic within Tally.ERP 9. You can define validation rules, calculations, workflows, and custom business processes. This helps you enforce specific business rules and ensure data accuracy and consistency.
  6. Reporting and Analysis: TDL provides extensive capabilities for creating customized reports and analytical tools. You can design and generate reports with specific data filters, grouping, and calculations. This empowers you to extract meaningful insights from Tally data and present it in a format suitable for decision-making.
  7. Multi-Language Support: TDL supports multiple languages, allowing you to develop Tally extensions in various languages based on your preference and target user base.
    Overall, TDL serves as a powerful tool for extending and customizing Tally.ERP 9, enabling businesses to tailor the software to their specific needs, automate processes, and enhance productivity.

Key feature of TDL Read More »

Variable In TDL

In TDL, a Variable is one of the important definitions, since it helps to control the behavior of Reports and their contents. Variables assume different values during execution and these values affect the behavior of the Reports.
A Variable definition is similar to any other definition.
[Variable: ]
Attribute : Value
A Variable should be given a meaningful name which determines its purpose.

Attributes of a Variable

Type : – This attribute determines the Type of the value that will be held by the variable. The Types of
values that a variable can handle are String, Logical, Date and Number. In the absence of this
attribute, a variable assumes to be of the Type String, by default.
[Variable: ]
Type :

Default : – This attribute is used to assign a default value to a variable, based on the ‘Type’ defined.
[Variable: ]
Default :
Value of the variable should adhere to the data type specified with ‘Type’ Attribute.
[Variable : DSP HasColumnTotal]
Type : Logical
Default : Yes
The Default Initial Value for the logical Variable DSP HasColumnTotal is set to YES. This variable
will begin with an initial value YES in the Reports, unless overridden by the System Formula. We
will learn about the System Formula in the coming sections.

Persistent : –This attribute decides the retention periodicity of the attribute. If the attribute ‘Persistent’ is set toYES, then the latest value of the variable will be retained across the sessions, provided the variable is not a local variable. We will learn about the concept of local and global variables shortly.


[Variable: ]

Volatile : – In cases where the ‘Volatile’ attribute in the Variable definition is set to YES, the variable is capable of retaining multiple values, i.e., its original value with its subsequent values, are stored as a stack. The default value of this attribute is YES. In cases where a new report R2 is initiated, using a volatile variable V, from the current report R1, the current value of the volatile variable will be saved as in a stack, and the variable can assume a new value in the new report R2. Once the previous report R1 is returned back from the report R2, the previous value of the variable will be restored. A classic example of this is a drill-down Trial Balance.


[Variable: ]

Repeat : –This attribute is mainly used to achieve the Auto Column behaviour in various Reports. Each Column is created with a subsequent Object in a Collection automatically, till all the columns required for Auto Columns exhaust. The ‘Repeat’ attribute has its value as a variable which has the collection of Objects, for which the columns need to be generated. Every time the Repeat is executed, the column for the subsequent Object is added.


[Variable: ]
Repeat :

The Scope of a Variable : – The scope of a Variable can be broadly classified as follows:

  • Local
  • Global
  • Field acting as a variable

Local : – A Variable is termed as a local variable when it is associated to a Report. This means that the scope of the variable covers only the current report and its components. It is not mandatory for local variables to have an initial value.


[Report : ]

Global : –

A variable is termed as Global variable when it is defined under System Variable section. It means
that the scope of the variable covers all reports. An initial value is mandatory for global variables.

Note : – A Global Variable can also be made local to a Report by associating it to a Report, as
discussed in Local Variables above.

Field Acting as a Variable : – The Variable attribute in a ‘Field’ Definition is used to make the Field behave as a Variable. This means that as soon as some value is entered/altered in a Field, the variable assumes the same value with immediate effect. The Variable need not be defined previously, since it inherits its data type from the Field itself.

Note :- The Variables used in a Field Acting as a Variable are local variables, and are local to the Report.

Variable In TDL Read More »

Tally Definition Language

Tally Definition Language

Tally Definition Language is the application development language of Tally. TDL provides a development platform for the user. The entire User Interface of Tally.ERP 9 is built using TDL. TDL as a language provides capabilities for Rapid Development, Rendering, Data Management and Integration.

TDL is an Action-driven language based on definitions. It emphasizes strongly on the concept of re-usability. It comprises of Interface and Data objects. Interface Objects

mainly determine the behavior of the product in terms of user experience. Data objects are mainly used for data persistence in the Tally Database.

TDL is fourth generation language. In TDL we can design a complex report in few line of come.

Basic Diagram for write a Program:-


Pradeep Ray
Fig 1 Program Flow Chart


TDL Capabilities

  • Rapid Development
  • Multiple Output Capability
  • Data Management Capability
  • Integration Capability

In TDL language reuse the code. Example- if we are developing a report, then we can reuse the code for develop the another report. TDL also generate the multiple output format like Excel, Image, XML etc.  In TDL we can store the data in object. Using the TDL we can add the additional information field and store the data as per client requirement. But always this all data store in object. In Tdl Language have a capability to share the data across the platform. We can send the data in another application and also get the data form another application.  For integration we can use ODBC or XML request response process.

TDL Features

  • Definition Language
  • Non-Procedural Language
  • Action-Driven Language
  •  Rich Language
  • Flexibility and speed

First TDL Program

[#Menu: Gateway of Tally]

Add : Key Item : Before : @@LocQuit : First Example : F : Display : First Example

 Using This line we are add one menuin tally default screen before Quit. Name is First Example
 Display is a keyword for using this we are display the report in tally screen

[Report : First Example] – This is Report Defination

Form : First Example

[Form : First Example]

Part : First Example

[Part : First Example

Line : First Example

[Line : First Example]

Field: First Example

[Field : First Example]

Use : Short Name Field

Set as : $$Locale String:”Hello TDL”


Tally Definition Language Read More »