When to use an import

If you are setting up Inventory for the first time or adding a large number of items at once, a CSV import is much faster than entering them one by one. You can also use imports to update existing inventory with new quantities, lot numbers, or pricing.

Preparing your CSV file

From the Import Inventory page, click Download Template to get a CSV with the exact column headers the importer expects. The header names must match. Fill in the rows with your data and save the file.

The template columns are:

  • location_code — required. Matches the code on an existing location (for example MAIN-STOCK or MED-CAB-1). Locations must exist before you import.
  • package_ndc — optional. Package NDC for medications.
  • sku — optional. SKU if your products already have them.
  • product_id — optional. Numeric ID copied from the Products page. Provide at least one of package_ndc, sku, or product_id so the importer can find the product.
  • product_name — required when adding a brand-new item so the importer can create it.
  • category_path — optional. Use Parent > Child segments. Missing categories are created automatically.
  • quantity — required. Positive integer.
  • lot_number — required for drug products.
  • expires_on — required for drug products. Accepts YYYY-MM-DD or MM/DD/YYYY.
  • stock_source — optional per row. Use receive for shipments or manual for adjustments. Defaults to the selection on the form.
  • unit_price — optional. Captured as the product price when stock is received.
  • notes — optional free text stored with the transaction.

Uploading the file

  1. From the menu, click Import Inventory.
  2. Pick a Default stock source — Receive from vendor or Manual adjustment — to apply to rows that leave the stock_source column blank.
  3. Upload your CSV file.
  4. Click Start Import.

Keep the tab open while the file processes. When the import finishes, the page shows an Import Summary table with each row's location, product, package, quantity, mode, and unit price, plus success and error counts.

Error handling

If a row cannot be processed, it appears in the Rows Requiring Attention section with the row number and the reason. Common problems are an unknown location code, a missing required field, or an invalid date format. Fix those rows in your spreadsheet and upload again. Rows that imported successfully do not need to be re-imported.

Worked example

Your agency just opened a new station and you need to stock its supply room with 45 products. Instead of entering each one manually:

  1. Start from the downloaded template. Fill in all 45 products with their name, category path, quantity, and the new location code STA3-SUP.
  2. Save the file as CSV.
  3. Upload it and click Start Import.
  4. The importer creates any new products it does not recognize and adds the quantities to the new location.

What would have taken an hour of manual entry is done in a few minutes.

Tips

  • Always do a small test import with 5-10 rows before importing a large file. It catches problems early.
  • Use the category path format Medical > Airway > Tubes to automatically create nested categories during the import.
  • Keep a copy of your CSV file as a backup. If something goes wrong, you can refer back to it.