Customers file
The accounts reps sell to: who they are, where their orders go, what they pay and how much credit they have. Reps see them in the customer list, on the account page and at checkout.
File name: Customers.csv, Customers_2026-11-01.json or Customers-export.xml. The name starts with the record type, in any case, and anything after a _ or - is yours.
Required: AccountId. 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 customers.
AccountId,OriginalAccountId,CompanyName,ContactName,Email,Phone,Mobile,Website,VatRegistration,EoriNumber,TaxCode,PriceList,Currency,CreditLimit,CreditBalance,AccountStatus,CarriageCode,Tags,Notes,CustomData,ShippingAddresses,BillingName,BillingLine1,BillingLine2,BillingCity,BillingCounty,BillingPostcode,BillingCountry,AssignedUserId
C1002,,Example Wine Bar Ltd,Alex Example,[email protected],01632 960002,07700 900002,https://example.com,GB123456789,GB123456789000,,TRADE,GBP,5000.00,1250.50,Active,CARR1,BAR|PREMIUM,Deliveries before 10am only.,"{""Route"": ""North""}","[{""name"": ""Warehouse"", ""line1"": ""Unit 4 Example Park"", ""city"": ""Anytown"", ""postcode"": ""AB1 3EF"", ""country"": ""GB""}]",Example Wine Bar Ltd,2 Market Square,Market Hall,Anytown,Exampleshire,AB1 2CG,GB,REP01[
{
"id": "C1002",
"company": "Example Wine Bar Ltd",
"contact": "Alex Example",
"email": "[email protected]",
"phone": "01632 960002",
"mobile": "07700 900002",
"website": "https://example.com",
"vat": "GB123456789",
"eori": "GB123456789000",
"price_tier": "TRADE",
"currency": "GBP",
"credit_limit": 5000.0,
"balance": 1250.5,
"status": "Active",
"carriage": "CARR1",
"tags": [
"BAR",
"PREMIUM"
],
"notes": "Deliveries before 10am only.",
"custom_data": {
"Route": "North"
},
"shipping": [
{
"name": "Warehouse",
"line1": "Unit 4 Example Park",
"city": "Anytown",
"postcode": "AB1 3EF",
"country": "GB"
}
],
"billing": {
"name": "Example Wine Bar Ltd",
"line1": "2 Market Square",
"line2": "Market Hall",
"city": "Anytown",
"county": "Exampleshire",
"postcode": "AB1 2CG",
"country": "GB"
},
"assigned_user_id": "REP01"
}
]<?xml version="1.0" encoding="UTF-8"?>
<Feed>
<Customer>
<ID>C1002</ID>
<Company>Example Wine Bar Ltd</Company>
<Contact>Alex Example</Contact>
<Email>[email protected]</Email>
<Phone>01632 960002</Phone>
<Mobile>07700 900002</Mobile>
<Website>https://example.com</Website>
<VAT>GB123456789</VAT>
<EORI>GB123456789000</EORI>
<PriceTier>TRADE</PriceTier>
<Currency>GBP</Currency>
<CreditLimit>5000.00</CreditLimit>
<Balance>1250.50</Balance>
<Status>Active</Status>
<Carriage>CARR1</Carriage>
<Tags>BAR|PREMIUM</Tags>
<Notes>Deliveries before 10am only.</Notes>
<CustomData>{"Route": "North"}</CustomData>
<Shipping>[{"name": "Warehouse", "line1": "Unit 4 Example Park", "city": "Anytown", "postcode": "AB1 3EF", "country": "GB"}]</Shipping>
<Billing>
<Name>Example Wine Bar Ltd</Name>
<Line1>2 Market Square</Line1>
<Line2>Market Hall</Line2>
<City>Anytown</City>
<County>Exampleshire</County>
<Postcode>AB1 2CG</Postcode>
<Country>GB</Country>
</Billing>
<AssignedUserId>REP01</AssignedUserId>
</Customer>
</Feed>In XML each record is a <Customer> element; the element around them can be called anything.
Fields
AccountId
Your account code. A row with a code already on the tablet updates that customer.
| CSV column | JSON | XML |
|---|---|---|
AccountId | id | ID |
- Format: Text, matched exactly, capitals included.
- Required: Yes.
- Example:
C1002
OriginalAccountId
For a customer a rep added on the tablet: the NEW- code it was sent out with. Blank otherwise.
| CSV column | JSON | XML |
|---|---|---|
OriginalAccountId | original_id | OriginalID |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Tip: Sending it back with your own AccountId replaces the tablet’s NEW- code, so the customer’s orders follow it.
CompanyName
The business name reps see.
| CSV column | JSON | XML |
|---|---|---|
CompanyName | company | Company |
- Format: Text.
- Required: No.
- Example:
Example Wine Bar Ltd - Tip: A new customer with no name is shown by its AccountId.
ContactName
Who to ask for.
| CSV column | JSON | XML |
|---|---|---|
ContactName | contact | Contact |
- Format: Text.
- Required: No.
- Example:
Alex Example
Email address.
| CSV column | JSON | XML |
|---|---|---|
Email | email | Email |
- Format: Text.
- Required: No.
- Example:
[email protected]
Phone
Phone number.
| CSV column | JSON | XML |
|---|---|---|
Phone | phone | Phone |
- Format: Text.
- Required: No.
- Example:
01632 960002
Mobile
Mobile number.
| CSV column | JSON | XML |
|---|---|---|
Mobile | mobile | Mobile |
- Format: Text.
- Required: No.
- Example:
07700 900002
Website
Web address.
| CSV column | JSON | XML |
|---|---|---|
Website | website | Website |
- Format: Text.
- Required: No.
- Example:
https://example.com
VatRegistration
Their VAT number.
| CSV column | JSON | XML |
|---|---|---|
VatRegistration | vat | VAT |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
GB123456789 - Tip: With a delivery address in another country, their orders are zero-rated. Without a VAT or EORI number on file, they are not.
EoriNumber
Their EORI number, for exports.
| CSV column | JSON | XML |
|---|---|---|
EoriNumber | eori | EORI |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
GB123456789000
TaxCode
Blank for normal VAT.
| CSV column | JSON | XML |
|---|---|---|
TaxCode | tax_code | TaxCode |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Tip: A code here can only reduce tax, never add it: EXEMPT, or T0 for a charity’s zero rate.
PriceList
Which price list they pay, matching a name in the products PriceLists. Blank pays the list price.
| CSV column | JSON | XML |
|---|---|---|
PriceList | price_tier | PriceTier |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
TRADE - Tip: Matched whatever the case: Trade and TRADE are one list.
Currency
The currency they buy in, as a three-letter code such as GBP or EUR.
| CSV column | JSON | XML |
|---|---|---|
Currency | currency | Currency |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
GBP - Tip: Money is never converted on the tablet. A customer in another currency is priced from a price list in that currency.
CreditLimit
Their credit limit, checked before an order is placed.
| CSV column | JSON | XML |
|---|---|---|
CreditLimit | credit_limit | CreditLimit |
- Format: A number such as
9.99. A currency symbol, thousands separators and a decimal comma are read too. - Required: No.
- Example:
5000.00 - Tip: Blank means no limit. What 0 means is a Business Rules setting.
CreditBalance
What they owe you now.
| CSV column | JSON | XML |
|---|---|---|
CreditBalance | balance | Balance |
- Format: A number such as
9.99. A currency symbol, thousands separators and a decimal comma are read too. - Required: No.
- Example:
1250.50
AccountStatus
Active, or a status that warns the rep before they take an order.
| CSV column | JSON | XML |
|---|---|---|
AccountStatus | status | Status |
- Format: Text.
- Required: No.
- Example:
Active - Tip: Reps are warned, never blocked. The words read as on hold and as closed are listed below.
CarriageCode
Your own carriage or delivery code for them.
| CSV column | JSON | XML |
|---|---|---|
CarriageCode | carriage | Carriage |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
CARR1
Tags
Labels for grouping customers.
| CSV column | JSON | XML |
|---|---|---|
Tags | tags | Tags |
- Format: Codes separated by
|, each matched exactly. In JSON, a list. - Required: No.
- Example:
BAR|PREMIUM - Tip: A promotion can be aimed at customers with a tag.
Notes
Notes reps see on the account.
| CSV column | JSON | XML |
|---|---|---|
Notes | notes | Notes |
- Format: Text.
- Required: No.
- Example:
Deliveries before 10am only.
CustomData
Anything else you want kept with the customer.
| CSV column | JSON | XML |
|---|---|---|
CustomData | custom_data | CustomData |
- Format: A JSON object. In a CSV the cell is quoted and its own quotes doubled; in JSON, a real object; in XML, the JSON as text.
- Required: No.
- Example:
{"Route": "North"}
ShippingAddresses
Their delivery addresses, each with name, line1, line2, city, county, postcode and country.
| CSV column | JSON | XML |
|---|---|---|
ShippingAddresses | shipping | Shipping |
- Format: A JSON list of objects. In a CSV the cell is quoted and its own quotes doubled; in JSON, a real list; in XML, the JSON as text.
- Required: No.
- Example:
[{"name": "Warehouse", "line1": "Unit 4 Example Park", "city": "Anytown", "postcode": "AB1 3EF", "country": "GB"}] - Tip: Blank delivers to the billing address. A list that is not valid JSON is ignored, so check it before the first sync.
BillingName
Name on the billing address.
| CSV column | JSON | XML |
|---|---|---|
BillingName | billing.name | Billing/Name |
- Format: Text.
- Required: No.
- Example:
Example Wine Bar Ltd
BillingLine1
First line of the billing address.
| CSV column | JSON | XML |
|---|---|---|
BillingLine1 | billing.line1 | Billing/Line1 |
- Format: Text.
- Required: No.
- Example:
2 Market Square
BillingLine2
Second line.
| CSV column | JSON | XML |
|---|---|---|
BillingLine2 | billing.line2 | Billing/Line2 |
- Format: Text.
- Required: No.
- Example:
Market Hall
BillingCity
Town or city.
| CSV column | JSON | XML |
|---|---|---|
BillingCity | billing.city | Billing/City |
- Format: Text.
- Required: No.
- Example:
Anytown
BillingCounty
County, state or region.
| CSV column | JSON | XML |
|---|---|---|
BillingCounty | billing.county | Billing/County |
- Format: Text.
- Required: No.
- Example:
Exampleshire
BillingPostcode
Postcode or ZIP.
| CSV column | JSON | XML |
|---|---|---|
BillingPostcode | billing.postcode | Billing/Postcode |
- Format: Text.
- Required: No.
- Example:
AB1 2CG
BillingCountry
Country name or two-letter code.
| CSV column | JSON | XML |
|---|---|---|
BillingCountry | billing.country | Billing/Country |
- Format: Text.
- Required: No.
- Example:
GB - Tip: Tax follows the delivery address, and with no delivery address that is this one.
AssignedUserId
The UserId of the rep whose customer this is, from the users file.
| CSV column | JSON | XML |
|---|---|---|
AssignedUserId | assigned_user_id | AssignedUserId |
- Format: Text, matched exactly, capitals included.
- Required: No.
- Example:
REP01 - Tip: A rep sees their own customers, and unassigned ones too when an administrator allows it. Blank keeps the current rep.
Account status words
Read without case, spaces or punctuation. Anything else is an open account.
- On hold:
onhold,hold,held,stop,stopped,onstop,suspended,credithold,blocked - Closed:
closed,dormant,inactive,deactivated,terminated
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