Users file

The people who sign in to the tablets: reps and administrators, each with a PIN. Every order carries the name of whoever took it.

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

Required: UserId. 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 users.

CSV
UserId,Name,Email,Role,PinCode,BackupCodes,IsActive
REP01,Sam Example,sam@example.com,Rep,3907,739154|204861|551029|682304|918476,Yes
JSON
[
  {
    "user_id": "REP01",
    "name": "Sam Example",
    "email": "sam@example.com",
    "role": "Rep",
    "pin_code": "3907",
    "backup_codes": [
      "739154",
      "204861",
      "551029",
      "682304",
      "918476"
    ],
    "is_active": true
  }
]
XML
<?xml version="1.0" encoding="UTF-8"?>
<Feed>
  <User>
    <UserId>REP01</UserId>
    <Name>Sam Example</Name>
    <Email>sam@example.com</Email>
    <Role>Rep</Role>
    <PinCode>3907</PinCode>
    <BackupCodes>739154|204861|551029|682304|918476</BackupCodes>
    <IsActive>Yes</IsActive>
  </User>
</Feed>

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

Fields

UserId

Your code for the person, which AssignedUserId in the customers file refers to.

CSV columnJSONXML
UserIduser_idUserId
  • Format: Text, matched exactly, capitals included.
  • Required: Yes.
  • Example: REP01

Name

Their name, recorded on every order they take.

CSV columnJSONXML
NamenameName
  • Format: Text.
  • Required: No.
  • Example: Sam Example

Email

Their email address.

CSV columnJSONXML
EmailemailEmail
  • Format: Text.
  • Required: No.
  • Example: sam@example.com

Role

Admin or Rep. Admins can change the settings.

CSV columnJSONXML
RoleroleRole
  • Format: Text.
  • Required: No.
  • Example: Rep
  • Tip: Anything other than Admin is a Rep. An import never removes the last administrator.

PinCode

The four-digit PIN they sign in with.

CSV columnJSONXML
PinCodepin_codePinCode
  • Format: Text.
  • Required: No.
  • Example: 3907
  • Tip: Scrambled on the way in, but the file holds it as typed: keep it private, and remove it once imported.

BackupCodes

One-off codes for a forgotten PIN.

CSV columnJSONXML
BackupCodesbackup_codesBackupCodes
  • Format: Codes separated by |, each matched exactly. In JSON, a list.
  • Required: No.
  • Example: 739154|204861|551029|682304|918476

IsActive

Yes to let them sign in, No to stop them.

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