Excel to Tally Purchase XML Converter — Free Online Tool
Import multiple supplier invoices into Tally Prime without manual entry. Upload your Excel purchase register, preview the data, and download a ready-to-import XML file in seconds.
1 Download the Excel Template
Use this template as your starting point. Replace the sample rows with your actual purchase data.
Party Ledger must already exist in Tally before importing purchase vouchers. If your supplier ledgers aren’t in Tally yet, bulk-create ledgers with GSTIN auto-fill →
2 Upload Your Excel File
Drag & Drop your Excel file here
or click to browse (.xlsx, .xls)
📋 Key Features of this Tool:
- • Strict Party Grouping: Same Voucher No. + Same Party → merged. Different party = separate voucher.
- • Manual Tax Mode: You enter IGST/CGST/SGST amounts directly — no auto-calculation guesswork.
- • Special Char Fix: &, quotes, <, > in party names are auto-escaped. No more Tally crashes.
- • Flexible Dates: DD/MM/YYYY, YYYY-MM-DD, Excel serial — all handled correctly.
- • ⚠️ Use 2 Decimals Only: Enter all amounts with max 2 decimal places (e.g. 1000.50). 3 or 4 decimals will cause errors.
| Row # | Voucher No | Party Name | Date Entered | Issue |
|---|
3 Preview & Validate
Showing first 10 rows. All rows will be processed.
4 Generate & Download XML
Review the summary above, then click to generate your Tally-ready XML file.
Press Ctrl+D to Bookmark this free tool for your daily accounting.
No signup required. 100% Free forever.
How to Use the Purchase XML Converter
Follow these steps to convert your purchase register Excel to Tally XML:
-
1
Download and fill the Excel template
Click "Download Purchase Template" above. Open it in Excel or Google Sheets. Replace the sample rows with your actual supplier invoice data. Each row = one line item in a purchase invoice.
-
2
For multi-line invoices, use the same Voucher No + Party Name
If an invoice has multiple line items (e.g., Purchase @ 5% and Purchase @ 18%), put both on separate rows with the same Voucher No and Party Name. The tool will group them into one voucher automatically.
-
3
Enter tax amounts manually
For inter-state purchases (IGST), enter the IGST amount and IGST ledger name. For intra-state (CGST+SGST), leave IGST blank and fill CGST Amount and SGST Amount. The tool switches modes automatically per row.
-
4
Upload, preview, and download
Upload the filled Excel file. Review the first 10 rows in the preview table. Check the validation summary for any skipped rows. Then click "Generate Purchase XML" to download your XML file.
How to Import This XML into Tally Prime
Once you've downloaded the XML file, follow these steps inside Tally Prime:
-
1
Open Tally Prime and select your Company. Make sure the company name in your Excel template matches exactly what's in Tally (column: "Company Name").
-
2
In Tally Prime, go to Import (Alt+O) → Transactions. (In older Tally ERP 9: Gateway of Tally → Import of Data → Vouchers)
-
3
In the file path field, browse to the downloaded XML file (e.g.,
Purchase_Import_1234567890.xml) and press Enter. -
4
Tally will show an import progress screen. On success, it displays "Vouchers created: X". If you see errors, check the common error fixes guide.
-
5
Verify: Go to Purchase Register to confirm all vouchers appear correctly with the right dates, party names, amounts, and tax ledgers.
Excel Template Column Guide
Every column in the Purchase template explained:
| Column | Required? | Example | Notes |
|---|---|---|---|
| Date | Required | 01/03/2026 | Accepts DD/MM/YYYY, YYYY-MM-DD, or Excel date format. |
| Company Name | Required | M/S ANITA BHANDAR | Must match your Tally company name exactly (case-insensitive is fine). |
| Voucher No | Required | PUR/101 | Supplier invoice number. Rows with same Voucher No + Party Name are merged into one voucher. |
| Party Name | Required | SUPPLIER A & CO | Ledger name of the supplier as in Tally. Special chars (&, ') are auto-escaped. |
| Purchase Ledger | Required | Purchase @ 18% | The purchase ledger name in Tally (e.g., "Purchase @ 5%", "Purchase @ 18%"). |
| Taxable Amount | Required | 1000.00 | The base/taxable value of the purchase (before GST). |
| IGST Ledger | Conditional | IGST | IGST ledger name in Tally. Required only if IGST Amount > 0. |
| IGST Amount | Conditional | 180.00 | Inter-state tax. If IGST > 0, CGST/SGST columns are ignored for that row. |
| CGST Amount | Conditional | 90.00 | Intra-state CGST. Used when IGST = 0. |
| SGST Amount | Conditional | 90.00 | Intra-state SGST. Equal to CGST in most cases. |
| Round Off | Optional | 0.40 | Round-off amount (positive or negative). Maps to "Round Off" ledger in Tally. |
You might also need:
Sales XML Converter
Convert your sales register to Tally Sales vouchers
Bank Statement Converter
Convert bank statement to Payment/Receipt vouchers
Ledger Master XML Creator
⚠️ Create party ledgers first — bulk-create suppliers with GSTIN auto-fill before importing purchase vouchers
HSN/SAC Code Finder
Look up the correct HSN code for your purchase ledger before filing — incorrect codes can lead to GST notices
Why Import Purchase Vouchers via XML Instead of Typing Them?
If you're doing purchase voucher entry manually in Tally — opening Gateway of Tally, pressing F9, filling in Party Name, selecting Purchase ledger, entering tax amounts, one invoice at a time — you already know how long this takes. For 50 invoices, that's easily 2–3 hours. For 300, it's the better part of a week. And that's before accounting for typos, wrong ledger names, or accidentally posting to the wrong financial year.
Tally Prime's XML import solves all of this. The entire voucher dataset — party names, invoice dates, purchase ledger, IGST/CGST/SGST amounts, voucher numbers, narrations — is specified in a structured XML file, and Tally reads it and creates all vouchers in one shot. The same 300 invoices that would take days of manual entry are imported in under a minute.
The catch is that the XML format is strict. Tally requires a very specific tag structure, correct debit/credit treatment (which reverses for purchases vs. sales), properly escaped special characters in party names, and the party ledgers must already exist in Tally before importing. Getting any of these wrong results in silent rejections — Tally says "Import completed" but creates zero vouchers, with no obvious explanation.
That's what this tool handles. You fill in your purchase data in Excel — the same format you probably already have it in — and the tool builds the correctly formatted XML with proper handling for:
- IGST vs CGST+SGST: Per-row detection based on which tax column has a non-zero amount. Inter-state and intra-state purchases can be mixed in the same file.
- Multi-line vouchers: Rows with the same Voucher No and Party Name are grouped into one voucher with multiple ledger line items — for invoices that span multiple purchase accounts or tax rates.
- Special characters: Ampersands (&), single quotes, and angle brackets in party names are automatically escaped to valid XML entities. This prevents the "Semicolon expected" parse error that trips up manually written XML files.
- Round-off: The template auto-calculates a round-off amount using a formula, and the XML includes a Round Off ledger entry so Tally's debit/credit balance is always zero.
The conversion runs entirely in your browser. Your Excel file is read locally by JavaScript and never leaves your machine. The same goes for the generated XML — it's downloaded directly to your computer as a file, without going through any server. This is especially important for purchase data, which includes supplier names, invoice amounts, and GST details that are legitimately sensitive.
Purchase Tool — FAQ
Does this tool work for both inter-state (IGST) and intra-state (CGST+SGST) purchases?
Yes. For each row in your Excel file, you can independently specify either IGST or CGST+SGST. If the IGST Amount column is greater than 0, the tool uses IGST mode for that row. If IGST Amount is 0 or blank, it uses CGST+SGST. This means a single Excel file can contain both inter-state and intra-state purchases from different suppliers.
What does "Party Grouping" mean and why is it important?
Party Grouping means multiple Excel rows that belong to the same voucher are combined into one Tally voucher. The grouping key is Voucher No + Party Name. This is critical because two different suppliers may use the same invoice number — using Voucher No alone would wrongly merge them into one entry in Tally.
My Purchase ledger names in Tally are different from the sample. How do I change them?
Simply type your actual Tally ledger names in the "Purchase Ledger" column. For example, if your ledger is called "Purchases-Local 18%", type exactly that. The tool uses whatever you enter — it doesn't have a fixed list. Just make sure the spelling matches your Tally ledger exactly.
What happens if my Excel file has extra blank rows or header rows?
Rows with a blank or missing Voucher No are automatically skipped and listed in the validation summary as "skipped rows". Extra header rows below row 1 may cause issues — keep only one header row (row 1) in your Excel file. Blank rows in the middle of data are safe to have; they'll be skipped without affecting other vouchers.
Will this work for RCM (Reverse Charge Mechanism) purchases?
The current version generates standard purchase vouchers with the ledger names you specify. For RCM entries, you can use separate tax ledger names (e.g., "IGST RCM", "CGST RCM Payable") and enter the amounts accordingly. The voucher structure will be the same; the ledger names will reflect the RCM treatment as you set up in Tally.
Can I check if my invoice dates belong to the correct financial year?
Yes — enable "Financial Year Date Check" above the upload area. The tool will flag any rows with dates outside your selected FY (current or previous) along with the Voucher No and Party Name, so you can find and fix them in your Excel file. This is an optional check — you can always proceed with the import even if some dates are flagged.