7 Days Money Back Guarantee - Limited Time Offer before 31 October, 2026

Excel to Tally: how do I avoid GSTIN/HSN/date errors before importing?

Run through the file before importing, not after a rejection: pre-create ledgers/stock items/voucher types with exactly matching names, use a consistent date format with the column typed as Date (not text), confirm every GSTIN is 15 characters with no spaces or special characters and the right state code, check HSN/SAC and tax-rate fields, confirm debit totals equal credit totals, and remove blank rows, merged cells and hidden columns. Testing with 5–10 sample rows first catches most layout problems before you run the whole file.

The checklist

A TallyPrime data-import troubleshooting guide lays this out as a pre-import routine:

  1. Pre-create ledgers, stock items and units in Tally before importing, with names matching exactly, including spacing and spelling.
  2. Set up GST ledgers (CGST, SGST, IGST) with the correct tax percentages beforehand.
  3. Use a standardised date format — DD-MM-YYYY or YYYYMMDD — with the Excel column formatted as Date, not Text.
  4. Check that GSTIN fields are 15 characters, with no spaces or special characters, and verify the state code.
  5. Confirm total debit equals total credit before importing.
  6. Remove blank rows and merged cells, and unhide any hidden columns.
  7. Avoid mixing formats within a single column.
  8. Back up the Tally company before running a bulk import.
  9. Test with 5–10 sample rows first to confirm the layout works before importing the full file.
How Charter AI does this

Charter AI runs this class of check automatically, deterministically, for every transaction before export — the voucher balances, the GSTIN passes its format and checksum, and the line total matches the source — so the checklist above is largely what already has to pass before a Tally Import XML file is generated.

Start free 7-day trial

FAQs

Do I really need to pre-create every ledger before importing?

Per this checklist, yes — an import that references a ledger not already in Tally, or spelled slightly differently, is one of the most common causes of a rejected row.

Why test with a handful of rows first instead of the whole file?

A small batch surfaces a layout or mapping problem (a wrong date format, a mismatched ledger name) without having to untangle it across hundreds of rows, and without risking a partial import you then have to clean up.

Should I back up before every import, even a small one?

The guide recommends it for a bulk import specifically — cheap insurance against having to manually reverse a batch of vouchers if something goes wrong.

Related guides

Sources checked

Last reviewed 2026-09-23

Tally, Vyapar and other product names are trademarks of their respective owners. Charter AI is not affiliated with them.