SlideShare a Scribd company logo
4
Most read
High Level Strategies
                                Ver 1.1 July 2010




Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
This document is for informational purposes only. TALLY MAKES NO WARRANTIES, EXPRESS
OR IMPLIED, IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the
rights under copyright, no part of this document may be reproduced, stored in, or introduced into
a retrieval system, or transmitted in any form, by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written permission
of Tally Solutions Pvt. Ltd.

Tally may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written
licence agreement from Tally, the furnishing of this document does not give you any licence to
these patents, trademarks, copyrights, or other intellectual property.

© 2010 Tally Solutions Pvt Ltd. All rights reserved.

Tally, Tally 9, Tally9, Tally.ERP, Tally.ERP 9, Shoper, Shoper 9, Shoper POS, Shoper HO,
Shoper 9 POS, Shoper 9 HO, TallyDeveloper, Tally Developer, Tally.Developer 9, Tally.NET,
Tally Development Environment, Tally Definition Language, TDL, Tally Extender, Tally Integrator,
Tally Integrated Network, Tally Service Partner, TallyAcademy & Power of Simplicity are either
registered trademarks or trademarks of Tally Solutions Pvt. Ltd. in India and/or other countries. All
other trademarks are properties of their respective owners.


Ver 1.1 July, 2010




Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
Is this document for you? ................................................................................................4
What does this document cover? ....................................................................................4
What this document does not cover? ..............................................................................4
Structure of what follows .................................................................................................5
   Masters and Transactions ...........................................................................................5
   Typical use cases........................................................................................................5
   Basic Handshake with Tally.ERP 9..............................................................................6
Masters ...........................................................................................................................6
   Creating an Accounting Master ...................................................................................6
   Creating an Item Master ..............................................................................................7
   Update Masters ...........................................................................................................8
   Delete Masters ............................................................................................................8
   Ignore Edits to Master Names .....................................................................................8
Transactions (vouchers)..................................................................................................8
   Create .........................................................................................................................8
   Update ........................................................................................................................9
   Delete..........................................................................................................................9
   Avoid Duplicate Vouchers ...........................................................................................9
   Protecting Vouchers from Edit/Delete..........................................................................9
   Finding Deleted Vouchers ...........................................................................................9
   Allow Editing of Vouchers............................................................................................9




Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
Tally.ERP 9 supports all the capabilities needed to:
    • Interface with your applications for two-way data transfers
    • Give you the freedom to use specific functionalities of Tally.ERP 9 (say the
       Finance, Accounting & Statutory reporting aspects) without needing to build
       these for applications you develop or implement
    • Overcome user resistance to getting your customers to use your products
       because you currently need them to stop using Tally.ERP 9 or to re-enter data

Therefore if you are evaluating the scope of work that is needed to get the interfaces
running or to take stock of the capabilities that can be exploited, this document is for
you.


                                                       !
Very high level statements of work – think of this as a 10,000 feet view.



                                                              !
  • The Tally Definition Language (TDL) itself. Documents on this are available on our
    website or as part of Tally.Developer 9. We, and a few of our partners, also deliver
    instructor led training programs.

  • The technical nature of the interface itself – the XML syntax, response, settings and
    so on. The “Tally.ERP 9 – Integration Capabilities” document, available as a free
    download has all the details.

  • The internal architecture and aspects of the database of Tally. These are not really
    needed to getting things done. Information on this is available across several pages
    on our website.

  • Sample code


Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
• Sample working applications



"
    •   Concepts of Masters and Transactions in the context of Tally.ERP 9
    •   Typical use cases that are suggested to be managed, to deliver to your
        customers a robust interface
    •   Basic handshake with Tally.ERP 9
    •   The actual statements for the interface


Masters and Transactions

In Tally.ERP 9 a Master is identified by the Master Name, and not by a code as such (in
reality the Master Name is the code itself, since that name is unique). However this
name is changeable at will by a user, so the interfacing Third Party Application (we’ll call
this ‘TPA’) cannot assume that master names will not change.

Again, a Master in Tally.ERP 9 can be deleted at will (if it is not already part of a
transaction) or regrouped (re-classified) into a completely different group (without
limitations if not part of a transaction, and with some restrictions otherwise). Again this
means that the TPA cannot assume that a Master that was inserted in Tally.ERP 9 will
stay there and in the same state!

