InvoiceFlow is a single-file HTML application that extracts data from invoice PDFs using Claude AI and generates Tally-importable Excel and XML files. No server, no installation, no dependencies.
| File | Purpose |
|---|---|
index.html | The application (~3000 lines, single file) |
LAUNCH_EDGE.bat | Launches Edge with API access flags |
README.txt | Quick start instructions |
Edge opens with a dedicated profile. Your normal browsing is unaffected.
InvoiceFlow uses the Claude API to read and understand invoice PDFs. You need an Anthropic API key.
Create an account, go to API Keys, and generate a new key (starts with sk-ant-api03-...).
Three ways to add invoice PDFs:
Drag & Drop: Drag files from File Explorer onto the drop zone.
Browse: Click the drop zone to open a file picker.
Ctrl+V Paste: Copy a PDF in File Explorer, then press Ctrl+V anywhere on the page.
Files are processed in parallel. Each shows real-time status: Queued → Extracting → Done.
After extraction, the app checks for: missing GSTIN, missing invoice number, and duplicate invoices already in history.
After extraction, click the Tally Export button to open the export configuration modal.
Separate KA and VIZ sheets with voucher numbering. Each line item becomes a row with Party Name, Expense Ledger, Amount, Cost Center, GST entries, and TDS.
Click "Generate Tally XML" for direct import via Gateway of Tally → Import Data. Uses standard ENVELOPE > TALLYMESSAGE > VOUCHER structure.
| Condition | GST Type | Ledgers Used |
|---|---|---|
| Vendor & recipient in same state (same first 2 digits) | Intrastate | CGST + SGST |
| Different states | Interstate | IGST only |
The Ledger Master auto-maps invoices to expense ledgers based on keywords and vendor names.
| Priority | Match Type | Score |
|---|---|---|
| Highest | Vendor + Keywords both match | 3 |
| Medium | Keywords only (any vendor) | 2 |
| Lowest | Vendor only (no keywords) | 1 |
Keywords are comma-separated. All must appear in the description. Example: security, guard matches "Security Guards Charges for March".
Fill in Keywords, Vendor, Expense Ledger, Cost Center, TDS Section at the top, then click "+ Add".
When you generate a Tally export, new mappings you entered are automatically saved as rules. The system learns from your work — teach it once, it remembers forever.
| Section | Tally Ledger |
|---|---|
| 194C | CONTRACTOR TAX PAYABLE |
| 194J | FRANCHISE & OTHER TAXES PAYABLE |
| 194I | TDS ON RENT |
| 192 | PAYROLL TAXES PAYABLE - OTHER |
| 194Q | TDS ON PURCHASE OF GOODS 94Q |
| 195 | TDS ON NON-RESIDENTS |
Upload your Tally chart of accounts for searchable autocomplete everywhere in the app.
| Upload | Key | Auto-detect Columns |
|---|---|---|
| BLR Ledgers | if_tally_ledger_blr | Ledger Name / Name / Particulars |
| BLR Cost Centres | if_tally_costcentre_blr | Cost Centre / Cost Center / Department |
| VIZ Ledgers | if_tally_ledger_viz | Same as above |
| VIZ Cost Centres | if_tally_costcentre_viz | Same as above |
Type multiple words in any order:
| You Type | Finds |
|---|---|
sec exp | SECURITY EXPENSE |
cont tax | CONTRACTOR TAX PAYABLE |
itc cg | ITC CGST Input |
rent tds | TDS ON RENT |
Results ranked: names starting with your first word appear first. Matches highlighted in bold. Dropdown auto-flips upward if no space below.
When a single expense needs allocation across multiple cost centers:
When you tab out of an amount field, the last CC row auto-fills with the remaining balance. Example: total ₹28,000, first CC = ₹10,000 → second CC auto-fills ₹18,000.
In the Tally export modal:
"AI Suggest All" — suggests ledgers for all unmapped line items at once.
Per-line ✨ button — suggests for just that one line item.
Claude analyzes each line item's description, HSN/SAC codes, and vendor name against standard Indian accounting practices.
| Recipient GSTIN | Books | Prefix | GST Ledgers |
|---|---|---|---|
29ABNFM4048G1ZX | Karnataka | 2026-27/BLR-KA/ | ITC CGST / State GST / IGST Input |
29ABNFM4048G2ZW | Karnataka ISD | 2026-27/BLR-KA/ | ITC xxx Input - ISD |
37ABNFM4048G1Z0 | Vizag | 2026-27/Viz/ | ITC CGST / State GST / IGST Input |
Exact GSTIN → PAN-based fuzzy (ABNFM4048G + state code) → Manual selection
Every extraction is logged with: user name, PDF file name, invoice number, vendor, total amount, timestamp, and duplicate flag.
Search: Filter by any field. Export to Excel: Download full history. Clear: Double-click to confirm (Ledger Master unaffected).
Aggregate stats: total invoices processed, unique vendors, active users, duplicates detected. Also shows top vendors by count and activity per user.
All data lives in the browser's localStorage. Use Backup/Restore to transfer between PCs.
| Issue | Solution |
|---|---|
| API key error | Verify at console.anthropic.com. Check internet connection. |
| Can't scroll | Use the latest index.html. Older versions had overflow issues. |
| Wrong books detected | Check Recipient GSTIN matches one of the three configured GSTINs. |
| Data lost after HTML update | Data is in browser localStorage, not the file. Same launcher = same data. |
| Buttons not working | Edge security blocks confirm(). All confirmations use double-click pattern. |
| CC split export failed | Amounts must sum to the line item total. Check the balance indicator. |
| Shortcut | Action |
|---|---|
Ctrl+V | Paste PDF from clipboard |
↑ ↓ | Navigate autocomplete suggestions |
Enter | Select highlighted suggestion |
Escape | Close autocomplete dropdown |
| Key | Contents |
|---|---|
if_ledger_rules | Ledger Master rules |
if_tally_config | Tally export settings |
if_tally_ledger_blr / viz | Chart of accounts per branch |
if_tally_costcentre_blr / viz | Cost centres per branch |
if_history | Extraction history |
if_api_key | Saved API key |