CSV import vs. CSV export
These are two separate features:
- Import (this article):
POST /api/invoices/seed-historyaccepts a CSV of historical transactions and seeds Tally's recognition memory. - Export: From the Financials view you can also export your reviewed documents as CSV, JSON, a QuickBooks IIF file, or a Xero-friendly CSV. Export is a one-way file download — it is not a live sync to any system.
If your accountant uses Xero, the typical workflow is: upload or import documents into Tally, review and categorise them, then export the result for them to bring into Xero on their side. Tally complements your accounting system rather than replacing it.
What a good CSV looks like
Tally's CSV import is intentionally flexible. The header row is matched against common column names (vendor / supplier / payee, amount / total, date, category / account, memo / description), so a QuickBooks or Xero export usually works without re-formatting.
A minimal example:
date,vendor,amount,category,memo
2025-09-14,Acme Office Supplies,124.00,Office,Printer paper
2025-09-15,FastShip Couriers,42.50,Shipping,Overnight package
2025-09-16,GreenLeaf Coffee,68.20,Meals,Office coffee delivery
If your CSV has different column names, Tally will try to match them. If it can't, the import returns a clear error pointing to the columns it couldn't map and you can rename the header row before re-uploading.
What CSV import does and doesn't do
It DOES:
- Give Tally context about your historical vendors, categories, amounts, and dates. Each row becomes part of Tally's recognition memory: when a familiar vendor appears in a future upload, Tally recognises them immediately.
- Count toward your monthly document limit. A Free plan with 300 documents/month and a 250-row CSV will use 250 of those documents.
- Work with CSVs exported from any accounting system (QuickBooks Online, Xero, FreshBooks, generic spreadsheets) as long as the columns can be mapped — vendor name, amount, date, category, and an optional description/memo are the load-bearing fields.
It does NOT:
- Replace a live accounting integration. CSV import is a one-time upload of historical data; it is not a continuous two-way sync. Tally's only verified live accounting integration is QuickBooks Online.
- Make Tally a Xero, NetSuite, Sage, or IIF live integration. Tally accepts CSV exports from those systems for context, but does not push data back to them.
- Grant Tally permission to act on its own. Imported history teaches Tally to recognise your vendors; it does not count as live human review. Tally still asks for a real review before auto-approving anything from a vendor.
- Run AI extraction on the rows. CSV import is a deterministic ingest — Tally trusts the values you provide.
This is the two-track design Tally uses across the product: imports give Tally context. Live human reviews give Tally permission to act. The two are kept separate on purpose.
What happens after import
- Each row creates a lightweight record Tally can recognise on future uploads.
- Tally's vendor memory is updated so familiar vendors stop showing as "new vendor" on first sight.
- Tally's category and amount-pattern context is updated so unusual amounts on those vendors get flagged later.
- Imports do not count as human-reviewed approvals. Auto-approval still requires you (or your team) to live-review enough real documents from a vendor before Tally will act on its own.
- Re-importing the same CSV is safe: Tally clears the previous import's recognition signals before applying the new file, so the count doesn't double.
Your monthly document quota is checked before the import runs. If a CSV would exceed your remaining cap, the whole import is rejected with a clear error rather than partially applied — that way you don't end up with half a year of history.
What's next
- Upload your first live invoice or receipt and see how Tally uses your imported history. See Documents.
- Connect QuickBooks Online to push reviewed work back to your books. See Connect QuickBooks.
- Read about how Tally learns from imports vs. live reviews. See How Tally learns.
When to use it
- You're switching to UppaGo and want Tally to know the vendors and categories you've been using.
- You have months or years of past invoice and receipt data sitting in another accounting system or a spreadsheet.
- You want to reduce the "cold start" period where every vendor looks new to Tally.
If you only have a small number of historical documents (a few dozen), you can also just upload them as PDFs/images through the regular upload flow. CSV import is for larger batches where retyping or re-uploading isn't realistic.
Where to find it
In the Financials view at /portal/financials, the smart upload area accepts both documents and CSV files. Drop a CSV in alongside (or instead of) PDFs and images and Tally classifies it automatically — the dropzone routes documents to OCR extraction and CSVs to history import in a single confirmation step. You can also import a CSV on its own from the same area.
If you can't find the upload area, contact support and we'll point you to the right place — the surface evolves as the product grows.