The File Transfers feature in TimeTonic lets you automate data exchanges with external systems via FTP or SFTP. You can automatically import a file into a TimeTonic table, or export the data from a view to a server, manually or on a schedule, with no development required.
What this feature does
TimeTonic file transfers address the need to synchronize and exchange data between TimeTonic and your existing systems. They make previously manual flows reliable, eliminate re-keying, and connect TimeTonic to your IT ecosystem without development.
Requirements and permissions
Before setting up a transfer, make sure you have the following.
This feature connects to an FTP or SFTP server that you host yourself or that an external partner makes available (service provider, hosting provider, end customer). TimeTonic does not include FTP/SFTP storage as part of its offering. Reach out to your network administrator or IT team to get access to an existing server or to provision a new one.
Accessing the feature
File transfers are set up from any TimeTonic table, via the automations menu.
Understanding the File Transfers window
The File Transfers window centralizes all imports and exports configured for your workspace. From there, you create new transfers, track the status of existing ones, and access all management actions.
Each row in the list represents a configured transfer. It shows the type (import or export), the name, the description, the trigger (manual or scheduled), the destination server, and the date of the last execution.
Actions available for each transfer
Filters and search
At the top of the list, two filters help you quickly find a transfer when your workspace has many: a Type filter (Import / Export) and a Status filter. A full search bar also lets you filter by name.
Create an export step by step
To create a new export, click the New export button at the top of the File Transfers window. A settings panel opens, organized in several sections that you fill in from top to bottom.
Overview of the Export settings panel. The numbered areas match the subsections detailed below.
5.1 Name the transfer
Give your export a clear name, for example Billing work orders export or Weekly customer backup. This name will appear in the list of transfers and in notification emails, so choose one that is immediately understandable by anyone who might check the logs or receive alerts.
The description is optional, but we recommend filling it in to capture the context of use: what this transfer is for, who consumes the exported files, how often it should run. It is a valuable reference when you come back to the configuration months later.
5.2 Select the source view
An export is always based on a view of the table, never on the entire table. This gives you a lot of flexibility: by adjusting the view's filters, sorts, and visible columns, you precisely control which data is exported, without having to change the transfer configuration.
5.3 Configure the server connection
Enter the connection details for your FTP or SFTP server.
The password and the private SSH key are stored encrypted in the TimeTonic database and are never displayed in plain text. If you edit the configuration later, the Password field will remain empty: leave it as is to keep the saved password, or enter a new one to replace it.
Export to Metabase
In addition to FTP and SFTP, you can choose Metabase as the export connection type. Your TimeTonic data is then sent directly to your Metabase instance for analysis, without going through a file dropped on a server.
Access to Metabase depends on your license plan and is enabled with the TimeTonic sales team. The full setup (target table name, strategy selection, displaying a dashboard in TimeTonic) is detailed in the dedicated article below.
Learn more
5.4 Configure the file
The File panel groups all the parameters that determine where the file will be dropped on the server, under what name, in what format, and how it will be structured. The sections below detail each field in the order it appears in the panel, from top to bottom.
Folder path
Select the destination folder directly from the dropdown that browses your server's directory tree, for example /home/user/exports. You do not need to type the path manually: TimeTonic displays the available folders. The folder must exist beforehand: TimeTonic does not create the root tree, but will add subfolders inside it if you enable file splitting (see below).
File name
Enter the name you want for your export file, for example work_orders.csv. This is the base name that TimeTonic will automatically complete with the suffix and splitting configured later in the panel.
The same field is used for both imports and exports. In export mode, simply enter a file name. The notion of a pattern with the
* wildcard only applies to import mode, where it lets you target multiple files (for example work_orders_*.csv). See the Create an import step by step section for details.File includes a header row
When this toggle is enabled (the default), TimeTonic adds the column names of your view as the first line of the exported file. Disable it only if the system consuming the file expects raw data without a header, for example an import into a database that defines its columns elsewhere.
Separator, text delimiter, date format and decimal separator
These four fields control how the data is formatted in the exported file:
Export format
TimeTonic offers three export formats. Pick the one that matches the system that will consume the file.
File name suffix
The suffix is automatically added to the base name, before the file extension. It ensures that no file overwrites the previous one during successive exports. Four formats are available:
The time suffix is generated in UTC, while your SFTP client typically displays the file's modification date in local time. If you rely on the file name to retrieve an exact time, keep this offset in mind.
Example: a file named
work_orders_csv_20260429_142430.csv corresponds to 14:24:30 UTC, which is 10:24:30 AM in New York (UTC-4 in summer) or 16:24:30 in Paris (UTC+2 in summer).File splitting
File splitting automatically creates a folder hierarchy based on the execution date, inside your destination folder. This prevents hundreds of flat files from accumulating after several months of automated exports. Four organization levels are available:
5.5 Define the export strategy
The export strategy controls TimeTonic's behavior in two specific situations: when multiple executions overlap, and when an execution fails.
If concurrent executions occur
If an execution is already running when a new one is triggered (manually or via the schedule), TimeTonic can adopt two behaviors:
If an execution fails
You decide whether TimeTonic should stop processing immediately on the first error, or continue and try to export the remaining rows. For an export, the Stop option is generally preferable: a partial file rarely makes sense in real-world use cases.
5.6 Configure notifications
TimeTonic automatically sends emails for every execution if you configure it to. Two independent toggles let you choose exactly what you want to receive.
For each enabled notification, add one or several email addresses in the matching field. The field accepts free entry: type an address, validate, and move to the next one.
data-team@your-company.com) rather than a personal address. This prevents alerts from going unanswered when the configured person is unavailable.5.7 Schedule a recurring execution
Enable the Schedule a recurring execution toggle if you want the export to run automatically at regular intervals. If you leave this toggle disabled, the export will only run on manual demand (Run now).
Once the toggle is on, three cadences are available via the Day, Week and Month tabs at the top of the Schedule panel. Pick the one that matches your need, then configure the options that appear below.
Day cadence
Use this for an export that runs at fixed day-based intervals, whether daily or on a longer cycle (every 3 days, every 7 days, etc.).
Week cadence
Use this for a weekly export tied to specific days of the week. Three selection modes are available:
Then enter the execution time in the At HH:MM field, still in UTC.
Month cadence
Use this for a monthly or quarterly export. The Month mode combines two independent choices: in which months of the year the export should run, and on what day of each month it triggers.
On which months
On which day of the month
Then enter the execution time in the At HH:MM field, still in UTC.
Regardless of the cadence you pick, TimeTonic shows a preview of the configuration at the bottom of the Schedule panel (for example "At 00:00, Monday through Friday" or "At 00:00, on the 1st of the month"). This preview is generated in real time from the fields you filled in: it is the fastest way to confirm that the cadence matches what you expect before clicking Save.
Create an import step by step
Creating an import follows a logic very close to that of an export, with a few sections specific to reading the source file. Click New import at the top of the File Transfers window to open the settings panel.
6.1 Name the transfer
As for an export, pick a clear name (for example Daily HR import from Cylio) and fill in the description to capture the context. These details serve as a reference and will appear in the notifications.
6.2 Configure the server connection
The connection configuration is identical to that of an export: type (FTP / SFTP), host, port, and authentication method (username + password or SSH key). See the 5.3 Configure the server connection section for details.
6.3 Specify the file to import
This section tells TimeTonic which file to read on the server. Several parameters combine to identify exactly the right file.
Understanding wildcard patterns *
The * wildcard is used to automatically find the right file when its name changes each time it is dropped on the server. This is typically the case for automated exports from an ERP, an HRIS or another TimeTonic, which append a date to the file name.
Concrete example: daily import from the HRIS
Every night, your HRIS drops a file on the server with the day in its name:
- Monday:
employees_20260427.csv - Tuesday:
employees_20260428.csv - Wednesday:
employees_20260429.csv
If you enter the exact name employees_20260427.csv in the configuration, your import will stop working from Tuesday onwards. For it to keep running on its own, configure:
-
File name or pattern:
employees_*.csv - File selection: Most recent
From then on, every run of the import will automatically pick up the most recent file in the folder.
How to read a pattern
The wildcard * means "anything at this position". Everything else in the name must match exactly.
File reading options
Once the file is identified, tell TimeTonic how to read it: whether or not it has a header row, the column separator, the text delimiter, the date format and the decimal separator. These settings must exactly match the source file format: if the file uses a semicolon as a separator and you leave the default comma, the import will fail or produce inconsistent data.
Import multiple files in a single operation
Until now, an import only processed one file at a time. You can now import in a single operation all the files in a folder that match the same name pattern.
In the Import settings, the File selection field offers a fourth option, in addition to Most recent file, Today's file and Exact name:
Instead of keeping only one file, TimeTonic retrieves all the files in the folder that match the pattern defined in the File name or pattern field, and imports them in order, from oldest to most recent.
Each file matching the pattern is imported in a single operation, from oldest to most recent. Each file then appears as a separate entry in the operation details.
Check before running
As with any transfer, use the Test configuration button before running the import. The test result confirms the connection, lists all the files matched by the pattern, checks field mapping, then displays a simulation for each file (rows analyzed, to be created, to be updated). It is the fastest way to confirm that all the right files will indeed be taken into account.
Track each file in detail
After execution, the Execution log groups all the files processed in the same operation, each accessible via its own tab. You keep the detail file by file:
6.4 Define the import strategy
The import strategy offers several levers to control TimeTonic's behavior when processing the received files.
If duplicate rows are found
If a row in the file matches a row already in the target table (based on the primary key defined in the mapping), TimeTonic can skip the duplicate or stop the import and report an error. The Skip mode is the most common in production.
After processing the file
Once the file has been imported, you decide its fate on the source server.
If concurrent executions occur, and on failure
These 2 parameters behave the same way as on the export side: Skip / Queue for concurrent executions, Stop / Continue for the behavior on error. See the 5.5 Define the strategy section for details.
If more than 50% of the file's rows are in error, TimeTonic does not run the configured post-processing action (Archive, Rename or Delete) to avoid losing the source file. The file stays on the server, unchanged.
You can download it, fix the problematic rows (check the Execution log to identify the reason for each error), then re-run the transfer manually with the Run now button.
Erase all existing rows before import
If you enable this toggle, all existing rows in the target table are deleted before the import, and only the new rows from the source file are kept. Useful for synchronizing a reference dataset in full (for example, today's product catalog replaces yesterday's). This operation is irreversible.
6.5 Configure notifications
Notifications configuration is identical to that of an export. See the 5.6 Configure notifications section for details.
6.6 Map the file columns to TimeTonic fields
Field mapping tells TimeTonic which field of your TimeTonic table each column of the source file corresponds to. This is the step that turns raw input (a CSV) into structured rows in your database.
Auto-binding by header name
On the first import of the file, TimeTonic proposes an auto-binding based on the CSV header names. If a column of the file has exactly the same name as a field of the table, TimeTonic associates them automatically. For columns that match no field, the association stays empty and you must complete it manually, or create the missing field on the TimeTonic table side.
Primary key (identification key)
Designate one or several columns as the primary key by checking the Key box. This key is used to identify existing rows: if a row of the file has the same primary key as a row already in the table, TimeTonic updates it instead of creating a new one. Without a primary key defined, all rows of the file will be created as new entries.
Advanced mapping via JSON
For complex configurations, or to replicate a mapping from another configuration, two buttons are available: Import JSON which loads a predefined mapping, and Export JSON which saves your current mapping. Very useful in multi-workspace environments where the same structure repeats.
6.7 Schedule a recurring execution
As for an export, you can enable the Schedule a recurring execution toggle to have the import run automatically at regular intervals (Day, Week or Month). Keep in mind that the scheduled time is in UTC. See the 5.7 Schedule a recurring execution section for details.
Test the configuration
Before running a transfer in production, always use the Test configuration button. It runs a dry run that checks every element without writing or transferring anything for real. It saves you from most surprises.
The test runs in three successive steps.
Understanding the Dry run numbers (import simulation)
Run manually
The Run now button lets you execute the transfer immediately, regardless of the schedule. You will find it in two places.
Behavior on concurrent executions
If you click Run now while an execution is already in progress (for example a scheduled execution that has not finished yet), TimeTonic follows the behavior defined by the If concurrent executions occur parameter. See the 5.5 Define the export strategy section for details.
If the value is set to Skip, an orange warning message appears: This transfer is already running. This execution has been skipped.
If the value is set to Queue, a blue info message appears: This transfer is already running. Your execution has been queued and will start when the current one finishes.
Track executions and view logs
Every execution of each transfer is recorded and can be reviewed. TimeTonic gives you three complementary levels of detail: the per-execution summary logs, the row-by-row detail, and a downloadable log file.
9.1 View execution logs
To open the logs of a transfer, click the calendar icon on the transfer's row in the File Transfers window, or via the (...) menu in the top right of the configuration panel β Show logs.
The window lists every execution of the transfer, from the most recent to the oldest. Each row shows the status, the date and time, and a summary of the result.
Understanding execution statuses
Two filters at the top of the window let you refine the search: Status (Success / Warning / Error) and Date (Today / Yesterday / Last 7 days / Last 30 days).
9.2 View the row-by-row detail
Click the magnifying glass icon on the right of an execution to open the Execution log window. This view details every processed row individually, with its status. Click the chevron on the right of a row to expand its details.
What the row detail contains
The content shown depends on the row's status, to surface useful information without overloading the interface.
Sample error message
An incorrect date format in the source file is one of the most frequent causes of failure during an import. Here is a typical message in the Execution log:
Title: TEST
Invalid date in column 12 (Start date): expected DD/MM/YYYY HH:mm:ss, got '28/04/2026 11:18'
The message gives you everything you need to fix it:
Fix the format in the source file, then re-run the import.
Concrete example
Suppose your TimeTonic table has two date fields configured differently:
-
Start date β format
dd/mm/yyyy h:i -
End date β format
yyyy-mm-dd
If you choose "Use the TimeTonic field format"
Each date column in your CSV file must follow the format of the matching TimeTonic field. Your CSV must therefore contain:
-
Start date β
28/04/2026 11:18 -
End date β
2026-04-28
If you choose an explicit format, for example YYYY/MM/DD
This format applies to all date columns in the file, regardless of the format configured for each TimeTonic field. Your CSV must therefore contain:
-
Start date β
2026/04/28 11:18 -
End date β
2026/04/28
9.3 Download the full log
To archive a log or share it outside of TimeTonic, click the download icon on the right of an execution. You get a .log file (text format) containing all the information of the execution. You can open it with any text editor (TextEdit, Notepad, VS Code), or attach it as-is to a support ticket.
9.4 Understand the email notifications you receive
If you have enabled notifications in the transfer configuration, TimeTonic sends an email for every execution. The format differs slightly depending on whether the execution succeeded or failed.
See the 5.6 Configure notifications section for details.
Success email
The email confirms the success and provides access to the full log through the Download log button. For imports, it also shows the key figures: number of rows processed, number of successes, errors and warnings (all zero in case of a fully successful run). For exports, these counters are not shown: the success itself confirms that the file was correctly dropped on the server.
The Execution details block recaps: type (Import / Export), trigger mode (Manual / Scheduled), triggered by (user or system), start date and time, end date and time, duration, and name of the processed file.
Error email
The email reports the failure and explains the reason for the error in a red callout. The same Execution details section as for a success helps retrace the incident's context.
Common errors and how to fix them
"File not found" error
The most frequent error: TimeTonic did not find the file configured on the server. Check the following in this order.
Connection error: what to check
If the test fails at the Connection step, check the following in order:
- Connection type: FTP or SFTP, based on what your network administrator indicates.
- Host: copy the exact address, with no extra space.
- Port: 21 for FTP, 22 for SFTP, or the specific port indicated by your administrator.
- Credentials: check that the password has not expired or been changed on the server side.
-
SSH key (if applicable): paste the private key in full, from
-----BEGINto-----END, without removing anything.
If everything is correct and the connection still fails, the issue is likely on the server side (firewall, disabled account, access rights). Contact your network administrator.
Incomplete mapping on import
If auto-binding only maps a few columns out of the total expected, the most likely cause is that the file's header names do not exactly match the field names of your TimeTonic table. Two solutions: rename the headers in the source file, or complete the mapping manually by associating each column with the right TimeTonic field.
Edit, duplicate, disable, delete a transfer
All management actions for a transfer are in the (...) menu on the right of the transfer's row in the File Transfers window.
Detailed use cases
Four concrete scenarios to inspire the best configurations for your business needs.
Use case 1: Daily HR directory sync
Context: your HRIS (Cylio, Sage, ADP, etc.) drops an employees_YYYYMMDD.csv file every night on a shared SFTP. You want TimeTonic to read this file every morning to update the Employees table.
Use case 2: Product catalog refresh from the ERP
Context: your ERP exports the full product catalog every Tuesday night (new items, prices, availability). You want to fully replace the Catalog table in TimeTonic, not just add new entries.
Use case 3: Daily work orders export to billing
Context: every evening, you want to send the work orders closed during the day to the accounting team so they can issue customer invoices.
Use case 4: Weekly backup of critical tables
Context: to guard against accidental data loss, you want to export your most critical tables (Customers, Contracts, Orders) to an archive server every Sunday evening.
In summary
TimeTonic file transfers let you:
Go further
Filter a table view
Views are the foundation of a well-filtered export. Learn to build business views that target exactly the data to transfer.
Go further
Automations in TimeTonic
Explore all available automation actions beyond file transfers: webhooks, AI, emails, and more.