App Support

We're here
to help.

Find answers to common questions, step-by-step setup guides, and direct contact options for ChurchScore support.

All systems operational. ChurchScore is a self-hosted app — your server's uptime is managed by you.

Frequently Asked Questions

FAQ

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.

Getting Started

Setup Guide
ℹ️ ChurchScore works on a single iPad with no setup at all. Only follow these steps if you want to sync across multiple iPads.
1
Install the sync server
Download the ChurchScore server installer for your platform (Linux, macOS, or Windows) and run the one-line install command. It automatically installs Node.js, PostgreSQL, and registers the server as a background service.
2
Install your VPN of choice on the server and each iPad
Download your VPN of choice on your server machine and sign in. Install the your VPN's app on each iPad and sign in with the same account. Note your server's your VPN IP — it may start with 100.x.x.x.
3
Enter the server URL in ChurchScore
Open ChurchScore on each iPad → Settings → Live Sync → Edit → enter ws://100.x.x.x:8080 (your VPN IP) → Save.
4
Pull a full sync
Once connected (you'll see a green "Connected" status), tap Pull Full Sync from Server to download any existing data onto the new iPad.
5
Add your classes, members, and actions
Go to Settings to add your classes first, then members (assigned to a class), then actions (the activities that earn points). You can also import members from an Excel or CSV file.

Multi-iPad Sync

Real-Time
💡 Real-time sync requires all iPads and the server to be connected to the same VPN network. The sync status indicator in Settings → Live Sync shows the current connection state.

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).

Contact Support

Get Help

Can't find what you're looking for?

✉️
Email Support
For setup help, bug reports, or general questions.
support@cornerstonelabs.info
🔒
Privacy
Questions about how ChurchScore handles data or your organization's privacy.
Read Privacy Policy
⏱️ ChurchScore is maintained by a small team. We appreciate your patience and will do our best to respond to requests.