Skip to content50% off₹750/user/month ₹1,500
SimpleERP

Help centre · Migrate

Fix import errors and undo an import

The check shows every problem before anything is saved, and an import that went wrong can be taken back while nothing has been built on top of it.

Updated · 7 min read

In short

SimpleERP checks every row before writing anything and lists each error by row and column. You fix the file and upload again, or import only the valid rows. Any import can be undone within 30 days while nothing depends on it.

To undo an import, open Settings → Import data, find the batch under Previous imports and click Undo. SimpleERP reverses everything that batch created in one step, within 30 days, as long as nothing has been built on it yet. Errors are easier still: nothing is written until you click Import.

How does the import check work?

The check is a dry run: it reads every row, applies the same rules as the screens, and writes nothing. Each dataset card has its own Check button.

  • Counts of rows to create, update and skip, and the number of errors.
  • An error table with the row number from your file, the column and the problem, up to 200 rows on screen.
  • Download errors as CSV for the full list, to work through in Excel.
  • Notes that are not errors, such as "skipped: system account" or how much of a party's opening balance stays after open bills.
  • Import N rows, disabled while errors remain unless you tick Import valid rows only.

Every message says what to do, for example: "Row 14: GSTIN 33ABCDE1234F1Z5 has a wrong check digit. Fix it in the file or clear it."

What are the common errors and their fixes?

ErrorWhy it happensFix
GSTIN has a wrong check digitThe last character of a GSTIN is calculated from the other 14. A typo anywhere breaks it.Copy the GSTIN from the party's invoice or the GST portal, or clear the cell.
Duplicate SKU in the fileTwo rows share a SKU. The error names the first row.Give each product its own SKU or merge the rows.
No tax rate called "GST18"Tax must match a rate name in Settings → Taxes, or a percentage that points to one rate.Write the rate name, like GST 18%, or just 18.
Note: no warehouse called GDN2The warehouse column takes a warehouse code or name. An unknown one is a note, not an error: that stock goes to the default warehouse.Create the warehouse first and check again, or accept the default.
Date not recognisedDates must be YYYY-MM-DD, DD/MM/YYYY, DD-MM-YYYY, D-MMM-YY, YYYYMMDD or an Excel date.Change the column to one of these formats.
Amount is not a numberAmounts may have Indian commas, ₹, Dr or Cr, or brackets for negatives, but no other text.Remove words like "approx" or units from the cell.
Required column missingA required field, such as the name, has no column matched to it.Pick the column in the mapping, or add it to the file.
More than 20,000 rowsOne import takes up to 20,000 rows per dataset.Split the file and import it in parts.
Legacy .xls fileOld Excel files, including Tally.ERP 9 exports, are not read.Open it and save as .xlsx or CSV, then upload again.
Common import errors and how to fix them.

Can you upload the same file again safely?

Yes. Every dataset matches rows to records you already have, so a second upload of the same file skips what is there instead of creating it twice.

DatasetMatched byWhen matched
AccountsCode, then nameSkipped
Customers and suppliersGSTIN, then code, then nameSkipped or details updated, your choice
ProductsSKUSkipped or prices and details updated, your choice
EmployeesCode, then phone, then emailSkipped
Open invoices and billsParty and numberSkipped
Opening balancesOne opening entryRefused while one is posted; reverse it first
How a second upload is matched.

How do you undo an import?

  1. Open Previous imports

    Go to Settings → Import data and scroll to Previous imports.

  2. Undo the batch

    Click Undo on the batch and confirm.

  3. Read the result

    The batch shows undone, or a message says what blocks it.

What does undo reverse, and in what order?

Undo first checks whether anything was built on the imported records since the import: a sale, a payment, a later stock movement or a later journal. If so, it refuses with a plain sentence that says what. Otherwise it takes back the whole batch in one transaction.

  1. Reverse opening entries. Opening journals are reversed with an entry dated today, and opening stock adjustments are cancelled.
  2. Cancel brought-forward documents. Imported open invoices and bills are cancelled with the reason "Import undone".
  3. Delete what nothing references. Addresses, contacts, employees, units, categories and other records from the batch are deleted.
  4. Archive the rest. A product, customer, supplier or account that the reversed opening entries still point to is archived instead, and its SKU or code is freed, so the same file can be imported again.

The batch is then marked undone in Previous imports, with who undid it and when.

When is undo refused, and what then?

Undo never half-undoes: either the whole batch is reversed, or nothing changes and the message says why.

Refused becauseWhat to do
Stock has moved since the opening stock was postedCancel the later invoices, bills or adjustments that moved that stock, or correct the opening stock with an adjustment instead.
A payment is allocated to an imported invoice or billRemove the allocation from the payment, then undo. Or leave the batch and fix single bills.
A later document or journal uses an imported account, party or productReverse or cancel that entry first, or keep the batch and edit the record by hand.
Why undo can be refused. The message names what blocks it, for example "3 products already have stock movements".

How long can you undo, and who can?

Undo is offered for 30 days after an import. After that, correct records by hand. Undo needs the same permission as the import, such as customer manage for customers, plus journal approve when the batch has journals to reverse. See team, roles and settings.

Worked example: a wrong file for products

Suppose Lakshmi Steel Furnitures imports 240 products with opening stock from a Busy export. The check reports 4 errors.

  1. Read the errors

    Row 31 and row 88 share SKU CH-104. Row 102 has tax "GST 28", which matches no rate. Row 150 has the date 31.03.2026.

  2. Fix the file

    CH-104 on row 88 becomes CH-105, the tax becomes 28, and the date becomes 31/03/2026. The check now shows 240 to create, 0 errors.

  3. Import

    240 products are created and opening stock is posted as ADJ-0001.

  4. Spot the mistake

    The owner sees chairs valued at sale price instead of cost. No sales have been made yet.

  5. Undo and redo

    Undo cancels ADJ-0001 and archives the 240 products, freeing their SKUs. The corrected file is checked and imported again.

FAQ

Questions, answered

Is anything saved when I click Check?

No. Check is a dry run. Nothing is written to your books until you click Import, and you can check as many times as you like.

Should I use Import valid rows only?

Use it when the errors are rows you do not need, like test entries. Otherwise fix the file, because the skipped rows will not come across.

Why does undo say a payment is allocated?

A receipt or payment has been applied to one of the imported bills. Undoing would leave that payment pointing at a cancelled bill, so it is refused. Remove the allocation first.

Will undo delete invoices I typed myself?

No. Undo touches only the records listed in that batch. Documents and masters you created on screen are never part of a batch.

The 30 days have passed. How do I clean up?

Correct records by hand: archive products, cancel documents and reverse journals from their own screens. Records with history stay for the audit trail.

Run your whole business from one simple place.

Seven days free. No card. Your first GST invoice in minutes.