Managing PTO Across Countries: What Nobody Warns You About
Managing PTO across countries gets messy fast. Three years of multi-country leave taught us what actually works (and what doesn't).
I run operations for a company with offices in Zagreb, Berlin, Stockholm, and a handful of remote contractors in Warsaw and Amsterdam. About three years ago, I confidently told our CEO that managing PTO across countries would be "the same as single-office management, with a few extra holidays to track." I was wrong in ways I didn't even know were possible.
The first sign of trouble came in June. Our Stockholm team went dark for Midsommar, a Friday holiday I'd never heard of, and a product launch stalled because two key engineers were grilling herring on an island in the archipelago. Nobody told me. Or rather, they assumed I knew, because every Swede knows Midsommar is practically sacred. I didn't know, because I'm from Zagreb. In Croatia, late June is unremarkable.
That was the week I stopped treating international PTO tracking as a minor admin task.
Why Managing PTO Across Countries Is Genuinely Hard
The difficulty isn't conceptual. Everyone understands different countries have different holidays. The difficulty is operational. When you're approving fifteen leave requests a week across four countries, you need to know instantly how many actual working days each request costs. That number differs for every employee depending on where they sit.
Take a simple example. An employee in Berlin requests the week of October 3rd off. October 3rd is German Unity Day, a public holiday. So that week costs four vacation days, not five. The same week requested by someone in Zagreb costs five days, because Croatia has no holiday that week. If you're running a shared spreadsheet or a basic calendar tool that doesn't distinguish by country, you'll either over-charge the German employee or under-charge the Croatian one. Both are problems. One makes people angry. The other creates phantom vacation balances that blow up at year-end.
I've made both mistakes. The year-end reconciliation where we discovered three employees had been shorted vacation days was not a fun meeting. If you're dealing with a growing headcount across borders, our article on vacation tracking for growing teams covers some of the scaling pain points we hit early on.
European Vacation Management: The Statutory Minimums Nobody Memorizes
Before you even get to holidays, there's the baseline question: how many vacation days does each employee get? The gap across Europe is bigger than most people expect.
| Country | Statutory Minimum (days/year) | Public Holidays | Total Paid Days Off |
|---|---|---|---|
| Sweden | 25 | 13 | 38 |
| France | 25 | 11 | 36 |
| United Kingdom | 28 (incl. bank holidays) | 8 | 28 |
| Netherlands | 20 | 8 to 11 (varies) | 28 to 31 |
| Germany | 20 | 9 to 13 (by state) | 29 to 33 |
| Croatia | 20 | 14 | 34 |
| Poland | 20 (or 26 with 10+ yrs) | 13 | 33 to 39 |
A couple of things jump out. Sweden and France both mandate 25 vacation days. That's five full working weeks before public holidays even enter the picture. Poland has a quirk worth knowing: the statutory minimum jumps from 20 to 26 days once an employee has ten years of total work experience (including education credits). A 30-year-old Polish developer with a university degree might already qualify for 26 days. I learned that from our Warsaw contractor after assigning him 20 days for a year.
The UK bundles things differently. The 28-day statutory minimum includes bank holidays. Most UK companies offer 20 days plus 8 bank holidays, but the legal structure is distinct from continental Europe. And if you also need to track sick leave across these countries, we wrote a detailed guide to European sick leave tracking that covers the major differences.
Did you know?
Germany's public holidays vary by state. Bavaria gets up to 13 public holidays per year, while Berlin only gets 9. Two employees in the same German company can have different holiday entitlements depending on which Bundesland they work from. If you have people in both Munich and Berlin, that's two different holiday calendars for one country.
The Cross-Border Holiday Calendar Problem
Public holidays are where multi-country leave management gets truly messy. Some holidays are fixed dates. Some float. Some exist in one country and are completely unknown in another.
Our Zagreb office gets Corpus Christi off. Berlin doesn't (unless you're in Bavaria or a few other states). Sweden celebrates Midsommar on a floating Friday. Poland has Constitution Day on May 3rd, a date that means nothing in any of our other offices. France takes Bastille Day on July 14th. The Netherlands has King's Day on April 27th, which moves to the 26th if the 27th falls on a Sunday.
And then there's the clustering problem. Croatia has a dense run of holidays in late spring and early summer: Labour Day (May 1), Statehood Day (May 30), Corpus Christi (floating, usually June), Anti-Fascist Struggle Day (June 22). If you're planning a big product push for Q2, your Zagreb team's availability looks very different from your Berlin or Stockholm team's. This is exactly the kind of overlap that causes scheduling headaches. We go deeper on that topic in our post about preventing team vacation conflicts.
Did you know?
Croatia has 14 public holidays, more than most EU countries. That's almost three full working weeks of free days before any vacation time. By contrast, the UK has only 8 bank holidays. A Croatian employee with 20 statutory vacation days gets 34 total paid days off, while a UK employee with the same base gets only 28.

