|Tally.ERP 9 has been architected to support full customisability. A technical overview is available here.
A Domain Specific Language –Tally Definition Language TDL,is at the heart of this capability. To aid in customising Tally.ERP 9, the TDL source code is available as part of our developer tool set
However, equally important is the extremely Rapid Development that TDL offers. Adding a new field, as an example, requires just a few lines of code (as small as 10 lines). The rest of the work of data storage, retrieval, impact on existing data and data synchronisation are all automatic... managed by the platform. In the same vein, the removal of the custom code is all that is required to make the field 'go away'.
Several generic objects that are provided by the platform can be used to develop radically different features - say a student management solution.
Additional 'hidden' capabilities offer data portability, where even a highly-customised database can be fully usable at another location with none or a different set of custom code.
Different customisations, built by development partners will, in most cases, operate without any interference.
During upgrades, the in-built migration tools that accompany Tally.ERP 9, attempt to migrate the custom code as well. In most cases, this happens successfully, except in a few, where major changes in TDL have also been made.
Calls to Microsoft's DLLs are also supported and this delivers the capability to develop extensions in other langages and use these as extensions in Tally.ERP 9.