When you import Parts, Inventory, or Tools from a CSV file, Epsilon3 checks every row and creates an import report. The report shows what happened to each row and why, so you can find and fix problems without guessing.
Most problems only affect their own row. Rows that can be imported are saved, and rows that can't are listed in the report with a message. Reports are kept for 30 days.
In a Parts import, a BOM loop stops the whole file. A loop happens when saving the file would put a part inside its own BOM, for example when two rows list each other as the parent part. Nothing in the file is saved. The loop rows explain the problem, and every other row says "Not imported: nothing in this file was saved because of rows 12, 13. Fix rows 12, 13, then upload again." Fix the parent part number on one of the loop rows and upload the whole file again.
How to Import
To learn how to set up and upload a CSV file, see:
Import Parts in Parts Overview
Import and Export Inventory in Parts Inventory
Import Tools via CSV in Tools for Builds
Open the report
Parts and Inventory: after you upload a file, the upload window says the import has started and shows a View report link, which opens the report in a new tab. You can close the window and keep working. The import runs in the background, and when it finishes, you get a notification, such as Parts import finished: Successful, that links to the report.
Tools: the result shows right in the upload window, with a View report link to open the full report and a Download report button.
Read the report
The top of the report shows who started the import, when, and how long the report is kept. A banner shows the overall result, the file name, and the number of rows: Import successful (green) when every row went in, or Imported with problems (amber) when any row failed or has a warning.
Rows are grouped by result. Failed and Warning groups open on their own; the others start closed. Click a group to open or close it. Each row shows its row number in the file, the item it belongs to (part number and revision, serial or lot number, or tool number and serial number), and a message.
Row numbers match the rows in your spreadsheet. The header is row 1, so the first item in the file is row 2.
Result and What it means
Failed: The row was not imported. The message says why, for example, "Name is required." "Quantity must be 0 or greater.", or a location, part, or revision that wasn't found.
Warning: The row was saved, but something needs your attention. The Result column shows what was saved (for example, Created), and the message explains the problem. For example:
The parent part wasn't found, so the part was created but not added to that BOM.
Quantity Needed was 0 or less, so the part was created but not added to the parent's BOM.
The same part number is on two rows, so the values from the first row were used.
Inventory: the quantity was blank, so the item was saved with quantity 0.
Inventory: a quantity above 1 on a serial-tracked part was saved as 1.
Created: A new record was created. The message may add detail, such as a parent part's BOM being updated to include the new part.
Updated: An existing record was updated with values from the file. In an Inventory import, this means the row's quantity was added to stock that already exists (untracked and lot items).
Pre-Existing: The record already existed, and the row didn't change anything; for example, "No changes." or "Tool and instance already have these values."
Not every import uses every result. Inventory doesn't use Pre-Existing because each row adds stock.
Download the report
Click Download report at the top right of the report and pick which rows you want. The CSV is your original file with three columns added at the end: Import Result, Import Warning, and Import Message.
You can download:
All rows
Only failed rows
Only successful rows. This includes Warning rows, because those rows were saved.
Each option shows how many rows it will include.
Fix failed rows and import again
Click Download report and pick Only failed rows.
Fix each row using its message.
Import the fixed file the same way you imported the original. The Import Result, Import Warning, and Import Message columns are ignored, so you don't need to delete them.
In a Parts import, it's safe to upload rows that already went in: parts that already exist come back as Pre-Existing or Updated, not as new parts.
The same goes for Tools: tools and tool instances that already exist come back as Pre-Existing or Updated.
When importing Inventory, import only the fixed rows. If you import the whole original file again, the quantity on each untracked or lot row is added to your stock a second time. Those rows show as Updated, not as an error. Rows with a serial number that already exists fail.



