Understanding Integration Transactions
Understanding Integration Transactions
Understanding Integration –
Transactions
Introduction
The Voucher is the document used for recording all type of transactions in accounting standards. It
can be either impact of cash or material between two entities. There are various voucher types
available in Tally to categorize the transactions as Purchase, Sales, Payment, Receipt, Journal etc.
The details of all voucher types available here
Sales Transaction
Here the Sales voucher is considered for explaining the integration of sales vouchers from TPA to
Tally.
Sales voucher type used to record the sales transactions of an organization. A bill is generated on
sale of goods or services provided or both sales and services. All these requirements fulfilled in
Tally. There are two modes, ‘As voucher’ and ‘As invoice’, available in Tally to record the sales
transactions. Both the mode supports to enter the transactions with or without inventory details.
The mode ‘As Invoice’ prints the voucher in Invoice format and it can be hand it over to the Buyer /
Party for proof of transaction.
The mandatory XML tags for a Sale transaction is given below. However, it has to specified
depends upon the mode of transaction. The structure and hierarchy of each mode explained
below with sample XML requests.
Permissible
Tags Data Type Description
Values
Accounting
Voucher View
Invoice Voucher
View
Inventory
Voucher View To identify the
PERSISTEDVIEW String Pay Slip Voucher Voucher
View behaviour.
Consumption
Voucher View
Multi
Consumption
Voucher View
To provide
Name of the
VOUCHERTYPENAME String voucher type
voucher type
name
Uni date in
To provide date
DATE Date format of
for the voucher
yyyymmdd
To identify
whether the
voucher should
ISINVOICE Logical Boolean
be recorded as
invoice or
voucher.
To provide
ALLLEDGERENTRIES.LIST List Tag ledger details of
the voucher
To identify
whether the
ISPARTYLEDGER Logical Boolean
ledger is a party
ledger or not
To provide
AMOUNT Amount Amount amount for the
ledger
This is opening
tag for providing
bill details for
party ledger and
BILLALLOCATIONS.LIST List Tag is mandate only
for party ledger.
For other
ledgers the tag
is not required
To provide name
NAME String Text / number for the
bill
To identify the
payment type
Advance
received from
Agst Ref
BILLTYPE String party. This
New Ref
would impact
On Account
bill outstanding
report
AMOUNT Amount Amount To provide bill
amount
This is closing
/BILLALLOCATIONS.LIST List Tag tag of bill
allocation
This is closing
/ALLLEDGERENTRIES.LIST List Tag tag for ledger
details
This is opening
tag for Inventory
ALLINVENTORYENTRIES.LIST List Tag
Entries of
voucher
To provide stock
STOCKITEMNAME String
item name
To provide
ACTUALQTY Quantity Number actual quantity
of the item
To provide billed
BILLEDQTY Quantity Number quantity of the
item
To provide rate
RATE Rate Number for billed
quantity
To provide
AMOUNT Amount amount for the
item
To provide sales
LEDGERNAME String Text / Tax ledger
name
To provide
AMOUNT Number Amount amount for the
ledger
This is a closing
tag for
/ACCOUNTINGALLOCATIONS.LIST List Tag
accounting
allocations
This is opening
BATCHALLOCATIONS.LIST List Tag #NA tag for Batch
allocations
To provide
godown name.
Incase godown
is not enabled
GODOWNNAME String
but batch is
used the value
has to be Main
Location
This tag is to
AMOUNT Amount provide amount
for batch
This tag is to
provide actual
quantity sent by
the supplier.
ACTUALQTY Quantity
This would
affect all
inventory
reports
To provide the
BILLEDQTY Quantity
quantity billed
This is a closing
/BATCHALLOCATIONS.LIST List Tag tag for Batch
allocations
This is a closing
tag for Inventory
/ALLINVENTORYENTRIES.LIST List Tag
Entries of
voucher
This is a closing
/VOUCHER List Tag
tag for voucher
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Import</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Vouchers</ID>
</HEADER>
<BODY>
<DESC>
</DESC>
<DATA>
<TALLYMESSAGE>
<VOUCHER>
<DATE>20160401</DATE>
<VOUCHERTYPENAME>Sales</VOUCHERTYPENAME>
<VOUCHERNUMBER>1</VOUCHERNUMBER>
<ISINVOICE>No</ISINVOICE>
<LEDGERENTRIES.LIST>
<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
<ISPARTYLEDGER>Yes</ISPARTYLEDGER>
<ISLASTDEEMEDPOSITIVE>Yes</ISLASTDEEMEDPOSITIVE>
<AMOUNT>-215476.00</AMOUNT>
</LEDGERENTRIES.LIST>
<LEDGERENTRIES.LIST>
<LEDGERNAME>Sales</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>21546.00</AMOUNT>
</LEDGERENTRIES.LIST>
</VOUCHER>
</TALLYMESSAGE>
</DATA>
</BODY>
</ENVELOPE>
Note 1: The inventory details can be added by just adding the below tags under sales
ledger as the inventory details are the break-up of sales ledger.
<INVENTORYALLOCATIONS.LIST>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>21546.00</AMOUNT>
<BATCHALLOCATIONS.LIST>
<GODOWNNAME>Factory</GODOWNNAME>
<AMOUNT>21546.00</AMOUNT>
</BATCHALLOCATIONS.LIST>
</INVENTORYALLOCATIONS.LIST>
Note 2: As stated earlier, an invoice can be recorded without inventory entries for the
purpose of preparing service bills by changing below mentioned two tags. Such
transactions called as ‘Accounting Invoice’ in Tally.
Voucher Creation
This below mentioned XML request imports a voucher, As Item Invoice, in TallyPrime. The same can
be viewed in the reports where the sales transactions are captured, For example: Day Book, Sales
Register, etc.
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Import</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Vouchers</ID>
</HEADER>
<BODY>
<DESC></DESC>
<DATA>
<TALLYMESSAGE>
<VOUCHER>
<DATE>20160401</DATE>
<VOUCHERTYPENAME>Sales</VOUCHERTYPENAME>
<VOUCHERNUMBER>1</VOUCHERNUMBER>
<ISINVOICE>Yes</ISINVOICE>
<LEDGERENTRIES.LIST>
<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
<ISPARTYLEDGER>Yes</ISPARTYLEDGER>
<ISLASTDEEMEDPOSITIVE>Yes</ISLASTDEEMEDPOSITIVE>
<AMOUNT>-21546.00</AMOUNT>
<BILLALLOCATIONS.LIST>
<NAME>1</NAME>
<BILLTYPE>New Ref</BILLTYPE>
<AMOUNT>-21546.00</AMOUNT>
</BILLALLOCATIONS.LIST>
</LEDGERENTRIES.LIST>
<LEDGERENTRIES.LIST>
<LEDGERNAME>Packing Charges</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>900.00</AMOUNT>
</LEDGERENTRIES.LIST>
<LEDGERENTRIES.LIST>
<BASICRATEOFINVOICETAX.LIST TYPE=”Number”>
<BASICRATEOFINVOICETAX> 14</BASICRATEOFINVOICETAX>
</BASICRATEOFINVOICETAX.LIST>
<ROUNDTYPE/>
<LEDGERNAME>VAT</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>2646.00</AMOUNT>
</LEDGERENTRIES.LIST>
<ALLINVENTORYENTRIES.LIST>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<RATE>15000.00/nos</RATE>
<AMOUNT>15000.00</AMOUNT>
<ACTUALQTY> 1 nos</ACTUALQTY>
<BILLEDQTY> 1 nos</BILLEDQTY>
<BATCHALLOCATIONS.LIST>
<GODOWNNAME>Main Location</GODOWNNAME>
<BATCHNAME>Primary Batch</BATCHNAME>
<DESTINATIONGODOWNNAME>Main Location</DESTINATIONGODOWNNAME>
<AMOUNT>15000.00</AMOUNT>
<ACTUALQTY> 1 nos</ACTUALQTY>
<BILLEDQTY> 1 nos</BILLEDQTY>
</BATCHALLOCATIONS.LIST>
<ACCOUNTINGALLOCATIONS.LIST>
<LEDGERNAME>Sales</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>15000.00</AMOUNT>
</ACCOUNTINGALLOCATIONS.LIST>
</ALLINVENTORYENTRIES.LIST>
<ALLINVENTORYENTRIES.LIST>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<RATE>3000.00/nos</RATE>
<AMOUNT>3000.00</AMOUNT>
<ACTUALQTY> 1 nos</ACTUALQTY>
<BILLEDQTY> 1 nos</BILLEDQTY>
<BATCHALLOCATIONS.LIST>
<GODOWNNAME>Main Location</GODOWNNAME>
<BATCHNAME>Primary Batch</BATCHNAME>
<DESTINATIONGODOWNNAME>Main Location</DESTINATIONGODOWNNAME>
<AMOUNT>3000.00</AMOUNT>
<ACTUALQTY> 1 nos</ACTUALQTY>
<BILLEDQTY> 1 nos</BILLEDQTY>
</BATCHALLOCATIONS.LIST>
<ACCOUNTINGALLOCATIONS.LIST>
<LEDGERNAME>Sales</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>3000.00</AMOUNT>
</ACCOUNTINGALLOCATIONS.LIST>
</ALLINVENTORYENTRIES.LIST>
</VOUCHER>
</TALLYMESSAGE>
</DATA>
</BODY>
</ENVELOPE>
XML Response
On processing the above request for importing vouchers, the requested vouchers are created
in Tally and the returns the response as mentioned below:
The above XML Response is a log of vouchers created, altered, combined, ignored or not imported
due to some errors. It also contains information pertaining to last Voucher ID imported.
Voucher Alteration
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Import</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Vouchers</ID>
</HEADER>
<BODY>
<DESC></DESC>
<DATA>
<TALLYMESSAGE>
</VOUCHER>
</TALLYMESSAGE>
</DATA>
</BODY>
</ENVELOPE>
Voucher Cancellation
Voucher cancellation is similar to above Voucher Alteration. For Voucher Cancellation, Action must
be set to “Cancel”.
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Import</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Vouchers</ID>
</HEADER>
<BODY>
<DESC></DESC>
<DATA>
<TALLYMESSAGE>
</VOUCHER>
</TALLYMESSAGE>
</DATA>
</BODY>
</ENVELOPE>
Guidelines
To understand or import the values of other than mandatory tags, create the expected voucher entry
in TallyPrime and export the same in XML format. This is the format of the XML the TPA must
generate. So, pick up the relevant tags from here and place it as per the hierarchy in your XML
request.
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>0</STATUS>
</HEADER>
<BODY>
</BODY>
</ENVELOPE>
Solution: Ensure the specified masters in the XML are created and available in Tally
<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>0</STATUS>
</HEADER>
<BODY>
<DATA>
<LINEERROR>Voucher totals do not match! Dr: 20,394.00 Dr Cr: 20,395.00 Cr Diff: 1.00
Cr</LINEERROR>
<CREATED>0</CREATED>
<ALTERED>0</ALTERED>
<DELETED>0</DELETED>
<LASTVCHID>0</LASTVCHID>
<LASTMID>0</LASTMID>
<COMBINED>0</COMBINED>
<IGNORED>0</IGNORED>
<ERRORS>1</ERRORS>
<CANCELLED>0</CANCELLED>
<VCHNUMBER>1</VCHNUMBER>
<DESC></DESC>
</DATA>
</BODY>
</ENVELOPE>
Solution: Ensure the total of debit amounts are equals to the total of credit amounts
Apart from the XML response, the statistics of import execution logs the file Tally.imp
as well, under the folder where the TallyPrime is installed
Make sure that the necessary masters (Ledger, Stock Item, UOM, etc.) exists in TallyPrime
In case non-base currencies are used, make sure these currencies are available in TallyPrime
The totals of Debit values and Credit values of Voucher should be equal
Related Topics
Understanding Accounting Masters Integration