For Tally Erp 9 !exclusive!: Tdl

TDL (Tally Definition Language) is the proprietary development language used to customize and extend the capabilities of Tally.ERP 9

. It allows you to create new reports, add custom fields, and automate accounting tasks to fit specific business needs. calameo.com How to Create and Use TDL You can write TDL code using a simple text editor like or the professional IDE, Tally.Developer 9 Write Code

: Open an ASCII text editor (e.g., Notepad) and type your TDL statements. : Save the file with a extension. Load in Tally Open Tally.ERP 9 and go to F12: Configure TDL Configuration Set "Load TDLs on Start-up" to Enter the full file path (e.g., C:\Tally\mycustom.tdl ) in the "List of TDLs to preload" field. Tallystack Common Customization Examples TDL is often used for specific functional enhancements: TDL Enhancements Tally.ERP 9-Program Write Up - Calaméo

Here’s a concise piece explaining TDL for Tally ERP 9: tdl for tally erp 9


TDL (Tally Definition Language) is the proprietary scripting language used in Tally ERP 9 to customize, extend, or modify the software’s behavior without altering its core code.

Core concepts

1. Industry-Specific Data Capture

Generic Tally doesn't have a field for "Vehicle Number" in a Sales Order. But if you run a transport business or a building material supply company, this data is mandatory. TDL lets you add these fields.

Troubleshooting tips

5. Common TDL Functions & Predefined Variables

| Function | Use | |----------|-----| | $$ValueExists | Check if a variable has value | | $$DateToString | Format date | | $$GetCurrentCompany | Returns current company name | | $$SysName | Current user | | $$IsPartyRetailer | Custom attribute check | | $Amount | Voucher amount field | | $PartyLedgerName | Ledger name in voucher | TDL (Tally Definition Language) is the proprietary scripting


Example 2: Hide Inactive Ledgers from Selection List

The Problem: Your chart of accounts has hundreds of old, inactive ledgers. Staff keep selecting them by mistake.

TDL Solution:

[#Collection: CmpLedgers]
   Fetch : LedgerName
   Where : IsInactive ??

(Overwrites the default collection to filter out any ledger where IsInactive = Yes.) Objects: Building blocks (Report, Form, Part, Line, Field,

Result: Inactive ledgers vanish from all selection lists—no accidental selections.

Part 2: Why Do You Need TDL for Tally ERP 9? (The Business Case)

Many businesses hesitate to use TDL, fearing it might "break" their Tally. However, without TDL, you are forced to adapt your business to Tally. With TDL, you make Tally adapt to your business.

Here are five scenarios where TDL is not just helpful, but essential:

1. What is TDL?

TDL (Tally Definition Language) is the proprietary scripting language used to customize and extend Tally ERP 9. It allows developers to:

Key philosophy: TDL works by altering or extending Tally’s in-memory object model. You write patches that override default behavior.


4. Common Newbie Mistakes