Skip to main content

CSV Import

Admin

CSV import lets you add or update many products at once by uploading a spreadsheet file. This is especially useful when onboarding a new store, migrating from another system, or receiving a large shipment from a supplier.

CSV Import


Before You Begin

Before importing, make sure you have:

  1. A CSV file formatted according to the requirements below.
  2. Categories and brands already created in Brother POS (or plan to let the import create them).
Start with an export

The easiest way to get the correct CSV format is to export your existing products first. The exported file uses the exact column structure the importer expects. Use it as a template.


Accessing the Import Tool

  1. Navigate to Products in the top navigation bar.
  2. Click the Import button (or Import / Export > Import CSV).
  3. The import dialog opens.

CSV File Requirements

File Format

RequirementDetails
File type.csv (comma-separated values) or .xlsx (Excel)
EncodingUTF-8 (for CSV files)
DelimiterComma (,) for CSV files
Header rowRequired — the first row must contain column names

Required Columns

These columns must be present and populated for every row:

Column NameDescriptionExample
nameProduct display nameBlue Dream 3.5g
skuUnique stock-keeping unitBD-35-001
pricePre-tax selling price29.99

Optional Columns

These columns are recognized by the importer but can be left empty:

Column NameDescriptionExample
costWholesale cost18.50
descriptionProduct description textPremium hybrid flower
category_namesCategory names, comma-separated for multiple (created if they do not exist)Flower
brandBrand name (created if it does not exist)Green Growers
supplier_nameSupplier name (free text field)Valley Distributors
current_stockStarting stock quantity50
low_stock_thresholdLow stock alert threshold10
activeWhether the product is active: true or falsetrue
strain_typeCannabis strain: indica, sativa, or hybridhybrid
thc_contentTHC potency as a decimal22.5
cbd_contentCBD potency as a decimal0.8
weight_valueProduct weight value3.5
Cannabis columns

Cannabis-specific columns (strain_type, thc_content, cbd_content) are only processed if your store has cannabis features enabled. They are silently ignored otherwise.

Variation Rows

To import products with variations, use the parent_sku column to link variation rows to their parent product. Variations are linked to parent products using the parent_sku column, not by grouping rows by product name.

Column NameDescriptionExample
parent_skuSKU of the parent product this variation belongs toBD-001
variation_nameName for this variation3.5g

Example with variations:

name,sku,price,cost,category_names,variation_name,parent_sku,current_stock
Blue Dream,BD-001,0,0,Flower,,,0
Blue Dream 1g,BD-001-1G,12.99,8.00,Flower,1g,BD-001,100
Blue Dream 3.5g,BD-001-35G,29.99,18.50,Flower,3.5g,BD-001,50
Blue Dream 7g,BD-001-7G,54.99,35.00,Flower,7g,BD-001,25

The importer uses the parent_sku value to associate each variation with its parent product.


Import Process

Step 1: Upload the File

  1. Click Choose File or drag and drop your CSV onto the upload area.
  2. The system reads the file and shows a preview of the first few rows.

Step 2: Automatic Format Detection

Brother POS auto-detects the CSV format by examining the header row. Supported formats are: WooCommerce, Shopify, Lightspeed, and standard Brother POS format. No manual column mapping is needed.

Step 3: Preview and Validate

Before importing, the system validates your data and shows:

  • Total rows to be imported.
  • New products that will be created.
  • Updated products that match existing SKUs.
  • Errors — rows with problems (duplicate SKUs, missing required fields, invalid data).
Fix errors before importing

Rows with errors are skipped during import. Review and fix any flagged issues in your CSV file before proceeding. Common errors include duplicate SKUs, missing product names, and non-numeric price values.

Step 4: Run the Import

  1. Click Import Products.
  2. A progress indicator shows how many rows have been processed.
  3. When complete, a summary shows how many products were created, updated, and skipped.

Update vs. Create

The importer uses the SKU column to determine whether to create a new product or update an existing one:

  • New SKU — A new product is created with all provided data.
  • Existing SKU — The existing product is updated with the values from the CSV. Only fields present in the CSV are updated; fields not included in the CSV remain unchanged.
Supported import formats

The importer auto-detects WooCommerce, Shopify, and Lightspeed CSV formats automatically based on the header row. You can also use .xlsx (Excel) files in addition to .csv.

Restoring soft-deleted products

The import can restore soft-deleted products by matching SKU. If a previously deleted product's SKU appears in the import file, the product is restored and updated with the imported data.

Updating prices in bulk

To update prices for existing products without changing anything else, create a CSV with just the sku and price columns. The importer will match by SKU and update only the price.


Tips for a Clean Import

  1. Remove formatting — Do not include currency symbols ($), thousands separators (,), or percentage signs (%) in numeric fields. Use plain numbers: 29.99 not $29.99.
  2. Check for trailing spaces — Spaces at the end of SKUs or names can cause duplicates.
  3. Use consistent category names — "Flower" and "flower" may create separate categories depending on matching rules. Use exact capitalization.
  4. Test with a small file first — Import 5-10 products to verify your column mapping before importing thousands.
  5. Save a backup — Export your existing catalog before importing. See CSV Export.
  6. UTF-8 encoding — If you see garbled characters after import, your file is likely not saved in UTF-8. Re-save it from your spreadsheet application with UTF-8 encoding.

After the Import

After a successful import:

  1. Navigate to Products to review the imported products.
  2. Spot-check a few products to verify names, prices, and stock levels.
  3. Upload images for the new products (images cannot be imported via CSV). See Images.
  4. Assign any additional attributes (terpenes, effects, flavors) that were not in the CSV.

Troubleshooting

IssueSolution
Import fails immediatelyCheck that the file is a valid CSV or XLSX file. Ensure proper UTF-8 encoding for CSV files.
Some rows skippedCheck the error report for specific row numbers and reasons. Fix the issues in your CSV and re-import the skipped rows.
Categories created as duplicatesEnsure category names match exactly (case-sensitive).
Stock levels are wrongVerify the current_stock column has the correct values. Remember stock is set, not added.
Supplier name not appearingThe column name must be supplier_name (not supplier). It is a free text field, not a lookup.

What's Next?

  • CSV Export — Export your catalog as a CSV for backup or editing.
  • Managing Products — Browse and manage the imported products.
  • Images — Upload product images (not supported in CSV import).
  • Bulk Operations — Make bulk changes after import.