Importing Inventory from Excel
If you have an existing inventory catalog in a spreadsheet, AccuArk's Excel import feature lets you bulk-create inventory items instead of entering them one by one. This guide covers the import workflow, column mapping, duplicate handling, and tips for preparing your data.
Opening the Import Form
Navigate to Inventory > Import from Excel from the main menu to open the frmImportInventory form.
Import Workflow
The import process follows four steps:
- Browse — Select an Excel file (.xlsx format) from your computer
- Read Headers — Click Start to read the column headers from the spreadsheet
- Map Columns — Use dropdown selectors to map each Excel column to the corresponding AccuArk item field
- Import — Click Import to begin creating items from the spreadsheet data
Spreadsheet Format Requirements
The import expects the following spreadsheet layout:
- Rows 1-3 — Header rows (column names and any notes). These rows are skipped during import.
- Row 4 onward — Data rows. Each row represents one inventory item.
Data starts at row 4, so you have three header rows available for column labels, descriptions, or formatting notes.
Mappable Fields
The following item fields can be mapped to Excel columns:
| Field | Description |
|---|---|
| Type | The item type (Physical, Service, etc.) |
| ClassID | The numeric ID of an existing inventory class |
| ClassName | The name of an existing inventory class (alternative to ClassID) |
| CategoryID | The numeric ID of an existing inventory category |
| CategoryName | The name of an existing inventory category (alternative to CategoryID) |
| Name | The item name — this is the most important field to map |
| Description | The item description |
| SKU | Stock Keeping Unit code |
| Cost | The item's cost per unit |
| Price | The item's selling price per unit |
| Model | The item's model number — also used for duplicate detection |
| Reference | An external reference code |
| Stock | The initial stock quantity to set for the item |
| Weight | The item's weight |
| Height | The item's height dimension |
| Width | The item's width dimension |
| Length | The item's length dimension |
| TaxType | The tax mode for the item (f=Tax Free, l=By Location, c=By Client, i=By Item) |
| Unit | The base unit of measure (e.g., Each, Pound, Gallon) |
You do not need to map every field. At minimum, map the Name field. Mapping Price and Cost is strongly recommended so items are ready for sale immediately.
Column Mapping
After clicking Start, the form displays a row of dropdown selectors — one for each column found in your Excel file. Each dropdown lists all mappable AccuArk fields. Select the appropriate field for each Excel column, or leave a dropdown blank to skip that column.
For example, if your Excel file has columns A through F labeled 'Product Name', 'SKU', 'Unit Cost', 'Retail Price', 'Weight', 'Description', you would map:
- Column A dropdown: Name
- Column B dropdown: SKU
- Column C dropdown: Cost
- Column D dropdown: Price
- Column E dropdown: Weight
- Column F dropdown: Description
Duplicate Detection
The import uses the Model field for duplicate detection. When processing each row:
- If the Model column is mapped and the row has a Model value, the system searches for an existing item with the same Model number
- If a match is found, the existing item is updated with the values from the spreadsheet row instead of creating a new item
- If no match is found, a new item is created
This means you can re-import an updated spreadsheet without worrying about creating duplicate items, as long as Model numbers are consistent.
If the Model column is not mapped, every row creates a new item regardless of whether similar items already exist.
Progress Tracking
During import, a progress bar updates every 10 records to show how far along the import has progressed. Large spreadsheets with hundreds or thousands of items may take a few minutes to process.
Data Handling
The import applies the following rules when reading data from Excel:
- Numeric fields (Cost, Price, Stock, Weight, Height, Width, Length) use TryParse — if a cell contains non-numeric data or is empty, the value defaults to 0
- Text fields (Name, Description, SKU, Model, Reference) are imported as-is
- ClassID/CategoryID must be valid existing IDs in the database; invalid IDs are ignored
- ClassName/CategoryName are matched by name; if no matching class or category is found, the field is skipped for that row
Preparing Your Spreadsheet
For the best import results, follow these preparation steps:
- Clean your data — Remove special characters, fix typos, and standardize naming before importing
- Create categories and classes first — If you plan to map CategoryName or ClassName, make sure those categories and classes already exist in AccuArk before running the import
- Include Model numbers — If you want duplicate detection to work, include a Model column with unique values per product
- Use consistent units — Make sure all Cost and Price values use the same currency format (no currency symbols — just numbers)
- Verify row 4 starts data — Remember that rows 1-3 are treated as headers and skipped. Your first data row must be row 4.
- Save as .xlsx — The import only supports the .xlsx (Excel 2007+) format. If your file is .xls or .csv, save it as .xlsx first.
After Import
Once the import completes:
- Open the Inventory Browser to verify that items were created correctly
- Spot-check a few items to confirm that Name, Price, Cost, SKU, and other mapped fields imported properly
- If you imported initial Stock quantities, verify stock levels on the Stock tab of a few items
- Items created by import have all settings at their defaults (TrackStock enabled, DisplayInPOS enabled, etc.) — review and adjust any settings that need to be different
Tips
- Start with a small test — Import a spreadsheet with 5-10 items first to verify your column mapping is correct before importing your full catalog
- Map Name + Price + Cost at minimum — These three fields give you functional items that are ready for sale in the POS
- Use Model for re-imports — If you need to update items later (e.g., bulk price changes), re-importing a spreadsheet with the same Model numbers will update existing items instead of creating duplicates
- Back up before large imports — Before importing hundreds of items, make sure you have a recent database backup in case you need to revert
- Assign categories after import — If your spreadsheet does not have category information, you can import items first and then assign categories one by one or in batches from the Inventory Browser