Fields used when batch creating customers
Last updated: September 4, 2026
When you batch create customers in Mesh, you can include a wide variety of fields. The same column headers apply whether you upload the file in the web app or deposit it on our SFTP server.
There is a minimum set of fields that must be present (marked as required below). Any data you send is stored securely in Mesh and returned via API and in the web app.
Having more data in one place not only provides a single view of your customers but can increase the efficiency of your team as they don't need to navigate between many platforms to find what they need.
How to set up your file headings
Row 1 must contain the name of the fields.
All supported fields are listed below by customer type, you can exclude any that are not relevant to you.
Fields indicated below with [X] can take more than one value.
Each value must be entered in a new column where headers are differentiated by replacing [X] with [1], [2], [3] etc.
For example, for a person's nationality:
If there is only 1 nationality, the heading would be customer.person.nationality[1].
If there is a second nationality, it must be filled into a separate column with the heading customer.person.nationality[2].
Fields that are not required can be left blank, even if you include the headers in your file
There are CSV and XLSX template files available to download in the web app. Click Customers on the main header, select Create, then select File upload, and click Download templates in the top-right corner. Use the regional URL for your account, which is the one in your "Welcome to ComplyAdvantage" email.
Mandatory fields
Most columns are optional, but your file will fail validation without these:
customer.configuration.screening_configuration_identifier: the ID of the screening configuration to use for each customer. You can copy it from the screening configuration page in Settings.
customer.external_identifier: the identifier you assign each customer to uniquely identify them.
customer.person.last_name or customer.person.full_name, if your customer is a person. Fill in one or the other, not both.
customer.company.legal_name, if your customer is a company.
Fields that only accept certain values
These columns accept only the values listed here. Any other value fails validation, and the error names the column and the rows it came from. Type them exactly as shown, in capitals.
customer.person.gender: MALE, FEMALE, OTHER
customer.person.address[X].type: RESIDENTIAL_ADDRESS, MAILING_ADDRESS, BILLING_ADDRESS
customer.company.address[X].type: MAILING_ADDRESS, OPERATING_ADDRESS, REGISTRATION_ADDRESS, BILLING_ADDRESS
customer.person.personal_identification[X].type: SOCIAL_SECURITY_NUMBER, DRIVING_LICENCE, PASSPORT, IDENTITY_CARD, TAX_REGISTRATION, ALIEN_IDENTIFICATION, EMPLOYER_IDENTIFICATION, OTHER
customer.person.residential_information[X].residential_status: RESIDENT, PERMANENT_RESIDENT, NON_RESIDENT
customer.company.status_summary: UNKNOWN, ACTIVE, INACTIVE
product[X].onboarding_channel.online.ip_format: IPV4, IPV6
customer.monitoring.entity_screening.enabled: TRUE, FALSE
The accepted address types are not the same for both customer types. A person cannot take OPERATING_ADDRESS or REGISTRATION_ADDRESS, and a company cannot take RESIDENTIAL_ADDRESS.
Other columns accept a format rather than a list. Country fields take an ISO 3166 alpha-2 code, currency fields take an ISO 4217 code, phone and fax numbers start with a plus and the country code, and date parts take numbers. The "Accepted value(s) or format(s)" column in the tables below gives the rule for every field.
Supported attributes and descriptions
Where a column only accepts a fixed set of values, those values are listed in the "Accepted value(s) or format(s)" column below. Type them exactly as they appear. A value outside the list fails validation, and the error tells you which column and which rows it came from. Note that the accepted address types are not the same for a person and a company, so use the list for the customer type you are uploading.
New fields added since 2025 can be identified using the "Field added in" column in the lists below.
Person
Field | Accepted value(s) or format(s) | Required? (yes/no) | Description | Max length | Field added in |
customer.configuration.screening_configuration_identifier | n/a | yes | The identifier for the screening configuration you have set up in Mesh |
|
|
customer.monitoring.entity_screening.enabled | TRUE | no | A boolean indicating if the customer should be monitored on an ongoing basis for screening |
|
|
customer.external_identifier | n/a | yes | The identifier you assign each customer to uniquely identify them | 256 |
|
customer.acquisition_source | n/a | no | The acquisition source of a customer | 256 | 04/2025 |
customer.customer_since.day | number between 1 and 31 | no | The day of customer acquisition |
| 04/2025 |
customer.customer_since.month | number between 1 and 12 | no | The month of customer acquisition |
| 04/2025 |
customer.customer_since.year | number | no | The year of customer acquisition |
| 04/2025 |
customer.person.title | n/a | no | The person's title | 50 |
|
customer.person.full_name | n/a | yes | The person's full name, if any other name fields are populated this field should be null | 256 |
|
customer.person.first_name | n/a | no | The person's first name | 50 |
|
customer.person.middle_name | n/a | no | The person's middle name | 50 |
|
customer.person.last_name | n/a | yes | The person's last name | 50 |
|
customer.person.suffix | n/a | no | The person's suffix | 50 |
|
customer.person.mothers_name | n/a | no | The last name of the person's mother | 50 |
|
customer.person.fathers_name | n/a | no | The last name of the person's father | 50 |
|
customer.person.date_of_birth.day | number between 1 and 31 | no | The day of birth |
|
|
customer.person.date_of_birth.month | number between 1 and 12 | no | The month of birth |
|
|
customer.person.date_of_birth.year | number | no | The year of birth |
|
|
customer.person.gender | MALE | no | The person's gender |
|
|
customer.person.nationality[X] | iso-3166-alpha-2 | no | The person's nationality |
|
|
customer.person.country_of_birth | iso-3166-alpha-2 | no | The person's country of birth |
|
|
customer.person.residential_information[X].country_of_residence | iso-3166-alpha-2 | no | The person's country of residence or citizenship |
|
|
customer.person.residential_information[X].residential_status | RESIDENT | no | The residential status the person holds for that country of residence |
|
|
customer.person.address[X].type | RESIDENTIAL_ADDRESS | no | The address type |
|
|
customer.person.address[X].address_line1 | n/a | no | The first line of the address | 50 |
|
customer.person.address[X].address_line2 | n/a | no | The second line of the address | 50 |
|
customer.person.address[X].town_name | n/a | no | The town or city | 50 |
|
customer.person.address[X].postal_code | n/a | no | The zip code or postal code | 50 |
|
customer.person.address[X].country_subdivision | n/a | no | The country subdivision or state | 50 |
|
customer.person.address[X].country | iso-3166-alpha-2 | no | The address country |
|
|
customer.person.contact_information.email_address[X] | n/a | no | The customer's email address |
|
|
customer.person.contact_information.fax_number[X] | Must start with a '+' followed by the country code and then the rest of the number | no | The customer's fax number |
|
|
customer.person.contact_information.phone_number[X] | Must start with a '+' followed by the country code and then the rest of the number | no | The customer's phone number |
|
|
customer.person.contact_information.url[X] | RFC-2369 (like http://www.complyadvantage.com | no | The customer's URL |
|
|
customer.person.personal_identification[X].type | SOCIAL_SECURITY_NUMBER | no | The type of identity document |
|
|
customer.person.personal_identification[X].document_identifier | n/a | no | The identity document's official number or identifier |
|
|
customer.person.personal_identification[X].issuing_country | iso-3166-alpha-2 | no | The country that issued the identity document |
|
|
customer.person.personal_identification[X].date_of_issue.day | number between 1 and 31 | no | The day the document was issued |
|
|
customer.person.personal_identification[X].date_of_issue.month | number between 1 and 12 | no | The month the document was issued |
|
|
customer.person.personal_identification[X].date_of_issue.year | number | no | The year the document was issued |
|
|
customer.person.personal_identification[X].date_of_expiry.day | number between 1 and 31 | no | The day the document expires |
|
|
customer.person.personal_identification[X].date_of_expiry.month | number between 1 and 12 | no | The month the document expires |
|
|
customer.person.personal_identification[X].date_of_expiry.year | number | no | The year the document was expires |
|
|
customer.person.profession[X] | n/a | no | The person's profession or occupation |
|
|
customer.person.source_of_wealth | n/a | no | The person's source of wealth |
|
|
customer.person.salary.amount.high | number | no | The upper limit for the person's annual salary |
|
|
customer.person.salary.amount.low | number | no | The lower limit for the person's annual salary |
|
|
customer.person.salary.currency | iso-4217 | no | The currency of the person's salary |
|
|
customer.person.industry | n/a | no | The person's profession or occupation industry | 50 | 04/2025 |
customer.person.net_worth.amount | number | no | The person's net worth amount |
| 04/2025 |
customer.person.net_worth.currency | iso-4217 | no | The person's net worth amount currency |
| 04/2025 |
customer.person.source_of_income | n/a | no | The person's source of income | 50 | 04/2025 |
product[X].name | n/a | no | The name of the product | 50 |
|
product[X].status | n/a | no | The product status | 50 |
|
product[X].bank_account.account_number | n/a | no | The bank account number | 34 |
|
product[X].bank_account.sort_code | n/a | no | The sort code | 11 |
|
product[X].bank_account.iban | n/a | no | The international bank account number (IBAN) | 36 |
|
product[X].bank_account.bban | n/a | no | The basic bank account number (BBAN) | 30 |
|
product[X].bank_account.bank.bic | n/a | no | The bank identifier code (BIC) | 11 |
|
product[X].crypto_wallet.wallet_id | n/a | no | The public crypto wallet address identifier | 256 |
|
product[X].crypto_wallet.managing_exchange | n/a | no | The exchange that manages the crypto wallet | 50 |
|
product[X].currency | iso-4217 | no | The product base currency |
|
|
product[X].monthly_payment_amount | n/a | no | The expected monthly amount sent from the account |
|
|
product[X].monthly_received_amount | n/a | no | The expected month amount received into the account |
|
|
product[X].monthly_transaction_count | n/a | no | The expected number of transactions per month |
|
|
product[X].purpose | n/a | no | The account purpose | 256 |
|
product[X].onboarding_channel.online.ip_format | IPV4 | no | The format of the IP address |
|
|
product[X].onboarding_channel.online.ip_address | n/a | no | The IP address used during online sign up |
|
|
product[X].onboarding_channel.online.device_identifier | n/a | no | The device identifier used during online sign up | 256 |
|
product[X].onboarding_channel.online.device_type | n/a | no | The type of device used during online sign up | 50 |
|
product[X].onboarding_channel.in_branch.branch_identifier | n/a | no | The identifier of the branch used during in person sign up | 256 |
|
Company
Field | Accepted value(s) or format(s) | Required? (yes/no) | Description | Max length | Field added in |
customer.configuration.screening_configuration_identifier | n/a | yes | The identifier for the screening configuration you have set up in Mesh |
|
|
customer.monitoring.entity_screening.enabled | TRUE | no | A boolean indicating if the customer should be monitored on an ongoing basis for screening |
|
|
customer.acquisition_source | n/a | no | The acquisition source of the customer | 256 | 04/2025 |
customer.customer_since.day | number between 1 and 31 | no | The day of customer acquisition |
| 04/2025 |
customer.customer_since.month | number between 1 and 12 | no | The month of customer acquisition |
| 04/2025 |
customer.customer_since.year | number | no | The year of customer acquisition |
| 04/2025 |
customer.external_identifier | n/a | yes | The identifier you assign each customer to uniquely identify them | 256 |
|
customer.company.legal_name | n/a | yes | The company's legal name | 256 |
|
customer.company.alias[X] | n/a | no | Any aliases for the company, including trading names and "doing business as" | 50 |
|
customer.company.industry | n/a | no | The industry the company operates in | 50 |
|
customer.company.source_of_income | n/a | no | The source of income of the company |
| 04/2025 |
customer.company.company_type | n/a | no | The official company legal type | 50 |
|
customer.company.incorporation_date.day | number between 1 and 31 | no | The day the company was incorporated | 50 |
|
customer.company.incorporation_date.month | number between 1 and 12 | no | The month of the company was incorporated |
|
|
customer.company.incorporation_date.year | number | no | The year of the company was incorporated |
|
|
customer.company.place_of_registration | iso-3166, iso3166-2 | no | The country or state where the company is registered | 6 |
|
customer.company.registration_authority_identification | n/a | no | The official identification number for the company, as it appears on the registry | 50 |
|
customer.company.status_summary | UNKNOWN | no | The official status for the company, as it appears on the registry |
|
|
customer.company.address[X].type | MAILING_ADDRESS | no | The address type |
|
|
customer.company.address[X].address_line1 | n/a | no | The first line of the address | 50 |
|
customer.company.address[X].address_line2 | n/a | no | The second line of the address | 50 |
|
customer.company.address[X].town_name | n/a | no | The town or city | 50 |
|
customer.company.address[X].postal_code | n/a | no | The zip code or postal code | 50 |
|
customer.company.address[X].country_subdivision | n/a | no | The country subdivision or state | 50 |
|
customer.company.address[X].country | iso-3166-alpha-2 | no | The address country |
|
|
product[X].name | n/a | no | The name of the product | 50 |
|
product[X].status | n/a | no | The product status | 50 |
|
product[X].bank_account.account_number | n/a | no | The bank account number | 34 |
|
product[X].bank_account.sort_code | n/a | no | The sort code | 11 |
|
product[X].bank_account.iban | n/a | no | The international bank account number (IBAN) | 36 |
|
product[X].bank_account.bban | n/a | no | The basic bank account number (BBAN) | 30 |
|
product[X].bank_account.bank.bic | n/a | no | The bank identifier code (BIC) | 11 |
|
product[X].crypto_wallet.wallet_id | n/a | no | The public crypto wallet address identifier | 256 |
|
product[X].crypto_wallet.managing_exchange | n/a | no | The exchange that manages the crypto wallet | 50 |
|
product[X].currency | iso-4217 | no | The product base currency |
|
|
product[X].monthly_payment_amount | n/a | no | The expected monthly amount sent from the account |
|
|
product[X].monthly_received_amount | n/a | no | The expected month amount received into the account |
|
|
product[X].monthly_transaction_count | n/a | no | The expected number of transactions per month |
|
|
product[X].purpose | n/a | no | The account purpose | 256 |
|
product[X].onboarding_channel.online.ip_format | IPV4 | no | The format of the IP address |
|
|
product[X].onboarding_channel.online.ip_address | n/a | no | The IP address used during online sign up |
|
|
product[X].onboarding_channel.online.device_identifier | n/a | no | The device identifier used during online sign up | 256 |
|
product[X].onboarding_channel.online.device_type | n/a | no | The type of device used during online sign up | 50 |
|
product[X].onboarding_channel.in_branch.branch_identifier | n/a | no | The identifier of the branch used during in person sign up | 256 |
|
product[X].name | n/a | no | The name of the product | 50 |
|
product[X].status | n/a | no | The product status | 50 |
|
product[X].bank_account.account_number | n/a | no | The bank account number | 34 |
|
product[X].bank_account.sort_code | n/a | no | The sort code | 11 |
|
product[X].bank_account.iban | n/a | no | The international bank account number (IBAN) | 36 |
|
product[X].bank_account.bban | n/a | no | The basic bank account number (BBAN) | 30 |
|
product[X].bank_account.bank.bic | n/a | no | The bank identifier code (BIC) | 11 |
|
product[X].crypto_wallet.wallet_id | n/a | no | The public crypto wallet address identifier | 256 |
|
product[X].crypto_wallet.managing_exchange | n/a | no | The exchange that manages the crypto wallet | 50 |
|
product[X].currency | iso-4217 | no | The product base currency |
|
|
product[X].monthly_payment_amount | n/a | no | The expected monthly amount sent from the account |
|
|
product[X].monthly_received_amount | n/a | no | The expected month amount received into the account |
|
|
product[X].monthly_transaction_count | n/a | no | The expected number of transactions per month |
|
|
product[X].purpose | n/a | no | The account purpose | 256 |
|
product[X].onboarding_channel.in_branch.branch_identifier | n/a | no | The identifier of the branch used during in person sign up | 256 |
|