Skip to main content

File format for importing contacts

Contacts are imported into the FA system in semicolon-separated CSV files using the file columns described below. You can set the following properties of the CSV file in PreferenceImportingFile format (see Preference - Importing for details):

  • File delimiter. By default, FA is configured to accept semicolon-separated values. You can change it to another character.

  • Encoding (UTF-8 or Windows-1252). To import Scandinavian letters, the files should be Windows-1252 encoded to guarantee the correct handling of Scandinavian letters.

Download the CSV file template:

FAFormat_contacts.csv

Update contact values

You can update existing contacts by importing a new file with corrected data. The system identifies the contact to update by the contact ID, so you need to fill in this field. Note that you must specify if you want to keep the old values in each field.

  • To replace the field value, specify the new value in the import file.

  • To keep the existing field value saved in the system, add three stars (***) in the field. Note that if you import an empty field, the previously saved value is removed. For multi-value fields, you can import new values while keeping old ones using three stars (***). For example: ***<new value1>,<new value2>.

  • The fields can have specific syntax for updates, see the field descriptions in the table.

Remove contact values

You can remove existing values in fields by importing a new file with corrected data. The system identifies the contact to update by the contact ID, so you need to fill in this field.

  • For a single-value field, import an empty value in the field to remove the existing value.

  • For tags and profile attribute fields, see the details in the table below (rows 28 and 31).

FA Format for importing contacts

#

Code

Required

Name

Description

1

c.contactId

Yes

Contact ID

Unique ID for the contact (e.g. social security number or other unique identifier).

2

c.externalId

No

External contact ID

E.g. social security number or other additional identification.

3

c.name

Yes

Name

Contact name (e.g. first name and last name, company name, etc.).

4

c.type

Yes

Type

Define as a number:

1 = Customer

2 = Asset manager

3 = Broker

4 = Accountant

5 = Issuer

6 = Custody

7 = Lead

5

c.juridical

Yes

Juridical form

Juridical form code (configured in the system)

6

c.status

Yes

Status

Use the code of the status:

A = Active

P = Passive

C = Closed

7

c.taxCountry

Yes

Tax country

Country code (configured in the system)

8

c.memo

No

Memo

Text, memo information

9

c.classification

Yes

Classification

Classification code (configured in the system)

10

c.identity

Yes

Identity

Identity code (configured in the system)

11

c.address1

No

Address 1

12

c.address2

No

Address 2

13

c.zipCode

No

Zip code

14

c.city

No

City

15

c.country

No

Country

16

c.phone1

No

Phone 1

17

c.phone2

No

Phone 2

18

c.fax

No

Fax

19

c.email

No

Email

20

c.electronicCommunication

No

Electronic communication

Define as a number:

1 = allow electronic communication

0 = not allowed

21

c.marketingCommunication

No

Marketing communication

Define as a number:

1 = allow marketing communication

0 = not allowed

22

c.nationality

No

Nationality

Country code (configured in the system)

23

c.representatives

No

Representatives

Comma-separated list of contact IDs representing the contact, for example, 1223,1224,1225.

To import tag values for a contact representative, add them after ###:

  • Add standalone tags as <representative's contact ID>###<tag name 1>#<tag name 2>. For example: 04012000###Standalone1#Standalone2

  • Add single-select group tags as <representative's contact ID>###<group name>-<tag name 1>#<group name>-<tag name 2>. For example: 04012000###Permission-View#Relationship type-Advisor

  • Add multi-select group tags as <representative's contact ID>###<group name>:<tag name 1>#<group name>:<tag name 2>. For example: 04012000###Permission for trade orders:Make#Permission for trade orders:Modify

  • To import multiple types of tags simultaneously, separate the tags with #. For example: 04012000###Permission-View#Employee:Finance#Employee:Accounting#Relationship type-Advisor#Standalone1#Standalone2

