InvoiceKaro
Skip to documentation content

Account & Settings

Data, Backups & Migration

Download your business archive and CSVs, prepare data from Vyapar, Zoho or another app, map columns, review errors and import customers, products, invoices and dated payments.

On this page

Keep a copy of your business records or bring supported records from another billing app. Sign in as the account owner and open Settings → Data & backup. On a phone, use More → Settings → Data & backup. These actions need an internet connection.

Sync device-only bills first
An export contains records already saved to your account. It cannot include bills waiting on another phone or browser. Check Settings → Offline billing on every device and resolve pending bills before taking your copy. Do not clear site data or uninstall an app to move unsynced bills. See Offline billing.
Using an older installed app?
If your installed version does not show Data & backup, open InvoiceKaro in your browser and sign in as the owner. Installing or switching versions does not move unsynced offline bills.

Choose an archive or a CSV

  • Download JSON archive: A portable copy of your saved business records. Keep it with your other business records; it is not a button to restore or clone an account.
  • Customers CSV: Customer details in a spreadsheet.
  • Products CSV: Product details and stock values in a spreadsheet.
  • Invoices CSV: Invoice details with item-level rows, unlike the summary export in the Invoices list.
  • Payments CSV: Recorded payments with their invoice references and dates.

On the web, save the downloaded file somewhere you can find again. In a supported installed app, use the phone's save/share sheet to keep the file in a location you control. These files can contain customer contact details and business amounts; share them only with people who need them.

The business archive includes saved profile, customer, product, invoice, payment, inventory, quotation and project records, plus other business records listed in its contents. It excludes sign-in codes, authentication tokens, API secrets and unsynced offline bills. A JSON archive is not an automatic account restore, and uploading it as a CSV is not supported. Images and PDFs already stored in the database can be embedded in the archive. External proof files are represented by their details and original URLs, so download those original files separately while you still have access.

Reports and disaster recovery are different
Invoices → Export CSV, receivables, quotations and GST exports remain useful reports. A summary report does not contain every invoice line or recreate a workspace. Service backups used for disaster recovery are separate from your downloads and do not provide a self-service account restore.

Before moving from another app

  1. 1Keep an untouched export and the original app's backup. Choose the business and date range you want to move, and avoid entering the same new sales in both apps during the changeover.
  2. 2Check Settings → Business profile, especially your business state, GSTIN and address. Historical invoice taxes still need to match the source documents.
  3. 3Download the template for the type of records you are importing. Start with a small, representative file that includes the cases you actually use, such as a multi-item invoice and a part payment.
  4. 4Import Customers, then Products, then Invoices, and finally Payments. Payments must refer to invoices that already exist in InvoiceKaro.
  5. 5Compare record counts, invoice totals, tax, paid amounts, outstanding balances and current stock with your source before continuing normal billing.
Imports still use your plan allowance
Customer limits and invoice quotas also apply to imports. Historical invoices are created in your account now and count toward the current month's invoice allowance, even when their invoice dates are older. The preview shows capacity errors; resolve them before confirming or splitting more files.

Get a suitable file from Vyapar or Zoho

Vyapar

Vyapar's desktop reports offer Excel exports. Choose the relevant party, stock or sales report, check the business and date filters, and use its Excel/XLS export. A sale-summary or party-balance report may not have the item lines or dated payments needed here. Copy only supported details into the matching InvoiceKaro template. See Vyapar's report guide and party-balance export guide.

A Vyapar `.vyb` file is a native backup for restoring in Vyapar. InvoiceKaro cannot restore it. Restore or open it in Vyapar first, then export the supported records. The source choice Vyapar does not connect to your Vyapar account.

Zoho Invoice or Zoho Books

Open each source module—Customers, Items, Invoices and Payments Received—and use its More → Export option. Choose CSV, include the fields you need, and check all status/date filters. Keep invoice line items and payment references. Zoho export templates can omit fields, so selecting a source name does not guarantee that every file has the required columns. See the official Zoho Invoice export guide and Zoho Books export guide.

If Zoho gives you a password-protected ZIP, extract the CSV on your own device first. Do not upload the ZIP or a password-protected workbook here. Include customer contact fields needed for the import; a masked export may not contain them. Export customer payment records separately from invoice totals; Zoho Books explains this under Export Payments.

Prepare the CSV

  • Use a UTF-8 CSV file, no larger than 2 MiB, with at most 1,000 data rows plus its header. Import one kind of record per file. A multi-line invoice uses several rows; keep all of its lines together when splitting files.
  • For Excel exports, open the correct worksheet and use File → Save As → CSV UTF-8 (Comma delimited) where available. Save each worksheet separately. Renaming .xls, .xlsx, .zip or .vyb to .csv does not convert it. See Microsoft's CSV instructions.
  • Keep one header row and remove report titles, subtotals and grand-total rows. Use the template's date and amount format. Preserve invoice numbers, phone numbers, GSTINs, HSN/SAC codes and item codes as text so spreadsheet software does not remove leading zeros or convert them to scientific notation.
  • Customers need a valid Indian mobile number. Do not invent a number to make a row pass. Resolve missing or unsupported contact details before importing the customer and related invoices.
  • Keep formulas, foreign-currency amounts and unsupported tax adjustments out of the import. Do not change an old invoice's tax or total just to pass validation; preserve the original and resolve the mismatch first.

