Employee Schengen compliance: why spreadsheets break down
Where spreadsheet-based Schengen tracking fails as trip volume grows, and what employers need from a reliable compliance record.
By James Walsh, Founder, ComplyEur
- Published
- 02 August 2026
- Updated
- 07 September 2026
- Reading time
- 4 min read
Spreadsheets aren't a bad way to start tracking Schengen compliance. They're a bad way to keep doing it once travel frequency grows past a handful of trips a year.
Where spreadsheets actually work fine
For a company with one or two employees who travel to the EU a handful of times a year, a spreadsheet with entry and exit dates is genuinely a reasonable starting point. The 90/180 calculation isn't complicated in principle — it's addition and a date range. The problems don't show up because the volume is low enough that a human can eyeball the numbers and be right most of the time.
The problems show up once that stops being true.
Where it breaks down
The window is rolling, not static. A spreadsheet formula that sums days in a fixed period (a quarter, a calendar year) is answering the wrong question. The real question — "how many qualifying days fall in the 180 days before this specific date" — has to be recalculated for every day you might want to check, for every employee. A workbook can calculate this correctly, but stale formulas or incomplete ranges can produce the wrong answer as trips are added.
Personal travel gets missed. Business travel is usually recorded because it's expensed or booked through a travel system. Personal travel to the same countries — a family holiday in Spain, a weekend in Amsterdam — draws from the exact same 90-day allowance but often isn't captured anywhere a compliance spreadsheet can see it.
Multiple owners create silent gaps. Once more than one person can add a trip — a manager, an EA, HR, the traveller themselves — someone eventually books something without updating the tracker, and there's no single place that's obviously "wrong" until a trip gets approved that shouldn't have been.
There's no forward check. A spreadsheet is a record of the past. The question that actually matters before approving travel is forward-looking: if we book this trip, does it push anyone over the limit? Answering that by hand means manually recalculating someone's rolling position before every single approval — which is exactly the kind of repetitive, error-prone task that stops happening reliably once a team gets busy.
Country rules and edge cases change. Andorra, Monaco, Vatican City and San Marino require different treatment, and Romania and Bulgaria began counting toward the shared short-stay allowance on 31 March 2024 before their internal land-border checks ended on 1 January 2025. A spreadsheet without a documented update process can quietly retain an outdated country policy.
What a reliable system actually needs to do
A dependable shared process needs to:
- Recalculate the rolling window automatically, for every employee, as of today — not as of when someone last updated a formula.
- Combine business and personal travel into one record per employee, since both draw from the same allowance.
- Support a single source of truth that multiple people can add trips to without creating silent duplicates or gaps.
- Check proposed trips before they're booked, not just report on trips that already happened.
- Keep the country policy current, including effective dates and the separate treatment of nearby microstates.
- Surface risk before it becomes a problem — flagging employees approaching their limit rather than requiring someone to go looking.
What this looks like in ComplyEur
This is close to a description of what ComplyEur does day to day: every employee's rolling 90/180 position is recalculated automatically as trips are added, personal and business travel share the same record, the Trip Forecast tool checks a proposed trip against the current position before it's booked, and alerts flag anyone approaching their limit rather than waiting to be asked. Import from existing spreadsheets is supported directly, so switching over doesn't mean re-entering a year of travel history by hand.
If your team is still tracking this in a spreadsheet and it is working, there is no automatic need to replace it. Reassess the process when more people begin booking travel, the trip volume rises, version control becomes unclear, or the manual recalculation and review steps are no longer completed reliably.
Key takeaways
- Spreadsheets work for low-volume, single-owner Schengen tracking; they degrade as trip volume and the number of people booking travel both increase.
- The rolling 180-day window needs to be recalculated for each relevant date rather than summed over a fixed period.
- A spreadsheet process needs an explicit way to collect relevant personal-travel dates and check proposed trips before approval.
- A dependable system needs automatic recalculation, a single combined record, and a pre-booking check — not just a historical log.
If you want to see the rolling-window arithmetic a spreadsheet struggles with, the complete guide to the 90/180-day rule works through it with real dates, and the free calculator will run it on your own trips without a signup.
Spreadsheets are one of five approaches covered in our honest comparison of Schengen compliance tools — including the cases where staying on a spreadsheet is genuinely the right call.
See ComplyEur's plans or read the FAQ for more on how import, forecasting, and alerts work together.
Sources and review date
- GOV.UK guidance on calculating Schengen stays (opens in a new tab)
- European Commission short-stay calculator (opens in a new tab)
- Council decision applying the remaining Schengen rules to Bulgaria and Romania from 31 March 2024 (opens in a new tab)
Sources last checked: 2026-09-07.
Read next
About the author
Founder, ComplyEur
Founder of ComplyEur. Built the deterministic 90/180-day calculation engine behind the product.
Put the guidance into practice
Review ComplyEur options or speak with the team about your travel process.