Business Contacts
Manage business data from the contacts on your iPhone or iPad
CSV File Format Guidance:
Introduction:
As of version 2.0, the Business Contacts app allows you to import new contacts into your iOS device from a CSV file. This page provides guidance to this feature, and describes the required file format of the CSV file.
Before you proceed:
Business Contacts works with the business information of your iOS contacts, and unlike other CRM apps, this app does not operate a separate contact database that is disconnected from your iOS contacts.
This means that all CSV contacts that are successfully imported into Business Contacts will automatically be added to your existing iOS contacts. If you synchronise your contacts using iCloud, all new CSV contacts will be synchronized straightaway across all your devices.
If Business Contacts detects an existing contact in the CSV file, and you have instructed the app to replace existing fields with new fields from the CSV file, then Business Contacts will overwrite your existing data in those fields, and there is no undo button for this process. Please study the proposed updates from Business Contacts very carefully when you choose this option, to make sure that the app will perform the updates that you intend to do.
Your use of this feature falls under the general terms of use of H2 Software apps in the AppStore, specifically regarding the limited liability clauses, and is entirely at your own risk.
The free version limits the number of importable contacts to 3.
The pro version limits the number of importable contacts to 100 at a single time. If you have a CSV file with more than 100 contacts, you can split these into smaller CSV files with a text editor. Each file should retain the header row (see below).
File Format:
The file format is Comma Separated Values (CSV), often referred to simply as CSV format. It is a text-based format, which means the file can be read and modified by a text editor such as Apple's TextEdit.
CSV files can also be imported and exported from most spreadsheet software, including Apple Numbers and Microsoft Excel.
The Business Contact app itself exports a CSV file which meets all the requirements on this page. You can view the file in a text editor to examine its structure.
The app uses UTF-8 encoding to import and process the CSV files, meaning that most non-text symbols such as emojis will be preserved.
Headers and Contacts:
There should be exactly one header row, and one or more contact rows.
The header row is not optional. In the absence of a header row, the app will not adopt a default header row, or attempt to guess what the header row could be. Instead, if the app cannot parse the first row as a header row, the app will alert the user that a header row is mandatory.
The header row specifies the contact field names that are present in the CSV file.
In the header row, the field names are separated by commas. In the contact rows, contact values are similarly separated by commas.
All values can be surrounded with double quotes. This is optional, but essential if you have meaningful commas in your values. To avoid any confusion, where a comma is unintentionally treated as a separator, we recommended that you surround all values with double quotes.
The header row should specify the fields that the CSV file contains for each contact.
Headers do not have to follow a specific order. CSV files may contain, for example, "first name", "last name", or "last name", "first name".
The contact rows that follow must contain values for the headers in exactly the order they were specified in the header.
The following screenshot provides an example of a valid header and a valid contact row:

The app will pick up common variants of headers. for example, family name as well as last name, and email as well as email address are accepted.
Both uppercase and lowercase versions of the headers are accepted. For example, both URL and url are processed in the same way.
A full list of possible values for the headers is provided below. (add the table from h2software.com)
Value Types:
There are four types of values that can occur in the CSV contact file. Each header corresponds to exactly one value type, as indicated in the header table.
Either Organisation or Person:
The two Person or Organisation values are reserved for the contact type field. There are no other types available for iOS contacts.
If the contact type is not available in the CSV file, Business Contacts will assume you wish to import contacts of type Person. The only exception to this rule is if you have a row of CSV values with an organisation name but no first name and no last name. In this case Business Contacts will assume you wish to import contacts of type Organisation.
Single Value:
The single value indicates that the app expects a single value for this field.
When choosing Replace Existing Field with New Field in the app, the app will override the existing value with this value.
Multiple Values:
The multiple value indicates that the app expects one or more values for this field. Values should be separated with a semicolon (;).
When choosing Replace Existing Field with New Field in the app, the app will override all work-labelled values with the new values in the CSV file. All other values (for example, a home phone number) will not be affected.
Key Value Pairs:
The key value pairs value indicates that the app expects one or more key value pairs for this field. Pairs are coded as key:value, separating keys and values with a colon (:). Pairs should be separated with the pipe character (|). A set of key value pairs should be separated with a semicolon (;).
Currently only the address field supports key value pairs. The available keys are: street, city, state, postalCode, country, isoCountryCode, subAdministrativeArea, and subLocality.
When choosing Replace Existing Field with New Field in the app, the app will override all work-labelled addresses with the new addresses in the CSV file. All other values (for example, a home address) will not be affected
Detection of Existing Contacts:
When the app parses the contacts from the CSV file, it will check if the contact can be matched with an existing contact in the database. The matching procedure is as follows.
The existing contact can be of two types: an organisation contact or a personal contact.
There is a match if there is an existing personal contact, the type of the CSV contact is Person, and the first name and last name of the CSV contact match with the first name and the last name of the existing contact.
There is a match if there is an existing organisation contact, the type of the CSV contact is Organisation, and the organisation name of the CSV contact matches the organisation name of the existing organisation contact.
If there are multiple matches for existing contacts, then the match will occur with the last existing contact. The order of contacts is the same as how the contacts are ordered by default in the standard Apple Contacts app. With duplicate first names and last names, the order is potentially undefined.
For any further questions or support, please contact support@h2software.com.