Important template fields

Customers

name and phone are required. Add a stable external_id when you have one. Invoice customer references must match a saved customer; use that source ID or a phone number to avoid ambiguous names.

Products

name, unit_price and tax_rate are required. unit_price is before tax. Use opening_stock for current stock at changeover, not the stock you originally had years ago. For serial-tracked products, import zero opening stock and add individual serials through Inventory.

Invoices

Required fields include invoice_number, invoice_date, status, description, quantity, rate, gst_rate, gst_type and total_amount, plus a customer reference. Use cgst_sgst or igst as the tax type and provide the correct place of supply. Each invoice can contain at most 200 item rows.

Payments

Provide invoice_number, amount, payment_date, payment_method and transaction_id. Import only successful payments allocated to an invoice, not unused credit, failed payments or refunds.

Use dates such as 2026-09-30 (year-month-day). Invoice and payment dates must be within the past 10 years and not in the future; a payment cannot predate its invoice. A due date must be on or after the invoice date. Amounts use plain numbers with a decimal point, without currency signs or thousands separators. Use the same source choice and stable source references throughout the migration.

Invoice numbers keep their original value and must contain 1–16 letters, digits, dots, slashes, underscores or hyphens. Historical invoice statuses are sent, overdue, paid or cancelled; create new drafts through the normal billing form. For a non-zero invoice, a source status of paid still needs its real payment records here. Cancelled invoices with payments or refunds need separate reconciliation.

Map, preview and confirm

  1. 1In Data & backup, choose Customers, Products, Invoices or Payments, then choose the source: Other CSV, Vyapar, Zoho or InvoiceKaro.
  2. 2Use Download sample CSV template if needed, replace its example rows with your own records, then select Choose CSV file.
  3. 3Under Match your columns, map each required InvoiceKaro field to the matching column in your file. Check suggested mappings yourself—similar names can mean different things, such as a payment's total amount versus the amount applied to one invoice.
  4. 4Select Preview import, then read the errors, warnings and duplicate results under Review before saving. Check the mapped values and totals. Correct the file or mapping and preview again until the proposed records are right.
  5. 5Read the review checkbox and select it only when you agree. For invoices, also acknowledge that source paid amounts do not create payments and that dated payment records must follow. Then choose Confirm import. After Import complete, verify the new records in Customers, Product Catalog, Invoices or Payments. Choose Import another file for the next type of records.

Duplicates and interrupted imports

Imports add supported records and do not overwrite existing ones. Identical records can be skipped; conflicting source IDs, customer identities, invoice numbers or payment references require review. A file with errors cannot be confirmed, and a failed confirmation does not partially create its business records. Records and limits are checked again when you confirm, so a preview can become out of date.

A preview expires after 24 hours. If it expires, choose the file and preview again. If the connection drops after you confirm, retry the same confirmation instead of changing the file or its references. Keep the source and identifiers the same when reviewing a previously imported file; never change invoice numbers just to bypass a duplicate warning.

Invoices, payments and stock need separate care

  • Products: Current stock can be imported as an opening stock balance. Use the quantity actually on hand at your changeover date. Importing historical sales does not deduct that stock again.
  • Invoices: Use one row per item, with the same invoice reference on every line of that invoice. Include quantity, tax-exclusive rate, GST rate and the original totals. Summary-only, tax-inclusive and foreign-currency invoices are not supported.
  • Payments: Use actual payments, with the original payment date, invoice reference and the amount allocated to that invoice. A paid amount shown on an invoice export is reference information, not a payment record.
A paid invoice needs its dated payments
Importing amount_paid with an invoice does not create a receipt. A non-zero invoice remains outstanding until its actual payment records are imported. A zero-total invoice can be paid without a receipt because there is nothing to collect. Do not enter today's date or invent one combined receipt to make balances agree. Check payments and outstanding balances after the Payments import.

Importing historical records does not send customer messages, start reminders or replay stock movements for past invoices. New imported customers start with SMS, email and WhatsApp notifications off; review their communication preferences before enabling messages. Do not also enter those same payments manually. If your source includes opening balances, credits, refunds, TDS/TCS, cess or other adjustments that the template cannot represent, keep those records and resolve them before importing affected transactions.

Can this restore a complete backup or clone my account?+
No. The JSON archive is a portable record copy. CSV import covers customers, products, invoices and payments; it does not restore a whole account, staff access, every attachment or vendor-specific settings.
Can I upload a PDF invoice or a sales-summary report?+
No. This importer needs structured CSV columns and item-level invoice rows. A report that contains only invoice totals is not enough. Scan Bill is a separate feature and is not a bulk backup restore.
Will this connect to Vyapar or Zoho automatically?+
No. You export a file from the original app, prepare it and review it here. InvoiceKaro does not need your vendor password or API key.
What if a file fails or the connection drops?+
Keep the original file and read the error. Check the import result and existing records before starting another import; do not change invoice numbers or payment references just to get past a duplicate warning. Contact support if you cannot establish what was saved.
Where do I go if the data does not fit?+
Keep the source backup and ask support which fields need conversion. Explain the source app, record type and error, using a redacted sample where possible. Do not send sign-in codes or secret keys. See Contact & support.
Need help with these steps? Contact support