Live AI Engine Active
Import guide

Bring your business into ReadyBooks

Move your customers, items, stock, invoices and bills over from Tally, Busy, Marg, Zoho Books, Vyapar or QuickBooks — using their own exports or our ready-made templates. This guide shows exactly how each file should look and what happens when it lands.

How importing works

Six steps, one screen each. You are never more than a preview away from knowing exactly what will land.

1

Download a template

Every type of data has a “Download import template” button. You get the right columns, a few example rows to copy, and an Instructions tab explaining each field.

2

Fill in your data

Paste your records under the matching columns — or skip the template entirely and export the list straight from Tally, Busy, Marg, Zoho or QuickBooks.

3

Upload the file

Open Import Data in ReadyBooks, choose what you are importing, and drop in your Excel or CSV file.

4

Map the columns

ReadyBooks lines up column names it recognises automatically. Anything it is unsure about, you point to the right field once, on a single screen.

5

Preview and fix

Every row is checked before anything is saved. Invalid rows are flagged with the exact reason, so you can correct the source file and try again.

6

Import

Approve, and your data lands — with journal entries, stock movements and party balances posted for documents. Re-running is safe: records that already exist are skipped.

Customers & vendors (parties)

One row per customer or vendor. Import these first — invoices and bills reference them by name.

  • Give each party a name, and a GSTIN where you have one — it drives the correct GST treatment on their documents.
  • Billing and shipping address, state, phone and email all import when present; blank cells are simply left empty.
  • A single party can be both a customer and a vendor — set the customer/vendor flags accordingly.

Items (products & services)

One row per item, with its selling price, purchase rate, HSN/SAC code and tax rate. Import items before invoices so line items match instead of being auto-created bare.

  • Opening stock: put the quantity in Opening Stock Qty and the per-unit cost in Opening Rate — ReadyBooks seeds your stock position. Leave the As-of date blank to use the import day.
  • Opening columns seed NEW items only. Re-importing a file to update prices or details leaves existing stock untouched — adjust stock with a stock adjustment, not a re-import.
  • Item type sets the role: goods, service, fixed asset, and now Packing Material and Consumable (a Busy/Tally “Stores & Spares” list imports as Consumable).
  • Attach attributes like Colour or Size right on this sheet — see the Item attributes section below.
  • Units can be typed the way you write them (“dozen”, “box”); they map to the official GST unit codes automatically.

Item attributes (Size, Colour, GSM…)

Attributes describe variations of an item. You can attach them in two ways, and they round-trip cleanly on export and re-import.

  • On the Items sheet: fill the Attributes column as “Name=Value; Name2=Value2”, e.g. “Colour=Red; Size=L”. If a value itself contains a semicolon, wrap it in double quotes: Size="8; 10".
  • With the Item Attributes template: define each attribute once. A dropdown lists one row per option, repeating the attribute name; a text, number, date or serial attribute is a single row with the Field Type set and the Value left blank. A blank Field Type defaults to dropdown.
  • An attribute’s field type can never be changed by import — if “GSM” already exists as a number, a row declaring it as a dropdown is rejected with a message telling you to rename it or match the existing type.
  • Re-importing merges: dropdown options are only ever added, never removed.
  • Updating an existing item: a filled Attributes cell REPLACES that item’s whole attribute set, so list every attribute you want to keep. A blank cell leaves the existing attributes untouched.

Bills of materials (BOMs)

One row per material that goes into a finished product. Import your item master first so every material and output resolves to a real item.

  • Repeat the BOM/product name on each material row; one row per material. If the same material appears twice, the rows are merged into one and you get a warning.
  • A sub-assembly row names another BOM as its “material” — that child BOM must appear earlier in the same file, or already be imported.
  • Labour, Overhead and Misc Cost columns become the product’s default per-run costs, applied each time you run production.

Sales invoices & purchase bills

The one convention people trip on: a document with three line items is three rows sharing the same document number.

  • Repeat the Invoice/Bill number on every row of the same document — that is what groups them.
  • Put header details (date, customer/vendor, GST type, payment cells) on the first row only; leave them blank on the continuation rows.
  • Payment Status plus Amount Paid control the auto-recorded payment: “paid” with no amount records the full total; “partial” requires an Amount Paid — nothing is invented for you.
  • Imported invoices, bills and credit/debit notes post as finalised documents — journal entries, stock and party balances included. Quotations and proforma land as drafts.
  • Your invoice number is imported exactly as written (never renumbered) and is filed under the fiscal year of the Invoice Date — not any year written inside the number itself. Re-using a number across two fiscal years is legal, but the duplicate check matches numbers across years: un-tick the skip in the duplicate dialog for rows that are genuinely new.

Sales returns

Returns import against the invoices they came from — the invoice is the anchor for stock, pricing and how much can still be returned.

  • Import your sales invoices first: every return names its Original Invoice No, and the items must already exist.
  • One row per returned line item, grouped by the Return No — same convention as invoices.
  • Returned quantity is capped at what the invoice still has un-returned; over-returns are rejected row by row.
  • Imported returns post their stock and ledger effects (including the COGS reversal) immediately; re-importing the same file skips returns whose number already exists.
  • Batch-tracked items cannot be imported as returns yet — record those in the app so the lot can be chosen.
  • A sales return alone is not a GST document — convert it to a credit note in the app for the reduction to appear in GSTR-1/3B.
  • Import one register, not both: if your credit-note sheet already covers these returns (Tally Rejection In + Credit Note pairs), importing both double-reverses revenue, GST and receivables.

Opening balances

One row per party carrying the receivable or payable they owed as at your cut-over date.

  • Import opening balances OR the historical invoices for the pre-cut-over period — not both, or you double-count the party’s outstanding.
  • Unknown parties are auto-created, but importing the Parties sheet first gives them their full details.

Bank statements

Upload the statement your bank exports — ReadyBooks reads the common Indian bank layouts (SBI, HDFC, ICICI, Axis, Kotak) out of the box.

  • Date, narration/description, and the debit and credit (withdrawal/deposit) columns are detected automatically; map anything unusual in the wizard.
  • Imported transactions feed reconciliation, where you match them against invoices, bills and payments.

Frequently asked questions

Ready to migrate your data?

Import your customers, items, stock and history in an afternoon — GST, journal entries and balances posted for you. Free to start.

Chat on WhatsApp