ROBOTILL HELP

Bulk Product Import and Export

Use a CSV file to add products or update existing products in bulk. You can also export products, edit the file in Excel or another spreadsheet program, and import the changes.

In ROBOTILL Back Office, open Products and Stock > Import / Export. Import and export take place inside Back Office. This feature requires the Full Edition and access to product setup.

For exports in a format required by scale software or another program, use the Export Manager.

Before making bulk changes, create a database backup. Validation lets you review the file before saving, but a completed import can change many products.

Import a CSV file

  1. Prepare the CSV using the file format and supported columns below.
  2. Select the Import CSV tab and use Browse... to choose the file.
  3. Select Validate file. Validation checks the file without changing the database.
  4. If errors are reported, correct them in the file, save it, and select Validate file again. The import remains blocked until the whole file passes validation.
  5. Review the number of new products, updates and stock quantities to be replaced. The preview shows the first 100 records. Select a row to read all the fields supplied for that record. New product setup values are included in the row details.
  6. Tick I have reviewed the changes and want to save this import, then select Import validated products.
  7. Wait for the completion message. Select Back to Products and Stock when finished.
New WPF import screen showing two validated products, their stock quantities and the confirmation checkbox
Validated sample products, ready to import after review. Click the screenshot to view it at full size.

All changes from the file are saved together. Cancelling the import, or a save failure before completion, rolls back the changes from that import. Use Cancel operation and wait for the result; Back Office prevents leaving the screen or closing while an operation is running.

If a product or its tax changes after validation, validate the file again before importing. If the database cannot confirm whether the final save completed, the message tells you to check the products and the Product Import event in History before retrying.

How products are identified

The first column must be STOCKID, STOCKCODE or BARCODE. The file must also contain at least one field to update. Other columns can appear in any order.

  • STOCKID: updates an existing product in the same ROBOTILL database. An unknown StockID is an error. Do not edit StockIDs or create your own. When transferring products to a separate database, remove STOCKID and use a unique STOCKCODE or BARCODE as the first column.
  • STOCKCODE or BARCODE: updates the product when there is one matching product. If no matching product exists, a new product can be created. A new product needs a DESCRIPTION.
  • If more than one product matches the identifying code or barcode, validation blocks the import. Export those products and identify them by STOCKID instead.
  • Do not repeat a product or identifier within the file. A changed stock code or barcode must not belong to another product.

Only fields included in the CSV are updated. Omit a column to leave that field unchanged. An empty numeric or lookup cell is an error; it does not mean "leave unchanged". New products use the first available tax, department and category, and the default supplier where available, unless the file supplies those values. Review their setup in the preview.

Shared fields on a parent product, such as prices, also update its variants. Variant stock codes, barcodes and descriptions remain separate. Do not update both a parent product and its variants in the same file; import them separately.

Importing stock quantities

STOCKONHAND replaces the quantity at the default stock location. It does not add stock. Check the location named in the validation summary before confirming. Quantities at other locations are not replaced.

Quantity imports here are supported for counted, non-compound products. Use Products and Stock > Stock Level Management for compound or non-counted products. Service-charge products cannot have stock quantities, selling prices or unit costs imported here; change the service-charge percentage in product setup.

Export products for updating

  1. Select the Export CSV tab.
  2. Select a department, or All departments.
  3. Select the fields you want to export. Export only the fields needed for your changes. STOCKID is always included as the first column.
  4. Select Export CSV..., choose a destination file, and wait for the completion message.
  5. Open the CSV in your spreadsheet program, keeping stock codes and barcodes as text. Make the changes and save as a comma-separated CSV, preferably CSV UTF-8.
  6. Return to Import CSV, validate the edited file, review the changes and import.
New WPF export screen showing department selection and the available CSV fields
Choose a department and the fields to export. STOCKID is included automatically.

If you export STOCKONHAND, the quantities are for the default stock location shown on the export screen. Omit STOCKONHAND when you only want to change product details or prices.

Exports use UTF-8 text and decimal points. Text containing commas, quotes or line breaks is quoted automatically. An existing destination file is replaced only when export completes successfully. If export is cancelled or fails, the existing file is preserved.