Masters refer to other masters (say Units of Measure, Currency and Groups) and these
too need to be considered by the TPA.

Transactions in Tally.ERP 9 are equally malleable – can be altered or deleted at will.
While there are security controls to prevent a user from doing these activities, the TPA
cannot assume that the user will accept these controls.


Typical use cases

Some of the more common ones are mentioned above. The less common, and yet
critical ones are:

    •   TPA & Tally.ERP 9 are in sync. Everything is fine. The user restores a backup of
        Tally.ERP 9 of a few days ago…the TPA and Tally.ERP 9 are now out of sync!
    •   The TPA database is restored instead. Same problem.
    •   The user wants to pause Sync for some time (maybe an audit is in progress with
        Tally.ERP 9, or one of the applications is down)
    •   The Tally.ERP 9 version changes – and your custom TDL code does not work
        with this new version
    •   The user restores an older version of the TDL code and the TPA is not
        compatible to this old version
    •   The TPA is restored to an older version and this is not designed for the newer
        version of the TDL code and/or Tally.ERP 9

Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
You may choose not to manage the above issues – yet these will arise in the field, and
you will be called to manage these support calls. Look closely – you’ll see that these are
not unique to Tally.ERP 9. These are issues that an interface between any two
applications will need to consider.


Basic Handshake with Tally.ERP 9

The following steps need to be performed every time the TPA connects to Tally.ERP 9.
These are:
• Verify that you can connect to Tally.ERP 9
• Verify that the company you want to connect to is accessible (check the company
   GUID* as well)
• Verify that you have the right version of Tally.ERP 9
• Verify that you have the right STAT** version loaded
• Verify that the right TDL customization version is available
• Verify that the required configuration are enabled (like multicurrency, godowns etc)

* GUID – Global unique ID’s are internal codes used across Tally.ERP 9. Even a company has a GUID. A
user who edits the company name (and this is done too) cannot fool the interface – so one can check with
the GUID to see if you are connecting to the right company.

** STAT – Taxation and statutory information are delivered via a ‘stat’ file and are not integrated into
Tally.ERP 9. This allows us to deliver the frequent changes to our users via this file and not needing to
deliver new versions of Tally.ERP 9.




#
Creating an Accounting Master
Tally.ERP 9 has some 28 default accounting groups. When creating accounting masters
you can choose to
       • Create these under these default groups (and the customer can re-group
          them later in Tally.ERP 9). Even in this case:
              o You will need to consider that someone has renamed these reserved
                  groups
              o You will have to find the right group in case the reserved group is
                  renamed (use the RESERVEDNAME to get the new group name)
       • Or, get the list of all groups from Tally.ERP 9, display these as a dropdown
          and have your user chose the appropriate one, in the TPA. Here:
              o Based on requirements, restrict the type of group he can select
              o You could also suggest the best suited group (ex: a customer under
                  ‘Sundry Creditors’)

You will need to have some way to identify the master you have created in Tally.ERP 9.
For this:
        • Add a signature of your application to the master (via a UDF – User Defined
           Field, created via TDL)
        • This UDF can be used to restrict alteration/deletion of such masters via TDL



Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
•   Add a master identifier that will be used in the TPA (via a UDF). This should
           be maintained in the application to find missing/modified/regrouped masters

You will need to verify the existence of the Master in Tally.ERP 9 before you post (to
prevent overwrites and other conditions):
       • In case Master exists, you may need to perform these steps:
               o Check if the master is under the same reserved group/sub group you
                   intended
               o If it is under the same group/sub group then:
                           You may just need to alter the master to record the UDF’s and
                           other changes/additions
                           Or throw an exception to the TPA
               o If it is under a ‘wrong’ group, say ‘Expenses’ instead of ‘Assets’:
                           Throw an exception to the TPA
                           Or create a new ledger with a modified name
       • Else create this in Tally.ERP 9

In case master has tax related information, make sure you get these right:
    • Find the type of tax applicable
          Get the list of classifications from Tally.ERP 9 and ask the user to select
              • Detect the right classification and present to the user
              • Send the appropriate statutory related tags

Handle base currency issues
   • In Tally.ERP 9 the base currency label can be changed. You will need to handle
      this scenario
   • In case you need to create a new currency in Tally.ERP 9:
          o Make sure that the currency code you want to create does not contain a
              numeric

