Skip to main content
Skip table of contents

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

  1. Open PowerShell by clicking Start → typing Powershell → pressing Enter.

  2. Install OpenSSH with the command:

    POWERSHELL
    winget install Microsoft.OpenSSH.Beta
  3. Generate your key pair with:

    POWERSHELL
    ssh-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.

  4. Set a passphrase (recommended) or press Enter to skip.

  5. (Optional) Remove OpenSSH afterward with:

    POWERSHELL
    winget uninstall Microsoft.OpenSSH.Beta


Mac and Linux Users

  1. Open Terminal.

  2. Run the following command directly:

    BASH
    ssh-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.

  3. Set a passphrase (recommended) or press Enter to skip.

Completing the Setup

Check your Downloads folder. You should see:

  • declaree-keyfilePrivate key (keep safe, do not share).

  • declaree-keyfile.pubPublic key (upload to Declaree).


Step 2 - Upload Your Public Key to Declaree

  1. Log in to Declaree.

  2. Go to Configuration → Import & Export → FTP Account.

  3. Click Browse… and upload your declaree-keyfile.pub file.

  4. 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

  1. Download and install FileZilla from the official website.

  2. Open FileZilla and go to File → Site Manager.

  3. 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)

  4. Click Connect.

Once connected, you can manage files on the Declaree SFTP server.


Folder Structure

Your SFTP account contains the following folder layout:

TEXT
/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

Email

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:

  1. Combine all levels into a single file

  2. Upload separate files for each level

For example, consider an administration with the following project levels:

TEXT
Top-Project             (<- 1st level)
  └─ Sub-Project        (<- 2nd level)
      └─ Lower-Project  (<- 3rd level)

The following projects and sub-projects are included, with codes in brackets:

TEXT
[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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.