Stamp Days 1.7: Plus, Pro, and why tracking stays free

Stamp Days now counts your Schengen 90/180 days and your days per country for each tax year. With that, it has two paid tiers: Plus, which you buy once, and Pro, a yearly subscription. Here's what's in each, and why I split it that way.

Stamp Days counts the days you spend in each country. It notices border crossings in the background, so you never log a thing. Version 1.7 is out today, and it's the biggest update since the app launched.

What's new: Schengen 90/180 and Tax Days

The question I get most from people who travel a lot isn't "where have I been?". It's "how many days do I have left?". Two rules come up again and again.

The Schengen 90/180 screen: 50 days left, 80 of 90 days used in the last 180 days, stay until December 5, 2026, and a chart of days used over time The Tax Days screen for 2026: United Kingdom 199 days, Spain 40, Portugal 14, Italy 13, France 12 and Germany 11, each with its midnights and longest stay
Schengen 90/180 and Tax Days. Both are off until you pick a date to count from, and then they appear on the dashboard too.

Both are planning aids, and the app says so on screen. They count from the days Stamp Days recorded. They don't make a visa decision or give tax advice: the record at the border, and your tax adviser, have the final word.

Three tiers

Before 1.7, Stamp Days had one purchase: a one-time Pro unlock. Schengen and tax counting are a different kind of feature, so they got their own tier. Now there are three:

FeatureFreePlusonceProyearly
Automatic tracking, map, history, On this day, widgets✓✓✓
Visits added by hand5UnlimitedUnlimited
Import past trips from Photos–✓✓
Charts and data export–✓✓
Schengen 90/180, planned trips, reminders, border report––✓
Tax Days and the tax report––✓

Plus is €4.99 once, and Pro is €9.99 a year with a 3-day free trial. In the U.S. that's $3.99 and $9.99. The App Store shows the price where you are.

Why tracking stays free

Counting your days is the whole point of the app, so it's never limited. There's no cap on countries or days, no time limit, and no account. The map, the history, On this day and the widgets are free too. If all you want is an honest count of where you've been, you never need to pay.

Why Plus is a one-time purchase

Plus is what the old Pro unlock was: Import from Photos, the charts, unlimited hand-added trips and export. These features do their work once. You import your photo library, you export a spreadsheet, you look at your year. A subscription for that would feel like rent on something you already have, so it's one payment and it's yours.

Why Pro is a subscription

Schengen and tax counting are different. You use them year after year: every trip to Europe, every tax year, every reminder before a last day. They're also the parts I'll keep working on, as tax years, rules and the ways people travel change. A yearly price matches how they're used, and it pays for that upkeep.

The trial is three days because that's enough to answer the real question. Pick a start date, and you see your own days left, from your own history, straight away. If the number is useful, keep it. If not, cancel before the trial ends and nothing is charged.

Pro includes everything in Plus. If you already have Plus, you subscribe to Pro the same way. There's no separate upgrade to work out.

If you bought Stamp Days Pro before

You keep everything, and that includes Schengen and Tax Days, for no extra cost. The old one-time Pro isn't sold any more, but the app still reads it, and it unlocks the full Pro tier. There's no cut-off date and nothing to migrate. Restore your purchase on a new phone and it's all there.

And if you've had Stamp Days since before it had any purchases at all, you still get Plus for free, as before.

How it's built

Purchases go through StoreKit 2, in a small purchase library I share between my apps. It knows about one-time products and subscriptions, and it reports which products the user owns. Stamp Days turns that into one value, a tier:

enum ProTier: Int, Comparable {
    case free, plus, pro
}

static var tier: ProTier {
    let store = ProManager.shared
    switch store.accessState {
    case .locked:
        return .free
    case .grandfathered, .undetermined:
        return .plus
    case .purchased:
        if store.owns(lifetimeID) || store.owns(proYearlyID) { return .pro }
        if store.owns(plusID) { return .plus }
        return .pro
    }
}

Each feature asks for the tier it needs, and nothing else in the app knows about product IDs. Two details took some thought:

The paywall is one screen with two cards: Plus with "one payment", and Pro with its trial and the yearly price. The renewal terms, the privacy policy and the terms of use are on the same screen.

Shipping new purchases

A few things I'd tell anyone adding a subscription to an app that already has a one-time purchase:

Stamp Days 1.7 is on the App Store. It's free to download, needs no account, and your travel history stays on your iPhone. If you spend a lot of time in Europe, or you need your days for taxes, give Pro's three free days a try.

Questions about the tiers, or a tax year Stamp Days should know about? Send me an email.