If you manage mileage reimbursements for a team of engineers or surveyors, you already know that Irish Revenue mileage rates aren't straightforward. The rates change as an employee accumulates kilometres across the year, and when a single trip crosses one of those thresholds, the calculation has to split.
What catches finance teams off guard is what happens when trips are submitted out of order, or when one is missing entirely. A single absent trip can distort every calculation that follows it. Across a team of 30 engineers and a full year, the cumulative effect is a real-money problem.
A quick recap: how mileage bands work
Irish Revenue Civil Service motor travel rates are structured in four bands, based on cumulative kilometres driven in the calendar year. The rates vary by engine capacity:
| Band | Distance | Up to 1200cc | 1201cc - 1500cc | 1501cc and over |
|---|---|---|---|---|
| Band 1 | 0 - 1,500 km | 41.80c | 43.40c | 51.82c |
| Band 2 | 1,501 - 5,500 km | 72.64c | 79.18c | 90.63c |
| Band 3 | 5,501 - 25,000 km | 31.78c | 31.79c | 39.22c |
| Band 4 | 25,001 km+ | 20.56c | 23.85c | 25.87c |
Rates effective from 1 September 2022. Electric vehicles use the 1201cc - 1500cc rates. Source: Department of Public Expenditure, NDP Delivery and Reform - Circular 05/2023.
Band 2 is a higher rate than Band 1. That's deliberate - it reflects the heavier wear on a vehicle being driven hard for work. It also means the stakes go up when the year-to-date total is wrong.
The tricky part is what happens when a single trip pushes an employee from one band into the next. The trip has to be split - part is reimbursed at the old rate, part at the new rate. This is band splitting, and it's where spreadsheets start to struggle.
A worked example: what happens when a trip is missing
Let's follow Eileen, a senior engineer with a 1501cc+ car, through the first two months of the year.
Eileen's trips, in correct date order
| Trip | Date | Destination | KM | Year-to-date | Band |
|---|---|---|---|---|---|
| A | 13 Jan | Cork site survey | 500 | 500 | Band 1 |
| B | 27 Jan | Limerick inspections | 600 | 1,100 | Band 1 |
| C | 10 Feb | Galway site visit | 300 | 1,400 | Band 1 |
| D | 21 Feb | Sligo project review | 400 | 1,800 | Band split |
When Eileen takes Trip D, her year-to-date is 1,400 km. She has 100 km left in Band 1 before she hits the 1,500 km threshold. The remaining 300 km falls into Band 2 at the higher rate.
So Trip D should be calculated like this:
| Portion | KM | Rate | Amount |
|---|---|---|---|
| Band 1 (to reach 1,500 km) | 100 | €0.5182 | €51.82 |
| Band 2 (above 1,500 km) | 300 | €0.9063 | €271.89 |
| Trip D total | 400 | €323.71 |
That's the correct calculation. Here's what the system produces when Trip B is missing.
What if Trip B hasn't been entered yet?
Imagine Trip B - the Limerick trip on 27 January - hasn't been entered. Maybe historical data from January wasn't fully imported. Maybe Eileen forgot to submit it on the day. Without Trip B, the system sees this:
| Trip | Date | KM | System YTD | System Band | System Amount |
|---|---|---|---|---|---|
| A | 13 Jan | 500 | 500 | Band 1 | €259.10 |
| C | 10 Feb | 300 | 800 | Band 1 | €155.46 |
| D | 21 Feb | 400 | 1,200 | Band 1 | €207.28 |
The system thinks Eileen's year-to-date after Trip D is only 1,200 km. She hasn't crossed 1,500 km, so all 400 km of Trip D are calculated at the lower Band 1 rate. Trip D comes out at €207.28 instead of €323.71.
Eileen has been underpaid by €116.43 - on a single trip.
What happens when Trip B is finally added
When the missing trip is entered, the correct picture emerges:
| Trip | Date | KM | Correct YTD | Correct Band | Correct Amount |
|---|---|---|---|---|---|
| A | 13 Jan | 500 | 500 | Band 1 | €259.10 |
| B | 27 Jan | 600 | 1,100 | Band 1 | €310.92 |
| C | 10 Feb | 300 | 1,400 | Band 1 | €155.46 |
| D | 21 Feb | 400 | 1,800 | Band split | €323.71 |
Trip B itself is straightforward - entirely within Band 1. But adding it pushes the year-to-date up by 600 km, which means Trip D now crosses the band threshold. The €116.43 difference isn't a rounding error - it's the direct result of 300 km being calculated at €0.5182 instead of €0.9063.
The same problem applies across all engine sizes
The example above used the 1501cc+ rates, but this issue affects every engine band. Here's the same Trip D discrepancy across each engine size:
| Engine Size | Band 1 Rate | Band 2 Rate | Trip D (Wrong) | Trip D (Correct) | Underpayment |
|---|---|---|---|---|---|
| Up to 1200cc | €0.4180 | €0.7264 | €167.20 | €259.72 | €92.52 |
| 1201cc - 1500cc | €0.4340 | €0.7918 | €173.60 | €280.94 | €107.34 |
| 1501cc and over | €0.5182 | €0.9063 | €207.28 | €323.71 | €116.43 |
Same gap shape across all three categories. €92.52 to €116.43 of error on a single trip, before the year has fully started.
What this looks like across a year
One missed trip is awkward. The pattern across a year is the real issue.
In a typical Irish engineering firm, missing-trip errors aren't random. They cluster around three patterns: the engineer who's bad at submitting on the day, the spreadsheet that loses Q1 data when someone re-tabs it, and the YTD column that breaks when a trip is edited retroactively.
Across a 30-engineer team, conservatively assume each engineer has two missed-trip scenarios per year that cause a band-split miscalculation. That's 60 affected trips. Average underpayment per affected trip, across engine sizes, is in the €100 region. That's €6,000 of underpayment annually for a single firm.
Half of that the engineers will catch when they reconcile their own pay. The other half won't be noticed - which means the firm carries the liability into next year, and into the year after that. Two or three years of compounded underpayment is the kind of finding that turns a Revenue audit awkward.
Why this matters for your finance team
Three reasons.
Compliance. Revenue expects mileage to be reimbursed at the correct band rates. If the calculations are consistently wrong because of missing or out-of-order data, you have a compliance gap. With Enhanced Reporting Requirements increasing scrutiny on expense reimbursements, that gap is harder to ignore each year.
Employee fairness. Eileen is being underpaid on Trip D in this example. If she keeps driving for work and all her trips eventually arrive in the system, her year-to-date will catch up - the band threshold gets crossed eventually either way. So for the employee, this is a timing problem rather than a permanent loss. But she's out of pocket in the short term, and engineers tend to be good with numbers. If she notices, you have an uncomfortable conversation.
Project allocation. This is the bigger one. If Trip D's calculation was wrong, the project Trip D was billed to was charged the wrong amount. If your firm bills mileage through to clients, that's a margin or invoicing problem. The wrong amount gets recovered or not recovered, and the project margin drifts away from the plan.
What good looks like
A mileage system that handles this properly does three things. It calculates the year-to-date in real time, every time a trip is submitted or edited. It applies band splitting automatically when a trip crosses a threshold. And it recalculates retrospectively if a trip is added late or out of order.
That last bit is the one most spreadsheet processes can't handle. The first two are automatable in a spreadsheet with enough VLOOKUP and CUMSUM gymnastics. The third one - "if a trip is added in March that should have been recorded in January, what does that do to every February trip?" - is the bit that breaks the spreadsheet.
The bottom line
One missing trip can quietly underpay an engineer by €100. A pattern of missing trips across a team can underpay by thousands. The compounding effect is worse: errors that aren't caught in year one carry forward, and Revenue scrutiny is rising not falling. If your finance lead is the one who eventually finds the underpayment, the trust hit falls on the process, not on Revenue.
If you're not sure whether your current process handles late-arriving and out-of-order trips correctly, the fastest test is a single retroactive entry. Add a 600 km trip from two months ago to one engineer's record. Watch what happens to every subsequent trip's calculation. If it doesn't recalculate, you have a problem.
If you'd like to see what real-time, retrospective band-split calculation looks like, book a 20-minute demo and I'll walk through it on actual data.
Last updated: 28 April 2026.