Skip to main content

Data Cleansing & Preparation: Non-Integrated POS

If you're importing your POS inventory into Run Free, this article's for you.

Written by David Rose

Who this article is for

This article is for stores that use the Run Free Project manual Import/Export feature to get their products into the platform. That means your point of sale system is not one that Run Free integrates with directly - so instead of a live POS connection, you manage your catalog by uploading a CSV file.

If your store is connected to an integrated POS like Lightspeed, RICS, or Heartland Retail, you won't use the Import button at all - and that's by design.

Your product data comes through the POS connection instead and if that's you, this article isn't for you.

For the mechanics of actually uploading a CSV - the two import modes, required column formats, and common errors - see our article that explains the details of the Import/Export Service.

For background on the SKU/Stacks model that underpins the way we automate product presentation to shoppers, see this article and its companion explaining why on Earth we chose to design our platform this way.

The short version

Before you upload anything, your spreadsheet needs to answer three simple questions for each item:

  1. What product is this? (Sku, Brand, Name, Color)

  2. Which exact barcode/size is this row for? (UPC, Size, Width)

  3. How many do you have? (Quantity, and Store if you have multiple locations)

If those pieces are clean, the import usually goes smoothly. If any of them are missing, misspelled, or formatted strangely by Excel, the import may skip rows without showing an error and nothing will update. For specific details on how to set up your import file, click here.


Before you Build your File, Understand the Platform Groups Products

Run Free uses a system called Stacks to automatically group related products together on your storefront. We do this to automate a bunch of painful manual work you'd normally have to do on other eCommerce platforms. A Stack is built from three layers:

  1. Item Name - the top-level product name (e.g., "Men's Cayd")

  2. SKU - Manufacturer's standard identifier, typically identifies a specific style + colorway (e.g., 1110518-BMMO)

  3. UPC - A standardized identifier, this number identifies the product to the finest detail of the specific size/width combination within that colorway

When multiple rows in your import file share the same Item Name, Run Free stacks them into a single product tile where each SKU represents a selectable "option" (often color). For each SKU, the UPCs that share the same SKU each represent the sizes and width options available for the color of that specific product.

This natural hierarchy generates itself without any special consideration if you use the manufacturer's SKU and the manufacturer's UPC/GTIN. Although the description above may seem complex, it emerges automatically if you simply use the values the manufacturer supplies when entering data into your POS (and into Run Free).

Ultimately, this is why you'll hear the onboarding and support staff repeat that the manufacturer's SKU is the most critical piece of data in your import file. Without it, Run Free can't auto-grid and arrange your products for shoppers - and your customers would see a wall of individual size/color listings instead of clean product tiles, which is confusing and a massive amount of work to clean up, which can be VERY frustrating for something that is so easily avoided.


Data points you need in your import file

The following fields are what you'll want to include when building your CSV. Required fields must be present for a product to import correctly. Optional fields improve the experience but won't block the import.

SKU

Required. This is the manufacturer's SKU - Typically appears as style + colorway, no size appended. If you log into your vendor's B2B site and search for products, the SKU is the primary product identifier they display.

Every row that represents products with the same colorway must share the same SKU. Lower-level variants (sizes and widths) of the same color get different UPC codes.

Watch out for Excel: If your SKU values contain only numbers (or start with a long numeric string), Excel will convert them to scientific notation just by opening the file - even without saving. A SKU like 1110518 becomes 1.11052E+06, which will be unusable. Use Google Sheets or LibreOffice Calc for any editing before uploading.

If your POS export contains products without manufacturer SKUs, the Run Free support team can run your file through the SKU Cleaner service. Send a raw, complete CSV export of all products and fields including UPC codes from your POS to support (via the platform chat using the blue dot in the bottom right corner of this screen or by emailing support@runfreeproject.com) and we'll fill in missing SKUs by matching UPCs against our master database. Please don't edit the POS export or open it in Excel before sending it. The output will include a "Run Free SKU" column with the matched values. From there, you can rename that column to match your POS's SKU field and re-import into your POS so that every subsequent export and update to Run Free will include the manufacturer's SKU and ensure the Run Free platform can auto-grid your products to arrange them for your shoppers so you don't have to do it manually (Click here to learn how that works).

UPC

Required. The UPC uniquely identifies one size/width/color combination at the most granular, barcode level.

Run Free uses UPCs to match import rows to products that already exist in the system. If a UPC in your file doesn't match anything in Run Free, that row is silently skipped - no error, no warning. This is the most common reason an import appears to succeed but nothing changes.