It is advisable to create one master at a time to manage exceptions better
     • On exception analyze the issue
            o If no user intervention is required then make corrections silently
            o If the user intervention necessary then prompt to the user
     • Maintain these in the TPA against each master
            o Code/name of master in TPA
            o Master ID in Tally.ERP 9
            o Ledger name in Tally.ERP 9
            o Ledger Group in Tally.ERP 9
            o Ledger Identifier for your application in Tally.ERP 9 (UDF)


Creating an Item Master
In addition to most of the above:
    • Verify if the Units of Measurement is available in Tally.ERP 9 (else create this)
    • Check that the Item Group is available in Tally.ERP 9 (else create this)




Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
Update Masters
If the TPA just sends an update, Tally.ERP 9 will create a new master (and drop an
existing one of the same name). Therefore the following steps must be followed when
updating a master:
     • Retrieve the master to be updated
     • Change the values needed
     • Send the master definition to Tally.ERP 9
     • Depending on requirement set parameters to over write the existing master or to
        append balances to the existing master


Delete Masters
For deleting a master the following actions have to be performed:
   • Retrieve the master from Tally.ERP 9
   • Change the Action attribute to DELETE
   • Sent the information to Tally.ERP 9


Ignore Edits to Master Names
You can choose to have the TPA ignore any edits made by the user to the names of
accounting & item masters. This can be achieved by:

Option 1:
   • Adding a UDF to the master during initial creation in Tally.ERP 9
   • Before you post a transaction, retrieve the list of masters; look for the UDF that
       matched the value stored in the TPA. This will also help you to:
          o Check for name changes (you could update the name in the TPA)
          o Missing master (implies user has deleted this in Tally.ERP 9; perform a
             re-create)
   • Post the transaction with the right name

Option 2:
   • When creating the master in Tally.ERP 9, add an alias to the name
   • A TDL in Tally.ERP 9 masks the display or edit of this alias
   • When posting transactions to Tally.ERP 9 use the alias to post



                        $!                %
Create
   •   Make sure that the necessary masters exist in Tally.ERP 9 (else create them) as
       Tally.ERP 9 will create vouchers with existing masters only
   •   In case non-base currencies are used, make sure these currency' are available
                                                                          s
       in Tally.ERP 9
   •   Voucher types should also be available (or created if not found) in case TPA is
       posting a specific voucher type
   •   Cost centers need to be available/created, if used
   •   Voucher totals must result always to zero


Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010
•   Except in the cases of Contra, Purchase & Receipt send a Dr entry as first line
        item in the voucher XML
    •   All dates must follow the YYYYMMDD format
    •   If posting inventory information
            o Check for stock item presence in Tally
            o Check for units
            o Check for godowns

Hint: Create the expected voucher entry in Tally.ERP 9 and export as XML. This is the format of
the XML the TPA must generate. This will also be useful for troubleshooting



Update
    •   Extract the voucher in XML that you want to modify
    •   Modify the appropriate values
    •   Send the resulting XML to Tally.ERP 9

Delete
    •   Extract the voucher in XML that you want to modify
    •   Change the Action attribute to ‘delete’
    •   Send the resulting XML to Tally.ERP 9

Avoid Duplicate Vouchers
    •   Send a UDF to the voucher during initial creation (set to a unique value in TPA)
    •   Before sending/resending voucher verify for the UDF value to see if it will be
        duplicated (by retrieving from Tally.ERP 9 the voucher with that UDF)


Protecting Vouchers from Edit/Delete
    •   Write a TDL that looks for a specific value in a UDF and blocks these operations


Finding Deleted Vouchers
    •   Send a UDF to the voucher during initial creation (set to a unique value in TPA)
    •   Get the list of vouchers from Tally.ERP 9
    •   Verify if the voucher UDFs sent are available in that list. The ones missing have
        been deleted (or a backup of Tally.ERP 9 has been restored)
    •   In case there are vouchers in Tally.ERP 9 but not in the TPA, that means that the
        TPA backup has been restored (or transactions deleted in the TPA)

Allow Editing of Vouchers
    •   Send a UDF to the voucher during initial creation (set to a checksum value in
        TPA)
    •   Retrieve voucher, compare checksum to UDF value. If changed means user has
        altered transaction in Tally.ERP 9. You can choose to delete & re-create or warn
        the user, based on your design




