Tripletex Integration
Connect Huma to Tripletex to keep employee profiles, positions, absence and salary in sync
Table of contents
- Roles and access
- How data flows
- Before you start
- Set up the integration
- After the integration is active
- Supported fields
- Error log and troubleshooting
- FAQ
- Related articles
Roles and access
| Role in Huma | System role with full access to Organization |
| Role in Tripletex |
Permission to create API keys. The employee who owns the key must have: |
| Extra for absence sync | The API key needs access to all timesheets, including approval. Select «Timesheets: Whole company» for the key. |
💡 Not sure which roles you need in Tripletex? Contact Tripletex support for guidance.
⚠️ The integration uses the access of the employee who owns the key. If that employee later loses any of these permissions, the key loses them too, and the integration stops working correctly.
How data flows
| Data | Huma → Tripletex | Tripletex → Huma | When |
|---|---|---|---|
| Profile fields | ✅ Automatic | ✅ Manual only | Huma changes are sent in real time. Tripletex changes are brought in when you click «Sync users». |
| New employees | ✅ Automatic, if enabled |
✅ Manual only | When an employee is added in Huma, or during «Sync users» |
| Positions | ✅ Automatic | ❌ | When a position is created, changed or deleted in Huma |
| Absence | ✅ Automatic | ❌ | When absence is approved in Huma and has an end date |
| Salary | ✅ Automatic | ❌ | When salary is created, changed or deleted in Huma |
⚠️ Historical data is not transferred. Only positions, absence and salary created or changed after you turn on each setting are sent to Tripletex.
Before you start
- You have a System role with full access to Organization in Huma.
- You, or a colleague, can log in to Tripletex and create an API key for an employee with the access listed in Roles and access.
- Employees who exist in both systems have the same email address in Huma and Tripletex. Huma matches employees by email only.
- Everyone has a date of birth in Huma. It is required in Tripletex.
- If you want to sync absence:
- Absence must be set up in Huma first (absence types or work schedules). Until then, the absence setting is greyed out.
- In Tripletex, absence is registered as hours on activities. Tripletex only includes «Vacation» by default, so a Tripletex administrator must create activities for any other absence you want to transfer.
🔗 Getting started with Payroll & accounting integrations
Set up the integration
Step 1: Create an employee token in Tripletex
You must be logged in to Tripletex with permission to create an API key. If you're missing permissions, contact your Tripletex system administrator.
- Log in to Tripletex.
- In the left menu, go to «Company» › «Employees».
- Open the employee who should own the key.
- Select the «API access» tab.
- Under «API user keys», click «New key».
- In the «Application» dropdown, select «Huma».
- Give the key a name.
- Click «Create key».
- Copy the key and keep it somewhere safe.
💡 If the employee doesn't have the permissions Huma needs, Tripletex shows an error and doesn't create the key.
🔗 For more about API keys, see Tripletex's own help pages (Norwegian only).


Step 2: Connect Huma to Tripletex
- In Huma, go to «Integrations» and select «Tripletex».
- Read the «Overview» and «Details» tabs.
- Click «Set up» in the top right corner.
- Give the connection a name.
- Choose who should be part of this connection: everyone, or a specific team, location or company.
- Click «Continue».
- Paste the key into the «Employee token» field.
- Confirm that you have the legal authority to accept the terms on behalf of your organization.
- Click «Continue».
🔗 Need more than one connection, for example one per company? See Multiple integrations.
Step 3: Choose what to sync
You can change all of these settings later.
| Setting | When it's on | When it's off |
|---|---|---|
| Give users login access to Tripletex when added via this integration | Employees created in Tripletex by Huma get a standard Tripletex user. | Employees are created without login access. |
| Users: Create in Tripletex when added in Huma | New employees in Huma are created in Tripletex automatically. This also applies to employees added through other integrations, such as Teamtailor. | New employees are only created in Tripletex when you click «Sync users». |
| Positions: Create, update and delete | Position changes in Huma are sent to Tripletex. | Positions are not sent. |
| Salary: Create, update and delete in Tripletex when updated in Huma | Salary changes in Huma are sent to Tripletex. | Salary is not sent. |
| Absence: Create, update and delete in Tripletex when updated in Huma | Approved absence is sent to Tripletex as timesheet hours. | Absence is not sent. |
💡 Entering historical positions? Turn position sync off while you enter them. Historical positions aren't meant for the payroll system and can cause errors in the payroll timeline. Turn it on before you create positions that start today or in the future.
💡 Users created by Huma get basic access in Tripletex. If they need more, a Tripletex administrator must grant it in Tripletex.

