How to Integrate Sales Module of your Application with Tally ?
This article illustrates how to integrate the "Sales Voucher entry" module of your
Software with the Tally Software.
To begin with, we shall manually do a Sales Voucher entry in the Tally Software.
For reference purpose, the Tally Software Sales entry screen is shown herewith.
As you can see, the following input is required:-
Voucher Type: Sales
Date: 1-4-2007
Ref No: 1
Party A/c Name: Shweta Softwares
Sales Ledger: Sales
VAT/Tax Class: Sales @ 4%
Name of Item: Bush
Quantity: 1
Rate: 2500
Amount: 2500
For simplicity, we have taken a Single Stock-item in our example. To identify the
related fields in your database, a table is given
below:-
Tally XML Tags |
XML Tags Example
|
Field name in your table
(Fill-up this space)
|
<VOUCHERTYPENAME> |
<VOUCHERTYPENAME>Sales</VOUCHERTYPENAME> |
|
<DATE> |
<DATE>1-4-2007</DATE> |
|
<VOUCHERNUMBER> |
<VOUCHERNUMBER>1</VOUCHERNUMBER> |
|
<PARTYLEDGERNAME> |
<PARTYLEDGERNAME>Shweta Softwares</PARTYLEDGERNAME> |
|
<LEDGERENTRIES.LIST> |
This section contains Debit Ledger A/c details as given below:-
Ledger Name
Amount |
|
<ALLINVENTORYENTRIES.LIST> |
This section contains the Stock-item details as given below:-
Stock-Item Name
Qty
Rate
Amount
It also contains the Credit Ledger A/c details as given below:-
Ledger Name
Amount
VAT Class |
|
<LEDGERENTRIES.LIST> |
This section contains VAT classification details as given below:-
Ledger Name
TaxClassificationName
VATRate
VATAmount
AssessableValue |
|
Remarks:-
1) Accounting effect of the above enty is as follows:-
A/c : Shweta Softwares
2600 Dr
A/c : Sales
2500 Cr
A/c : VAT output 4%
100 Cr
2) Party Account Debited
The Party A/c Shweta Softwares is to be debited.
In this case, the Amount figure is shown as NEGATIVE and the <ISDEEMEDPOSITIVE>
tag value is set to YES.
3) Sales A/c to be Credited
The Sales A/c is to be Credited. In this case,
the Amount figure is shown as POSITIVE and the <ISDEEMEDPOSITIVE>
tag is set to NO.
4) VAT Output 4% A/c to be Credited
The VAT Output 4% A/c is to be Credited. In
this case, the Amount figure is shown as POSITIVE and the <ISDEEMEDPOSITIVE>
tag is set to NO.
GUID (RemoteID)
GUID is a 16-byte number that is used to uniquely identify
a record in a database.
For more information on GUID, visit
Tally-Integration-Tips
XML tags for Sales Voucher entry (for Tally 9 / Tally 7.2)
The XML Tags required for creating Sales Voucher as per our illustration are
given below :-
<ENVELOPE>
<HEADER>
<TALLYREQUEST>Import Data</TALLYREQUEST>
</HEADER>
<BODY>
<IMPORTDATA>
<REQUESTDESC>
<REPORTNAME>All Masters</REPORTNAME>
</REQUESTDESC>
<REQUESTDATA>
<TALLYMESSAGE xmlns:UDF="TallyUDF">
<VOUCHER REMOTEID="7811598w-849g-790n-221j-562536936384-00000001"
VCHTYPE="Sales" ACTION="Create"> <ISOPTIONAL>No</ISOPTIONAL>
<USEFORGAINLOSS>No</USEFORGAINLOSS>
<USEFORCOMPOUND>No</USEFORCOMPOUND>
<VOUCHERTYPENAME>Sales</VOUCHERTYPENAME>
<DATE>20070401</DATE>
<EFFECTIVEDATE>20070401</EFFECTIVEDATE>
<ISCANCELLED>No</ISCANCELLED>
<USETRACKINGNUMBER>No</USETRACKINGNUMBER>
<ISPOSTDATED>No</ISPOSTDATED>
<ISINVOICE>Yes</ISINVOICE>
<DIFFACTUALQTY>No</DIFFACTUALQTY>
<NARRATION/>
<ASPAYSLIP>No</ASPAYSLIP>
<GUID>7811598w-849g-790n-221j-562536936384-00000001</GUID>
<REFERENCE>1</REFERENCE>
<PARTYLEDGERNAME>Shweta Softwares</PARTYLEDGERNAME>
<LEDGERENTRIES.LIST>
<REMOVEZEROENTRIES>No</REMOVEZEROENTRIES>
<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
<LEDGERFROMITEM>No</LEDGERFROMITEM>
<TAXCLASSIFICATIONNAME/>
<LEDGERNAME>Shweta Softwares</LEDGERNAME>
<AMOUNT>-2600.00</AMOUNT>
</LEDGERENTRIES.LIST>
<ALLINVENTORYENTRIES.LIST>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<STOCKITEMNAME>BUSH</STOCKITEMNAME>
<AMOUNT>2500.00</AMOUNT>
<ACTUALQTY>1.00</ACTUALQTY>
<BILLEDQTY>1.00</BILLEDQTY>
<RATE>2500.000</RATE>
<ACCOUNTINGALLOCATIONS.LIST>
<REMOVEZEROENTRIES>No</REMOVEZEROENTRIES>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<LEDGERFROMITEM>No</LEDGERFROMITEM>
<TAXCLASSIFICATIONNAME/>
<LEDGERNAME>SALES</LEDGERNAME>
<AMOUNT>2500.00</AMOUNT>
</ACCOUNTINGALLOCATIONS.LIST>
<BATCHALLOCATIONS.LIST>
<TRACKINGNUMBER/>
<BATCHNAME>Primary Batch</BATCHNAME>
<GODOWNNAME>Main Location</GODOWNNAME>
<MFDON>20070401</MFDON>
<EXPIRYPERIOD/>
<AMOUNT>2500.00</AMOUNT>
<ACTUALQTY>1.00</ACTUALQTY>
<BILLEDQTY>1.00</BILLEDQTY>
<ORDERNO/>
</BATCHALLOCATIONS.LIST>
</ALLINVENTORYENTRIES.LIST>
<LEDGERENTRIES.LIST>
<REMOVEZEROENTRIES>No</REMOVEZEROENTRIES>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<LEDGERFROMITEM>No</LEDGERFROMITEM>
<LEDGERNAME>VAT OUTPUT 4%</LEDGERNAME>
<TAXCLASSIFICATIONNAME>Sales @ 4%</TAXCLASSIFICATIONNAME>
<UDF:RATEOFINVOICETAX.LIST DESC="'RATEOFINVOICETAX`" ISLIST="YES">
<UDF:RATEOFINVOICETAX DESC="`RATEOFINVOICETAX`">4.000</UDF:RATEOFINVOICETAX>
</UDF:RATEOFINVOICETAX.LIST>
<AMOUNT>100.00</AMOUNT>
<VATASSESSABLEVALUE>2500.00</VATASSESSABLEVALUE>
</LEDGERENTRIES.LIST>
<INVOICEDELNOTES.LIST/>
</VOUCHER>
</TALLYMESSAGE>
</REQUESTDATA>
</IMPORTDATA>
</BODY>
</ENVELOPE>
|
In the above XML tags, the values that you need to fetch from your database have
been highlighted.
Once the XML tag is ready, you can send if to Tally Software using RTSlink DLL Send()
function.
|