List of TDL Functions

An Alphabetical-list of TDL functions  (Partial list) is provided herewith  for your reference.  
FunctionSyntaxReturn ValueRemarks
$$Abs$$Abs : <Expression>Same as parameter typeReturns the absolute (positive) value for the given expression
$$Alias$$AliasString$$Alias returns alternate value for the current Object. Stock Item and Ledger have Alias name. 
$$Allow$$Allow : <mode> : <family-report-name>LogicalChecks whether the current user has permission to access the specified object or report.
$$CollectionList$$CollectionList: <Method/Field> :
<PositionNumber> : <Collection>
Method/ Field
Datatype
$$CollectionList function is used to fetch the nthMethod/field of a Collection.
$$DateFrom$$DateFromDateReturns the Period starting date
$$DateTo$$DateToDateReturns the Period ending date
$$FullList$$FullList : <Collection> : <FieldList>Method/ Field
Datatype
$$FullList function is used to fetch any Method/Field of a Collection. The Method/Field values are separated by commas.
$$InPrintMode$$InPrintModeLogicalReturns true if the selected mode is Print, otherwise false. 
$$IsContra$$IsContra : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Contra
$$IsCreditNote$$IsCreditNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is CreditNote
$$IsDebitNote$$IsDebitNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is DebitNote
$$IsDelNote$$IsDelNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Delivery Note
$$IsEmpty$$IsEmpty: <parameter>LogicalChecks whether the parameter passed is empty or not. Parameter type can be String; Numeric; Date; Logical

Example:-
$$IsEmpty:$$Value
$$IsFirstObject$$IsFirstObjectLogicalReturns true if the current Object is the 1st object of the Collection.
$$IsJournal$$IsJournal : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Journal
$$IsMemo$$IsMemo : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Memo
$$IsPayment$$IsPayment : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Payment Voucher
$$IsPhyStock$$IsPhyStock : <VoucherTypeName>LogicalChecks whether the specified VoucherType is PhysicalStock Voucher
$$IsPurchase$$IsPurchase : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Purchase Voucher
$$IsPurcOrder$$IsPurcOrder : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Purchase Order Voucher
$$IsRcptNote$$IsRcptNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is ReceiptNote Voucher
$$IsReceipt$$IsReceipt : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Receipt Voucher
$$IsRejIn$$IsRejIn : <VoucherTypeName>LogicalChecks whether the specified VoucherType is RejectionIn Voucher
$$IsRejOut$$IsRejOut : <VoucherTypeName>LogicalChecks whether the specified VoucherType is RejectionOut Voucher
$$IsRevJrnl$$IsRevJrnl : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Reverse Journal Voucher
$$IsSales$$IsSales : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Sales Voucher
$$IsSalesOrder$$IsSalesOrder : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Sales Order Voucher
$$IsStockJournal$$IsStockJournal : <VoucherTypeName>LogicalChecks whether the specified VoucherType is StockJournal Voucher
FunctionSyntaxReturn ValueRemarks
$$LocaleString$$LocaleString: <string>Unicode stringAccepts a string parameter and returns unicode string. This is to provide multi-lingual support to Tally
$$IsVchTypeOf Family$$IsVchTypeOfFamily :<VoucherTypeName>LogicalChecks whether the Field value of the <Field> is equal to the <ExpC>

Example:
$$IsVchTypeOfFamily: $VoucherTypeName : "Payment"

Remarks:
The function $$IsVchTypeOfFamily returns true if the Field-value of $VoucherTypeName is "Payment"
$$MachineDate$$MachineDateDateReturns the Date as per your computer system settings

Example:-
Select $$MachineDate from Company
$$MachineTime$$MachineTimeStringReturns the Time as per your computer system settings

Example:-
Select $$MachineTime from Company
$$Max$$Max : <Expression>Same as parameter typeReturns the Miniimum value.  The parameter type can be Numeric, Date or String
Example:-
$$Max:100:15  returns 100
$$Min$$Min : <Expression>Same as parameter typeReturns the Miniimum value.  The parameter type can be Numeric, Date or String
Example:-
$$Min:100:15  returns 15
$$MonthEnd$$MonthEnd: <ExpD>DateReturns the ending date of the specified month.

