Tdl For Tally Erp 9 'link' | Free & Fresh
Tally Definition Language (TDL) is a powerful, proprietary 4th-generation language (4GL) that serves as the backbone for customizing Tally.ERP 9 . It allows businesses to extend the software's default capabilities—from simple report modifications to complex integrations—without needing to rebuild the entire application. Key Capabilities & Strengths
Rapid Development : TDL uses reusable definitions (reports, menus, forms), enabling developers to create complex reports in minutes by adding just a few lines of code.
Platform Independence : Customizations written in TDL remain functional regardless of the operating system or network environment.
Data Management : Users can create entirely new fields to store unique business data directly within the Tally database.
Extensive Integration : It facilitates seamless data exchange with external formats like Excel, XML, JSON, and CSV , helping avoid manual double-entry. Common Customization Examples
Businesses typically use TDL to implement features not found in the base version:
Mastering TDL for Tally ERP 9: The Ultimate Guide to Customization and Automation
Tally Definition Language (TDL) is the proprietary scripting language that powers the customization engine of Tally ERP 9 . For decades, Tally ERP 9 has been the backbone of中小型企业 (SMEs) accounting in India and the Middle East. However, while the standard version is powerful, no two businesses are identical. This is where TDL for Tally ERP 9 becomes a game-changer.
TDL allows developers, accountants, and system integrators to modify, extend, or completely reinvent the behavior of Tally ERP 9 without altering its core code. From adding a single custom field to an invoice to building an entirely new module, TDL is the key.
In this article, we will explore what TDL is, why it is essential, its core architecture, real-world use cases, and how you can start writing your first TDL program.
What Exactly is TDL in Tally ERP 9?
Tally Definition Language (TDL) is a metadata-driven, XML-like scripting language used exclusively within the Tally ecosystem. Think of it as a "skin and logic" modifier. TDL files (usually with .txt or .tdl extensions) are loaded into Tally ERP 9 at runtime.
When Tally ERP 9 starts, it reads its internal object definitions. But if you load a TDL file, Tally overrides or extends those definitions based on your instructions. This means you can:
Add new fields (e.g., "GST Vehicle Number" on a sales invoice).
Create new reports (e.g., "Profitability per Salesperson").
Modify existing menus (e.g., add a custom button on the Gateway of Tally).
Automate data validation (e.g., prevent saving a voucher if a field is empty). tdl for tally erp 9
The most important thing to know: No TDL code runs unless explicitly loaded. Tally ERP 9 will work perfectly without it, but TDL unlocks its true adaptive potential.
Why Use TDL for Tally ERP 9? (The Business Case)
Businesses often ask: “Why should we invest in TDL customization?” Here are five compelling reasons:
1. Industry-Specific Compliance
GST, TDS, and e-invoicing rules change frequently. While Tally releases updates, some niche requirements (e.g., a specific printing format for a state tax department) require immediate, custom TDL patches.
2. Workflow Automation
You can write TDL to auto-populate fields based on logic. Example: If the customer’s state is “Maharashtra,” automatically set the transport mode to “Road” and print an extra copy for the Sales Tax department.
3. User Experience (UX) Enhancement
Remove clutter. Hide irrelevant fields (e.g., hide "BOM" for non-manufacturing companies). Add tooltips, custom shortcuts, or color-coded rows in reports. This reduces data entry errors by up to 60%.
4. Bridging the Reporting Gap
Standard Tally reports (like P&L and Balance Sheet) are great, but what about a report showing “Top 10 slow-moving items per warehouse”? TDL can create that in 200 lines of code.
5. Third-Party Integration
You can use TDL to export data in a custom JSON/XML format for an external CRM, or import data from an Excel sheet via a TDL-driven import routine.
Core Components of TDL for Tally ERP 9
To work with TDL, you must understand its basic building blocks:
| Component | Description | Example Usage |
| :--- | :--- | :--- |
| #Part | Defines a UI block (like a form or section). | Adding a new row to a sales invoice. |
| #Field | Defines a single data entry element (text, date, number). | Adding a "Delivery Note No." field. |
| #Collection | Fetches data from Tally’s database (like SQL SELECT). | Get all pending sales orders. |
| #Report | Defines a custom report structure. | A new "Aging Analysis by Salesman" report. |
| #Action | Defines what happens on a button click or key press. | Trigger a custom validation or export. |
| #MenuLine | Adds or modifies menu items. | Add "My Tools" on the Gateway of Tally. |
Syntax Note: TDL uses : (colon) for attributes and ## for commands. For example:
[#Field: My Custom Field]
Type : String
Width : 20 Tally Definition Language (TDL) is a powerful, proprietary
Practical Examples: TDL in Action for Tally ERP 9
Let’s look at two real-world scenarios where TDL solves problems.
Example 1: Add a “Delivery Note Number” Field to Sales Invoice
The Problem: Your logistics team uses a separate delivery note series, but Tally’s standard invoice has no field for it.
TDL Solution:
[#Part: Vch Invoice Entry]
Line : DeliveryNoteField
[#Field: Delivery Note Field]
Use : Name Field
Name : VchDeliveryNote
Caption : "Delivery Note No."
Width : 15
Field Type : String
Default Value : "DN/001"
Result: When entering a sales invoice, a new field appears. The value is saved and can be printed or reported.
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.)
Result: Inactive ledgers vanish from all selection lists—no accidental selections.
Example 3: Custom Print Format with Barcode
The Problem: Your warehouse needs a barcode on every sales invoice.
TDL Solution: Write a custom #Part: Print Invoice that renders the order number as a Code-128 barcode font string. (Requires enabling a barcode font in Tally). Platform Independence : Customizations written in TDL remain
How to Load and Execute a TDL File in Tally ERP 9
You don’t need a separate compiler. Tally ERP 9 loads TDL at runtime. Follow these steps:
Write your TDL code in Notepad or a code editor (Notepad++, VS Code with TDL plugin).
Save the file with a .txt or .tdl extension (e.g., mycustomizations.tdl ).
Open Tally ERP 9 and go to Gateway of Tally .
Press Ctrl + Alt + L (Load TDL) or navigate to F12: Configure > Load TDL .
Browse and select your .tdl file.
Press Enter to load. If successful, you’ll see: “TDL Loaded Successfully.”
Nội dung đang được tải...