Importing Products

Modified on Wed, 28 Oct at 2:02 PM


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. 

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.

HeaderDescriptionNotes
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:
  • NonStock: not tracked as stock (e.g. services, consumables)
  • FIFO: stock on hand is tracked
  • Serial: each unit is tracked by serial number
  • Batch: stock is tracked by batch/lot number
  • Kit: a kit made up of other products (only if Kits are turned on for your account)
If your account doesn't have the stock module enabled, all products are imported as NonStock by default regardless of type used.
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.

TargetLandedCostThe landed cost you're aiming for (including freight and duties). Optional. A blank cell sets it to 0.
ShowOnKioskWhether 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

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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article