Tdl For Tally Erp 9 Site
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.
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.
| Problem | Likely Cause | Solution | | :--- | :--- | :--- | | | Misspelled keyword or missing colon. | Check case sensitivity. TDL is UPPERCASE sensitive. | | Tally crashes on load | Infinite loop or incorrect parent definition. | Use ##SV STOP to pause execution and trace. | | Field doesn’t save data | No Storage attribute for the field. | Add Storage : MyNewFieldName . | | Report shows no data | Collection uses wrong source or where clause. | Test your condition using Explode : Yes in the collection. | tdl for tally erp 9
“TDL doesn’t change Tally. It makes Tally change for you.”
TDL uses : (colon) for attributes and ## for commands. For example: When entering a sales invoice, a new field appears
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.
[#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" Staff keep selecting them by mistake
| Component | Description | Example Usage | | :--- | :--- | :--- | | | 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. |