Tracking Employee Schengen Compliance: Why Spreadsheets Break Down
Why spreadsheet-based tracking of the Schengen 90/180 rule works at small scale but fails as travel frequency grows, and what a reliable system of record actually needs to do.
- Published
- 02 August 2026
- Updated
- 02 August 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. Most spreadsheets that attempt this get it right for a while and then quietly drift wrong as more trips are added and the formulas aren't re-checked.
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.
Microstates and recent membership changes are easy to miss. Monaco, Vatican City, San Marino, and Andorra count as Schengen presence despite not being formal members, and Romania and Bulgaria only became full members on 1 January 2025. A spreadsheet built two years ago, without an update process, is quietly using an outdated country list.
What a Reliable System Actually Needs to Do
Based on where spreadsheet tracking consistently fails, a dependable alternative 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 membership list current, including edge cases like the four open-border microstates and recent accessions.
- 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's working fine, there's genuinely no rush to change anything. The point at which it stops working is usually when a second or third person starts booking travel independently, or when the team's total trip count crosses roughly a dozen or so a year — that's typically where the manual recalculation burden stops being reliable.
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 per day, not summed over a fixed period — most spreadsheet formulas answer the wrong question.
- Personal travel and forward-looking "is this trip safe" checks are the two things spreadsheets most commonly miss entirely.
- A dependable system needs automatic recalculation, a single combined record, and a pre-booking check — not just a historical log.
See ComplyEur's plans or read the FAQ for more on how import, forecasting, and alerts work together.
Put the guidance into practice
Review ComplyEur options or speak with the team about your travel process.