CSV Export
CSV export lets you download your product catalog as a spreadsheet file. Use it for backups, offline price reviews, bulk editing (re-import after changes), or sharing product data with suppliers and partners.

Accessing the Export Tool
- Navigate to Products in the top navigation bar.
- Click the Export button (or Import / Export > Export CSV).
- The export options dialog opens.
Choosing What to Export
Before generating the file, you can control which products are included and which columns appear.
Filtering Before Export
The export respects any filters you have active on the product list. To export a subset of your catalog:
- Apply filters on the product list before clicking Export.
- Filter by Category (e.g., export only "Edibles").
- Filter by Brand (e.g., export only products from a specific supplier's brand).
- Filter by Status (e.g., export only active products).
- Filter by Stock Level (e.g., export only low stock items for reorder planning).
- Click Export.
- The exported file contains only the filtered products.
Filter by Low Stock, export the CSV, and send it to your supplier as a reorder list. Add a quantity column manually in your spreadsheet to specify how much of each product to order.
Export Columns
The export downloads immediately as a CSV file with all product columns. There is no column selection dialog — the export includes all fields, with additional columns based on enabled feature flags (e.g., cannabis-specific columns only appear if cannabis features are enabled).
Export File Format
The exported CSV file has the following characteristics:
| Property | Details |
|---|---|
| File type | .csv |
| Encoding | UTF-8 |
| Delimiter | Comma (,) |
| Header row | First row contains column names |
| Rows | One row per product (or per variation if product has variations) |
Columns in the Export
The export includes all product fields, with additional columns based on your store's enabled feature flags. The core columns always included are:
| Column | Description |
|---|---|
sku | Unique SKU |
name | Product name |
brand | Brand name |
description | Product description |
price | Pre-tax selling price |
cost | Wholesale cost |
unit_type | How the product is measured (unit, g, oz, etc.) |
product_type | Product structure (simple, variable, variation) |
category_names | Category names using full_name which includes the hierarchy path (e.g., "Cigarettes > Cigars > test"). Comma-separated if multiple. |
barcode | Barcode value |
current_stock | Quantity on hand |
low_stock_threshold | Low stock alert level |
active | true or false |
parent_sku | Parent product SKU (for variations) |
variation_name | Variation name (if product has variations) |
box_quantity | Box/case quantity |
primary_image_url | URL of the primary product image |
gallery_image_urls | URLs of gallery images |
is_freebie_only | Whether product is freebie-only |
auto_print_label_on_sale | Auto-print label setting |
sale_discount_type | Sale discount type |
sale_discount_value | Sale discount value |
sale_starts_at | Sale start date |
sale_ends_at | Sale end date |
sale_reason | Sale reason text |
uses_quantity_pricing | Whether quantity pricing is enabled |
quantity_pricing_data | Quantity pricing tiers (JSON) |
Conditional columns (only included when the corresponding feature flag is enabled):
- Cannabis features:
is_cannabis_product,product_format,strain_type,package_size,thc_content,cbd_content,thc_unit,cbd_unit,thc_min,thc_max,cbd_min,cbd_max,dominant_terpene,effects_data,medical_benefits_data - Weight presets:
use_weight_presets,custom_weight_allowed,min_weight,max_weight,weight_display_unit,price_unit,weight_value,weight_preset_barcodes,weight_presets_data - Quality tiers:
quality_tier,uses_tiered_pricing,tiered_pricing_data - Wholesale/distributor:
wholesale_price,wholesale_enabled,minimum_order_quantity,volume_pricing - Compliance (SLGA):
lot_number,expiry_date,lab_tested,equivalent_grams,pst_exempt - Multi-location:
warehouse_location_name - Modifiers:
modifier_list_names
Variations in the Export
Products with variations are exported as multiple rows:
- Each variation gets its own row.
- The
namecolumn is the same for all variations of the same product. - The
variation_namecolumn distinguishes each variation. - Each variation row has its own
sku,price,cost, andcurrent_stock.
Example:
name,sku,price,cost,category_names,variation_name,current_stock
Blue Dream,BD-001-1G,12.99,8.00,Flower,1g,100
Blue Dream,BD-001-35G,29.99,18.50,Flower,3.5g,50
Blue Dream,BD-001-7G,54.99,35.00,Flower,7g,25
Downloading the Export
- After selecting your options, click Download CSV (or Export).
- The file is generated and downloaded to your browser's default download location.
- The file name includes the date (e.g.,
products-export-2026-02-13.csv).
For large catalogs (thousands of products), the export may take a few seconds to generate. A progress indicator shows the status.
Working with the Exported File
Opening in a Spreadsheet Application
Open the CSV in your preferred spreadsheet application:
- Google Sheets — File > Import > Upload > select the CSV file. Make sure to select "Comma" as the delimiter.
- Microsoft Excel — File > Open > select the CSV file. Use the Text Import Wizard if prompted and choose "Comma" delimited.
- LibreOffice Calc — File > Open > select the CSV file. Confirm UTF-8 encoding and comma separator.
Microsoft Excel may strip leading zeros from SKU codes (e.g., changing 007 to 7). To prevent this, format the SKU column as "Text" before opening the CSV, or import via the Data > From Text wizard with the SKU column set to Text.
Editing and Re-Importing
A common workflow is to export, edit in a spreadsheet, and re-import:
- Export your catalog.
- Open in a spreadsheet application.
- Make changes (update prices, add new products, change categories).
- Save as CSV (UTF-8, comma-delimited).
- Import the updated CSV.
The importer matches by SKU, so existing products are updated and new SKUs create new products.
Use Cases
| Use Case | How to Do It |
|---|---|
| Full catalog backup | Export all products with all columns. Save the file in a safe location. |
| Price review | Export with basic columns. Review and adjust prices in a spreadsheet. Re-import. |
| Supplier reorder list | Filter by low stock, export, and share with your supplier. |
| Migration to another system | Export all products. Reformat the CSV to match the other system's import format. |
| Seasonal audit | Filter by a specific category, export, and review for items to deactivate. |
| Share with accountant | Export with price, cost, and stock columns for valuation or tax reporting. |
Troubleshooting
| Issue | Solution |
|---|---|
| File is empty | Check that your filters are not excluding all products. Clear filters and try again. |
| Characters look garbled | The file was likely opened without UTF-8 encoding. Re-open and specify UTF-8. |
| SKUs lost leading zeros | Format the SKU column as "Text" in your spreadsheet application before opening. |
| Export takes too long | Large catalogs (5,000+ products) take a few seconds. Wait for the progress indicator to finish. |
| Variations missing | Ensure "Include variations" is checked in the export options if available. |
What's Next?
- CSV Import — Re-import your edited CSV to apply changes.
- Managing Products — Browse your catalog in the admin panel.
- Bulk Operations — Make bulk changes without exporting and re-importing.