This article applies to multi-store retailers working from a main environment. While the general concepts are not industry-specific, the example upload file in this article applies to the cannabis industry.
Before you start
- Upload files must be in .xlsx format.
- GlobalTill processes data from the first tab of the upload file only. If a spreadsheet has multiple tabs, only the data in the first tab is considered in the upload. All other tabs are ignored.
- Load files time out after 60 minutes of processing. We recommend limiting load files to no more than 2,500 lines of data. Use batches to upload large data sets.
- The upload template is customizable and can vary by organization. This article covers the default upload template. Check with your organization's data management team if you're unsure of the version specific to your company.
How do I create or edit products using Extended Format Upload?
Follow these steps
Extended Format Upload allows for controlled data entry when bulk creating or editing products in your database. It's programmed to fail if errors in your product data are detected in your load sheet. For more information about failed uploads, see the article How to troubleshoot extended format upload failures.
To create or edit products in bulk using Extended Format Upload, follow these steps.
Step 1: Prepare the Extended Format Upload file
- Create the upload file using the specs from the table in this article. Remember, formatting matters.
- For your convenience, a sample product upload template is located here. Remember to update the Price Zone headers with your organization's specific price zone code, and include any extra headers that may have been customized for your organization.
Here are the accepted header names, their description and special notes related to entry.
The primary identifier of the product in GlobalTill.
Required field. SKU must be populated or the load will fail.
|Description||Description of the product, visible at the POS, backend, and one of the primary means of searching for a product.||
In Cannabis only, descriptions must be unique. The load will fail if the exact same product description exists in the database under a different SKU.
Must be under 50 characters or the load will fail.
|Size||The size of the product.||
Size must exist in GlobalTill or the load will fail.
|Category||The GlobalTill Category for the product.||
Category must exist in GlobalTill or the load will fail.
|SubCategory||The GlobalTill SubCategory for the product.||
SubCategory must exist in GlobalTill or the load will fail.
|SubSubCategory||The GlobalTill SubSubCategory for the product.||
SubSubCategory must exist in GlobalTill or the load will fail.
|Brand||The brand for the product.||
Brand must exist in GlobalTill or the load will fail.
|LP||The Licensed Producer for the product.||
LP must exist in GlobalTill or the load will fail.
|UPC||The UPC (barcode) for the product.||
The load will fail if the UPC is already assigned to a different product.
|Case Qty||The number of individual units in a case pack when purchasing from the specified supplier. The Standard Price and List Price is divided by the case QTY upon upload to calculate the final Standard Unit Price and List Unit Price.||Required field. Case QTY must be populated or the load will fail.|
|Supplier||The supplier for the product. The supplier must exist in GlobalTill or the load will fail. The supplier must be populated or the load will fail.||Required field. The supplier must be populated or the load will fail.|
|Supplier Code||The primary identifier of the product for the supplier.||In Cannabis only, Supplier Code must be unique per supplier. The load will fail if the Supplier Code exists in the database for the same supplier but under a different SKU.|
|Default||Assigns default supplier to the product. Accepted values are 1 or TRUE for true, or FALSE or 0 for false.||Required field. Default must be populated or the load will fail.|
|WHS||The standard wholesale price per unit, often referred to as the product's unit cost.|
|Price Zone Price (Each header name is the price zone name)||The price that is transferred to the store level as the unit selling price for the specific price zone.||
Multiple price zones can exist for each cost zone.
Create a unique column for each price zone price, use the price zone as the column header.
|POS Equivalent Grams||The grams that counts towards the 30-gram legal purchase limit.||
If POS Equivalent Grams <0.01, the product will not be included in select regulatory reports.
If POS Equivalent Grams >0.01, Compliance UPC and Compliance Category are required fields and must be populated or the load will fail.
|Compliance UPC||The designed UPC or Supplier Product Code that is used in the regulatory reports of a specified cost zone.||If POS Equivalent Grams >0.01, Compliance UPC is a required field and must be populated or the load will fail.|
|Compliance Category||The Compliance Category that is used in select regulatory reporting.||If POS Equivalent Grams >0.01, Compliance Category is a required field and must be populated or the load will fail.|
|Compliance Weight||The Compliance Weight that is used in select regulatory reporting.|
|THC Range||The estimated THC Range.|
|CBD Range||The estimated CBD Range.|
|THC||The absolute THC percentage value.||Must be a numerical value or the load will fail.|
|CBD||The absolute CBD percentage value.||Must be a numerical value or the load will fail.|
|Web Name||The consumer-friendly product name displayed on the web and select signage.|
|Long Description||The detailed description of the product.||Must be under 1500 characters or the load will fail.|
|Member Price||The price that is transferred to the store level as the membership price for the specific price zone.||
This is an optional header. It won't impact the header count so long as it's spelled correctly, including case.
Requires a GlobalTill plan that supports membership pricing.
|Any header that starts with: meta_||
Any organization specific metadata field.
This is an optional header. It won't impact the header count so long as it's spelled correctly, and in all lower case.
Can use as many meta_fieldname headers as necessary.
Step 2: Upload the Extended Format Upload file
- Select Load Utilities > Extended Format Upload and enter the upload file you just created.
- Choose the Cost zone that matches the price zones in your file.
- Enter any Comments that you wish to be displayed in the Load File Listing, then select Submit. Comments are optional, but we recommend entering a standardized comment with each upload as a best practice.
- This brings you to the Load File Listing which displays upload history, including each upload's status and if applicable, failure message. Use this area to check on the status of your upload.
- Refresh your browser, or check back in 10-15 minutes if you're working with a large upload file. Refer to the Status and Details columns for feedback, or see the article How to troubleshoot extended format upload failures for more about each failure message.
Frequently asked questions
- Can I use numbers, letters, and special characters (such as . !.*^#) in my SKU?
Yes. Any character can be used to create a SKU, including spaces. As a best practice, we advise against creating SKUs with spaces as this often creates confusion when searching for products.
- Do I have to use all of the headers in the upload file?
Yes. GlobalTill scans the names and the number of headers in your upload file to ensure an exact match to your organizations upload template. Removing or misnaming headers will cause the upload to fail.
- Does it matter what order the headers are placed in the excel sheet?
No, the order of the headers doesn't matter. As a best practice, we recommend placing SKU in Column A as it keeps the file cleaner.
For more information, see the articles: