Categories file

How the catalogue is organised: the tiles a rep browses, which can sit inside one another. Products name the categories they belong in.

File name: Categories.csv, Categories_2026-11-01.json or Categories-export.xml. The name starts with the record type, in any case, and anything after a _ or - is yours.

Required: CategoryId. Everything else may be left out or left blank.

Example

One complete record, in each format. All three import as the same record. The CSV is the sample file for categories.

CSV
CategoryId,ParentId,Title,ImagePath,SortOrder,IsActive
WINE-RED,WINE,Red wine,WINE-RED.jpg,1,Yes
JSON
[
  {
    "category_id": "WINE-RED",
    "parent_id": "WINE",
    "title": "Red wine",
    "image": "WINE-RED.jpg",
    "sort_order": 1,
    "is_active": true
  }
]
XML
<?xml version="1.0" encoding="UTF-8"?>
<Feed>
  <Category>
    <CategoryId>WINE-RED</CategoryId>
    <ParentId>WINE</ParentId>
    <Title>Red wine</Title>
    <ImagePath>WINE-RED.jpg</ImagePath>
    <SortOrder>1</SortOrder>
    <IsActive>Yes</IsActive>
  </Category>
</Feed>

In XML each record is a <Category> element; the element around them can be called anything.

Fields

CategoryId

Your category code, which products list in CategoryPaths.

CSV columnJSONXML
CategoryIdcategory_idCategoryId
  • Format: Text, matched exactly, capitals included.
  • Required: Yes.
  • Example: WINE-RED

ParentId

The CategoryId this sits inside. Blank for a top-level category.

CSV columnJSONXML
ParentIdparent_idParentId
  • Format: Text, matched exactly, capitals included.
  • Required: No.
  • Example: WINE

Title

The name reps see on the tile.

CSV columnJSONXML
TitletitleTitle
  • Format: Text.
  • Required: No.
  • Example: Red wine
  • Tip: A new category with no title is shown by its CategoryId.

ImagePath

The file name of its picture in the Images folder.

CSV columnJSONXML
ImagePathimageImagePath
  • Format: Text.
  • Required: No.
  • Example: WINE-RED.jpg

SortOrder

Lower numbers show first.

CSV columnJSONXML
SortOrdersort_orderSortOrder
  • Format: A whole number.
  • Required: No.
  • Example: 1

IsActive

Yes to show it, No to hide it.

CSV columnJSONXML
IsActiveis_activeIsActive
  • Format: Yes or no: see Yes and no below.
  • Required: No.
  • Example: Yes

Rules for every field

  • A blank cell keeps what the tablet has, with Ignore blank cells on, as it ships. Switched off, a blank clears the field.
  • A column the file does not have always keeps what the tablet has, whatever that setting says.
  • A value that cannot be read, such as a date, number or yes/no in a shape the app does not know, stops that record importing. The sync log names the field and the value, and the record keeps what it had. A field whose tip says otherwise is the exception.
  • Column names are matched without case and ignoring surrounding spaces.

Yes and no

In any case:

  • Yes: true, t, yes, y, 1, -1, x, on, active, enabled
  • No: false, f, no, n, 0, off, inactive, disabled