ProConnect Docs
Importers

Accounts

Account balance CSV format, validation, and the My Account page display.

Overview

The account importer is a full snapshot of customer account summaries for one store: balance, overdue amount, last payment and last invoice dates, and a free-text info field. The data appears on the My Account page of the storefront.

The background job processes uploaded account files about every 5 minutes.

Linking to customers

CUSTOMER_ID must match the CUSTOMER_ID in the customer CSV exactly. Account data only appears for customers whose IDs match; rows without a matching customer import successfully but are not shown until the customer exists.

File format

  • Header row required. Headers are case-insensitive.
  • Unknown columns are ignored. Duplicate headers are rejected.
  • Files must be UTF-8. A leading UTF-8 BOM is allowed.

Columns

ColumnRequiredRules
CUSTOMER_IDYesThe ERP account code, 1-255 characters. Must match the customer CSV. If the same ID appears more than once, the last row wins.
BALANCEYesThe account balance. See money values below.
TOTAL_OVERDUENoThe overdue amount, same format as BALANCE.
ADDITIONAL_INFONoUp to 255 characters, rendered as Markdown on the My Account page - useful for aged-debt breakdowns or credit terms.
LAST_PAYMENTNoDate of the customer's last payment. See dates below.
LAST_INVOICENoDate of the customer's last invoice, same format as LAST_PAYMENT.

Money values

BALANCE and TOTAL_OVERDUE accept currency values with up to 2 decimal places, from 0 to 9,999,999.99:

  • Currency symbols and thousands separators are tolerated: £1,234.56 and 1234.56 are both read as 1234.56.
  • A third decimal place rounds half-up: 1.005 becomes 1.01.
  • Do not use a comma as the decimal separator: 12,34 is read as 1234.
  • Negative amounts are not supported.

Dates

LAST_PAYMENT and LAST_INVOICE accept YYYY-MM-DD or YYYY-MM-DD HH:mm:ss, interpreted as UTC. Use these formats only - other formats can be misread - and note that dates before 1970 are not supported.

Validation

Account imports are all-or-nothing. If one row fails validation, the whole file is rejected and nothing is imported.

When validation fails, the Import log shows a failure report with the rejected rows and reasons.

How updates are applied

Rows in the file are upserted as active account records. Every field is rewritten on each import, so a blank optional cell clears the stored value.

Active account records missing from the file are deactivated and disappear from the My Account page. They reappear, with the values from the file, when the same CUSTOMER_ID returns in a later import.

A file that is valid but contains no data rows counts as an empty snapshot and removes every account summary for the store. Always send the complete account list.

What customers see

On the My Account page, a signed-in customer with a matching account sees:

  • Balance and Overdue rows, formatted in the store's currency.
  • Last Payment and Last Invoice dates.
  • ADDITIONAL_INFO, rendered as Markdown.
  • When payments are enabled for the store, a Pay off full amount button for a positive balance and a Pay off overdue button for a positive overdue amount.

Example

CUSTOMER_ID,BALANCE,TOTAL_OVERDUE,ADDITIONAL_INFO,LAST_PAYMENT,LAST_INVOICE
ACME001,1250.00,320.50,Credit terms: 30 days,2026-06-28,2026-07-01 09:30:00
ACME002,0.00,0.00,,2026-06-15,2026-06-20

Download the sample account CSV to use as a template.

On this page