Prepare the CSV file

  • Use a comma-separated text file, not an Excel workbook (.xlsx). Choose CSV UTF-8 (Comma delimited) when your spreadsheet program offers it. Some regional settings use a semicolon instead; check that the saved file uses commas.
  • The first row contains the column names. Names are not case-sensitive. Do not include duplicate or empty columns.
  • Use a decimal point, without thousands separators or currency symbols, and at most five decimal places.
  • Keep barcodes and stock codes as text so the spreadsheet preserves leading zeros and does not turn codes into scientific notation, such as 8.69E+012. Check the saved CSV, not just the cell display.
  • When writing CSV manually, enclose text containing a comma, a double quote or a line break in double quotes. Double a quote inside a quoted field: "Tea, ""large"" box".

For example, this file can create or update two products by stock code:

STOCKCODE,BARCODE,DESCRIPTION,PRICE
COF001,0601234000012,"Coffee beans, 1 kg",89.95
TEA001,0601234000029,Tea bags 80 pack,39.50

For a price-only update of products exported from this database, keep STOCKID and one price column, such as PRICE. For a quantity-only update, keep STOCKID and STOCKONHAND.

Supported columns

ColumnMeaning
STOCKIDExisting product ID in this database. Only allowed as the first column; cannot be changed.
STOCKCODEProduct stock code. Maximum 100 characters.
BARCODEProduct barcode, stored as text. Maximum 100 characters.
DESCRIPTIONProduct description. Required when creating a product; maximum 300 characters.
PRICE / PRICEINCFirst-tier price excluding / including tax.
PRICE2 / PRICEINC2Second-tier price excluding / including tax.
PRICE3 / PRICEINC3Third-tier price excluding / including tax.
TAXDESCRIPTIONThe description of an existing sales tax in ROBOTILL.
UNITCOSTUnit cost.
DEPARTMENTThe name of an existing department.
CATEGORYThe name of an existing product category.
ROPReorder point.
REORDERQTYReorder quantity.
STOCKONHANDReplacement quantity at the default stock location. See the quantity restrictions above.
AISLEBINAisle/bin or shelf location within the store. Maximum 100 characters.
SUPPLIERThe name of an existing supplier.

For each price tier, use either the price excluding tax or the price including tax. ROBOTILL calculates the other using the product's tax, or the TAXDESCRIPTION supplied in the file. If you supply both price columns, they must agree for that tax; otherwise validation reports an error.

Tax, department, category and supplier names must identify existing setup items unambiguously. The import does not create these setup items.

Validation errors and fixes

The error list identifies the record and what needs correcting. A record number counts product records after the header; it may differ from a text-file line number when a description contains line breaks. Fix the file and validate it again. No records are saved while validation errors remain.

Import blocked by a validation error: record 2 has a PRICE value that is not a number
The import is blocked because record 2 contains text in PRICE. Even the valid record has not been saved.
ProblemWhat to check
First column or unknown column errorCheck the header spelling and comma delimiter. Remove blank or unsupported columns, including trailing empty columns.
Incorrect number of fields or invalid quotingEach record needs the same columns as the header. Quote text containing commas and double any quotes inside it.
Invalid number or too many decimal placesRemove currency symbols and thousands separators. Use a decimal point and no more than five decimal places. Do not leave numeric cells empty.
Identifier appears more than once or matches several productsRemove repeated product rows. Use STOCKID from an export of this database when product codes are shared.
Stock code or barcode already usedDo not assign another product's code or barcode. Check whether you intended to update that existing product instead.
Tax, department, category or supplier not foundUse an existing name from Setup. Check spelling, blank cells and duplicate setup names.
Prices excluding and including tax disagreeSupply just one price column per tier, or correct both prices for the specified tax.
Stock quantity cannot be importedCheck the default stock location and whether the product is counted and non-compound. Use Stock Level Management for other products.
Product or sales tax changed after validationValidate the file again and review the new result before importing.
Invalid text encodingSave the spreadsheet as CSV UTF-8 and validate again.
File cannot be read or writtenClose the file in other programs. Check the folder, file permissions and available disk space.

To inspect the CSV, open it in Notepad. Correct column or cell problems in the original spreadsheet and save the CSV again. For price changes and scheduled specials within ROBOTILL, see Changing Prices and Specials.