The integration between Kala and Microsoft Dynamics Axapta or C5 requires the same steps for both Kala and the customer.
Set Up a Secure Connection
The integration is based on the exchange of CSV-files. Kala’s servers hosted at Microsoft (Azure) are configured to automatically exchange data with C5 or Axapta through a secure FTPS or SFTP connection.
Note: The connection (FTP server) is set up by the customer’s Microsoft Dynamics administrator – either as an internal or external partner.
Technical Note
Kala supports both FTPS and SFTP for file exchange. Note, however, that these are two different protocols. It is up to the customer to select the preferred protocol and inform Kala of their choice. Throughout this guide, the term SFTP will be used, but this can always be replaced with FTPS.
Tip: We recommend placing the created SFTP folder on a server where C5/Axapta can access the folder via a Windows drive without disrupting the file sequence, as this significantly simplifies the process for the C5/Axapta administrator.
Create Folders in the Root Directory
From the root directory, two subfolders should be created: an Inbox and an Outbox.
Set Up File Exchange
From C5/Axapta, the responsible person should configure the system to export the following files to the Outbox:
(* = required) – examples of these file formats are described later in this guide.
- Project_[timestamp].csv* /// (Danish: Sag_[timestamp].csv*)
- Employee_[timestamp].csv /// (Danish: Medarbejder_[timestamp].csv)
- Stock_[timestamp].csv /// (Danish: Lager_[timestamp].csv)
- Customer_[timestamp].csv /// (Danish: Kunde_[timestamp].csv)
Kala reads and imports files from the Outbox, keeping project, employee, inventory, and customer data updated.
When a file has been processed in Kala, it is automatically moved to a subfolder called Processed within the Outbox. As indicated above, it is recommended to include a timestamp in each file (the exact format of this timestamp is not important). This ensures that if two files are created in the Outbox before Kala reads them, they will be processed in the correct order.
Kala places files in the Inbox, for example, when a new time entry is approved in Kala. The following files will be retrieved from Kala:
- Registrations_[employee number][week][timestamp] /// (Danish: Registreringer_[employee number][week][timestamp].csv)
- Customer_[timestamp].csv /// (Danish: Kunde_[timestamp].csv)
- Project_[timestamp].csv /// (Danish: Sag_[timestamp].csv)
The C5/Axapta administrator sets up the loading and import of these files into C5/Axapta. This file exchange ensures that time entries, material usage, as well as projects and customers created in Kala, are synchronized with C5/Axapta.
Once these folders are set up on a secure SFTP server, the connection will be established and linked to Kala.
CSV-file Formats
Below are the formats of all relevant CSV files for the integration, along with examples.
Note that we have inserted line breaks for readability. See the end of each example for a clear understanding of the format.
Project.csv
[project number];
[project name];
[customer number];
[customer company name];
[project address 1];
[project address 2];
[project postal code];
[project city];
[contact person];
[phone number];
[project archived flag];
[reserved for future use];
[reserved for future use];
[reserved for future use];
[reserved for future use];
[reserved for future use];
[comment line 1];
[comment line 2];
[comment line 3];
[comment line …];
[comment line n];
Example:
2202;Kala draft;412;Kala A/S;Ny Banegårdsgade 48;8000;Aarhus;Martin M;12345678;0;;;;;;this is the first comment;this is the second comment;etc.;etc.;
Employee.csv
[employee number];
[employee name];
[email];
[employee archived flag];
Example:
1;Søren Svensen;svensen@kala.app;0
Stock.csv
[SKU];
[item name];
[unit];
[barcode];
[item archived flag];
Example:
4502;Coca Cola Zero 1.5L;pcs;57045795;0
Customer.csv
[customer number];
[company name];
[VAT number];
[contact person];
[address 1];
[address 2];
[postal code];
[city];
[email];
[phone number];
[customer archived flag];
Example:
412;Kala A/S;36402164;Martin M;Ny Banegårdsgade 48;8000;Aarhus;info@kala.app;12345678;0
Registrations.csv
[‘T’ for time entry or ‘V’ for materials];
[project number];
[approved flag];
[date];
[employee number];
[amount of hours or units];
[work type name or item name];
[work type number or item SKU];
[comment];
Example of time entry:
T;412;1;2020/10/03;1;4.5;Normal hours (01);01;completed faster than expected
Example of material entry:
V;412;1;2020/10/03;1;2;Coca Cola Zero 1.5L;4502;Customer drank soda in the car
Note:
In all CSV-file examples, multiple lines are allowed in the same file.