Case Study: Rentijer — A Complete PMS for Croatian Short-Term Rental Hosts
How we built Rentijer, an all-in-one Property Management System that automates eVisitor registration, multi-channel calendar sync, Croatian taxes, invoicing and finance for short-term rental hosts — on Next.js 16, Bun and Supabase.


Rentijer is not just another tool for landlords — it is a complete Property Management System (PMS) built specifically for Croatian short-term rental hosts. It handles everything that running an Airbnb, Booking.com or Vrbo property in Croatia actually requires, far beyond taking bookings. Built on Next.js 16, Bun and Supabase, it automates the work that normally eats a host’s day: multi-channel calendar sync, eVisitor guest registration, document scanning, Croatian tax obligations, invoicing and financial reporting — all in one fast, mobile-first app that installs like a native application with no App Store download.
The Challenge: Compliance, Bureaucracy and Platform Chaos
Croatian hosts don’t just need a booking calendar. They are legally obligated to register every guest, track a stack of country-specific taxes, and juggle several booking platforms at once — none of which Airbnb or a generic calendar tool solves:
- eVisitor within 24 hours: every guest must be registered in Croatia’s national tourist system within 24 hours of arrival or the host faces fines — pressure that peaks during late-night arrivals.
- A tangle of taxes: tourist tax (turistička pristojba), TZ membership fees, the €50,000 PDV (VAT) threshold, plus property and income tax — each with its own rate, deadline and payment reference.
- Platform juggling & double-bookings: manually copying dates between Airbnb, Booking.com and Vrbo risks booking the same nights twice.
- Legacy software: existing tools are slow, visually cluttered and poorly optimized for the phone — the device hosts actually use while on the move.
The Solution: A Fast, Mobile-First PMS on Next.js 16
To build Rentijer we chose a cutting-edge stack for maximum development speed and top-tier performance. The Bun runtime delivers extremely fast server function execution, while Next.js 16 enables Partial Prerendering (PPR).
PPR lets us serve static parts of the interface (navigation, layout) instantly while dynamic data such as active bookings is streamed from the Edge directly into components. This removes traditional loading screens and delivers a zero-latency feel on every device.
1. One calendar for every platform
Rentijer merges Airbnb, Booking.com, Vrbo and any iCal-capable platform into a single calendar per property — or one combined view across an entire portfolio.
- Two-way iCal sync: built on ical.js and refreshed by Vercel Cron Jobs, incoming feeds are merged into one source of truth; manually blocked dates and direct bookings sync back out, so a night blocked once shows as unavailable on every connected platform.
- Real-time updates: Supabase Realtime reflects every change on the calendar instantly — a cancellation on Booking.com appears with no page refresh.
- Zero double-bookings: the sync engine eliminates the scheduling conflicts that come from managing calendars by hand.
2. Automated eVisitor registration and document scanning
Guest registration — the most time-sensitive legal obligation — becomes a background process.
- Direct eVisitor API integration: not an autofill helper — guest data is sent straight to eVisitor for check-in and check-out, with per-guest status tracking and one-click retry on failure. Bulk “register all pending” and “check out all departed” handle multi-guest bookings without per-guest clicking.
- Passport & ID scanning (OCR + MRZ): the host or guest scans a document by webcam or upload; OCR and machine-readable-zone parsing auto-fill the guest form, cutting a 10-minute check-in to roughly 30 seconds and removing typing errors.
- Guest self-check-in: a secure one-time link lets guests enter or scan their own details before arrival, processed via Next.js Server Actions and stored under strict Row Level Security.
3. A Croatian tax and compliance engine
Every Croatian short-term-rental obligation is generated automatically as a bill with the correct amount, due date and payment reference — from property details entered once.
- All the right taxes: tourist tax, TZ membership, PDV, property tax and income tax are calculated from bed counts, per-bed rates and the property’s tourist board — no accountant needed for the routine work.
- PDV threshold tracking: a live progress bar warns at 80% and 100% of the €50,000 VAT threshold, so a host never crosses it unaware.
- Guest invoices: clean, sequentially numbered PDF invoices per reservation, including the mandatory small-lessor VAT-exemption note (Art. 90 of the Croatian VAT Act) for hosts outside the VAT system.
4. Finance dashboard and OTA price calculator
Beyond compliance, Rentijer gives owners the numbers to run the business.
- Income & performance dashboard: monthly, seasonal and per-property income, occupancy, ADR (average daily rate) and commission broken down by platform — plus an anonymized cross-owner price comparison against similar properties in the same municipality.
- OTA price calculator: enter the net amount you want to keep and get the exact price to list on each platform, using each platform’s real commission rate, with reusable fees and discounts (Genius, weekly-stay and more).
5. Public property pages, widgets and export feeds
Rentijer also replaces the extra tools hosts would otherwise pay for separately.
- Free public property page: every property gets a shareable page with photos, description and live availability — zero setup, no web designer, no separate hosting. An embeddable calendar widget adds live availability to a host’s existing website.
- Cleaning & availability exports: a printable, guest-count-labeled cleaning calendar (no personal guest data) and a busy/free availability calendar, each as a subscribable iCal feed and a print-ready page — hand either to a cleaner without giving them a login.
6. PWA, security and a fully bilingual app
- Native feel, no install: a Progressive Web App built on native Next.js 16 manifest standards and Turbopack installs to the iOS/Android home screen, weighs only kilobytes and behaves like a native app.
- Security by default: Supabase Row Level Security isolates every query to its owner; documents (contracts, kategorizacija, insurance) live in encrypted Supabase Storage, downloadable only via short-lived signed URLs.
- Multi-property & bilingual: every feature works per-property and rolled up across a whole portfolio — from a single apartment to an agency with dozens — and the entire app switches between Croatian and English for non-resident owners.
- Smart notifications: new bookings, overdue eVisitor registrations, upcoming bills, PDV warnings and sync errors surface as individually toggleable in-app alerts, with bill reminders also sent by email.
Development Methodology and QA
Code quality and system stability are ensured through rigorous processes:
- Strict TypeScript: the entire project is typed to prevent runtime errors in critical financial calculations.
- Automated testing: Playwright covers end-to-end tests of critical paths such as booking creation and iCal sync.
- Error monitoring: Sentry tracks every anomaly in real time so issues are fixed before users notice them.
- CI/CD process: every Pull Request undergoes automatic validation and must reference a task ID with acceptance criteria.
Results: Digital Transformation in Practice
- 95% less time on administration: the process from receiving a guest to registering them in state systems drops to under a minute.
- 0% double-bookings: the advanced sync engine completely eliminated scheduling conflicts.
- Lighthouse Performance 90+: thanks to Bun, Tailwind 4 and PPR.
- Full tax readiness: users receive generated VAT forms and payment slips ready to pay, with no manual calculations.
- One app instead of five: calendar, guests, taxes, invoices and finance live in a single mobile-first dashboard — for one apartment or an entire portfolio.

Tin Martinić
Founder & CEO
Neviox Digital CEO with an Engineer's degree in Computer Science from the University of Split, and multiple certifications, my core competencies span across front-end and back-end technologies, with an emphasis on Langchain, Next.js and AWS





