Importing products from Excel/CSV
Bulk-upload products from a spreadsheet to save time on data entry and manage large product catalogs.
Importing products from a spreadsheet is the fastest way to populate your inventory system with many products at once. Instead of creating each product individually, you can prepare your data in Excel or CSV and upload them in just a few steps.
Before you start
- You must have Admin permissions or have been granted the Product Import permission
- Prepare your product data in Excel (.xlsx) or CSV format
- All units of measure you reference must already exist in the system (ask your admin to add them in Settings if needed)
- Product codes should be unique — products with duplicate codes or names in your file will be skipped
- Have your product information ready: code (SKU), name, cost, sales price, and optionally reorder point and opening stock
Steps
-
Go to Products → All Products. Open in Usystems
-
Look for the Import button or option on the Products page. Click it to open the import drawer.
-
Upload your file (Step 1 of 3):
- Download the sample file (Excel or CSV) to see the expected column names and format.
- Prepare your own file with the same columns, or a subset of them.
- Drag your file onto the upload area or click to browse and select your file.
- The system will read your file and show you a preview.
-
Match your columns (Step 2 of 3):
- The system will suggest matches between your file's columns and the product fields it knows about (e.g., "Product Name", "Cost", "Sales Price").
- Review each mapping. If a column is not suggested correctly, click on it and choose the right field from the dropdown.
- Code (product SKU), Product Name, and Unit are the most important fields.
- Optional fields (like Reorder Point and Opening Stock) can be left unmapped if you don't have them.
- Click Continue to preview the import.
-
Review and import (Step 3 of 3):
- The system will validate your data and show a summary: how many products will be created, updated, or skipped.
- Check the summary for any errors or warnings.
- If everything looks correct, click Import to finalize.
- The system will display a confirmation with the final count of created, updated, and skipped products.
- If there are errors, you can download an error report showing which rows failed and why.
What gets imported
- Product Code — a unique identifier for each product. If left blank, the system auto-generates one.
- Product Name — displayed in forms, searches, and reports.
- Unit of Measure — must match an existing unit (e.g., "Piece", "Kilogram").
- Cost — the purchase price used for COGS calculation and cost tracking.
- Sales Price — the default selling price to customers.
- Reorder Point — the minimum stock level that triggers a reorder alert (optional).
- Opening Stock (Quantity on Hand) — initial inventory balance for the product (optional).
Duplicate handling
- If a product with the same code or name already exists in the system, the row will be skipped by default.
- You can choose to update existing products instead (if supported by your setup) by checking the "Update existing records" option during column matching.
- Duplicate rows within the same file are also skipped — if your file has two rows with the same code or name, only the first will be imported.
Accounting impact
Each imported product is assigned default accounting accounts for cost of goods sold (COGS) and asset tracking. The cost and sales price values you provide become the basis for profit calculations and inventory valuation.
Tips & common mistakes
- Download the sample first — use the Excel or CSV sample to see exactly which columns the system expects and in what format.
- Product code is your key identifier — keep codes unique, memorable, and consistent across imports. The system uses the code to detect duplicates.
- Make sure units exist beforehand — if your file references a unit like "Meter" or "Kilogram" and it doesn't exist in Settings, ask your admin to create it before importing.
- Empty or invalid data is skipped — rows with missing product names or invalid values will be reported in the error summary and skipped. Check the error report if some products didn't import.
- You can re-import without worry — if a product code already exists, it won't be imported twice. This makes it safe to re-run an import if some rows failed.
Was this helpful?