SelfHive: Bill Splitting
Self-Hosted Bill & Trip Splits
Free · Designed for iPad. Not verified for macOS.
The iOS companion for your self-hosted BillHive server. Three modes: household bills, restaurant checks, and trip expenses. Your data, your server.
SelfHive is the iOS companion for your self-hosted BillHive server. It handles three kinds of splitting: household bills, restaurant checks, and group trips. All data syncs to your own server.
Requires a running BillHive server (one Docker container). Deploy with:
docker run -d -p 8080:8080 -v billhive-data:/data ghcr.io/martyportatoes/billflow:latest
BILLS MODE
Track recurring household bills month after month. Split by percentage or fixed dollar amounts, set "covered by" relationships, and auto-carry amounts that don't change. The monthly checklist syncs between web and iOS.
CHECKS MODE
Split a restaurant check in seconds. Scan the receipt with on-device OCR to auto-populate line items, tax, and tip. Generate a no-account share link hosted on your server. Friends open it in any browser and claim their items.
TRIPS MODE
Create a trip, add members, and log multi-payer expenses with receipt photos. When the trip ends, debt simplification minimizes transfers. Export PDF or CSV summaries.
COLLECT WHAT YOU'RE OWED
Zelle, Venmo, and Cash App deep-links with the exact amount pre-filled across all three modes. Send rich HTML emails via your server's mail relay (Mailgun, SendGrid, Resend, or SMTP).
KEY FEATURES
- Three modes: Bills, Checks, and Trips
- Syncs with your BillHive web app in real time
- On-device receipt OCR (nothing uploaded to the cloud)
- No-account share links hosted on your server
- Zelle, Venmo, and Cash App payment deep-links
- Rich HTML email summaries via server relay
- Debt simplification for trips
- Multi-payer and multi-currency expense support
- Month-over-month trend charts
- Dark theme with amber accent
Your data lives on your server. Nothing is sent to any third-party service. Open-source at github.com/MartyPortatoes/BillHive.
more Shared trips now clearly identify the creator and your participant.
The creator and your invited participant are protected from accidental removal.
Reloading a rejected shared-trip edit keeps a recovery copy of your unsent draft.
26.10.02 1d ago
Joined trips now open in the full editor and appear in Summary, Settle Up, Trends, and History.
Shared trip edits better preserve changes from other participants, with saved offline edits and retry support.
Check sharing, financial calculations, and data recovery are more reliable.
26.10.01 3d ago
Data recovery and hosted sharing now better protect local edits, links, and invitations.
Amounts, trip splits, currency changes, and Watch payments are more reliable.
Check editing, reminders, and navigation are clearer and more accessible.
26.09.02 Sep 24
Your data is now better protected with atomic saves, safer recovery from unreadable files, and more reliable server sync.
Money entry, split rounding, reminders, payment requests, receipt scanning, and Watch handoff are more accurate.
Accessibility, confirmation prompts, appearance settings, and performance have been refined throughout the app.
26.09.01 Sep 5
Your data is now better protected with atomic saves, safer recovery from unreadable files, and more reliable server sync.
Money entry, split rounding, reminders, payment requests, receipt scanning, and Watch handoff are more accurate.
Accessibility, confirmation prompts, appearance settings, and performance have been refined throughout the app.
26.07.01 Aug 1
Settings now includes a Default Bills Month control so SelfHive can open to the next month automatically after the day you choose.
Payment handoff now copies the exact amount before opening your payment app, making payment requests quicker to complete.
Self-hosted household bills invite links now support read-only guest snapshots.
26.06.05 Jul 2
SelfHive's Home Screen widget now appears correctly in the widget gallery, so bills, checks, and trips are easier to keep an eye on at a glance.
Buttons, dense rows, invite actions, and status labels have been polished with better accessibility, Dynamic Type behavior, and localization coverage.
Trip attachment handling is more robust, including safer handling of synced receipt and itinerary file paths.
26.06.04 Jun 14
- Home Screen widgets now surface server-synced Bills, Checks, and Trips snapshots with deep links back into SelfHive.
- Checks and Trips have smoother editor and import flows, clearer sharing, PDF/CSV exports, and payment reminders.
- Fixed a rare crash after deleting a check and improved selected-check recovery.
- No-account share links and trip invites are more reliable for browser access.
- Expanded App Store localization and release QA coverage for a more stable TestFlight/App Store build.
26.06.03 Jun 6
What's new in 26.06.01:
- Home Screen widgets now surface server-synced Bills, Checks, and Trips snapshots with deep links back into SelfHive.
- Checks and Trips have smoother editor and import flows, clearer sharing, PDF/CSV exports, and payment reminders.
- Fixed a rare crash after deleting a check and improved selected-check recovery.
- No-account share links and trip invites are more reliable for browser access.
- Expanded App Store localization and release QA coverage for a more stable TestFlight/App Store build.
26.06.02 Jun 1
What's new in 26.06:
Two brand-new modes: SelfHive now splits household bills, restaurant checks, and trip expenses in one app, all synced to your BillHive server.
CHECKS MODE
- Split a restaurant check in seconds
- Scan receipts with on-device OCR to auto-populate line items
- Assign items to friends, with proportional tax and tip
- Tip presets (15%, 18%, 20%, round up) and tax-as-percentage input
- No-account share links: friends claim their items from any browser
- Export a check summary as PNG
- Request payment via Zelle, Venmo, Cash App, or server email relay
TRIPS MODE
- Create trips, add members, and log expenses as you go
- Multi-payer support: split costs between any subset of members
- Attach receipt photos to expenses
- Debt simplification minimizes the number of transfers needed
- Settle up with pre-filled payment deep-links
- No-account trip invites: members join via share link
- Export trip summaries as PDF or CSV
- Per-trip trend charts: category breakdown, daily spend, paid vs. share
MODE SWITCHING
- Long-press the Mode tab to switch between Bills, Checks, and Trips
- Each mode has its own focused tab layout
- All data syncs with your BillHive server in real time
26.06.01 May 29
What's new in 2.0.2:
New: Payment Reminders
- Get notified when someone hasn't paid after you've sent them a request
- Choose how many days to wait before the first reminder (1, 2, 3, 5, 7, or 14 days)
- Set repeat frequency: never, daily, every 2 days, every 3 days, or weekly
- Tapping "Send Email" or "Request via Venmo/Zelle/Cash App" automatically tracks the request date
- Marking a person as paid cancels their reminders
- Configure everything in Settings > Notifications
Improvements:
- Person cards in Pay & Collect now show when a payment was requested
- Better layout for person names — no more truncation on longer names
- Fixed 429 errors and improved server sync reliability
2.0.2 May 20
What's new in 2.0.1:
Bug fixes & polish:
• Fixed a crash when removing a bill from the editor
• Fixed date picker text wrapping on smaller screens (iPhone 15 Pro and similar)
• Fixed "Awaiting" and "Paid" status badges getting cut off on smaller screens
• Confirmation popups (import backup, remove bill) now use a consistent centered alert style
UI improvements:
• Trends donut chart now shows a per-person breakdown — tap a segment to see their name, percentage, and amount
• Added descriptive subtitles to the Trends and Settings tabs
• Consistent title positioning and spacing across all tabs
• More compact date picker with reduced padding
Performance:
• Faster save performance with batched per-month writes and debounced scheduling
2.0.1 May 18
What's new in 2.0.0:
• Paid By — bills can now be assigned to any household member, not just you. Net balances compute automatically so you can see who owes whom
• You Owe — new summary section shows what you owe others, with per-bill breakdowns and paid/unpaid status
• Between Others — view third-party settlements between other household members
• Import from Contacts — add people directly from your address book with name, email, and phone pre-filled
• Rounding fix — percentage splits now distribute cents correctly (no more $50.01 on a 3-way $150 split)
• Checklist improvements — "Pay" items turn green with strikethrough when marked done
• Refreshed app icons
2.0.0 May 16
What's new in 1.9.1:
• Reliability — edits are now safely persisted even when the app is backgrounded mid-edit. If your save file is corrupt, the new edit is parked in a recovery file instead of overwriting month history
• Trends accuracy — historical totals stay correct after you edit bills or remove a person, and remainder lines display correctly in the per-month breakdown
• Notification fixes — same-day reminders no longer get silently dropped after 9 AM, and triggers handle DST and timezone changes correctly
• Performance — Summary and Trends views are noticeably faster on larger households
• Fixed: SelfHive welcome screen now correctly shows "SelfHive" instead of "BillHive"
1.9.1 May 14
• Due dates on bills — set a due day and see color-coded urgency badges (overdue, soon, upcoming) on bill cards
• Payment tracking — mark people as paid/unpaid in Pay & Collect and Summary, with progress indicators
• Due date reminders — get notified the day before bills are due (Settings > Notifications)
• Summary & Checklist toggle — switch between your financial summary and monthly checklist with a segmented picker
• Collapsible cards — My Total Outlay and Historical Log are now expandable/collapsible
• Settings reorganized — cleaner layout with greetings moved into person cards and fewer sections
• Bug fixes and UI polish
1.9.0 May 12
What's new in 1.8.1:
• IAP fix — existing paid users are now correctly recognized on all devices
• Performance improvements and code quality polish
1.8.1 May 11
What's new in 1.8.0:
• Free trial + one-time purchase — new users get 14 days free, then a one-time unlock. Existing paid users are automatically recognized and never see a paywall
• First-launch onboarding — a guided walkthrough introduces each tab so new users know where everything lives
• Currency support — auto-detects your region's currency, or pick any currency manually in Settings
• Trends upgrades — tap any chart point for details, explore 6M/12M/24M/All ranges, and view per-person stats
• Dual-server failover — primary and backup servers are probed at launch; the fastest one wins
• Bug fixes and UI polish
1.8.0 May 9
• Fixed Face ID / Touch ID app lock
• Added GitHub repository link in About
1.7.2 May 4
What's new in 1.7.1:
• Face ID now required — App Lock uses actual biometrics instead of allowing passcode bypass
• Server settings redesigned — organized into Connection and API Key sections with a proper Done button
• Collapsible Pay URLs — bill payment links slide open on tap, keeping the Pay section clean
• Monthly Checklist syncs with web — same items, same labels, same checked states across platforms
1.7.1 May 3
What's new in 1.7.0:
• Per-device API keys — generate a key in BillHive's web UI (Settings → Connected Devices), paste it into Server Setup or Settings → Server. Optional "Require API key" mode locks out any iOS device without a valid key.
• App Lock — require Face ID or Touch ID to open SelfHive (Settings → Privacy & Security)
• App Switcher privacy overlay — financial data is hidden when the app is backgrounded
• Smarter URL handling — public hostnames auto-default to HTTPS instead of plain HTTP
• Hardened payment links — Pay buttons only follow secure (https) URLs, protecting against tampered backups
• Behind-the-scenes Apple privacy compliance (PrivacyInfo manifest)
1.7.0 May 2
What's new in 1.6.1:
• Light & Dark mode — choose System, Light, or Dark from Settings → Appearance
• Reorganized Settings into focused categories (Household, Data & Backup, Subscription, About)
• Restored the slide-out bill preview when you tap a bill, with a dedicated Edit button
• Cleaner navigation throughout — month picker is back in its familiar pill at the top
• Backup export now uses iOS share sheet — save your data to Files, Mail, AirDrop, or your server
• Smaller refinements: better empty states, improved tap targets, accessibility tweaks
SelfHive only:
• Backup server URL — add a secondary server (e.g. LAN IP + Tailscale IP) and the app falls back automatically when one is unreachable
1.6.1 Apr 29
What's new in 1.5.0:
• Redesigned bill editor — tap a bill to preview, then edit in a focused sheet
• First-run empty states across Bills, Summary, and Trends with clear next steps
• "Send & Receive" is now "Pay & Collect" with clearer sub-sections
• Full Dynamic Type support — text now scales with your iOS text-size preference
• Accessibility improvements across the app
1.5.0 Apr 22
Bug fixes and under-the-hood improvements for compatibility.
1.4.0 Apr 5
Auto-pay bills: Mark bills as auto-pay to automatically skip the "paid" reminder in your monthly checklist.
Smarter checklists: People whose share is fully covered by someone else no longer generate email or payment tasks in the monthly checklist.
Keyboard improvements: Added a "Done" button above the number keyboard for easier dismissal when entering bill amounts.
Bug fixes and stability improvements.
1.3.0 Apr 4
This update is focused on reliability, performance, and polish under the hood.
What's improved:
Smoother animations when expanding and editing people and bills in Settings
Faster currency formatting throughout the app
More reliable bill editing — changes now save more consistently when managing split lines
Visual polish updates to bring the app in line with the latest iOS appearance standards
1.2.0 Mar 23
Shared trips now clearly identify the creator and your participant.
The creator and your invited participant are protected from accidental removal.
Reloading a rejected shared-trip edit keeps a recovery copy of your unsent draft.
more Version 26.10.02 1d ago
Data Not Collected The developer does not collect any data from this app.