Find answers to common questions, step-by-step setup guides, and direct contact options for ChurchScore support.
No. ChurchScore works fully on a single iPad without any server. All your data is stored locally on your device using a built-in SQLite database.
The optional sync server is only needed if you want multiple iPads to stay in sync in real time — for example, multiple teachers awarding points simultaneously during class.
The server installer is available for Linux, macOS, and Windows. Each platform has a one-command installer that handles Node.js, PostgreSQL, and background service setup automatically.
See the Setup Guide below for step-by-step instructions.
This means the app can't reach your sync server. Check the following:
1. Make sure the server is running on your host machine (systemctl status churchscore on Linux).
2. Confirm the Server URL in Settings → Live Sync matches your server's IP exactly, including the ws:// prefix and port number.
3. If using a VPN, confirm your VPN is connected and active on both the server and the iPad.
4. The app will automatically reconnect every 5 seconds — once the server is reachable it will connect on its own.
First, confirm both iPads show Connected in Settings → Live Sync. If either shows Disconnected or Offline, fix that connection first.
If both are connected but data still isn't appearing, go to Settings → Live Sync and tap Pull Full Sync from Server on the iPad that's missing data. This forces a full download of all records from the server.
Yes. ChurchScore saves all changes locally first, regardless of connection status. When your device reconnects to the server, any queued changes are automatically sent in order.
You can see how many changes are pending in Settings → Live Sync — it will show "X change(s) queued offline" when there are pending events.
Go to Settings → Import and tap Import Excel File. ChurchScore supports both .xlsx and .csv files.
For a Members sheet (sheet name must contain "member"), use these columns: name, class, action, points, date.
For an Actions sheet (sheet name must contain "action"): name, points.
For a Tiers sheet (sheet name must contain "tier"): name, threshold.
After importing on one iPad, tap Pull Full Sync on other iPads to update them.
Open the Reports tab. For a quick summary, choose a template (Monthly, Q1–Q4) and tap Quick Generate Report.
For a custom report, scroll to the Custom Report Builder section. Set your date range, optionally filter by specific members or actions, choose PDF or CSV, and tap Generate Custom Report. The iOS share sheet will appear so you can AirDrop, email, or save the file.
To delete individual members, actions, classes, or tiers, go to Settings and swipe left on any row to delete it.
To wipe all data on a specific iPad, delete the ChurchScore app from that iPad. iOS will remove all local data including the database and photos.
To wipe the server database, SSH into your server and run your platform's uninstall script (sudo bash install.sh --uninstall on Linux), then reinstall fresh.
Yes. ChurchScore is designed as a fully self-hosted app. Your data never passes through any servers owned by the ChurchScore developers. It lives entirely on your iPads and your own server.
We recommend using a VPN to keep your server on a private encrypted network, ensuring it's never exposed to the public internet.
Read our full Privacy Policy for complete details.
100.x.x.x.ws://100.x.x.x:8080 (your VPN IP) → Save.There is no hard limit. The server supports as many simultaneous WebSocket connections as your server hardware can handle. For typical church use, 10–20 iPads is well within any reasonable server's capacity.
The app continues to work normally. All changes are saved to the local SQLite database on the iPad immediately, regardless of server connectivity. The status indicator will show "Offline — changes queued."
When the server comes back online, all queued changes are automatically sent in order. No data is lost.
Open a browser on any device connected to your VPN network and visit http://100.x.x.x:8080/health (replace with your server's VPN IP). You should see a JSON response showing "status": "ok" and the number of connected clients.
On the server itself, run systemctl status churchscore (Linux) or check Services (Windows).
Can't find what you're looking for?