Skip to main content
Logo

Importing Products

You can import products into Fuze Store POS to quickly set up or update your inventory. This works for migrating from another system or adding many items at once.

The Import Products dialog in the Fuze Store app showing a CSV file upload area, a Download Template button, and a column mapping preview
Import → upload a file

Step-by-Step Guide

  1. Open the app drawer.
  2. Go to Configurations.
  3. Under Data Management, tap Import.
  4. Choose the matching data type on the type grid.
  5. Optionally tap Download template for a CSV starter (your live export).
  6. Upload a CSV, XLS, or XLSX file, review the preview, then confirm Import.

Services have their own file

Products and services share one catalog, but each kind imports and exports on its own sheet. A Products file holds only products, with weight, stock and preparation-time columns. Services use a duration instead — see Importing Services.

Before you import

  • Item limit. New rows count toward your plan's item limit, the same as adding items one by one. Products and services share the one limit. If the file would go over it, nothing is imported, and the message says how many more your plan allows.
  • Updates take no room. Rows that match an item you already have only update it, so you can always re-import your own export.

Field Reference

Here are the columns in the Products import file:

FieldDescriptionRequiredPossible ValuesExample
idUUID identifier for the product. Leave empty to create a new product.123e4567-e89b-12d3-a456-426614174000
skuStock Keeping Unit. A unique code for each product. Letter case doesn't matter: SKU-123 and sku-123 are the same SKU. An existing SKU updates the matching product. A file can't list the same SKU on two rows.SKU-12345
enable_productWhether the product is active in the store. Defaults to YES if empty.YES, NOYES
is_availableWhether the product is available for sale. Defaults to YES if empty.YES, NOYES
sell_on_registerWhether the product is sold at the register. Blank means YES on a new product and leaves an existing product unchanged.YES, NOYES
sell_onlineWhether the product is sold on your online store. Blank means YES on a new product and leaves an existing product unchanged. A row with both sell_on_register and sell_online set to NO is refused.YES, NOYES
nameName of the product.YesGrilled Chicken
is_bundleWhether the product is a bundle of other products. Defaults to NO if empty.YES, NONO
bundle_item_idsPipe-separated list of product IDs or SKUs in the bundle. Only regular products can be in a bundle: a bundle can't contain another bundle or itself. If a row breaks this, nothing in the file is imported.Yes, if is_bundle is YESSKU-123|SKU-124
category_idsPipe-separated list of category IDs or codes. The categories must already exist.chickens|best-sellers
descriptionDescription of the product.Delicious grilled chicken
weightWeight of the product.1.5
weight_unitUnit of weight.Yes, if weight is setlb, kg, g, mg, mcg, oz, st, ct, t, ton, lkg
manage_inventoryWhether inventory tracking is enabled. Defaults to NO if empty.YES, NONO
quantityQuantity in stock.Yes, if manage_inventory is YES100
low_stock_levelThreshold for low stock alerts.10
stock_statusCurrent stock status.Yes, if manage_inventory is YESIN_STOCK, OUT_OF_STOCKIN_STOCK
modifier_idsPipe-separated list of modifier IDs or codes. The modifiers must already exist.chicken-part|chicken-size
priceSelling price of the product (tax included).Yes79.99
costCost price of the product.10.00
enable_special_priceWhether the special price is enabled. Defaults to NO if empty.YES, NONO
special_priceSpecial discounted price. Must be above 0 when enable_special_price is YES.Yes, if enable_special_price is YES7.99
special_price_fromStart date for the special price. A plain date or a full ISO timestamp both work — your export emits the full timestamp.Yes, if enable_special_price is YESISO date or datetime2024-06-01
special_price_toEnd date for the special price.ISO date or datetime2024-06-30
tax_classTax class name or code.TAXABLE_GOODS, NONENONE
tax_idTax UUID associated with the product. Unlike the other reference columns, a tax name is not accepted here — copy the id from your Taxes export. A product has one tax: re-importing it with a different tax replaces the old one.Yes, if tax_class is TAXABLE_GOODSUUID only123e4567-e89b-12d3-a456-426614173000
preparation_time_minutesTime needed to prepare the item, in minutes. Defaults to 0 if empty.0 to 999999.9915
loyalty_eligibilityWhether this product earns loyalty points. DEFAULT follows the loyalty program's earning list; ELIGIBLE always earns; NOT_ELIGIBLE never earns. Blank leaves an existing product unchanged.ELIGIBLE, NOT_ELIGIBLE, DEFAULTDEFAULT

YES/NO and enum values are not case-sensitive, and blank cells fall back to the defaults noted above.

Tips

  • Import categories and modifiers first. The category_ids and modifier_ids columns match against records that already exist, so codes with no match are skipped without an error and the product imports uncategorized.
  • Import bundle members before the bundles that contain them, for the same reason — bundle_item_ids only matches products that already exist.
  • Review your data before importing to avoid errors.
  • Download a sample export file first if you are unsure about formatting.
  • Keep product names and SKUs consistent across your inventory.
  • Update your product data regularly to reflect current prices and stock levels.

Edge cases

  • All or nothing. Every row is checked before anything is saved. One bad row stops the whole import and nothing is saved. The app lists each problem as Row 2: … and names the column.
  • How a row is matched. A row matches an existing record by its id first, then by its SKU (letter case does not matter, and a file cannot list the same SKU twice). A row that matches is updated, and every other row is added. A row with none of these is always added, so running a hand-made file twice makes duplicates. Export first and edit that file to update safely.
  • Spreadsheet formats. You can upload .csv, .xls, or .xlsx. The file is read by what it really is, so a damaged or unreadable spreadsheet is refused as a bad format. A CSV with a single column has no separators and is refused as not being a spreadsheet, so add a second column or save it as .xlsx.
  • Headers matter, not order. Extra columns are ignored. YES/NO and other fixed values accept any letter case, and blank cells fall back to the default for that column.
  • Starter and up. Import is not on the free Basic plan. It needs Store Settings · Import, and Download template also needs Store Settings · Export.
  • The item limit. New rows count toward your plan's item limit, the same as adding items one by one. Products and services share one limit (Basic 150, Starter 500, Lite 1,000, Standard 3,000, Premium none). If the file would go over it, nothing is imported and the message says how many more your plan allows. Rows that match an existing item only update it.
  • Import categories and modifiers first. Codes in category_ids and modifier_ids with no match are skipped without an error, and the product imports uncategorized. The same holds for bundle_item_ids, so import bundle members before their bundles.
  • Tax. tax_id must be a tax UUID, not a name. Copy it from your Taxes export.
  • Where it sells. A row with both sell_on_register and sell_online set to NO is refused. Blank leaves an existing product unchanged.
  • Stock. A row with manage_inventory YES needs quantity and stock_status. Opening stock rides on product rows, with no Advanced Inventory add-on.

Works with

Add-on or planWhat changes
Basic planImport and export are locked.
Starter and upImport is available. Tax columns need a plan with Tax.
Advanced Inventory add-onDay-to-day stock changes after import use stock adjust, purchase orders, transfers, and counts.
Start FreeSee Demo