You can use *** syntax to add new representatives and keep existing ones (for example: ***,04012000###...). For details, see ???.

To add representatives to a contact without any existing representatives, add "???," at the beginning of the column's content (for example: ???,04012000####...). If the contact already has representatives, existing representatives will be kept and the new ones are not added.

24

c.language

No

Language

Language code (configured in the system)

25

c.subType

No

Sub type

Contact sub type code (configured in the system). When a sub type is given, it will find its own parent contact type and override the given contact type's code (in column 4).

26

c.transactionExtIdLevel

No

Transaction no. level

Define as a number:

1 = Portfolio level

2 = Contact level

27

c.contactExchanges

No

Settlement place

Comma-separated list of contact settlement places with settlement place code (configured in the system) and counter information with BIC code.

Use the following syntax to import settlement place information: <settlement place code>=<counter>. E.g. APKEFIHH=ESSEFIHX,MGTCBEBE=ESSEFIHX

28

c.tags

No

Tags

Comma-separated list of tags.

Tags import allows you to add new tags:

  • Standalone tags are added with a <tag name>. For example: Fund,ContractOK.

  • Single-select group tags should be added as <group name>-<tag name>. For example: office-Helsinki. If a contact already has a tag with the same group name, the tag is replaced.

  • Multi-select group tags should be added as a comma-separated list of values <group name>:<tag name 1>,<group name>:<tag name 2>. For example: Interests:Golf,Interests:Culture. If a contact already has tags with the same group name, the new tag is added to the existing ones.

You can use three minuses (---) syntax to remove a tag:

  • Standalone tags: ---<tag name>. For example: ---Fund,---ContractOK.

  • Single-select group tags: ---<group name>-<tag name>. For example: —office-Helsinki.

  • Multi-select group tags: ---<group name>:<tag name 1>,---<group name>:<tag name 2>. For example: ---Interests:Golf,---Interests:Culture.

For details, see ???.

29

c.classification2

No

Classification 2

Classification 2 code (configured in the system).

30

c.classification3

No

Classification 3

Classification 3 code (configured in the system).

31

c.profileAttributes

No

Profile

Contact-specific profile (configured in the system). Use the following syntax to import / update profile information: <key>=<value>:<type>#<key>=<value>:<type> etc.

Note that importing checkbox fields requires you to use the type "boolean" and importing date fields requires you to use the type "date" in the syntax.

Profile import allows you to add or modify profile values with a specific key - existing profile values are not replaced or removed unless you specifically include their key within the import syntax.

You can use three minuses (---) syntax to remove a profile attribute value. For example: ---<key>. For details, see ???.

32

c.extContactIdList

No

External IDs

List of contact's external ID's.

Use the following syntax <ext_id1=ext_name1>,<ext_id2=ext_name2> etc. If ext_id and ext_name combination for the same contact exist just use the existing one, otherwise create new one. If ext_id and ext_name combination exist but for a different contact, will show error message.

33

c.keyFigures

No

Key figures

Define the key figure code and individual observations as date-value pairs as a comma-separated list with the format <code>=<date:yyyy-MM-dd>=<value&>&<date:yyyy-MM-dd>=<value>:<code>=<date:yyyy-MM-dd>=<value>,...

E.g. AAA=2009-01-01=1.9,2010-01-01=1.10:TAX=2007-01-01=1,2010-01-01=2

When importing categorized key figures (e.g. 1=Low, 2=Medium, 3=High), prior to 3.7.7 you should use the "number" (e.g. 1, 2 or 3), and after 3.7.7 you should use the "text" (e.g. Low, Medium, High).

You can use *** syntax to add new observations and keep the existing ones. For example: ***:BBB=2007-01-01=1,2010-01-01=3. For details, see ???.

34

c.parent

No

Issuer group

Contact ID of the issuer group. Available only for contacts of the Issuer type.

35

c.birthDate

No

Date of birth

Contact's birth date. Use the format yyyy-MM-dd or yyyy.MM.dd.