Interface with Tally.ERP 9: High Level Strategies
© Tally Solutions Pvt Ltd. 2010

More Related Content

PPTX
Fundamentals of Accounting / Introduction of Accounting
PPT
Topic 6 subsidiary books ii
PPTX
Indian ifrs
PDF
Types of auditor
PPTX
Cours-Ifrs-m1-Cca.pptx
PPTX
Introduction to Accounting
PDF
Comptabilité finance Le bilan fonctionnel .pdf
PPTX
Revised Schedule VI Companies Act, 1956
Fundamentals of Accounting / Introduction of Accounting
Topic 6 subsidiary books ii
Indian ifrs
Types of auditor
Cours-Ifrs-m1-Cca.pptx
Introduction to Accounting
Comptabilité finance Le bilan fonctionnel .pdf
Revised Schedule VI Companies Act, 1956

What's hot (20)

PPT
Presentation-des-zones-de-risques-liees-a-la-TVA.ppt
PPT
Strategic management
PDF
Coût Fiscal au Maroc et Optimisation fiscale
PPT
Financial Accounting
PPTX
Accounting Presentation.pptx
PPTX
What is Substance Over form?
PDF
529722382-Re-Cabinet-de-Finance-conseil-sarl.pdf
PDF
Understanding Financial Statements - For Beginners!
PPS
Accounting system presentation
PPT
Peachtree
PPTX
Dissolution of partnerships
PPT
Ais Romney 2006 Slides 12 The Production Cycle
PPTX
cours TVA Maroc
PPTX
366313544 cours-ifrs-1
PPTX
Internal control for petty cash(new)
PPTX
L'essentiel du regroupement en normes IFRS
PPT
Accounting basics
PPTX
Computer-Assisted Audit Tools and Techniques
PPTX
8. internal control new
Presentation-des-zones-de-risques-liees-a-la-TVA.ppt
Strategic management
Coût Fiscal au Maroc et Optimisation fiscale
Financial Accounting
Accounting Presentation.pptx
What is Substance Over form?
529722382-Re-Cabinet-de-Finance-conseil-sarl.pdf
Understanding Financial Statements - For Beginners!
Accounting system presentation
Peachtree
Dissolution of partnerships
Ais Romney 2006 Slides 12 The Production Cycle
cours TVA Maroc
366313544 cours-ifrs-1
Internal control for petty cash(new)
L'essentiel du regroupement en normes IFRS
Accounting basics
Computer-Assisted Audit Tools and Techniques
8. internal control new
Ad

Viewers also liked (14)

PDF
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...
PDF
Getting started with_banking | Tally Corporate Services | Tally sales| Tall...
PDF
Cost categories & centers tally erp 9
PDF
Availing cenvat credit on purchases from excise dealers | Access to Tally | T...
PDF
Getting started with excise for manufacturers | Tally Corporate Services | Ta...
PDF
Getting started with excise dealer e returns | Tally Chennai | Tally Support
PDF
Data synchronisation in shoper 9 | Tally Downloads | Fixed Asset Management S...
PPT
Negotiable Instruments
PDF
Bill settlement | SQL to Tally | Tally.NET Services | Tally TDL
PDF
Getting started with tds in tally.erp 9 | Tally Downloads | Tally Support | T...
PDF
Preliminary to Tally accounting software
PDF
Getting startedwithtallydeveloper9 | Tally Synchronisation | Tally Services |...
PDF
Implementation of service tax in tally erp 9 | Tally Shopper | Tally Solutio...
PDF
Getting started with ghana vat | Tally Corporate Services | Web Based Fixed a...
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...
Getting started with_banking | Tally Corporate Services | Tally sales| Tall...
Cost categories & centers tally erp 9
Availing cenvat credit on purchases from excise dealers | Access to Tally | T...
Getting started with excise for manufacturers | Tally Corporate Services | Ta...
Getting started with excise dealer e returns | Tally Chennai | Tally Support
Data synchronisation in shoper 9 | Tally Downloads | Fixed Asset Management S...
Negotiable Instruments
Bill settlement | SQL to Tally | Tally.NET Services | Tally TDL
Getting started with tds in tally.erp 9 | Tally Downloads | Tally Support | T...
Preliminary to Tally accounting software
Getting startedwithtallydeveloper9 | Tally Synchronisation | Tally Services |...
Implementation of service tax in tally erp 9 | Tally Shopper | Tally Solutio...
Getting started with ghana vat | Tally Corporate Services | Web Based Fixed a...
Ad

