What is TDL?
TDL enables seamless data sharing between Tally.ERP 9 and external applications via various formats like XML, SDF, and ODBC Platform Independence:
[Function: CheckStock] Local : CurrQty, AvailQty CurrQty = ##SVCurrentQty AvailQty = ##SVClosingBalance IF CurrQty > AvailQty THEN Alert "WARNING: Selling more than available stock. Available: " + AvailQty ENDIF
Why use TDL
- Tailor Tally to specific business workflows (invoicing formats, approval flows, custom ledgers).
- Automate repetitive tasks (auto-populate fields, default logic).
- Create custom reports and dashboards beyond built-in reports.
- Integrate Tally with external systems (export/import, HTTP/ODBC/web services via connectors).
- Maintain upgrades: TDL customizations are usually upgrade-safe if coded correctly.
[#Part: Vch Invoice Entry]
Line : DeliveryNoteField
Common Pitfalls and Debugging Tips
Writing TDL can be frustrating because Tally’s error messages are cryptic. Here’s how to stay sane:
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.