Three years ago, I was sitting in front of a Spanish tax inspector trying to prove I had not spent 183 days in the country during the previous calendar year. My evidence? A Google Sheet I had been updating "most nights" before bed. The inspector was not impressed.
That experience changed how I think about travel, taxes, and record-keeping. It is the reason I now track every single day I spend in every country, without exception. And it is the reason I eventually built an app to do it automatically.
If you move between countries for work, this is the most important habit you will ever develop. Here is why.
The Day That Changed Everything
I had been living the classic nomad loop: a few months in Barcelona, pop over to Lisbon, back to Spain for the summer, a quick trip to Morocco, then back to Europe. I was loosely tracking my days in a spreadsheet, but "loosely" is doing a lot of heavy lifting in that sentence.
The problem started when the Spanish tax authority (Agencia Tributaria) sent a letter suggesting I owed taxes on my worldwide income as a Spanish tax resident. Their logic was straightforward: based on my entry and exit stamps, flight records, and bank transaction locations, they believed I had exceeded 183 days in Spain during the previous tax year.
I was pretty sure I had not. But "pretty sure" does not hold up well in a tax audit.
When I sat down to reconstruct my exact days, I found gaps everywhere. A long weekend in France that I had logged as four days but was actually five. Two days in November I had simply forgotten to record. A day trip to Andorra that I had counted as a Spain day because I slept there that night.
The final tally? I had spent 181 days in Spain. Two days under the threshold. But it took me three weeks, a stack of boarding passes, credit card statements, and a lot of stress to prove it.
What You Are Actually Tracking (And Why It Is More Complex Than You Think)
Most nomads think day tracking is simple: "I was in Spain today, I will write that down." But there are actually several overlapping systems you need to monitor at once, each with its own rules.
Immigration day counts
The Schengen 90/180 rolling window is the most well-known example. You get 90 days within any 180-day rolling period across all 29 Schengen countries combined. But many countries outside Schengen have their own limits: Thailand allows 60 days visa-free (with a possible 30-day extension), Georgia gives you 365 days, and the UK gives most nationalities 180 days in any 12-month period.
These limits use different window types. Some are rolling, some are calendar-year based, and some reset on exit. Mixing them up is easy when you are juggling three or four countries.
Tax residency thresholds
The famous 183-day rule is used by most countries, but the details vary wildly. Spain counts days within the calendar year (January 1 to December 31). The UK uses a Statutory Residence Test with multiple tiers that factor in work days, ties to the country, and total days. The US Substantial Presence Test is even more complex: it counts all days in the current year, plus one-third of days from the prior year, plus one-sixth from the year before that. You could spend just 120 days per year in the US for three consecutive years and still trigger tax residency.
And here is the part that catches people off guard: many countries do not rely solely on day counts. Spain, France, and Germany all have "center of vital interests" tests. If your main client, your partner, or your apartment lease is in Spain, they can claim you as a tax resident even if you spent only 150 days there.
Per-country visa conditions
Some visas have their own day-tracking requirements separate from immigration limits. Portugal's D7 visa requires you to spend a minimum number of days in Portugal to maintain residency. Estonia's digital nomad visa has a maximum stay. Thailand's Long-Term Resident visa has specific conditions about where you can and cannot work.
Why Spreadsheets Break Down
I used a Google Sheet for two years. It worked great for the first three months. Then it started failing in ways I did not notice until much later.
The timezone problem
I landed in Bangkok at 11:45 PM local time on March 14. Was that a Thailand day? My flight departed Sydney at 8 AM on March 14. Was that an Australia day? Both, technically. But in my spreadsheet, I only had one row per date. Every border crossing that spans midnight, every red-eye flight, every late-night bus creates an ambiguity that a simple date column cannot capture.
The "I'll log it tomorrow" problem
You know how this goes. You arrive somewhere exhausted, tell yourself you will update the sheet in the morning, and then three days pass before you remember. By that point, did you arrive on Tuesday or Wednesday? You check your email for the hotel confirmation but it only shows the check-in date, not the border crossing date. Small errors like these compound over months.
The formula problem
Calculating a rolling 180-day window in a spreadsheet is possible, but it is fragile. Every time you add a row, you need to make sure the formula references update correctly. I once accidentally deleted a row and broke every Schengen calculation for the rest of the year without realizing it. It took me three months to notice the numbers looked wrong.
The multi-system problem
Even if your spreadsheet handles one calculation perfectly, you need to simultaneously track Schengen days (rolling 180-day window), per-country days for tax purposes (calendar year), visa expiry dates, and minimum-stay requirements for residency permits. That is four different calculation systems running on the same data with different window types. Spreadsheets can do it, but they become so complex that any error is nearly invisible.
The Real Consequences of Getting It Wrong
This is not theoretical. Here is what can actually happen when your day count is off.
Accidental tax residency
Spend 184 days in Spain instead of 182, and you could owe Spanish tax on your worldwide income. Spanish income tax rates go up to 47% for high earners. If you are earning in USD from US clients and suddenly owe Spanish taxes on that income, the bill can be devastating. Even worse, you might also owe taxes in your home country, creating a dual-residency situation that requires invoking a double taxation treaty to resolve. The paperwork alone takes months.
Schengen overstay
The EU's Entry/Exit System (EES) went live in late 2025 and reached full implementation by April 2026. It replaces manual passport stamps with biometric tracking: fingerprints and facial scans recorded at every Schengen border crossing. Overstaying even by a single day is now automatically flagged. The consequences range from fines (up to several thousand euros depending on the country) to entry bans of one to three years.
CRS reporting in 2026
The Common Reporting Standard got a major upgrade in 2026. CRS 2.0 now covers fintech platforms, electronic money institutions, and payment service providers alongside traditional banks. If you have a Wise account, a Revolut card, or any digital wallet, your balances and transaction data are being shared with tax authorities in over 100 participating countries. Starting in 2027, even cryptocurrency platforms will report under the new CARF framework. Tax authorities can now cross-reference your financial activity locations with your reported residency. If you claimed to be tax resident nowhere and your Wise account shows regular spending in Portugal for seven months, expect questions.
Visa denial on future applications
Immigration authorities increasingly share data. An overstay in the Schengen zone can surface when you apply for a visa to the UK, Canada, or Australia. Many visa applications now ask: "Have you ever overstayed a visa or been denied entry to any country?" Getting caught in a lie here can result in a permanent black mark on your travel record.
What Good Day Tracking Actually Looks Like
After my Spanish tax scare, I became obsessive about tracking. Here is what I learned about what actually works.
Record the country every single day
Not just travel days. Every day. If you spent Tuesday through Sunday in Lisbon, you need seven entries, not a note that says "Lisbon trip." The gap between "I was roughly in Portugal that week" and "I was in Portugal on these exact dates" is the gap between a clean audit and a messy one.
Track border crossings, not just destinations
The date you cross a border matters more than the date you "arrive" somewhere. If you took a train from Paris to Barcelona on March 15, the exact moment you crossed from France to Spain is what counts for both countries. Your entry stamp (or EES record) is the authoritative timestamp.
Keep supporting evidence
Day logs are strongest when backed up by other data. Boarding passes, passport stamps (or EES confirmations), hotel receipts, credit card transaction locations, and geotagged photos all serve as corroborating evidence. You do not need all of these for every day, but having multiple sources for contested periods is invaluable.
Automate what you can
The single biggest improvement I made was switching from manual logging to GPS-based detection. Your phone already knows which country you are in. Having it log that information automatically eliminates the "I forgot to update my spreadsheet" problem entirely. It also handles timezone edge cases correctly, because GPS coordinates do not care about timezones.
Review weekly, not yearly
A wrong entry is easy to fix if you catch it within a week. It is nearly impossible to fix six months later. I set a weekly reminder to glance at my log and confirm the past seven days look correct. It takes two minutes and has saved me from errors more times than I can count.
The Landscape Is Getting Stricter
If you have been nomading for a few years, you might remember a time when border agents barely glanced at your passport and tax authorities had no way to verify your travel claims. That era is ending.
The EES means every Schengen entry and exit is now digitally recorded with biometric verification. ETIAS, the pre-travel authorization system rolling out for visa-exempt travelers, adds another layer of electronic tracking. CRS 2.0 means your banking data follows you across borders automatically. And more countries are sharing immigration data bilaterally than ever before.
The practical impact: the margin for error is shrinking to zero. A few years ago, being off by five days in your Schengen count might never have been noticed. In 2026, it will be flagged automatically.
This is not a reason to panic. It is a reason to get your tracking right. The nomads who take day counting seriously will have nothing to worry about. The ones who wing it are playing a game with increasingly bad odds.
Why I Built an App for This
After my tax scare in Spain, I tried every solution I could find. Spreadsheets were too fragile. Calendar apps did not do the math. The few travel tracking apps that existed required manual entry for every day, which meant I was back to the "I will log it tomorrow" problem.
So I built Nomad Tracker. The core idea is simple: your phone's GPS detects which country you are in and logs it automatically, every day, without you doing anything. On top of that, it runs the actual rolling-window calculations for Schengen, calendar-year calculations for tax residency, and per-country visa limits, all in real time.
The part I am most proud of is the Ghost Trips feature. It lets you simulate future travel plans and see exactly how they would affect your day counts. Planning to spend August in Portugal? Ghost Trips will tell you if that would push you over the 183-day tax threshold or eat into your remaining Schengen days. You can play with the dates without affecting your real data.
Everything runs on-device. No servers, no cloud sync of your location data, no tracking. Your travel history stays on your phone, period.
Stop relying on memory and spreadsheets.
Nomad Tracker uses GPS to automatically log your days in every country, calculates Schengen limits and tax thresholds in real time, and lets you simulate future trips with Ghost Trips. All on-device, all private.
Download on the App Store