The challenge
The India entity's books live in NetSuite for group reporting but must also exist in Tally for Indian statutory purposes, and every month the general ledger was being re-keyed by hand - hundreds of rows becoming over a hundred vouchers, with the accounts payable lines needing the real supplier name looked up on each one.
What we built
We built a desktop converter that reads the NetSuite general ledger export exactly as NetSuite produces it - even when its ".xls" file is really another format underneath - and writes a TallyPrime import file covering nine voucher types, from bills and bill payments to credit notes, transfers, prepayments and credit card charges; an unknown type is a blocking error rather than a guess. It reads value only from the Debit and Credit columns and deliberately ignores NetSuite's Amount column, which flips sign on liability, equity and income accounts - in the first month's file a hundred and forty-three of four hundred and fifty-eight rows disagreed, and using it would have quietly corrupted the P&L. Accounts payable lines carrying a vendor are rewritten to the real supplier ledger so a bill lands in Tally as a purchase against the actual party, transactions dated outside the accounting month are rebased to the first of the month so monthly balances tie to the trial balance, and every rebase is listed for review. Before anything is generated the tool validates the file - unbalanced vouchers, rows with both or neither of debit and credit, duplicate document numbers - blocks generation until they are fixed, warns if a document number was already generated in an earlier batch, and lists every ledger the import will reference so missing ones can be created first. The whole mapping - voucher types, payable accounts, narration source, numbering style - sits in a configuration file the client can edit on site, and every rule is pinned by an acceptance test against vouchers the client had keyed by hand: five months of ledger, over two and a half thousand rows, now converts to over eight hundred balanced vouchers in minutes instead of days of keying, with an audit log of every substitution and every rebased date.
The result
Before: days of keying each month. Now: minutes.