I keep a mental map of what I call "danger weeks." Those are weeks where multiple countries have overlapping but different holidays. The first week of November is one: Poland and Croatia both have All Saints' Day on November 1st, and everyone takes the bridge day on the 2nd. Sweden and Germany have no November holidays at all, and the Stockholm team starts wondering why half the company is offline. It catches them off guard every single year.
Multi-Country Leave Management: What Actually Works
After three years of trial and error, this is the setup that finally stopped the bleeding:

- Every employee gets a country tag. Not optional. Not "we'll figure it out." On day one, when someone joins, they get assigned to a country. That country determines their public holiday calendar, and the system uses it to calculate working days on every single leave request. No manual math. No guessing.
- Holiday calendars update every year. I set a reminder in November to verify the next year's public holidays for all seven countries we operate in. Holidays shift. Governments add new ones. Easter moves every year. If you loaded a holiday list in 2023 and haven't touched it since, your calculations are going to be wrong.
- Conflict detection across teams. This is the one that saved us from two near-disasters. When three out of four backend engineers request the same week off (because two are Croatian and one is Polish, and that week happens to sit between holidays in both countries) someone needs to flag it before it gets approved. We use BreezeLeave for this, and its team overlap warnings have caught conflicts I would have missed completely. It covers public holidays by country for 24 countries, which handles our full footprint without me maintaining spreadsheets.
- Quarterly holiday digests. Every quarter, I send a short Slack message to the whole company listing upcoming public holidays by country for the next three months. "Heads up: May 3 is Constitution Day in Poland, May 30 is Statehood Day in Croatia, Midsommar is June 20 in Sweden this year." Takes ten minutes to write. Prevents three weeks of confusion.
Building a Cross-Border Holiday Calendar That Doesn't Break
This is my current checklist, the one I wish someone had given me three years ago:
- Assign country at onboarding. Every new hire gets a country profile on day one. This drives holiday calendar assignment, statutory minimums, and working day calculations. No exceptions.
- Use a tool that understands per-country holidays. This is non-negotiable once you pass about 20 employees across 3+ countries. We switched to BreezeLeave partly because it covers 24 countries out of the box and auto-excludes public holidays from vacation day deductions. That one feature alone probably saves me two hours a week.
- Set up Slack notifications for upcoming team absences. We get a weekly digest every Monday morning showing who's off that week across all offices. No one has to ask "is Tomislav in today?" in the #general channel anymore.
- Designate backup approvers by region. If your only leave approver is in Stockholm and it's Midsommar, requests from Zagreb and Berlin sit in limbo. Assign a backup in a different country. This sounds obvious but I've seen it missed at three different companies.
- Audit balances in Q3, not Q4. If you wait until December to check whether vacation balances are accurate, you don't have time to fix errors before year-end carryover. Do a balance check in September. You'll thank yourself in December.
- Document your leave policy differences clearly. Your Croatian employees get 14 public holidays. Your German employees might get 9 or 13 depending on their state. Write it down somewhere everyone can see. Transparency kills resentment before it starts.
Cultural Expectations That Don't Show Up in Any Policy Document
The statutory stuff is solvable with the right tool. The cultural layer is harder.
Sweden: the four-week summer shutdown
In Sweden, taking four consecutive weeks off in July is completely normal. They call it "industry vacation" (industrisemester), and it's deeply embedded in the culture. Schedule a product milestone for mid-July with a Stockholm team and you'll learn this the hard way.
Germany: precise planning, full utilization
In Germany, there's strong cultural pressure to use all your vacation days. German employees plan well in advance and expect precise balance tracking.
Croatia and Poland: the bridge day pattern
In Croatia and Poland, bridge days are the thing to watch. If a holiday falls on a Thursday, expect the entire office to request Friday off. Every time. Without fail. None of this shows up in a statutory table, and if you don't account for it, you'll be constantly surprised by patterns that are obvious to anyone who's worked locally.
Where We Are Now
Three years in, our system works. It works because I stopped trying to pretend that managing PTO across countries could be handled with a single calendar and some good intentions. It can't. The legal frameworks differ. The holidays differ. The cultural norms differ. All of it affects how many people are available on any given day.
Once you build the right foundation (country-specific profiles, accurate holiday data, automatic working day calculations, and team-wide visibility) it mostly runs itself. I spend maybe thirty minutes a week on vacation management now, down from several hours.
The conflicts get caught before they happen. The balances are right.
If you're early in this, start with the basics: know your countries, know their holidays, and pick a tool built for this. BreezeLeave is what we landed on, but whatever you choose, make sure multi-country leave management is a first-class feature and not an afterthought. Getting it right means your team trusts the system. And trust is what keeps distributed teams working well across borders.

