Per diem calculation
In short
Per diems are fixed daily travel allowances. The employee enters a journey - starting point, optional intermediate stops, and final destination, each with arrival and departure date/times. TEM calculates the number of qualifying days per destination, looks up the applicable rate, applies any meal deductions the employee indicates, and returns the total. Rates and calculation rules are configured per company and reflect local statutory requirements.
Why it matters
Per diem amounts are legally mandated in many countries with specific rules for partial days, multi-destination trips, and meal deductions. Using the wrong calculation rule or missing a stop means incorrect allowances - either under-paying employees or over-paying in ways that create tax risk.
How it works
Journey stops
A per diem is built from a sequence of stops:
Starting point (departure date/time)
→ Stop 1: City A (arrival / departure date-time)
→ Stop 2: City B (arrival / departure date-time)
Final destination (arrival date/time)
Each leg between stops is a trip segment. TEM records the exact UTC times for each segment. This allows it to calculate duration precisely, handle timezone differences between legs, and look up the correct destination rate for each day.
For simple trips (single destination, no stops), only the starting point and final destination are needed.
Day classification
For each calendar day of the trip, TEM calculates how many hours the employee was travelling and where. The active Calculation Rule then applies its country-specific logic to determine the day type:
| Rule | Partial / full day logic |
|---|---|
| Flat Daily Allowance | Full rate per day; configurable deductions |
| Denmark | Rate = full rate × (hours/24); no accommodation on last day |
| Sweden | Half day if departure after 12:00 or return before 19:00; multi-country day uses the country with most hours 06:00–24:00 |
| Finland | <6 h = none, 6–10 h = partial, >10 h = full |
| Germany | <8 h = 0, 8–23 h = partial (14 EUR), ≥24 h = full (28 EUR); overnight allowance separate |
| Poland | Domestic and international have different thresholds (see Poland) |
| Estonia | International only; full rate for days 1–15, reduced rate from day 16 (cumulative per month) |
Rate lookup
For each day, TEM selects the rate using a cascading lookup:
- Period - the rate period whose start date is on or before the expense date
- Destination - exact city match → country match → base rate
- The rate applies to the day type determined by the calculation rule
Meal deductions
The employee marks which meals were provided by the employer on each day (Breakfast, Lunch, Dinner). TEM reduces the daily allowance by the configured deduction percentage for each marked meal.
Deduction percentages are configured in Per Diem Setup and vary by country rule (some rules have fixed statutory percentages; others are configurable).
Trip type: Domestic vs International
The trip type (Domestic or International) is determined automatically. It starts as Domestic and upgrades to International the moment any leg crosses into a country other than the company's home country. The trip type determines which posting group is used.
Posting
Per diems post with one GL line per calculation result line - typically one per day per rate type. Each line uses the Posting Group configured for Domestic or International per diems in Per Diem Setup.
Worked example (Flat Rate Allowance)
Configuration: £100/day, Lunch deduction 30%
Journey: London → Berlin, 2 full days, employer provides lunch both days.
Day 1 (London → Berlin): £100 − 30% (lunch) = £70
Day 2 (Berlin): £100 − 30% (lunch) = £70
Total: £140
Country-specific rules
Each country's rules are documented separately:
Related
- Set it up: Step 11 - Per diem
- Field detail: Per diem setup
- Localization index