The Excel/scientific notation hazard is critical here. UPC codes are 12-13 digit numbers, and Excel converts them to scientific notation (1.23457E+11) on open. Once that happens, the data is corrupted and cannot be recovered - it's not a display issue, the actual value changes. Always use Google Sheets or LibreOffice Calc when working with files that contain UPCs.

Brand

Required. The brand or manufacturer name (e.g., "Brooks", "Hoka", "On").

Brand is used to associate products with the correct brand record in Run Free. If the brand doesn't exist yet, it will be created. Consistent spelling matters - "Brooks Running" and "Brooks" will create two separate brand records.

Product Name / Description

Required. The product name (e.g., "Men's Adrenaline GTS 24").

Name and SKU together are the minimum needed to create a new product in Run Free. If both are missing from a row, that row is silently skipped.

The Description field is optional - it's the long-form product description. Run Free can also pull descriptions from its metabase for known products, so you don't always need to supply one.

Color / Option

Strongly recommended. The colorway name as it should appear on your storefront.

Color is what distinguishes one SKU from another within the same style. Including it ensures products display with the correct color labels and that variants group correctly.

Price

Required. The retail selling price.

Leading $ signs are stripped automatically. A price of $0 or 0 is treated as empty and will not update an existing product's price - so don't use zero as a placeholder.

MSRP

Optional. The manufacturer's suggested retail price, if different from your selling price.

Same $0 behavior as Price.

Size

Required for shoes and most apparel. The size value as it should display to customers (e.g., 9, 10.5, M, L).

Size must be in its own column - not concatenated with color or any other field. If your export from your POS combines color and size into a single field, you'll need to split them before importing. Getting this wrong overwrites your size data with whatever is in that column.

Width

Required for footwear with width variants. The width code (e.g., D, B, 2E).

For non-shoe items or single-width shoes, leave this column blank or omit it. The value M (medium) is treated as empty by the platform.

Categories

Optional. Up to 6 category fields (Category1 through Category6) for organizing products on your storefront.

Quantity Available

Required if you want inventory to show. A whole number representing current on-hand stock.

Decimal quantities (like 1.0 or 2.5) will silently fail to update inventory. Use whole numbers only. Excel sometimes formats numbers with decimal places when exporting CSV - another reason to use Google Sheets.

Store Code

Required for multi-location stores, optional for single-location stores. The External Store Id from your Locations settings (typically a short code or integer like 1, 2).

For single-location stores, you can omit this column entirely and inventory will apply to your one location automatically. For multi-location stores, it must be on every row - if it's missing, the system will silently apply all inventory to whichever location comes up first.

Most POS exports do not include a store column. You'll need to add one manually before importing.


Summary: columns at a glance

Column

Required?

Cell value rules

Sku

Yes (to create products)

Manufacturer SKU as plain text. Same SKU for all sizes/widths of one colorway. The key to Run Free's platform automation, read why here. Never open in Excel - it will corrupt numeric SKUs.

UPC

Yes (to match inventory)

12-13 digit barcode as plain text. Never open in Excel - it will convert to scientific notation and corrupt the value.

Brand

Yes (recommended on new products)

Plain text. Spelling matters - Brooks and Brooks Running create two separate brand records.

Name

Yes (to create products)

Product name as plain text. Required alongside Sku to create a new product.

Color

Strongly recommended

Colorway label as plain text.

Price

Yes (for new products)

Number, with or without leading $. A value of 0 or $0 is treated as "no change" and won't overwrite existing prices.

Msrp

Optional

Same rules as Price.

Size

Yes (footwear/apparel)

Must be in its own column. Do not concatenate size with color or anything else.

Width

Yes (width-variant footwear)

Width code (D, B, 2E). Leave blank for non-shoe items. The value M is treated as empty.

Category1-Category6

Optional

Plain text, one category per column.

Quantity

Yes (to write stock counts)

Whole numbers only. Decimals (1.0, 2.5), commas (1,200), or text values silently fail.

Store

Required (multi-location)

The External Store Id from your Locations settings. Must exactly match a code there.

For the exact rules on column header names (including the case-sensitivity rule that applies to the Inventory Update path), see Import/Export Service.


A word on getting help

If your data needs a lot of cleanup before it's ready to import - missing SKUs, inconsistent formatting, or a large catalog, reach out to us in the chat in the bottom right corner of this page by clicking the blue dot and selecting message or just email support@runfreeproject.com. The support team can run your file through the SKU Cleaner service, review it before you submit it, and catch issues that would otherwise result in silent skips or complete chaos and your neighbor's car randomly bursting into flames (just kidding about that last part).

Did this answer your question?