Example:-
Select $$MonthEnd:$$MachineDate from Company
$$MonthOfDate$$MonthOfDate:<ExpD>NumericReturns the Month (example 12) of the specified date

Example:-
Select $$MonthOfDate:$$MachineDate from Company
$$MonthStart$$MonthStart: <ExpD>DateReturns the starting date of the specified month.

Example:-
Select $$MonthStart:$$MachineDate from Company
$$Round$$Round : <ExpN> : <RoundLimit>Numeric$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.70  
$$RoundDown$$RoundDown : <ExpN> : <RoundLimit>Numeric$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.70  
$$RoundUp$$RoundUp : <ExpN> : <RoundLimit>Numeric$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.80  
$$SelectedCmps$$SelectedCmpsNumericReturns the number of companies currently open in Tally Software.
$$SerialNumber$$SerialNumberStringReturns the Tally Serial Number. 
$$String$$String: <ExpN>StringConverts numeric expression into string.
Example:-
[Field: My Field]
  Set as : $$String:500
$$StringLength$$stringLength: <ExpC>NumericReturns the length of the string parameter
Example:-
[Field: My Field]
  Set as: $$StringLength:"tally Softwares"
$$StringPart$$StringPart: <expC>: <StartPos>: <Length>StringUsed to extract a sub-string from another string.
Example:-
[Field: My Field]
  Set as: $$StringPart:"Tally Softwares":7:9

Remarks:-
This will return "Computers".i.e. beginning at the 8th character, it returns the next 9 characters. Please note that the 1st character is numbered as 0.
$$StringRemWord$$StringRemWord: <Index>: <ExpC>StringReturns the remaining word from the <ExpC> string after the Index.

Example:-
$$StringRemWord:2:"tally Softwares bangalore"
This returns the word "bangalore". i.e. the word after 2 words as specified by the Index
$$StringWord$$StringWord: <Index>: <ExpC>StringReturns the word specified by the Index.

Example:-
$$StringWord:2:"tally Softwares Gandhidham"
This returns the word "Computers". i.e. the 2nd word as specified by the Index
$$SysName$$SysName: <reserved-string>StringSpecifies the System-name for the reserved string
$$SystemPeriod From$$SystemPeriodFromDateReturns the value for the System variable SVFROMDATE

Example:-
Select $$SystemPeriodFrom from Company
or
Select ##SVFROMDATE from Company
$$SystemPeriodTo$$SystemPeriodToDateReturns the value for the System variable SVTODATE

Example:-
Select $$SystemPeriodTo from Company
or
Select ##SVTODATE from Company
$$Upper$$Upper: <ExpC>StringConverts the string to upper-case
$$Value$$ValueMethod/Field data typeReturns the value of a field/method.

Example:-
[Field: My Field]
  Use: Name Field
  Validate: NOT $$IsEmpty:$$Value

In the above code, function $$Value is used which returns the value of the field 'My Field'.
$$YearOfDate$$YearOfDate: <ExpD>NumericReturns the Year for the specified Date.

Example:-
Select $$YearOfDate:$$MachineDate from Company

The above returns the year (.i.e 2007)
$$YearEnd$$YearEnd: <ExprD>DateReturns the Year end-date for the Current year (based on the Date passed as parameter)

Example:-
Select $$YearEnd:##SVTODATE from Company

The above returns the year-end date (ex. in my system it returns 31-3-2008).
$$ZeroFIll$$ZeroFill : <ExpC> : <ExpN>String$$Zero pads the given string with zeros.
Example:-
$$Zero : "525" : 5   returns  "00525"

UDF In Ledger Creation

;;Create a Single UDF in Ledger Master to store the value of ECC Number.

[system : UDF]
 LedCustomField : String : 100

[#Part : Led Other Details]
Add : Line : 
LedCustomField 

[Line:
LedCustomField ]
Field : Short Prompt, LedCustomField
Local : Field: Short Prompt:Set as: "Custom Field"

[Field: 
LedCustomField ]
Use : Short Name Field
Storage : 
LedCustomField 

Address Book From Tally

;; How to Create Address Book in Tally

[#Menu: Gateway Of Tally]
Add : Item : After : ~Balance Sheet : Address Book : Menu : AddressBookMenu

[Menu: AddressBookMenu]
Add : Item : Sundry Debtors Details : Display : TMSD Address Book
Add : Item : Sundry Creditors Details : Display : TMSC Address Book

[Report: TMSD Address Book]
Use : DSP Template
Form : TMSD Address Book

[Form: TMSD Address Book]
Use : DSP Template
Part : TMSD Address Book Title, TMSD Address Book


[Part : TMSD Address Book Title]
Line : TMSD Address Book Title

[Line : TMSD Address Book Title]
Use : TMSD Address Book
Local : Field : SD Sr No : Set as : "SNo"
Local : Field : SD Name : Set as : "Name"
Local : Field : SD Contact No: Set as : "Contact Person"
Local : Field : SD Phone : Set as : "Phone"
Local : Field : SD Address : Set as : "Address"
Border : Column Titles

[Part : TMSD Address Book]
Line : TMSD Address Book
Repeat : TMSD Address Book : TM Sundry Debtors
Scroll : Vertical
Common Border : Yes

[Line : TMSD Address Book]
Field : SD Sr No, SD Name
Right Field : SD Contact No, SD Phone, SD Address

[Field : SD Sr No]
Use : Short Name Field
Set as : $$Line
Style : Normal
Width : 4
Align : Centre

[Field : SD Name]
Use : Name Field
Set as : $Name
Full Width : Yes
Style : Normal
Border : Thin Left

[Field : SD Contact No]
Use : Short Name Field
Set as : $LedgerContact
Style : Normal
Border : Thin Left

[Field : SD Phone]
Use : Short Name Field
Set as : $LedgerPhone
Style : Normal
Border : Thin Left

[Field : SD Address]
Use : Short Name Field
Set as : $$FullList:Address:$Address
Style : Normal
Border : Thin Left
Lines : 0

[Collection: TM Sundry Debtors]
Type : Ledger
Child of : $$GroupSundryDebtors
Belongs To : Yes


[Report : TMSC Address Book]
Use : TMSD Address Book
Local : Collection : TM Sundry Debtors : Child Of : $$GroupSundryCreditors

How to type Multiple Iines In Narration?









How to Type Multiple Lines In Narration?

After typing each Line Press Ctrl+Enter instead of Enter, Tally will allow Multi Line typing Options

Tally Hidden Keys

How to Copy from Tally ?
Press Ctrl+Alt+C

How to Paste in Tally ?
Press Ctrl+Alt+V

How to Undo In Tally ?
Press Alt+Backspace

Change MENU Options in Tally

How can I move the Stock Summary option from "Gateway of Tally" to DISPLAY menu ?



;;Remove the Stock Summary option from Gateway of Tally
[#Menu : Gateway of Tally]
 Delete : Item : @@locStockSummary
 
;;Add the Stock Summary option in Display Menu
[#Menu : Display Menu] 
 Add : Item : Before : @@locQuit : @@locStockSummary

Tips on Implementaion of Tally.ERP 9: Your Weekly Refresher...!


New Rupee Symbol
Did you know that the new Indian Rupee Symbol is supported by Tally.ERP 9? This Tally Tip will help you get the symbol? and make you an early adopter of the new standard.

 
Bill Settlement
Did you know that the Tally.ERP 9 system lets you settle several outstanding bills for a party at one go? Bills for which the actual transfer of goods or services has occurred, but the financial payment is still pending are called outstanding bills. Now you have a faster method to clear a party’s bulk payments for many pending bills together, by simultaneously nullifying the same in your Book of Accounts.

 
Multiple Addresses
Did you know that the Tally.ERP 9 system enables you to save multiple addresses for your company and ledgers based on your individual requirement?

 
Logo Printing
Did you know that you can now print your company’s logo on all your reports and invoices generated by the Tally.ERP 9 system?

 
Mass e-mailing
Did you know that you could send various reports and Pay Slips to multiple recipients right from your Tally.ERP 9 system? Communicating with hundreds of your business partners or customers and sending out individual Confirmation of accounts, Outstanding Reminder Letters and Pay Slips to thousands of partners, customers and employees can’t get any simpler than this.

 
Multiple Bill of Materials
Did you know that in Tally.ERP 9 you can define multiple bill of materials (BoM) for the same product? You can define the different ratios and combinations of components/materials to be used to manufacture a product. This is a practice that manufacturers follow to create variants in a single product category, for example, different versions of Dettol soap, which differ based on colour, fragrance, etc.

 
Pre-Closure of Orders
Did you know that Tally.ERP 9 offers a simple and intuitive Pre-closure of orders process eliminating the need to go through a time consuming order adjustment procedure?

How to disable a button in Tally?

In Tally, Button or Key have a property called "Inactive". Make this as Yes to inactive a Button.


Ex: Inactive Delete Delete Button


[#Key  : Form Delete]
   Inactive : Yes



;;Delete object in  daybook


[#Key: BottomToolBarBtn3]
    Inactive: Yes

Sample TDLs


Remote Access

Manage Your Business on the Move...! Trusted Remote Access in Tally.ERP 9

The concept of 'remote' arose from the limitations on business owners and staff from traditional software systems that seriously restricted what could be done, when it could be initiated and by whom, from outside their offices and factories. More often than not when a business closed for the day its data was effectively locked. (The same effect when the owner went home or traveled outside the city.) The revolutionary Remote Access in Tally.ERP 9 makes regular functions available outside the physical confines of the premises.


Various usage scenarios of Tally.ERP 9 Remote Access:
• Manage business from home: 
You do not have to be present in your office any more to know the latest update on your business. You can plan your day in advance by checking status of payables and receivable, pending orders, stock status etc in the morning, before you reach office. Delegate and plan work better.
• Business on the move: 
Your absence from office does not affect the visibility to business anymore. Access your business data from a laptop, cyber cafe or even computer in the hotel where you are staying. Stay connected to your business without being involved.
• Enhance response time to customers:
Sales staff in the field can access customer's outstanding statements for immediate reference or discussion. Also before booking a new order or promising delivery dates, a sales person can check the stock status and availability of goods by using Tally.ERP 9 installed on the customer's computer.
• Chartered Accountant can access your business data sitting in his/her office:
Enable remote access to the Chartered Accountant to save time and money in receiving expert advice. Chartered accountant and his/her article clerks can access your business data and provide tax computation, compliance and audit advices without having to visit your office. This can help you with continuous compliance.
• A Tally expert can resolve your support queries remotely: 
Solution to support issues do not have to wait any more. Provide one time access to a Tally expert or a solution provider to fix your product, customisation or any other support issues instantaneously. This can save your business the delay in problem resolution.

• Maintain personal account at home which can also be accessed from your office.

The Tally.NET ID is the user's Identity, Tally.NET servers Authenticate the user as being a valid user; you decide what the user is authorised to do. 


    

 Your Business Requires You To Do
                        Remote Entry and Edit?


A feature essentially developed for people on the move-
Remote Edit provides users with the capability to enter, rectify
or alter transactions or masters from anywhere. Tally.ERP 9
will be enabled to edit transactions and masters from a remote
location.

This feature lets users see MIS, Financial or Inventory related information...literally from ANYWHERE IN THE WORLD!! It also helps business owners or sales executives create or amend the classification of master or transactions without actually being present at the business location-a HUGE advantage.
Get your Production ticking, Get the Cash Counters ringing!!

Imagine this typical business scenario: you are on the field collecting orders. Like many traveling executives, you often faced issues of old information or poor connectivity with your office. Transactions were rarely completed in one sweep and delays in the processing of orders were frequent, resulting in unhappy clients and a stressed production floor. Tally.ERP 9 Remote Edit changes your typical work day. No longer do you need to return to your office to enter the orders you collected during the day. All you have to do is log in remotely to your Tally.ERP 9 license. In fact, it's so flexible, you don't even require a Tally.ERP 9 license or even a computer for that matter. If you're at your customer's office, you could use the Tally.ERP 9 license they are running to access your data. If you have a portable computer, you could do it by downloading an Educational license to complete your work...and finally, if you haven't either, just log in from the nearest browsing centre to place the order. With Remote Edit, production starts immediately. Quicker dispatches also mean quicker payments, therefore a healthier cash flow.

Similarly, when collecting outstandings from your clients. Make receipts and issue them instantaneously. Your transactions are complete.
Powerful Benefits of Remote Edit:

• Your data is with you 24x7
• You are NOT dependent on your Head Office
• Your speed/productivity is vastly enhanced
• You don't require an additional license

Jobs & Recruitment


Millions of SMBs (Small and Medium Businesses) across India resort to ineffective methods when they are hiring. What results, most often, is a failure to find the right talent at the right time, thereby possibly impacting their performance.

This built-in feature is designed to shrink therecruitment process and improve the No more inappropriately skilled candidates. No more long waits.

Advantages for Businesses
The Jobs & Recruitment feature puts Tally Certified Professionals within reach of every business running Tally.ERP 9. Not only does it provide businesses with a better choice of recruits from even outside their geographies, but it puts them in control, bringing them never- before value for the salaries they offer, higher productivity, and a reduced
recruitment cycle.

Benefits:
• Wider reach
• Quicker recruitment
• Testing to the business standards
• Ability to compete with larger businesses for candidates

Advantages for Students
A major boost to career is what every student dreams of! This feature allows students to find new opportunities, practice for pre-recruitment testing, and find jobs even in far off places!

Benefits include:
• Direct contact with employers
• Resumes accessible by all Tally customers
• Learning, self-assessment and jobs all in one portal
• Recruitment preparation to ensure success
• Skill-mapping

Introducing SMS in Tally.ERP 9

Instant information for enhanced decision-making in your business!

SMS is the most preferred mode of being in contact with people.

Now you can get your business information through SMS. You are a business owner or a traveling sales e

xecutive with a mobile phone, this feature gives you the instant business information at your fingertips.

Simply type an SMS to instantly access customer information, stock status, even your bank balance and much more from wherever you are! And amazingly, you don’t need to know any special technology or language, just plain English.

Want to use SMS...? It is very simple.

Imagine you are visiting your customer. You intend to collect outstanding balance. While you are in the customer’s office, you need to confirm the outstanding balance information from your office. All you need to do is send an SMS to Tally.ERP 9 (in your office) and you will receive the outstanding balance against the Customer account. In a matter of seconds.

Create a new SMS:
Type your question: (Example below)
What is the outstanding from Customer A?
Send SMS to 566779

You will receive the message: (Example below)
Customer A account balance Rs.2,23,540

Do you think this will help you? Just do a one time setup that takes hardly 2 minutes. You can do it yourself as mentioned below. Or call your Tally Partner to do this one time setup for you.

Setup SMS in three simple and easy steps:    

    Step 1: Register Mobile Number in My Profiles under Control Centre
    Step 2: Enable SMS in F11: Feature > Tally.NET Features
    Step 3: Authorise Users for SMS under Security Controls


Frequently Asked Questions on SMS



I have multiple companies connected to Tally.NET. Can I get information from all the companies via SMS?
Yes, you can get information from all the companies connected, provided you/ users are authorised to access data via SMS in all the connected companies.

How can I get information from multiple connected companies?
On authorising a user and connecting the company to Tally.NET for the first time, a unique identification number (SMS Suffix) is generated for the respective company. The user sends a request message to 566779<SMS Suffix> to get the required information.

For instance, Companies Brite Traders, Sunlite Corp and Moonlite Transport are connected to Tally.NET with details as shown in the following table.
 Company SMS Name SMS Suffix Connect Company Name Account ID
 Brite Traders 3
 Brite admin@britetraders.com
 Sunlite Corp 1 Sunlite info@sunlite.com
 Moonlite Transport 2 Moonlite sales@moonlite.com

To get today's Sales of Brite Traders just type Sales Today and send it to 5667793, where 3 is the SMS Suffix for Brite Traders.

The system queries the company, extracts the required information and sends it back to the requestor's mobile phone.

What is SMS Suffix?
The SMS Suffix is a unique number assigned to a company to distinguish it from the other companies. It is useful when you have more than one company connected to Tally.NET.

Is there a need to change the SMS Suffix?
Yes, at present we support simultaneous SMS Access to only nine connected companies. Hence there is a need to change the SMS Suffix when you have more than nine connected companies.

Can I change the SMS Suffix for a company? How can I do it? 
Yes, it is possible to change the SMS Suffix for a company by executing the following steps:

To display the list of authorised companies:
  • Login as a remote user from Tally.ERP 9 (do not select any company)
  • In the List of Remote Companies select the required Online Company
  • Click Chg SMS No on the Vertical Toolbar
  • Enter 1 in New Suffix field and press Enter
    Or
  • To change the company SMS Suffix send an SMS CHANGE <OLD SUFFIX NUMBER> <NEW SUFFIX NUMBER> to 5667750
    E.g.: CHANGE 7 1
How many SMS Suffixes are supported currently? Or, from how many connected companies can I get the data simultaneously?At present you can query data simultaneously from nine different connected companies. The companies can have the SMS Suffix starting from 1 to 9.

I have more than 9 companies, so what do I do? 

In the Security Controls of any previous company which had authorised you for SMS Access:
  • Select the required user and set Allow SMS Access to No
  • In the Security Controls of the new company, authorise the required user to access SMS by setting Allow SMS Access to Yes
  • Connect the new company to Tally.NET
The SMS Suffix of the previous company will be allotted to the new company connected. You can now get the information by sending an SMS to 566779 <SMS Suffix>

What will happen if both the companies have the same SMS Company Name?
Two companies with the same SMS Company Name will not create any difficulty as each company is distinguished from the others by the SMS Suffix assigned to it.

How do I get to know the company’s SMS Suffix?
You can get to know the company’s SMS Suffix by choosing one of the following options:
  • Login remotely using your Tally.NET ID. This will display the list of companies connected to Tally.NET along with the respective SMS Suffix ID
  • SMS FULL LIST to 5667790 to receive an email containing the list of companies along with their respective Suffix ID
  • SMS LIST to 5667790 to receive the list of connected companies along with the respective Suffix ID by SMS
What is so special about SMS in Tally.ERP 9?
SMS in Tally.ERP 9 works on the concept of Natural Language. It is user-friendly because the user can send a query using plain and simple English.

Do I require a valid Tally.NET subscription to use the SMS feature?
SMS is a part of the Free Tally.NET Services. To avail of the SMS feature it is necessary to install Tally.ERP 9 Series A Release 2.0 on your computer.

How can I configure the SMS Feature in Tally.ERP 9?
SMS configuration can be done in three easy steps:
  • Register Mobile Number in My Profiles under Control Centre
  • Enable SMS in F11: Feature > Tally.NET Features
  • Authorise Users for SMS under Security Controls
How does this SMS work?
SMS works on the concept of Natural Language, which is plain and simple English.  When you want to raise a query, just type the required query along with the period.

E.g.: Balance Sheet 01/04/2010 – 30/06/2010

The system will query the connected company, extract the information and send a reply to your mobile phone.  It is essential to add the requestor’s mobile phone number to My Profiles in the Control Centre before connecting the company to Tally.NET.

Can you give me the service number to which queries can be sent? 
You can send your SMS queries to 566779 <SMS Suffix> where 1-9 is the SMS Suffix allotted to the companies as they are connected to Tally.NET.

Can you give me the list of service providers who support the SMS feature of Tally.ERP 9?
You can send your queries from any service provider operating in India.

Is SMS a paid service?
No. SMS feature is a part of Free Tally.NET Services provided by Tally Solutions Pvt Ltd. However, your mobile service provider may charge you for the SMS Services utilised. Please check with the mobile service provider for further details on the charges applicable.

What is the cost per SMS?
The cost per SMS solely depends on your mobile service provider, and may vary from time to time. Please check with your mobile service provider for further details on the charges applicable.

Is the SMS facility available 24/7 to the user?
Yes, the SMS feature is available 24/7 to the user, provided the required company is connected to Tally.NET.

How many mobile phone users can receive the SMS reply at a time to the query raised?
The reply is sent to the user who made the SMS request.

Do I require 3G phone or Internet on my mobile?
No, you don’t require any particular mobile phone; you can use a simple phone which has SMS capability.

Do I have to pay additional charges to the service provider for enabling Tally SMS service? 
No, you don’t have to pay any additional charges to activate this service.

Can I send an SMS from Tally to all the Sundry Debtors, reminding them about their outstanding amount, periodically?No, you cannot send an SMS from Tally.ERP 9 at present. This feature will be made available in due course.

Can my parties check their outstanding amounts?
No, your parties cannot check their outstanding amounts.

Natural Query Language


Natural Query Language is an interface between the user and the company connected to Tally.NET. It uses plain and simple English to query and extract information.

To query information from the connected company, you/the user must type the required words using a mobile phone and send it to the number provided. The system is designed to extract information from the company connected and return the required information to the requestor’s mobile.

How it works
Tally.ERP 9 understands the query, which is in the Natural Query Language. It has a set of defined rules and uses plain and simple English to communicate. When a user requests information through SMS, Tally.ERP 9 receives the query and converts it to an understandable format which, in turn, extracts the required information from the connected company and responds to the user with information in readable format.


Tally.ERP 9 - Integration Capabilities


3rd Party Application Integration with TallyERP 9


TDL Reference Manual


Getting Started with TDL


Tally Technology


The Tally.ERP 9 architecture can be conceptualized as being divided into three layers:

• The Application /Tally.ERP 9 Layer
• The TDL Language and Interpreter Layer
• The Platform Layer /Engine

The Application/Tally Layer

All the user interactions take place at this layer. It is through this interface that the user gets access to all the product functionalities.

The TDL Language and Interpreter Layer
This layer is an intermediate between the application and the platform layer. This mainly consists of:

• Tally Definition Language

• TDL Interpreter

Tally Definition Language
Tally Definition Language (TDL) provides capabilities for Rapid Development, Rendering, Data Management and Integration. This is the language used to deliver the capabilities that the platform provides - the entire user interface is built using TDL.

TDL is an Action driven language based on definitions. It comprises of the User Interface and Info/Data objects. User Interface Objects mainly determine the behavior of the product in terms of user experience. Info/Data objects are mainly used for data persistence in the Tally Database.

TDL Interpreter

TDL works in an interpreted environment. An action performed by a user will trigger a particular segment of code to get executed. The interpreter examines each line and executes them.

Platform Layer

The capabilities which TDL offers are due to the capabilities provided by the platform layer. This is the lowermost layer which interacts with the OS and the file system. The various components of the platform layer are:

    • Database Engine
    • ODBC Engine/Driver
    • Parser
    • Business Logic
    • Function Library
    • User Interface and Output Engine
    • Memory Management

All the retrieval and manipulation requests to the database by the application program are handled by the Database Engine. This is a true OODBMS. It is possible to store data as objects and retrieve data as objects. Stored as a block of data, this allows faster retrieval of data. Object Oriented Recursive Management System follows the concept of Flexi-Length Record, Flexi-Field, and Self-Indexed weighted file structure for an extremely compact and fast database. Fault tolerance is built in and along with transaction support (using roll forward capability), this provides an extremely robust system to withstand several system failures.

The File System consists of Data files (Master, Transaction, Link Masters), Message Files (for transaction management) and State Files (for concurrency and exclusivity control).