Skip to main content
A stock import applies many stock adjustments from one Excel file: each row adds units to, or removes units from, one product in one warehouse. Use it to load opening stock after setting up inventory, or to book a delivery with many lines.
Quantity is a change, not a stock level. A row with 10 adds ten units to what is already on hand; it doesn’t set the stock to ten. Importing the same file twice applies it twice.

Before you start

  • Permissions: Import Stock Items and Stock Items, under Inventory Management. See Permissions reference.
  • Products: every SKU in the file must already be in your catalog. See Products.
  • Warehouses: every warehouse code in the file must exist. Codes are shown on Inventory > Warehouses. See Warehouses.

The file

The file is an Excel workbook (.xlsx) of up to 5 MB. CSV files are not accepted. The first row holds the column headers, and each row after it is one adjustment.
A comma in Quantity is read as a thousands separator, not as a decimal point: 2,5 imports as 25, and 1,000 as 1000. A number cell with decimals may be read the same way when your Excel or Omnilinker shows decimals with a comma, as in Polish. To import decimals safely, format the Quantity column as text and type each value with a point, such as 2.5. Before you click Run import, check the Qty column of the preview: a quantity ten or a hundred times too large means a comma was misread.
To get a workbook with the right headers, click Download template in the import dialog; it downloads stock-import-template.xlsx. For opening stock, a product with no stock yet has 0 on hand, so its quantity is simply the number of units you have. To set a product’s stock to an exact number later, use Record count instead; see Record a count.

Import stock

1

Open the import

On Inventory > Stock Levels, open Data > Bulk import, or press Ctrl+K and run Import stock levels. The Bulk stock import dialog opens over the stock levels list.
2

Choose the file

Drop the .xlsx file on the dialog, or pick it from your computer. Omnilinker reads the file and checks each row.
3

Check the preview

The dialog shows how many valid rows and how many invalid rows the file has, and a table of the first 50 rows with their SKU, Warehouse, Qty, Reason and Notes. Invalid rows are highlighted; see Rows the preview rejects.Invalid rows are skipped. To include them, click Back, fix the file and choose it again.
4

Run the import

Click Run import. The button is disabled when no row is valid.
5

Follow the progress

The dialog shows the percentage done and “processed / total · N OK · N fail”. When every row is processed it says Import complete.; click Close, and the stock levels list reloads.
The import runs in the background. Closing the dialog with Cancel doesn’t stop it; the rows still apply, and Stock Levels shows the result once you reload it.

What the import does

Each valid row is applied on its own:
  • It changes the product’s on-hand stock in that warehouse by the quantity, and creates a stock level there if the product had none, with your organization’s default thresholds.
  • It records a movement, Positive Adjustment or Negative Adjustment, with the row’s reason and notes. See Movement history.
  • It can raise low-stock and out-of-stock alerts like any other stock change. See Low-stock alerts.
A row that fails doesn’t stop the others, and the rows already applied stay applied. An import changes Omnilinker’s stock only. It never changes the ERP’s stock, and it doesn’t change the ERP stock figures shown beside yours on Stock Levels; see ERP stock beside yours.

Rows the preview rejects

The preview marks a row invalid when:
  • Quantity is empty or not a number;
  • SKU is empty;
  • Warehouse Code is empty;
  • the warehouse takes its stock from an ERP connection. No warehouse can do that yet; when one can, its rows will be marked invalid and skipped, while the other rows import. Change that warehouse’s stock in the ERP instead. See Who changes stock.
The preview highlights invalid rows but doesn’t say why. Compare a highlighted row with the rules above.

Rows that fail during the import

These rows pass the preview but fail when they are applied, and count as fail:
  • the SKU is not in your catalog;
  • the warehouse code doesn’t exist;
  • the quantity would take on-hand stock below zero;
  • the quantity is positive and the product is discontinued (deleted from the catalog).
The dialog counts failed rows but doesn’t list them. To find them, open Inventory > Stock Movements, set Date to Custom range… from today to today, and compare the movements with your file.

Troubleshooting

The file is not an .xlsx workbook, for example a CSV or an older .xls file, or it is damaged. Save it as an Excel workbook (.xlsx), or copy your rows into the template.
Split the rows over several files and import them one after another.
Check the header row. The headers must be exactly SKU, Warehouse Code, Quantity, Reason and Notes; otherwise the columns are read as empty. Start from Download template to be sure.
Each import applies its quantities again. If you imported a file twice, import it once more with every quantity negated, or correct the stock with Record count.
You need Import Stock Items. Ask your administrator; see Permissions reference.

Stock levels and movements

Check the result and correct single products.

Set up inventory

Create your warehouses before the first import.

Warehouses

Find the codes to use in the file.

Low-stock alerts

Get told when imported stock runs low.