Step 4: Map absence types
You only do this step if absence sync is on.
- Go through each absence type in Huma.
- Select the matching activity in Tripletex.
- Leave any type you don't want to send unmapped.
- Click «Save».
⚠️ If you later map an absence type to a different activity, absence already sent to Tripletex is no longer updated from Huma. To reconnect it, change those entries in Tripletex to the new activity.

Step 5: Sync users to activate the integration
After setup, the integration page says «This integration has been set up, but is not active». Nothing is sent until you complete this step.
- Click «Sync users».
- Matching users are employees with the same email in both systems.
- Click «View users» to see fields with different or missing values.
- For each case, choose to update Huma with the value from Tripletex, update Tripletex with the value from Huma, or leave it.
- Click «Next».
- Non-matching users are employees that exist in only one system.
- Choose whether to create all of them, only the ones you select, or none.
- Choose the direction: Tripletex → Huma, or Huma → Tripletex.
- Click «Sync users».
- The status changes to «Connected and active». You'll get an email when the sync is done, or sooner if something fails.
💡 Note
-
Before you sync, decide which system has the most up-to-date information. Your choices here overwrite data.
-
⚠️ Users missing required fields, such as date of birth, are not synced until the missing values are added.
-
⚠️ Employees whose last employment has ended in Tripletex are not suggested for creation in Huma.
After the integration is active
What happens automatically
- Changes to supported profile fields in Huma are sent to Tripletex in real time.
- Positions, absence and salary are sent when they change in Huma, if those settings are on.
When you need to sync manually
Click «Sync users» when:
- You have changed a supported field in Tripletex and want it in Huma.
- You have added employees in Tripletex that should be created in Huma.
- You have added employees in Huma and «Users: Create in Tripletex when added in Huma» is off.
New employees created from Huma
- Department and division: The employee is placed in the first active department and the first valid division in your Tripletex list. You can move them in Tripletex.
- No date of birth: The employee is created in Tripletex but is inactive. Add the date of birth in Huma and click «Sync users».
- Already exists in Tripletex: If an employee with the same email already exists, Huma doesn't create a new one.
⚠️ No employment is created in Tripletex. Huma only sends profile fields. Positions and salary that already exist in Huma are not sent. Before you change a position or salary for this employee in Huma, create a «New employment» manually in Tripletex. Otherwise the change fails and is logged in the error log.
💡 Creating a new position in Huma for an employee with no employment in Tripletex also works. Huma creates the employment for you.
When an employee leaves
- Deactivated in Huma:
- The employee is not deactivated in Tripletex.
- They are skipped when you click «Sync users».
- Changes made in Tripletex are not brought into Huma.
- Deleted in Huma:
- The employee is not deleted in Tripletex.
- The next «Sync users» suggests creating them in Huma again, as long as their employment in Tripletex hasn't ended.
💡 To register the end of employment in Tripletex, set the contract end date and end reason on the position in Huma. See Supported fields.
Change settings or the token
- Go to the Tripletex integration in Huma.
- Click ··· in the top right corner.
- Select an option:
- «Edit connection settings» to change sync settings or paste a new employee token.
- «Edit connection details» to change the name or who is part of the connection.
⚠️ If the owner of the key leaves your company or loses access in Tripletex, create a new key for another employee. Then paste it in «Edit connection settings».
Disconnect or remove
- Disconnect: Stops syncing but keeps your configuration.
- Remove: Stops syncing and deletes all stored configuration.
Supported fields
Profile fields
You find these fields in Tripletex under «Salary» › «Employees». Changes in Huma are sent automatically. Changes in Tripletex are brought in with «Sync users».
| Huma field | Field in Tripletex | Required | Notes |
|---|---|---|---|
| First name | First name | API name: firstName |
|
| Last name | Last name | API name: lastName |
|
| Email address | Email address | ✅ | Used to match employees. Must be unique in Huma. Tripletex doesn't allow email changes for employees who can log in to Tripletex. Changing it in Huma disconnects them from the integration. API name: email |
| Phone number | Telephone no. mobile | Must be unique in Huma. API name: phoneNumberMobile |
|
| Bank account | Norwegian bank account / Foreign bank account | Must be a valid Norwegian account number, or IBAN + BIC for foreign accounts. API names: bankAccountNumber, iban, bic |
|
| Date of birth | Date of birth | ✅ | API name: dateOfBirth |
| Identifications | National identity number / D-number | Only Norwegian national identity numbers and D numbers. Changing one clears the other in Tripletex. The date of birth must match the first six digits. API names: nationalIdentityNumber, dnumber |
|
| Address | Address (Postcode, City, Country) | API name: address |
|
| Employee ID | Employee number | API name: employeeNumber |
Positions (Huma → Tripletex)
| Huma field | Field in Tripletex | Required | Notes |
|---|---|---|---|
| Contract start date | From date | ✅ | Used to match the position. API name: startDate / date |
| Contract end date | End date | Only sent with a supported end reason (see below). API name: endDate |
|
| End reason | End reason | API name: employmentEndReason |
|
| Position percentage | Percentage of full-time equiv. | ✅ | API name: percentageOfFullTimeEquivalent |
| Contract type | Form of employment | ✅ | API name: employmentForm |
End reason
| End reason in Huma | Sent to Tripletex |
|---|---|
| The employee has resigned | ✅ |
| The employer has terminated the employee | ✅ |
| The contract, engagement, or temporary position has expired | ✅ |
| Any other end reason | ❌ Not sent. The end date is also cleared in Tripletex. |
Contract type
| Contract type in Huma | Sent to Tripletex as |
|---|---|
| Permanent | Permanent |
| Temporary, Seasonal, Casual, Job training program | Temporary |
| Consultant, Freelance, Third party | Temporary and hired out |
| Trainee | Temporary on call |
| Other | Not chosen |
Absence (Huma → Tripletex)
| Huma field | Field in Tripletex | Required | Notes |
|---|---|---|---|
| Absence type | Activity | ✅ | Set up in Step 4. API name: activity |
| Time period | Date | ✅ | One timesheet entry per absence day. API name: date |
| Percentage | Hours | ✅ | Converted to hours (see the FAQ). API name: hours |
| Note | Comment | API name: comment |
Salary (Huma → Tripletex)
| Huma field | Field in Tripletex | Required | Notes |
|---|---|---|---|
| From date | From date | ✅ | Huma updates or creates employment details on this date. API name: date |
| To date | Huma adds empty employment details the day after, so the salary stops. | ||
| Amount | Annual salary (at 100%) | Annual amounts are sent as they are. Monthly amounts are multiplied by 12. Hourly amounts are sent as hourly wage. Weekly amounts are converted to hourly wage using the standard hours per day in Tripletex. API names: annualSalary, hourlyWage |
|
| Interval | Remuneration type | Monthly or annual = fixed salary. Hourly or weekly = hourly pay. API name: remunerationType |
|
| — | When a current salary is sent, Huma sets «Last salary change» in Tripletex to today's date. API name: lastSalaryChangeDate |
Error log and troubleshooting
Where to find the error log
- Go to the Tripletex integration in Huma.
- Open the «Error log» tab.
Errors are grouped by day. Each entry shows a message, the time, the employee it applies to and a level:
| Level | Meaning |
|---|---|
| 🔴 Error | Something was not sent to Tripletex. You need to act. |
| 🟡 Warning | Something needs your attention. |
| 🔵 Info | For your information. No action needed. |
Integration status
| Status on the integration page | What to do |
|---|---|
| This integration has been set up, but is not active | Click «Sync users» to activate it. |
| Connected and active | Everything is running. |
| Something is wrong with your connection to Tripletex | The key no longer works. Create a new key in Tripletex, paste it in «Edit connection settings», then click «Sync users». |
Common errors
| Error message (or part of it) | What it means | How to fix |
|---|---|---|
| No matching employment details found for update… | Huma can't find the position in Tripletex on its original start date. This often happens when the employee was created in Tripletex from Huma and has no employment. | Create a «New employment» in Tripletex, or match the start date in Tripletex. Then save the position in Huma again. |
| No employment including start date found in Tripletex for position… | The employee has employments in Tripletex, but none that covers the position's start date. | Create or adjust the employment in Tripletex, then save the position in Huma again. |
| …there is already conflicting employment details for position… with startDate… | Tripletex already has different employment details on the same date. | Correct the details in Tripletex, or use a different start date in Huma. |
| …there are other employment details between [date] and [date]… or …with the same start date or after… | The position would overlap with later employment details in Tripletex. | Update Tripletex manually. |
| No employment could be found that includes salary from [date] | No employment in Tripletex covers the salary dates. | Create or extend the employment in Tripletex, then save the salary in Huma again. |
| …there are other salaries after [date] in Tripletex… or …between [date] and [date]… | Huma can't add a salary before or between existing employment details in Tripletex. | Update the salaries in Tripletex manually. |
| Salary currency (X) is different from the currency defined in Tripletex's company settings (Y) | The salary currency in Huma doesn't match the company currency in Tripletex. | Use the company currency in Huma, or register the salary manually in Tripletex. |
| …the updated salary would belong to another employment… | The change would move the salary to a different employment in Tripletex. | Update Tripletex manually. |
| Action rejected because corresponding absence is locked in integration tripletex | The hours are locked in Tripletex, so Huma can't change or delete them. | Unlock the hours in Tripletex, or make the change there. |
| Absence rejected because of missing timesheet access | The API key doesn't have access to all timesheets. | See the FAQ below. |
| Period between multiple names | Often caused by hidden formatting in a profile field. | Retype the value in the field in Huma, then sync again. |
When Tripletex rejects absence
- New or changed absence:
- The absence in Huma is marked as rejected.
- The employee and absence administrators are notified.
- The error is logged.
- Only the note failed to update: The absence is not marked as rejected, but the error is still logged.
- Deleted absence: If the deletion fails in Tripletex, the employee and absence administrators are notified that it couldn't be deleted.
FAQ
Why are changes I make in Tripletex not showing in Huma?
Changes only go automatically from Huma to Tripletex. To bring changes from Tripletex into Huma, click «Sync users».
How are positions matched between Huma and Tripletex?
By contract start date. If Tripletex has employment details with the same start date, Huma updates them. If the start date is different, nothing is updated.
When you edit the first position Huma created automatically when Employment history launched, do one of these:
- Match its start date to the corresponding position in Tripletex.
- Make your changes, save, and then click «Create new position».
Why isn't all position information sent to Tripletex?
Huma and Tripletex store position information differently. Some fields only exist in one system, or have a different meaning. In some cases there are technical limits in the Tripletex API or in Huma. A full one-to-one transfer isn't always possible.
What happens if I delete a position or a salary in Huma?
Tripletex doesn't let Huma delete them. Instead, Huma clears the values: percentage and contract type for a position, or the salary amounts for a salary. If you want the line removed completely, delete it manually in Tripletex.
⚠️ Clearing salary values is not shown in the error log.
How are absence hours calculated?
Huma multiplies the absence percentage by the standard working hours per day. It uses the employee's standard hours in Tripletex first, then the company's standard hours, and otherwise 7.5 hours.
Which days count is based on the work schedule and public holidays in Huma. If a work schedule includes weekends, absence on those days is sent too. Holiday settings in Tripletex are not used.
When is absence created, updated or deleted in Tripletex?
- Created: when the absence is approved and has an end date.
- Updated: when the date, percentage, note or type changes.
- Deleted: when the absence is deleted in Huma, its end date is removed, or it's no longer approved.
Huma matches absence by employee, activity and time period.
Absence is rejected because of missing timesheet access. What should I do?
- The person who owns the API key goes to «My profile» in Tripletex.
- Click «More» › «API access».
- Open the key used for Huma.
- Under «Timesheet», check that the correct access is given and that it applies to the whole company.
- Approve or save the absence again in Huma.
Can I transfer historical absence, salary or positions?
No. Only data created or changed after the setting is turned on is sent. To get historical absence into Tripletex, register it in Huma and approve it after the integration is active. For positions and salary, register the history manually in Tripletex.
What happens during a salary revision in Huma?
Huma sends the changes one employee at a time. If one employee fails, the error is logged and the others continue. Each employee's changes are checked before they're sent, so no one is left half-updated.
Will creating users from Tripletex affect my Huma subscription?
It can. If adding users from Tripletex goes beyond the seats in your subscription, Huma warns you before you sync. The extra cost lasts until the end of your term.
Related articles
🔗 Getting started with Payroll & accounting integrations
🔗 How positions work in integrations
🔗 How absence works in integrations
🔗 How salary works in integrations