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.
UserId,Name,Email,Role,PinCode,BackupCodes,IsActive
REP01,Sam Example,[email protected],Rep,3907,739154|204861|551029|682304|918476,Yes[
{
"user_id": "REP01",
"name": "Sam Example",
"email": "[email protected]",
"role": "Rep",
"pin_code": "3907",
"backup_codes": [
"739154",
"204861",
"551029",
"682304",
"918476"
],
"is_active": true
}
]<?xml version="1.0" encoding="UTF-8"?>
<Feed>
<User>
<UserId>REP01</UserId>
<Name>Sam Example</Name>
<Email>[email protected]</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 column | JSON | XML |
|---|---|---|
UserId | user_id | UserId |
- Format: Text, matched exactly, capitals included.
- Required: Yes.
- Example:
REP01
Name
Their name, recorded on every order they take.
| CSV column | JSON | XML |
|---|---|---|
Name | name | Name |
- Format: Text.
- Required: No.
- Example:
Sam Example
Their email address.
| CSV column | JSON | XML |
|---|---|---|
Email | email | Email |
- Format: Text.
- Required: No.
- Example:
[email protected]
Role
Admin or Rep. Admins can change the settings.
| CSV column | JSON | XML |
|---|---|---|
Role | role | Role |
- 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 column | JSON | XML |
|---|---|---|
PinCode | pin_code | PinCode |
- 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 column | JSON | XML |
|---|---|---|
BackupCodes | backup_codes | BackupCodes |
- 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 column | JSON | XML |
|---|---|---|
IsActive | is_active | IsActive |
- 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