Card Import - Validation Messages & Troubleshooting

Import Validation Messages & Troubleshooting

Overview

This page lists every validation rule Import Cards checks, and the exact message you'll see if a row or file doesn't pass — useful for working out why a particular row ended up in your Error Report.

File-level validation

  • No supplier selected → the Upload button stays disabled.

  • No file selected → the Upload button stays disabled.

  • File isn't a CSV → "File must be a CSV file"

  • CSV headers don't match the supported import format → "Invalid file format: unrecognised column headers"

Row-level validation

Condition

Message

card_number is blank

"card_number is required"

Both contract_id and reg_no are blank

"Either contract_id or reg_no is required"

reg_no supplied, no active contract found

"No active contract found for reg_no [value]"

reg_no supplied, more than one active contract found

"Multiple active contracts found for reg_no [value] — use contract_id instead"

recharge_flag has an unsupported value

"recharge_flag must be Y or N"

status_flag has an unsupported value

"status_flag must be active or inactive — deleted is not supported"

A date field has an invalid date

"[field_name] is not a valid date"

client_code_recharge can't be resolved

"client_code_recharge [value] not found"

Same card_number appears more than once in the file for the same supplier

"Duplicate row — this card_number appears more than once in the file"

Duplicate row handling

If the same card_number appears more than once in a file for the same supplier:

  • Neither occurrence is processed.

  • Both appear in the Error Report and Results CSV with: "Duplicate row — this card_number appears more than once in the file."

Permission-related skips

Import Cards checks whether you hold Cards:Create and Cards:Update. If rows are found for an action you're not permitted to perform:

  • The validation summary tells you the count and reason alongside the overall record summary.

  • Those rows are classified as Skipped — missing create permission or Skipped — missing update permission.

  • You can still proceed with the rows you are authorised for.

  • Skipped rows appear in the Results CSV with their skip reason.

Related pages