Similar to 3rd party application integration with tally erp 9 | Tally Remote Support | Access to Tally | Tally (20)

PDF
Tally
PPTX
1 tally presentation
PPT
80% users use 20% tally
PDF
Tally erp 9 release notes
PPTX
PDF
2 fundamentals of tally.erp9
PDF
Tally.erp 9 release notes
PPT
1322_presentation_on_tally_erp_9_by_dinesh.ppt
PPTX
Presentation1
PDF
Fundamentals of tally erp 9
PDF
Tally erp 9 release notes
PPT
Tally.erp 9 auditors edition
PDF
Tally ERP in ITT
PDF
Tally erp 9_doc
PDF
Tally.erp 9 at a glance
PDF
PDF
Tally.erp 9 at a glance
PDF
Tally.ERP 9 total sheet
PDF
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
PPT
Tally erp
Tally
1 tally presentation
80% users use 20% tally
Tally erp 9 release notes
2 fundamentals of tally.erp9
Tally.erp 9 release notes
1322_presentation_on_tally_erp_9_by_dinesh.ppt
Presentation1
Fundamentals of tally erp 9
Tally erp 9 release notes
Tally.erp 9 auditors edition
Tally ERP in ITT
Tally erp 9_doc
Tally.erp 9 at a glance
Tally.erp 9 at a glance
Tally.ERP 9 total sheet
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally erp

More from stannventures.Pvt.Ltd (12)

PDF
Implementation of value added tax in tally erp 9 | Tally Customization servic...
PDF
Implementation of tcs in tally erp 9 | Tally Implementation Services | Tally ...
PDF
Implementation of payroll in tally erp 9 | Tally Customization services | Fix...
PDF
Implementation of central sales tax in tally erp 9 | Tally.ERP 9 | Tally AMC ...
PDF
Getting started with service tax in tally.erp 9 | Web Based Fixed asset Soft...
PDF
Getting started with mca reports (in xbrl format) | Tally Corporate Services ...
PDF
Getting started with licensing | Tally.NET Services | Tally Intergation | Tal...
PDF
Getting started with job work in tally.erp 9 | Tally Corporate Services | SQL...
PDF
Getting started with er 1 e returns | Tally Intergation | Tally Tips | Tally ...
PDF
Getting started with control centre | Oracle to Tally | Fixed Asset Managemen...
PDF
Final account statements from tally.erp 9 | Tally TDL | Fixed Asset Managemen...
PPSX
Banking | Oracle to Tally | Tally Features | Tally Web Interface
Implementation of value added tax in tally erp 9 | Tally Customization servic...
Implementation of tcs in tally erp 9 | Tally Implementation Services | Tally ...
Implementation of payroll in tally erp 9 | Tally Customization services | Fix...
Implementation of central sales tax in tally erp 9 | Tally.ERP 9 | Tally AMC ...
Getting started with service tax in tally.erp 9 | Web Based Fixed asset Soft...
Getting started with mca reports (in xbrl format) | Tally Corporate Services ...
Getting started with licensing | Tally.NET Services | Tally Intergation | Tal...
Getting started with job work in tally.erp 9 | Tally Corporate Services | SQL...
Getting started with er 1 e returns | Tally Intergation | Tally Tips | Tally ...
Getting started with control centre | Oracle to Tally | Fixed Asset Managemen...
Final account statements from tally.erp 9 | Tally TDL | Fixed Asset Managemen...
Banking | Oracle to Tally | Tally Features | Tally Web Interface

Recently uploaded (20)

PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PDF
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PPTX
Lecture (1)-Introduction.pptx business communication
PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
Digital Marketing & E-commerce Certificate Glossary.pdf.................
DOCX
unit 1 COST ACCOUNTING AND COST SHEET
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PPTX
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
PDF
Tata consultancy services case study shri Sharda college, basrur
PPT
Chapter four Project-Preparation material
PPT
Data mining for business intelligence ch04 sharda
PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
Chapter 5_Foreign Exchange Market in .pdf
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PPTX
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
MSPs in 10 Words - Created by US MSP Network
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
DOC-20250806-WA0002._20250806_112011_0000.pdf
Lecture (1)-Introduction.pptx business communication
Reconciliation AND MEMORANDUM RECONCILATION
Digital Marketing & E-commerce Certificate Glossary.pdf.................
unit 1 COST ACCOUNTING AND COST SHEET
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
Tata consultancy services case study shri Sharda college, basrur
Chapter four Project-Preparation material
Data mining for business intelligence ch04 sharda
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
Roadmap Map-digital Banking feature MB,IB,AB
Chapter 5_Foreign Exchange Market in .pdf
340036916-American-Literature-Literary-Period-Overview.ppt
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
COST SHEET- Tender and Quotation unit 2.pdf
MSPs in 10 Words - Created by US MSP Network
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise

3rd party application integration with tally erp 9 | Tally Remote Support | Access to Tally | Tally

  • 1. High Level Strategies Ver 1.1 July 2010 Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 2. This document is for informational purposes only. TALLY MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form, by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Tally Solutions Pvt. Ltd. Tally may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written licence agreement from Tally, the furnishing of this document does not give you any licence to these patents, trademarks, copyrights, or other intellectual property. © 2010 Tally Solutions Pvt Ltd. All rights reserved. Tally, Tally 9, Tally9, Tally.ERP, Tally.ERP 9, Shoper, Shoper 9, Shoper POS, Shoper HO, Shoper 9 POS, Shoper 9 HO, TallyDeveloper, Tally Developer, Tally.Developer 9, Tally.NET, Tally Development Environment, Tally Definition Language, TDL, Tally Extender, Tally Integrator, Tally Integrated Network, Tally Service Partner, TallyAcademy & Power of Simplicity are either registered trademarks or trademarks of Tally Solutions Pvt. Ltd. in India and/or other countries. All other trademarks are properties of their respective owners. Ver 1.1 July, 2010 Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 3. Is this document for you? ................................................................................................4 What does this document cover? ....................................................................................4 What this document does not cover? ..............................................................................4 Structure of what follows .................................................................................................5 Masters and Transactions ...........................................................................................5 Typical use cases........................................................................................................5 Basic Handshake with Tally.ERP 9..............................................................................6 Masters ...........................................................................................................................6 Creating an Accounting Master ...................................................................................6 Creating an Item Master ..............................................................................................7 Update Masters ...........................................................................................................8 Delete Masters ............................................................................................................8 Ignore Edits to Master Names .....................................................................................8 Transactions (vouchers)..................................................................................................8 Create .........................................................................................................................8 Update ........................................................................................................................9 Delete..........................................................................................................................9 Avoid Duplicate Vouchers ...........................................................................................9 Protecting Vouchers from Edit/Delete..........................................................................9 Finding Deleted Vouchers ...........................................................................................9 Allow Editing of Vouchers............................................................................................9 Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 4. Tally.ERP 9 supports all the capabilities needed to: • Interface with your applications for two-way data transfers • Give you the freedom to use specific functionalities of Tally.ERP 9 (say the Finance, Accounting & Statutory reporting aspects) without needing to build these for applications you develop or implement • Overcome user resistance to getting your customers to use your products because you currently need them to stop using Tally.ERP 9 or to re-enter data Therefore if you are evaluating the scope of work that is needed to get the interfaces running or to take stock of the capabilities that can be exploited, this document is for you. ! Very high level statements of work – think of this as a 10,000 feet view. ! • The Tally Definition Language (TDL) itself. Documents on this are available on our website or as part of Tally.Developer 9. We, and a few of our partners, also deliver instructor led training programs. • The technical nature of the interface itself – the XML syntax, response, settings and so on. The “Tally.ERP 9 – Integration Capabilities” document, available as a free download has all the details. • The internal architecture and aspects of the database of Tally. These are not really needed to getting things done. Information on this is available across several pages on our website. • Sample code Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 5. • Sample working applications " • Concepts of Masters and Transactions in the context of Tally.ERP 9 • Typical use cases that are suggested to be managed, to deliver to your customers a robust interface • Basic handshake with Tally.ERP 9 • The actual statements for the interface Masters and Transactions In Tally.ERP 9 a Master is identified by the Master Name, and not by a code as such (in reality the Master Name is the code itself, since that name is unique). However this name is changeable at will by a user, so the interfacing Third Party Application (we’ll call this ‘TPA’) cannot assume that master names will not change. Again, a Master in Tally.ERP 9 can be deleted at will (if it is not already part of a transaction) or regrouped (re-classified) into a completely different group (without limitations if not part of a transaction, and with some restrictions otherwise). Again this means that the TPA cannot assume that a Master that was inserted in Tally.ERP 9 will stay there and in the same state! Masters refer to other masters (say Units of Measure, Currency and Groups) and these too need to be considered by the TPA. Transactions in Tally.ERP 9 are equally malleable – can be altered or deleted at will. While there are security controls to prevent a user from doing these activities, the TPA cannot assume that the user will accept these controls. Typical use cases Some of the more common ones are mentioned above. The less common, and yet critical ones are: • TPA & Tally.ERP 9 are in sync. Everything is fine. The user restores a backup of Tally.ERP 9 of a few days ago…the TPA and Tally.ERP 9 are now out of sync! • The TPA database is restored instead. Same problem. • The user wants to pause Sync for some time (maybe an audit is in progress with Tally.ERP 9, or one of the applications is down) • The Tally.ERP 9 version changes – and your custom TDL code does not work with this new version • The user restores an older version of the TDL code and the TPA is not compatible to this old version • The TPA is restored to an older version and this is not designed for the newer version of the TDL code and/or Tally.ERP 9 Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 6. You may choose not to manage the above issues – yet these will arise in the field, and you will be called to manage these support calls. Look closely – you’ll see that these are not unique to Tally.ERP 9. These are issues that an interface between any two applications will need to consider. Basic Handshake with Tally.ERP 9 The following steps need to be performed every time the TPA connects to Tally.ERP 9. These are: • Verify that you can connect to Tally.ERP 9 • Verify that the company you want to connect to is accessible (check the company GUID* as well) • Verify that you have the right version of Tally.ERP 9 • Verify that you have the right STAT** version loaded • Verify that the right TDL customization version is available • Verify that the required configuration are enabled (like multicurrency, godowns etc) * GUID – Global unique ID’s are internal codes used across Tally.ERP 9. Even a company has a GUID. A user who edits the company name (and this is done too) cannot fool the interface – so one can check with the GUID to see if you are connecting to the right company. ** STAT – Taxation and statutory information are delivered via a ‘stat’ file and are not integrated into Tally.ERP 9. This allows us to deliver the frequent changes to our users via this file and not needing to deliver new versions of Tally.ERP 9. # Creating an Accounting Master Tally.ERP 9 has some 28 default accounting groups. When creating accounting masters you can choose to • Create these under these default groups (and the customer can re-group them later in Tally.ERP 9). Even in this case: o You will need to consider that someone has renamed these reserved groups o You will have to find the right group in case the reserved group is renamed (use the RESERVEDNAME to get the new group name) • Or, get the list of all groups from Tally.ERP 9, display these as a dropdown and have your user chose the appropriate one, in the TPA. Here: o Based on requirements, restrict the type of group he can select o You could also suggest the best suited group (ex: a customer under ‘Sundry Creditors’) You will need to have some way to identify the master you have created in Tally.ERP 9. For this: • Add a signature of your application to the master (via a UDF – User Defined Field, created via TDL) • This UDF can be used to restrict alteration/deletion of such masters via TDL Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 7. Add a master identifier that will be used in the TPA (via a UDF). This should be maintained in the application to find missing/modified/regrouped masters You will need to verify the existence of the Master in Tally.ERP 9 before you post (to prevent overwrites and other conditions): • In case Master exists, you may need to perform these steps: o Check if the master is under the same reserved group/sub group you intended o If it is under the same group/sub group then: You may just need to alter the master to record the UDF’s and other changes/additions Or throw an exception to the TPA o If it is under a ‘wrong’ group, say ‘Expenses’ instead of ‘Assets’: Throw an exception to the TPA Or create a new ledger with a modified name • Else create this in Tally.ERP 9 In case master has tax related information, make sure you get these right: • Find the type of tax applicable Get the list of classifications from Tally.ERP 9 and ask the user to select • Detect the right classification and present to the user • Send the appropriate statutory related tags Handle base currency issues • In Tally.ERP 9 the base currency label can be changed. You will need to handle this scenario • In case you need to create a new currency in Tally.ERP 9: o Make sure that the currency code you want to create does not contain a numeric It is advisable to create one master at a time to manage exceptions better • On exception analyze the issue o If no user intervention is required then make corrections silently o If the user intervention necessary then prompt to the user • Maintain these in the TPA against each master o Code/name of master in TPA o Master ID in Tally.ERP 9 o Ledger name in Tally.ERP 9 o Ledger Group in Tally.ERP 9 o Ledger Identifier for your application in Tally.ERP 9 (UDF) Creating an Item Master In addition to most of the above: • Verify if the Units of Measurement is available in Tally.ERP 9 (else create this) • Check that the Item Group is available in Tally.ERP 9 (else create this) Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 8. Update Masters If the TPA just sends an update, Tally.ERP 9 will create a new master (and drop an existing one of the same name). Therefore the following steps must be followed when updating a master: • Retrieve the master to be updated • Change the values needed • Send the master definition to Tally.ERP 9 • Depending on requirement set parameters to over write the existing master or to append balances to the existing master Delete Masters For deleting a master the following actions have to be performed: • Retrieve the master from Tally.ERP 9 • Change the Action attribute to DELETE • Sent the information to Tally.ERP 9 Ignore Edits to Master Names You can choose to have the TPA ignore any edits made by the user to the names of accounting & item masters. This can be achieved by: Option 1: • Adding a UDF to the master during initial creation in Tally.ERP 9 • Before you post a transaction, retrieve the list of masters; look for the UDF that matched the value stored in the TPA. This will also help you to: o Check for name changes (you could update the name in the TPA) o Missing master (implies user has deleted this in Tally.ERP 9; perform a re-create) • Post the transaction with the right name Option 2: • When creating the master in Tally.ERP 9, add an alias to the name • A TDL in Tally.ERP 9 masks the display or edit of this alias • When posting transactions to Tally.ERP 9 use the alias to post $! % Create • Make sure that the necessary masters exist in Tally.ERP 9 (else create them) as Tally.ERP 9 will create vouchers with existing masters only • In case non-base currencies are used, make sure these currency' are available s in Tally.ERP 9 • Voucher types should also be available (or created if not found) in case TPA is posting a specific voucher type • Cost centers need to be available/created, if used • Voucher totals must result always to zero Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010
  • 9. Except in the cases of Contra, Purchase & Receipt send a Dr entry as first line item in the voucher XML • All dates must follow the YYYYMMDD format • If posting inventory information o Check for stock item presence in Tally o Check for units o Check for godowns Hint: Create the expected voucher entry in Tally.ERP 9 and export as XML. This is the format of the XML the TPA must generate. This will also be useful for troubleshooting Update • Extract the voucher in XML that you want to modify • Modify the appropriate values • Send the resulting XML to Tally.ERP 9 Delete • Extract the voucher in XML that you want to modify • Change the Action attribute to ‘delete’ • Send the resulting XML to Tally.ERP 9 Avoid Duplicate Vouchers • Send a UDF to the voucher during initial creation (set to a unique value in TPA) • Before sending/resending voucher verify for the UDF value to see if it will be duplicated (by retrieving from Tally.ERP 9 the voucher with that UDF) Protecting Vouchers from Edit/Delete • Write a TDL that looks for a specific value in a UDF and blocks these operations Finding Deleted Vouchers • Send a UDF to the voucher during initial creation (set to a unique value in TPA) • Get the list of vouchers from Tally.ERP 9 • Verify if the voucher UDFs sent are available in that list. The ones missing have been deleted (or a backup of Tally.ERP 9 has been restored) • In case there are vouchers in Tally.ERP 9 but not in the TPA, that means that the TPA backup has been restored (or transactions deleted in the TPA) Allow Editing of Vouchers • Send a UDF to the voucher during initial creation (set to a checksum value in TPA) • Retrieve voucher, compare checksum to UDF value. If changed means user has altered transaction in Tally.ERP 9. You can choose to delete & re-create or warn the user, based on your design Interface with Tally.ERP 9: High Level Strategies © Tally Solutions Pvt Ltd. 2010