PDF to Tally XML, on your PC

Bank statement PDF to Tally XML

Greenote reads the statement, works out what each line is and who it was with, and builds the voucher XML for the Tally version you actually run. It posts straight into your local Tally, so there is no file to import by hand and nothing is uploaded anywhere.

7-day free trial, no card required. TallyPrime and Tally.ERP 9.

What actually has to happen between the PDF and the XML

Producing Tally XML is not really a file-format conversion. The XML is the easy end. Four things have to be decided before it can be written at all, and the order matters.

  1. 1

    Read the statement correctly

    Reassemble one row per transaction from a PDF that may split a single entry across several printed lines, print one amount column instead of two, or carry the direction as a Cr or Dr suffix welded to the number.

  2. 2

    Decide what each line is

    Payment, receipt or an own-account transfer. Get this wrong and turnover inflates, because a transfer booked as a payment plus a receipt adds movement that never happened.

  3. 3

    Name the counterparty and bind it to a real ledger

    This is the step that takes the time. The party is buried inside transport noise like NEFT-N12345678-ACME TRADERS PVT LTD-HDFC0000123, and the name that comes out has to match a ledger master that already exists in the company, exactly, or the entry lands in Suspense.

  4. 4

    Build the XML the target version keeps

    Only now is there anything to serialise, and it has to be shaped for the Tally family being posted to.

A converter that does step one and calls it done leaves you steps two and three, which is most of the work. That is why imported entries end up in Suspense.

The XML has to match your Tally version, and failure is silent

This is the part that catches people out, because it does not look like a failure.

An older Tally does not reject an element it has never heard of. It accepts the voucher and drops the element. So XML built for TallyPrime 3 and posted into Tally.ERP 9 comes back reporting success. The voucher is created, the date and amount are right, and something inside it, often the GST registration block, was quietly discarded on the way in. Nothing warns you. You find it at filing.

We measured this rather than assuming it: send a maximal voucher, export it back, diff the two. Across 47 elements, TallyPrime 7.0 kept 43, TallyPrime 2.1 kept 32, and Tally.ERP 9 6.6.3 kept 31. Greenote detects the family and builds what that family actually keeps. The full measurement is here.

Is there a free way to do this?

Partly, and it is worth being straight about where the free route stops.

Free tools will turn a PDF into a spreadsheet. What none of them do is produce Tally XML, or decide which ledger each transaction belongs to. TallyPrime can import a properly formatted file, but its own instructions tell you to fill in the ledger name yourself, line by line. On a 300-row statement that is the entire job.

There is also a specific caution for client statements. A free online converter means uploading someone else's bank data to a third-party server, and your firm chose that processor. The five questions worth asking first.

Greenote is paid, with a 7-day trial that needs no card, so you can put real statements through it before deciding.

Nothing is uploaded

The XML is built where the statement already is

Greenote runs on your Windows PC and talks to the Tally on that machine. The statement is not sent to Greenote servers or to any third party, which is what lets your firm stay the data fiduciary for client bank data under the DPDP Act.

Convert a statement from your bank

25 banks have a reader tuned to their exact statement structure, and any other bank's text PDF, Excel or CSV works through the general reader.

Tally XML from a bank statement: common questions

How do I convert a bank statement PDF to Tally XML?
Open the statement in Greenote on your Windows PC, review the transactions it reads, and post. Greenote builds the voucher XML for the Tally version you are running and sends it to your local Tally directly, so there is no separate file to import by hand. If you would rather have the file, it can be exported instead.
Is there a free bank statement to Tally XML converter?
There are free PDF to Excel tools, but they stop at a spreadsheet: they do not produce Tally XML, and they do not decide which ledger each transaction belongs to, which is the part that takes the time. Greenote is paid software with a 7-day free trial and no card required, so you can convert real statements before deciding. Be careful with free online converters for client statements specifically, since the file is uploaded to someone else’s server.
Which Tally versions does the XML work with?
TallyPrime and Tally.ERP 9. This matters more than it sounds: an older Tally does not reject an element it has never seen, it accepts the voucher and silently drops that element. Greenote detects the version and builds the XML that version actually keeps, rather than sending one shape to everything and hoping.
Can I get CSV or Excel instead of XML?
Yes. The same reading of the statement can be exported as a formatted Excel workbook, which is what most people open first. XML is the route when the destination is Tally itself rather than a spreadsheet.
What happens if the XML import fails?
Most failures are not XML problems at all: the connection never reached Tally, or the company name did not match, or a ledger does not exist. Greenote posts into your local Tally and shows you every line before anything is written, and it sets a stable identifier per voucher so re-running updates the existing voucher instead of creating a duplicate.
Is the statement uploaded anywhere to make the XML?
No. Greenote is Windows desktop software and the whole conversion happens on your machine. The statement is not sent to Greenote or any third party, and the only thing contacted to post vouchers is the Tally already running on your own PC.