Data exchange via SFTP server
With the Declaree Exchange module, your organization can automatically synchronize data between Declaree and your existing systems. Files such as approved expenses, personnel data, cost centers, projects, and exchange rates can be exchanged periodically via a secure SFTP account.
How do I create and setup an SFTP account?
To authenticate with the SFTP server, you need an RSA key pair. This can be created using the free application OpenSSH.
Step 1 — Generate an SSH Key Pair
Windows Users
Open PowerShell by clicking Start → typing Powershell → pressing Enter.
Install OpenSSH with the command:
POWERSHELLwinget install Microsoft.OpenSSH.Beta
Generate your key pair with:
POWERSHELLssh-keygen -t rsa -b 4096 -f $env:USERPROFILE\Downloads\declaree-keyfile -C "your-email@example.com"
Replace your-email@example.com with your actual email address.
Set a passphrase (recommended) or press Enter to skip.
(Optional) Remove OpenSSH afterward with:
POWERSHELLwinget uninstall Microsoft.OpenSSH.Beta
Mac and Linux Users
Open Terminal.
Run the following command directly:
BASHssh-keygen -t rsa -b 4096 -f $HOME/Downloads/declaree-keyfile -C "your-email@example.com"
Replace your-email@example.com with your actual email address.
Set a passphrase (recommended) or press Enter to skip.
Completing the Setup
Check your Downloads folder. You should see:
declaree-keyfile
→ Private key (keep safe, do not share).declaree-keyfile.pub
→ Public key (upload to Declaree).
Step 2 - Upload Your Public Key to Declaree
Log in to Declaree.
Go to Configuration → Import & Export → FTP Account.
Click Browse… and upload your declaree-keyfile.pub file.
Click Save.
After saving, you will see your key displayed on the page.
👉 Make sure to store your keys securely for future reference.
👉 Take note of the FTP Account and Hostname, as you’ll need these for connecting.
Step 3 — Connect with FileZilla
Download and install FileZilla from the official website.
Open FileZilla and go to File → Site Manager.
Click New Site and enter the following details:
Protocol: SFTP – SSH File Transfer Protocol
Host: ftp.declaree.com
Port: 22
Logon Type: Key file
User: Your FTP account username (from Declaree’s FTP Account page)
Key file: Browse to your private key file (declaree-keyfile)
Click Connect.
Once connected, you can manage files on the Declaree SFTP server.
Folder Structure
Your SFTP account contains the following folder layout:
/in
├─ /users
├─ /tags
├─ /exchange
└─ /transactions
/out
└─ /reports
Input Folders (/in)
/users → employee data
/tags → cost centers/projects
/exchange → exchange rate file
/transactions → credit card transactions
Output Folders (/out)
/out → periodic export files named Expenses_[Ymd].csv (e.g., Expenses_20170502)
/out/reports → PDF proofs of reports, named [ReportID].pdf (where [ReportID] matches the unique report number in Declaree)
Important Notes
Always place import files inside one of the subfolders under /in (not directly in /in).
Make sure that all Excel or CSV files include headers and contain at least the required columns described in the section Format of Import Files.
CSV files must be UTF-8 encoded, use LF line endings, and use semicolon (;) as delimiter.
Processing and Frequency
Files placed in the /in/ folders are processed automatically within one minute.
You can monitor the status of imports and exports under Import & Export → More in Declaree.
Data Checks
Every uploaded file is checked automatically:
If irregularities are found (e.g., fewer rows than expected), a verification link will be sent to the email address configured under Import & Export → FTP Account.
After verification, the file will still be processed.
File Format Guidelines
Employee Data (Users)
File type: Excel or CSV, UTF-8 encoded.
CSV requirements: Unix line endings (LF) and semicolon (;) delimiter
Column | Required | Format |
---|---|---|
Username | Yes | Text |
Initials | No | Text |
First Name | No | Text |
Prefix | No | Text |
Last Name | Yes | Text |
Yes | Valid email address | |
Code | Yes | Text |
Manager | Yes | Valid Username |
Submits to | No | valid Username |
Groups | No | Text, comma separated |
Projects (tags)
File type: Excel or CSV, UTF-8 encoded.
CSV requirements: Unix line endings (LF) and semicolon (;) delimiter
Column | Required | Format |
---|---|---|
Project* Name | Yes | Text |
Project* Code | No | Text |
Project* Code (2) | No | Text |
Project* Code (3) | No | Text |
Explanation | No | Text |
Manager | No | Valid Username |
Manager (2) | No | Valid Username |
Groups | No | Text, comma separated |
Enabled | No | ‘yes’ or ‘no’ |
Expense types | No | Comma separated: Expense, Mileage, Compensation |
If you use the Project levels module, the column names will follow your custom naming (e.g., Cost Center Name instead of Project Name).
Uploading Multiple Project Levels
If your organization uses multiple project levels, you can structure your import files in two different ways:
Combine all levels into a single file
Upload separate files for each level
For example, consider an administration with the following project levels:
Top-Project (<- 1st level)
└─ Sub-Project (<- 2nd level)
└─ Lower-Project (<- 3rd level)
The following projects and sub-projects are included, with codes in brackets:
[1000] Main project
└─ [1010] Main sub-project 1
└─ [1020] Main sub-project 2
[2000] Alternative project
├─ [2010] First alternative sub-project
│ └─ [2011] Lower 1
│ └─ [2012] Lower 2
└─ [2100] Other alternative sub-project
[3000] Simple project
Option 1. Projects and Sub-Projects in a single file
Filename: AllProjectLevels.csv
Code | Name | Top-Project Code | Sub-Project Code |
---|---|---|---|
1000 | Main project | ||
1010 | Main sub-project 1 | 1000 | |
1020 | Main sub-project 2 | 1000 | |
2000 | Alternative project | ||
2010 | First alternative sub-project | 2000 | |
2011 | Lower 1 | 2010 | |
2012 | Lower 2 | 2010 | |
2100 | Other alternative sub-project | 2000 | |
3000 | Simple project |
Option 2. Projects and Sub-Projects in three separate files
Filename 1: TopProject.csv
Top-Project Code | Top-Project Name |
---|---|
1000 | Main project |
2000 | Alternative project |
3000 | Simple project |
Filename2: SubProject.csv
Sub-Project Code | Sub-Project Name | Top-Project Code |
---|---|---|
1010 | Main sub-project 1 | 1000 |
1020 | Main sub-project 2 | 1000 |
2010 | First alternative sub-project | 2000 |
2100 | Other alternative sub-project | 2000 |
Filename 3: LowerProject.csv
Lower-Project Code | Lower-Project Name | Sub-Project Code |
---|---|---|
2011 | Lower 1 | 2010 |
2012 | Lower 2 | 2010 |
Tip: Whether you combine all levels in one file or use separate files, always make sure your codes are unique and consistent. This ensures correct mapping when importing into Declaree.