The integration is live and listed on the Uplisting marketplace. Connect your Uplisting account and RentReel pulls your properties and bookings — gross revenue, cleaning fees, channel commissions, booking taxes, and net owner payouts — then joins them to your bank, cards, and mileage to produce a per-property Schedule E for tax season.
Read-only connection using Uplisting's OAuth 2.0 flow (PKCE). RentReel requests the minimum scopes: properties:read and bookings:read. Nothing else. No writes to your calendar, prices, or messages.
Each booking is mapped: gross rent → Line 3, cleaning fees → Line 7, channel + processing commissions → Line 8, management fees → Line 11. Occupancy tax passes through — never double-counted as income.
The bank deposit from Airbnb and the corresponding Uplisting booking reconcile to one revenue event — not two. Same story for Vrbo and Booking.com.
Hours from bookings, cleaner logs, and mileage roll up into the 750-hour REPS tracker and the seven §469 material-participation tests. If you're chasing the STR loophole, you already know why this matters.
properties:read and bookings:read.Yes. The scopes RentReel requests are properties:read and bookings:read. The Uplisting API physically cannot let RentReel modify a calendar, change a price, or send a guest message with those scopes.
Pull new bookings anytime with the on-demand refresh on the Upload page — it's server-side debounced to one call every 30 seconds to stay under Uplisting's rate limits. Automatic scheduled sync is in progressive rollout.
They keep their old rows. When the API sync sees the same booking (matched on the Uplisting booking id), it deduplicates cleanly — you won't get two of anything.
Upload → Direct sync → Uplisting → Disconnect. Your token is deleted from RentReel's servers. Bookings already imported stay in RentReel; only new syncs stop.
Any RentReel plan — Starter, Pro, and Pro+ Tax all include Uplisting sync at no extra cost.
Supabase (US region), encrypted at rest. Your Uplisting OAuth tokens are further encrypted with AES-GCM using a per-deployment key that never leaves our Cloudflare Worker.