IMPORTANT
Before you import: an import can change many products at once, and changes can't be undone automatically. Check your file carefully, and always look at the Preview screen before clicking Commit. If you're updating existing products, we recommend exporting your product list first so you have a backup.
Products can be imported into WorkGuru in bulk via a csv upload. Download or create an import template using the headers below and populate it with your migrated or supplier product data.
- Product Import Template Basic Fields
- Product Import Template Advanced Fields
- Importing Products
- Tips for a Successful Import
There is a lot of field validation to ensure that consistent data is imported into WorkGuru - for example, pricing fields must be a number only (can't be blank etc). When re-importing existing products (matched by SKU):
- Leaving a column out of the file keeps that information on the product unchanged.
- Including a column but leaving a cell blank removes that information from the product, for most columns.
If your products are linked to suppliers, we highly recommend that you create/import your suppliers to WorkGuru before actioning this import so you can link products to suppliers upon import. You can find the Suppliers import article found here. Note: Products without a default supplier will not be included in any of WorkGuru's purchasing automations.
Imports support a maximum of 10 000 lines on your import template per upload. WorkGuru's recommended maximum active product limit is 10 000 products. If you experience a timeout on upload, assume the import is still processing in the background and do not attempt a re-upload of that template for at least 10 minutes.
- The file must be a CSV (in Excel: File → Save As → CSV).
- Maximum 10,000 rows and 10 MB per file.
- Each column heading can only appear once.
- The Preview shows up to 100 errors at a time. If there are more, fix the ones shown and click Re-upload to see the rest.
Product Import Template Basic Fields
Column headings must be spelled exactly as shown in this article, including capital letters (for example RRP, not Rrp). Any column WorkGuru doesn't recognise is ignored, so a misspelled heading means that column's data won't be imported. The easiest way to avoid this is to start from the template attached to this article.
| Header | Description | Notes |
|---|---|---|
Sku | Your Product Code which identifies the product needs to be unique. Best practices include no spaces, complex characters or leading zeros. This must be unique, duplicate Sku's on your import will be blocked by the system | Required |
Name | Product Name | Required |
Description | Product Description | |
CostPrice | Default cost price of product. Cannot be blank and must be numerical - set to 0 (zero) if no value. | Required |
SellPrice | Default sell price of product. Cannot be blank and must be numerical - set to 0 (zero) if no value | Required |
RRP | Recommended retail price, e.g. to show a pre-discount price. Optional. A blank cell sets the RRP to 0 | |
Barcode | UPC or EAN Barcode on product packaging. | |
Brand | Product brand for reporting | |
Category | Product category for reporting | |
SupplierCode | Default supplier's product code. | |
SupplierName | Default supplier, matches existing supplier by name (must be exact). If not matched, will not assign supplier to the imported product. | Recommended |
AccountCode | The account code for sales of this product, e.g. 200. You can use any code that appears in the Sales Account dropdown when you edit a product in WorkGuru. Note: GL Number only (eg "200"), no text. | |
ExpenseAccountCode | The account code for purchases or cost of sales for this product, e.g. 300, or your inventory account for stocked products. You can use any code that appears in the Purchase Account dropdown when you edit a product in WorkGuru. Note: GL Number only (eg "300"), no text. | |
PurchaseTaxCode | The tax rate name exactly as it appears in your accounting system, including capitals (e.g. "GST on Income"). The tax code (tax type) also works. PurchaseTaxCode one that can be used on purchases. If the tax rate can't be found you'll get a warning, and the product will be saved without that tax code, using the default tax code. | |
SellTaxCode | The tax rate name exactly as it appears in your accounting system, including capitals (e.g. "GST on Income"). The tax code (tax type) also works. SellTaxCode must be a tax rate that can be used on sales. If the tax rate can't be found you'll get a warning, and the product will be saved without that tax code, using the default tax code. | |
TrackingType | Must contain one of the following types as a text string:
| Required |
IsActive | Product visibility. Binary text - TRUE for yes, FALSE for no. | Required |
Height | Product height. You can use any unit type (mm, cm, m etc) as long as it is consistent across all products. | |
Length | Product length. You can use any unit type (mm, cm, m etc) as long as it is consistent across all products. | |
Width | Product width. You can use any unit type (mm, cm, m etc) as long as it is consistent across all products. | |
Weight | Product weight. You can use any unit type (g, kg, lb etc) as long as it is consistent across all products. | |
MinOrderQty | Minimum quantity purchased from the supplier. Note: Different purchase units (roll/drum etc) is handled by units of measure functionality. | |
| TargetLandedCost | The landed cost you're aiming for (including freight and duties). Optional. A blank cell sets it to 0. | |
| ShowOnKiosk | Whether the product shows in the WorkGuru Kiosk app. TRUE or FALSE. Optional column, but if you include it, every row needs a value. |
Product Import Template Advanced Fields
- Pricing Tiers - To import prices for your product price tiers, add one column per tier. The column heading must be formatted with the prefix PriceTier:: followed by the tier name, spelled exactly as it appears in WorkGuru (case sensitive). For example, if your price tiers are called Wholesale and Trade:
PriceTier::Wholesale | PriceTier::Trade |
100 | 90 |
- Leave a cell blank to keep that product's current price for that tier.
- If the tier name doesn't match a price tier in WorkGuru, you'll see a warning on the Preview screen and that column will be skipped.
- Custom Fields - Custom fields can be included on your product import by adding a column to the import with the notation CustomField::CustomFieldName as the header name. For multiple custom fields, a column with this notation for each custom field you want to import. For example, a custom field name Test, the template would include a column with the header named CustomField::Test with the rows containing the product's custom field data.
CustomField::Test |
This is a test |
- Product Unit Of Measures - You can also import product unit of measures (UoMs) by including the ParentProductSku and ParentProductQuantity. Follow these additional steps to import UoMs.
Importing Products
Upload
You can upload your import template from Products-> Import Products or from the Actions menu on the products dashboard.

After reviewing your spreadsheet click Choose File and select your import.

If required, expand Advanced Options to control the import process in more detail:

- Match against inactive products (Default) - Check the upload Sku against ALL products (active and inactive). Deselect to check upload Sku on active products only (may cause duplicates).
- Match against inactive suppliers (Default) - Check the upload SupplierName against ALL suppliers (active and inactive). Deselect to check upload SupplierName on active suppliers only (may cause duplicates).
- Match against inactive tax rates - Check the upload PurchaseTaxCode and SellTaxCode against ALL accounting integration tax codes (active and inactive).
- Match against inactive GL accounts - Check the upload AccountCode and ExpenseAccountCode against ALL accounting integration general ledger accounts (active and inactive).
Review any import errors or messages raised during the pre-import checks.
Click Preview to upload and display a preview of changes caused by the import template file.
Preview
It is important to preview the import data before confirming the import to ensure your product data remains correct after upload. The Preview will display a summary of exactly what it is going to happen to double check against what you are expecting it to do.

Specifically take note of the amount of Update products vs the amount of New products. For example:
- If you are importing brand new products, there should be no updated products.
- If you are updating existing products only, such as a price update, there should be no new products.
Any errors and warnings will be displayed that will need to be fixed in the data on the import template. Click Re-upload to restart the import process again with the updated import template.
- Errors - Must be fixed before you can import. The Commit button stays greyed out until there are no errors, and nothing is imported until then..
- Warnings - Doesn't stop the import, but you should read each one before clicking Commit. Common warnings:
- Tax rate not found / GL account code not found: the product will be saved without that tax code or account. If you're updating an existing product, its current tax code or account will be removed.
- Price tier not found: that price tier column is skipped.
- Matched a tax rate by type (not name): the tax code you entered matched your accounting system's tax type rather than the tax name. Check it picked the right one.
- Multiple … with the same name/code: more than one record matched, and the first one was used. Check it's the right one.
Commit
When you're happy with the Preview, click Commit to import your products. If you want to restart the import process with another import template, click Re-upload.

Tips for a Successful Import
- Ensure you have included the required fields.
- Ensure there are only numbers in the pricing columns.
- Pricing columns are required. If a product has no price, ensure a 0 is entered, not left blank.
- Prices and other numbers: use a full stop for decimals (12.50), never a comma. A value like 12,50 will be read as 1250. Currency symbols and thousands separators (e.g. $1,250.00) are fine.
- Ensure that all Suppliers already exist in WorkGuru. The Supplier name needs to match exactly to assign to the product. Suppliers will be skipped if they don't match.
- If you are updating products, ensure your SKU's haven't been auto-formatted by your spreadsheet application. Spreadsheet apps tend to strip away leading zeros and auto-format barcodes and dates. If a product can't be matched to an existing product by EXACTLY matching SKU's, a new product will be created.
- If setting up UoMs and/or reorder levels and locations, ensure that you import the primary or parent products and components first.
- Ensure columns don't have leading or trailing spaces.
- If removing rows, ensure the row has been deleted rather than just the data it contains. Some spreadsheet apps will not remove the comma separators when deleting data instead of the row, causing an empty row (, , , , , ,) which will cause an error on import. This can easily be caught by inspecting the import template in notepad or a formatting-free text editor.
- The Sku is used to match products on the import and decide what's new or existing, for the best results use a freshly exported product list before updating products.
- Make sure there are no spaces at the start or end of any cell, especially SKUs. A SKU with an extra space won't match your existing product, and the import will create a duplicate instead of updating it.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article