Getting Started
System overview, access points, user roles, and initial setup.
1.1 System Overview
WatuChurch is a comprehensive, cloud-based church management system designed for churches of all sizes. Built with modern web technologies, it provides a full suite of tools for managing members, finances, events, communications, human resources, and much more.
Technology Stack
| Component | Technology | Details |
|---|---|---|
| Backend | PHP 8.3 | Server-side logic, API endpoints, form processing |
| Database | MySQL 5.7 | Relational data storage with InnoDB engine |
| Frontend | Bootstrap 5.3.2 | Responsive UI framework with custom theming |
| Icons | Font Awesome 6.5.0 | Comprehensive icon library for navigation and UI |
| PWA | Service Worker + Manifest | Installable app with offline capabilities |
Key Features
Bilingual Support
Full English and Swahili interface with per-user language preference.
Multi-Tenant
Each church gets its own isolated database and branding.
PWA-Ready
Install on any device as a native-like app with offline support.
Role-Based Access
Six distinct user roles with granular permission controls.
1.2 Four Access Points
WatuChurch provides four distinct access points, each tailored to a specific audience:
| # | Access Point | URL Path | Audience | Authentication |
|---|---|---|---|---|
| 1 | Public Page | /member/ | Anyone on the internet | None required |
| 2 | Admin Panel | /admin/ | Church staff & administrators | Email + Password |
| 3 | Pastor Panel | /pastor/ | Senior pastor | Email + Password |
| 4 | Member Portal | /portal/ | Registered church members | Phone + PIN |
1.3 User Roles & Permissions
WatuChurch implements six user roles with progressively increasing levels of access. Each role is assigned when creating an admin user account.
| Role | Members | Finance | Tithes | Events | SMS | HR/Payroll | Reports | Settings |
|---|---|---|---|---|---|---|---|---|
| super_admin | ||||||||
| admin | ||||||||
| treasurer | ||||||||
| pastor | ||||||||
| data_entry | ||||||||
| viewer |
= Full Access = View Only / Limited = No Access
super_admin role can access the Settings page. Assign this role carefully, as it controls church branding, SMS configuration, payment integrations, and system-wide preferences.1.4 Installing as a PWA
WatuChurch can be installed on your device as a Progressive Web App (PWA), giving you an app-like experience with fast loading, home-screen access, and offline support.
Android (Chrome)
- Open Chrome and navigate to your WatuChurch URL.
- Tap the three-dot menu () in the top-right corner.
- Select "Install app" or "Add to Home screen".
- Confirm the installation by tapping "Install".
- The WatuChurch icon will now appear on your home screen. Tap it to launch the app.
iPhone / iPad (Safari)
- Open Safari (this does not work in Chrome on iOS) and navigate to your WatuChurch URL.
- Tap the Share button () at the bottom of the screen.
- Scroll down and tap "Add to Home Screen".
- Optionally edit the name, then tap "Add".
- The WatuChurch icon now appears on your home screen like any other app.
1.5 First-Time Setup Checklist
After your WatuChurch instance has been provisioned, follow this checklist to configure your church:
- Log in to
/admin/with your super_admin credentials - Go to Settings and upload your church logo and banner image
- Fill in church name, address, phone number, email, and registration number
- Set the default language (English or Swahili)
- Configure Departments (e.g., Worship, Youth, Children)
- Configure Ministries (e.g., Ushering, Choir, Media)
- Create Cell Groups if your church uses small groups
- Add Branches if your church has multiple locations
- Set up Income Categories (e.g., Tithes, Offerings, Donations)
- Set up Expense Categories (e.g., Rent, Utilities, Staff)
- Add Bank Accounts and Mobile Money Accounts
- Configure SMS Provider settings (API key, sender ID)
- Configure WhatsApp integration if applicable
- Set up Social Media links and YouTube channel
- Add Pastor information under Pastor & About
- Create your first admin users with appropriate roles
- Begin adding members (manually or via CSV bulk import)
- Create your first budget for the current fiscal year
1.6 Admin Login Screen
Below is a visual reference for the admin login interface:
Admin Dashboard
Your command center for real-time church metrics and quick actions.
The Admin Dashboard is the first screen you see after logging in. It provides a comprehensive overview of your church's current status across finances, membership, and operations.
2.1 Statistics Cards
The top section displays key performance indicators (KPIs) for the current month:
Dashboard Cards Explained
| Card | Data Source | Description |
|---|---|---|
| Monthly Income | income table | Sum of all income entries for the current calendar month |
| Monthly Expenses | expenses table | Sum of all expense entries for the current calendar month |
| Balance | Calculated | Income minus Expenses for the current month |
| Monthly Tithes | tithes table | Sum of all tithe records for the current month |
| Total Members | members table | Count of all registered members (active status) |
| Partners | members table | Count of members flagged as partners/supporters |
2.2 Annual Summary
Below the stat cards, the dashboard displays an annual summary showing cumulative income, expenses, and tithes for the current year. This provides at-a-glance year-to-date financial health.
2.3 Charts
Interactive charts visualize trends over time:
- Income vs Expenses: A line or bar chart comparing monthly income and expenses over the past 12 months.
- Tithe Trends: Monthly tithe collection trends.
- Member Growth: New members added per month.
2.4 Recent Transactions
A table listing the most recent income and expense entries, showing the date, description, category, amount, and payment method. Click any row to view or edit the transaction.
2.5 Quick Actions
Shortcut buttons allow you to quickly navigate to common tasks:
- Add Member — Jump to the member registration form
- Record Income — Open the income entry form
- Record Tithe — Open the tithe entry form
- Create Event — Set up a new church event
2.6 Upcoming Events
A list of events scheduled within the next 7 days, showing event name, date, time, and type. Helps leadership stay aware of what is coming.
2.7 Low Inventory Alerts
If inventory tracking is enabled, items that have fallen below their minimum stock threshold are highlighted here with a warning badge.
2.8 Recent Members
The latest members added to the system are displayed with their name, phone number, and registration date.
Member Management
Register, search, manage, and export your church membership database.
3.1 Adding a New Member
To register a new member in the system:
- Navigate to Admin > Members and click the Add Member button.
- Fill in the Personal Information section: first name, middle name, last name, gender, date of birth, and marital status.
- Fill in Contact Details: phone number (required for portal login), email address, and physical address.
- Assign Church Information: member number (auto-generated), department, ministry, cell group, branch, and membership date.
- Set Spiritual Details: salvation status, baptism status, baptism date if applicable.
- Optionally upload a Profile Photo (JPG/PNG, max 2MB).
- Set Language Preference: English or Swahili (used for SMS messages and portal interface).
- Click Save Member to complete registration.
Member Form Fields Reference
- First Name *Legal first name of the member
- Middle NameOptional middle name
- Last Name *Family name / surname
- Phone *Primary phone number, also used for portal login and SMS
- EmailEmail address for digital communications
- GenderMale or Female
- Date of BirthFormat: YYYY-MM-DD
- Marital StatusSingle, Married, Widowed, Divorced
- DepartmentSelect from configured departments (see Settings)
- MinistrySelect from configured ministries (see Settings)
- Cell GroupSelect from configured cell groups (see Settings)
- BranchChurch branch (for multi-branch setups)
- Member NumberAuto-generated unique identifier
- Language PreferenceEnglish (en) or Swahili (sw) — affects SMS language and portal UI
- Profile PhotoOptional photo upload (JPG/PNG, max 2MB)
3.2 Editing a Member
- Navigate to Admin > Members to view the members list.
- Find the member using the search box or filters (department, ministry, cell group).
- Click the Edit button () next to the member's name.
- Update any fields as needed.
- Click Save Changes to apply updates.
3.3 Search & Filter Members
The members list page provides powerful filtering options:
- Text Search: Search by name, phone number, or member number.
- Department Filter: Show only members in a specific department.
- Ministry Filter: Filter by ministry assignment.
- Cell Group Filter: Filter by cell group membership.
- Status Filter: Filter by active/inactive status.
3.4 Member ID Cards
- Open a member's profile by clicking their name in the members list.
- Click the ID Card button.
- The system generates a printable member ID card with the member's photo, name, member number, and church details.
- Use your browser's print dialog (Ctrl+P or Cmd+P) to print.
3.5 Certificates
WatuChurch can generate the following certificates:
| Certificate Type | Purpose | Key Fields |
|---|---|---|
| Baptism | Proof of baptism | Member name, baptism date, officiating pastor |
| Marriage | Church marriage certificate | Couple names, wedding date, witnesses |
| Membership | Confirms church membership | Member name, membership date, member number |
| Transfer | For members transferring to another church | Member name, destination church, transfer date |
3.6 Bulk Import via CSV
- Navigate to Admin > Members > Bulk Import.
- Download the CSV template to see the required column format.
- Fill the CSV file with member data. Required columns:
first_name,last_name,phone. - Upload the completed CSV file.
- Review the preview table showing which records will be imported and any validation errors.
- Click Import to process the file.
- A summary shows how many records were imported successfully and how many had errors.
3.7 Member Families
You can group members into families to track family relationships:
- Open a member's profile and navigate to the Family tab.
- Click Add Family Member to link an existing member to this family.
- Define the relationship (spouse, child, parent, sibling, etc.).
- Family members can view each other's basic information in the member portal.
3.8 Public Member Search
The public church page at /member/ includes a member search feature that allows visitors to verify church membership by searching for a member by name. Only basic information (name and photo) is displayed publicly to protect privacy.
Finance
Manage income, expenses, bank accounts, mobile money, and budgets.
4.1 Recording Income
- Navigate to Admin > Finance > Income.
- Click Add Income.
- Select the Income Category from the dropdown (e.g., Offerings, Donations, Fundraising).
- Enter the Amount in your local currency.
- Enter the Date of the income.
- Select the Payment Method: Cash, Bank Transfer, Mobile Money, Cheque.
- If Bank Transfer, select the Bank Account to link the transaction.
- If Mobile Money, select the Mobile Money Account.
- Optionally link to a Member (useful for tracking who contributed).
- Add a Description or notes about the income.
- Click Save Income.
4.2 Recording Expenses
Recording expenses follows the same process as income:
- Navigate to Admin > Finance > Expenses.
- Click Add Expense.
- Select the Expense Category (e.g., Rent, Utilities, Equipment, Events).
- Enter the Amount, Date, and Payment Method.
- Link to the appropriate Bank Account or Mobile Money Account if applicable.
- Add a Description explaining what the expense was for.
- Click Save Expense.
4.3 Bank Account Management
- Navigate to Admin > Banks.
- Click Add Bank Account.
- Enter the Bank Name, Account Name, Account Number, and Branch.
- Set the Opening Balance if this is an existing account.
- The system automatically tracks the running balance based on linked income/expense transactions.
4.4 Mobile Money Accounts
Similar to bank accounts, mobile money accounts track balances for mobile payment services:
- Navigate to Admin > Mobile Money.
- Click Add Mobile Money Account.
- Enter the Provider (e.g., M-Pesa, Tigo Pesa, Airtel Money), Account Name, and Phone Number.
- Set the Opening Balance.
- Save the account. It will now appear in payment method dropdowns.
4.5 Budgets
- Navigate to Admin > Finance > Budgets.
- Click Create Budget.
- Set the Fiscal Year (e.g., 2026).
- Add Budget Items by category: for each income and expense category, enter the budgeted amount.
- The system tracks actual vs. budgeted amounts throughout the year.
- A visual progress bar shows how much of each budget line has been utilized.
Tithes & Offerings
Record individual tithes and generate giving statements for members.
5.1 Recording a Tithe
- Navigate to Admin > Finance > Tithes.
- Click Add Tithe.
- Select the Member from the searchable dropdown.
- Enter the Amount.
- Set the Date (the date the tithe was received).
- Set the Month and Year the tithe applies to (these may differ from the payment date if a member is paying for a prior month).
- Select the Payment Method (Cash, Bank Transfer, Mobile Money).
- Add optional Notes.
- Click Save Tithe.
date (when the money was received), month (which month the tithe covers), and year (which year). For example, a tithe paid on April 5 for March would have date = 2026-04-05, month = March, year = 2026.5.2 Viewing Tithe Records
The tithes list shows all recorded tithes with filtering options:
- By Member: Search for a specific member's tithe history.
- By Month/Year: Filter to see all tithes for a particular period.
- By Payment Method: Filter by cash, bank, or mobile money.
5.3 Giving Statements
Generate comprehensive giving statements for individual members or all members:
- Navigate to Admin > Reports > Giving Statements.
- Select the Member (or leave blank for all members).
- Choose the Date Range (e.g., January 2026 to December 2026).
- Click Generate Statement.
- The statement shows a month-by-month breakdown of tithes and offerings, with totals.
- Use the Print button to create a printable version, or Download PDF.
Events & Attendance
Schedule events, track attendance by headcount or roll call, and manage cell groups.
6.1 Creating an Event
- Navigate to Admin > Events.
- Click Add Event.
- Enter the Event Name (e.g., "Sunday Service", "Youth Night").
- Select the Event Type from one of seven predefined types.
- Set the Start Date/Time and End Date/Time.
- Add a Location or venue.
- Write a Description with details about the event.
- Click Save Event.
Event Types
| Type | Icon | Description |
|---|---|---|
| Sunday Service | Regular Sunday worship services | |
| Midweek Service | Wednesday or midweek prayer/Bible study | |
| Youth Event | Youth-focused gatherings and activities | |
| Conference | Multi-day conferences and seminars | |
| Workshop | Training and educational sessions | |
| Fellowship | Social gatherings and community events | |
| Special Event | Holiday celebrations, dedications, special services |
6.2 Attendance Tracking
WatuChurch supports two methods for recording attendance:
Method 1: Headcount
Use headcount for large services where individual check-in is impractical:
- Navigate to Admin > Attendance and select an event.
- Choose Headcount Mode.
- Enter the total number of attendees: men, women, children, visitors.
- Click Save Attendance.
Method 2: Roll Call
Use roll call for smaller meetings or when you need individual tracking:
- Navigate to Admin > Attendance and select an event.
- Choose Roll Call Mode.
- The system displays a list of all members. Check the box next to each member who is present.
- Use the search filter to quickly find members.
- Click Save Attendance.
6.3 Cell Group Attendance
Track attendance for cell group (small group) meetings separately:
- Navigate to Admin > Cell Groups.
- Select a cell group.
- Click Record Attendance.
- Enter the meeting date and check off members who attended.
- View attendance history and trends for each cell group.
SMS & WhatsApp Messaging
Communicate with your congregation through bulk SMS, WhatsApp messages, campaigns, and scheduling.
7.1 Sending Bulk SMS
- Navigate to Admin > SMS.
- Select the Sender ID from configured options (see Settings).
- Choose the Target Audience: All Members, Specific Department, Specific Ministry, Specific Cell Group, Specific Branch, Custom Selection, or Individual.
- Compose your Message. Use placeholders to personalize the message.
- Review the Preview panel to see how the message will appear.
- Click Send Now to dispatch immediately, or Schedule to send later.
Available Placeholders
| Placeholder | Replaced With | Example |
|---|---|---|
{name} | Full name (first + last) | John Mwangi |
{first_name} | First name only | John |
{last_name} | Last name only | Mwangi |
{phone} | Phone number | 0712345678 |
{member_no} | Member number | MEM-0042 |
7.2 SMS Campaigns
Campaigns let you organize and track related SMS messages:
- Create a new campaign with a name (e.g., "Easter Week Campaign").
- Add multiple messages to the campaign, each with its own schedule.
- Track delivery rates and engagement per campaign.
7.3 Scheduling Messages
To schedule an SMS for future delivery:
- Compose your message as usual.
- Instead of "Send Now," click Schedule.
- Select the Date and Time for delivery.
- The scheduled message will appear in the queue and can be edited or cancelled before the send time.
7.4 SMS Credits
Each SMS consumes one credit per 160 characters per recipient. Your credit balance is displayed at the top of the SMS page. To purchase credits, contact WatuChurch support.
7.5 WhatsApp Messaging
WatuChurch integrates with WhatsApp Business API for rich messaging:
- Navigate to Admin > WhatsApp.
- Select the target audience (same options as SMS).
- Compose your message. WhatsApp supports longer text, links, and formatting.
- Send immediately or schedule for later.
HR & Payroll
Manage church staff, salary structures, payroll processing, leave, loans, and Tanzania-compliant statutory deductions.
8.1 Staff Management
- Navigate to Admin > HR.
- Click Add Staff.
- Fill in personal details: name, phone, email, ID number.
- Select the Staff Type.
- Set employment details: hire date, contract type, department.
- Click Save.
Staff Types
| Type | Description | Payroll |
|---|---|---|
| Full-Time | Regular salaried employees | Monthly payroll |
| Part-Time | Employees with reduced hours | Pro-rated payroll |
| Contract | Fixed-term contract workers | Contract-based pay |
| Intern | Training/internship positions | Stipend (optional) |
| Volunteer | Unpaid service workers | No payroll |
8.2 Salary Structures
Each staff member can have a salary structure defining their compensation:
- Basic SalaryThe base monthly pay before additions or deductions
- AllowancesAdditional compensation components (see 8.3)
- Gross SalaryBasic + all allowances
- Statutory DeductionsNSSF, NHIF, PAYE (automatically calculated)
- Net SalaryGross salary minus all deductions
8.3 Allowance Types
| Allowance | Description |
|---|---|
| Housing | Housing or rent allowance |
| Transport | Daily or monthly transportation costs |
| Medical | Health-related allowance beyond NHIF |
| Communication | Phone and internet allowance |
| Hardship | Allowance for difficult working conditions |
| Responsibility | Additional pay for leadership roles |
| Other | Custom or miscellaneous allowances |
8.4 Payroll Processing
| Staff Name | Basic | Allowances | Gross | NSSF (10%) | NHIF (3%) | PAYE | Net Pay | Status |
|---|---|---|---|---|---|---|---|---|
| Pr. James Kato | 1,200,000 | 350,000 | 1,550,000 | 155,000 | 46,500 | 138,600 | 1,209,900 | Approved |
| Mary Mduma | 800,000 | 200,000 | 1,000,000 | 100,000 | 30,000 | 72,000 | 798,000 | Pending |
| John Msigwa | 600,000 | 100,000 | 700,000 | 70,000 | 21,000 | 33,000 | 576,000 | Pending |
| TOTALS | 2,600,000 | 650,000 | 3,250,000 | 325,000 | 97,500 | 243,600 | 2,583,900 |
Statutory Deductions (Tanzania)
| Deduction | Employee Rate | Employer Rate | Calculation Base |
|---|---|---|---|
| NSSF (National Social Security Fund) | 10% | 10% | Gross Salary |
| NHIF (National Health Insurance Fund) | 3% | 3% | Gross Salary |
| PAYE (Pay As You Earn) | Progressive brackets | N/A | Taxable Income (Gross - NSSF employee) |
PAYE Tax Brackets
PAYE is calculated using progressive tax brackets stored in the paye_brackets database table, keyed by effective_year. The system automatically applies the correct bracket for the current year. Tax is computed on taxable income, which equals Gross Salary minus the employee's NSSF contribution.
10 for 10%, 3 for 3%). If rates change, update them in Settings before processing the next payroll.Payroll Processing Steps
- Navigate to Admin > Payroll.
- Select the Month and Year for processing.
- Click Process Payroll. The system automatically calculates all salaries, allowances, and deductions.
- Review each employee's payslip for accuracy.
- Click Approve to finalize the payroll. Approved payrolls cannot be edited.
- Generate payslips and distribute to staff.
8.5 Approval Workflow
Payroll follows a two-step workflow:
| Status | Description | Who Can Act |
|---|---|---|
| Pending | Payroll has been processed but not yet approved | data_entry, admin |
| Approved | Payroll has been reviewed and approved for payment | admin, super_admin |
8.6 Leave Management
Leave Types
| Leave Type | Default Days | Description |
|---|---|---|
| Annual | 28 | Standard vacation / holiday leave |
| Sick | 126 | Medical leave with certificate |
| Maternity | 84 | Maternity leave for female employees |
| Paternity | 3 | Paternity leave for male employees |
| Compassionate | 4 | Bereavement or family emergency |
| Study | Varies | Educational leave for approved courses |
| Sabbatical | Varies | Extended leave for pastoral rest or study |
| Unpaid | Varies | Leave without pay |
- Navigate to Admin > HR > Leave.
- Click Request Leave.
- Select the Staff Member and Leave Type.
- Set the Start Date and End Date.
- Add a Reason for the leave.
- Submit the request. It enters "Pending" status until approved by an admin.
8.7 Loans & Advances
Staff members can receive salary advances or loans that are automatically deducted from future payrolls:
- Open a staff member's profile.
- Click Add Loan/Advance.
- Enter the Amount, Repayment Period (months), and Start Date.
- The system calculates monthly deduction amounts.
- Deductions are automatically applied to each month's payroll until fully repaid.
Projects & Pledges
Create church projects, track donations, and manage member pledges with payment tracking.
9.1 Creating a Project
- Navigate to Admin > Projects.
- Click Add Project.
- Enter the Project Name and Description.
- Set the Target Amount (fundraising goal).
- Set the Start Date and End Date.
- Choose the Visibility level to control who can see this project.
- Optionally upload a Cover Image.
- Click Save Project.
Visibility Levels
| Level | Who Can See | Where It Appears |
|---|---|---|
| Public | Anyone on the internet | Public church page, member portal |
| Members | Logged-in portal members only | Member portal only |
| Partners | Members flagged as partners | Partner portal view only |
9.2 Progress Tracking
Each project displays a progress bar showing how much of the target has been raised. The system automatically calculates the progress based on linked donations and pledge payments.
9.3 Project Donations
Donations can be linked to a specific project:
- Open a project's detail page.
- Click Add Donation.
- Enter the donor's name, amount, date, and payment method.
- The donation is added to the project's total raised amount.
9.4 Member Pledges
- Navigate to Admin > Pledges.
- Click Add Pledge.
- Select the Member and Project.
- Enter the Pledged Amount.
- Save the pledge. The member can now make payments toward this pledge.
9.5 Recording Pledge Payments
- Open a pledge record.
- Click Add Payment.
- Enter the Amount, Date, Payment Method, and a Reference note.
- The system tracks total paid vs. pledged amount, showing the remaining balance.
reference field in pledge payments (varchar 100) can be used to store transaction reference numbers from banks or mobile money services for reconciliation purposes.Blog & Audio Sermons
Publish bilingual blog posts and share sermon audio/video via Google Drive.
10.1 Blog Posts
- Navigate to Admin > Blog.
- Click Add Post.
- Enter the Title in English and optionally in Swahili for bilingual display.
- Write the Content in English and optionally in Swahili using the rich text editor.
- Select a Category for the post.
- Upload a Cover Image (recommended 1200x630px).
- Set the Status: Draft or Published.
- Click Save. Published posts immediately appear on the public church page.
10.2 Audio Sermons
WatuChurch uses Google Drive as the storage backend for sermon audio and video files. This avoids large file uploads to your server while providing reliable streaming.
- Upload your sermon audio or video file to Google Drive.
- Set the file's sharing to "Anyone with the link can view".
- Copy the file ID from the Google Drive sharing URL.
- Navigate to Admin > Audio and click Add Sermon.
- Enter the Title, Speaker, Date, and Description.
- Paste the Google Drive File ID.
- Select whether this is an Audio or Video file.
- Save. The sermon appears on the public page with an inline player.
Player Features
- Audio mode: Displays an inline audio player with play/pause, seek, and volume controls.
- Video mode: Displays an embedded video player.
- Toggle: Visitors can switch between audio and video views if both are available.
Testimonies & Prayer Requests
Manage public testimony submissions and prayer request tracking with approval workflows.
11.1 Testimonies
Public Submission
Visitors and members can submit testimonies through the public church page:
- On the public page, scroll to the Testimonies section.
- Click Share Your Testimony.
- Enter your Name, Phone or Email, and your Testimony text.
- Submit the form. The testimony enters a moderation queue.
Admin Approval
- Navigate to the testimonies management page in the admin panel.
- View pending testimonies in the queue.
- Read each testimony and decide to Approve or Reject.
- Approved testimonies appear on the public church page for all visitors to see.
- Rejected testimonies are archived with an optional reason.
11.2 Prayer Requests
Public Submission
Anyone can submit a prayer request via the public church page:
- On the public page, find the Prayer Requests section.
- Click Submit Prayer Request.
- Enter your Name, Contact information, and your Prayer Request.
- Submit the form.
Status Tracking
Prayer requests flow through a lifecycle:
| Status | Description |
|---|---|
| Pending | Newly submitted, awaiting review |
| In Prayer | Being actively prayed for by the prayer team |
| Answered | Marked as answered with a note |
| Closed | Closed without further action |
Guest Offerings
Accept and manage offerings from non-members through the public church page.
12.1 How Guest Offerings Work
The Guest Offerings feature allows visitors who are not registered members to give financially to the church through the public church page. This is especially useful for online visitors, occasional attendees, and people who discover the church through its website.
12.2 Public Submission Process
- The visitor navigates to the Giving section on the public church page.
- They enter their Name, Phone Number or Email.
- They select the Payment Method (Cash, Mobile Money, Bank Transfer).
- They enter the Amount and optionally add a Note.
- They submit the form. The offering enters a confirmation queue.
12.3 Admin Confirmation
- Navigate to Admin > Guest Offerings.
- Review pending guest offering submissions.
- For each submission, verify the payment was received.
- Click Confirm to accept the offering and add it to the church's income records.
- Or click Reject if the payment could not be verified.
Assets & Inventory
Register church assets and track consumable inventory with stock level alerts.
13.1 Asset Registration
- Navigate to Admin > Assets.
- Click Add Asset.
- Enter the Asset Name (e.g., "Sound System - Main Hall").
- Select the Category (e.g., Electronics, Furniture, Vehicles, Musical Instruments).
- Enter the Purchase Date and Purchase Price.
- Set the Location (where the asset is physically located).
- Add the Condition (New, Good, Fair, Poor).
- Optionally add a Serial Number or Asset Tag.
- Click Save Asset.
13.2 Inventory Tracking
Inventory tracking is designed for consumable items that need to be restocked:
- Navigate to Admin > Inventory.
- Click Add Item.
- Enter the Item Name (e.g., "Communion Cups", "Printing Paper").
- Set the Current Quantity.
- Set the Minimum Stock Level (threshold for low-stock alerts).
- Enter the Unit (pieces, boxes, reams, etc.).
- Save the item.
Stock Alerts
When an inventory item's quantity drops below its minimum stock level:
- A Low Stock badge appears next to the item in the inventory list.
- The item appears in the Low Inventory Alerts section of the Admin Dashboard.
- Admins are notified of items that need restocking.
Recording Stock Changes
Update inventory quantities when items are consumed or restocked:
- Open an inventory item.
- Click Add Stock (for restocking) or Reduce Stock (for consumption).
- Enter the quantity and a note explaining the change.
- The system maintains a complete audit trail of all stock movements.
Reports
Generate financial reports, giving statements, growth analytics, and annual summaries.
14.1 Financial Reports
Financial reports provide detailed breakdowns of income and expenses:
- Income Report: Breakdown by category, payment method, and time period.
- Expense Report: Breakdown by category with budget comparison.
- Income vs. Expense: Side-by-side comparison showing net surplus or deficit.
- Bank Account Statements: Transaction history for each bank account.
- Mobile Money Statements: Transaction history for each mobile money account.
All financial reports support date range filtering and can be exported or printed.
14.2 Giving Statements
Generate individual or bulk giving statements (see Chapter 5.3 for detailed steps). Giving statements include tithes and any income entries linked to a member.
14.3 Growth Reports
Track your church's membership growth over time:
- New Members per Month: Bar chart showing registration trends.
- Total Members Over Time: Cumulative growth line chart.
- Demographics: Gender, age, and marital status distribution.
- Department Distribution: How members are spread across departments.
- Ministry Distribution: Participation levels in each ministry.
14.4 Annual Reports
The annual report combines all metrics into a comprehensive yearly overview:
- Total income, expenses, and net balance for the year.
- Month-by-month financial breakdown.
- Total tithes collected and top contributors.
- Membership statistics (new, active, total).
- Event attendance summary.
- Budget vs. actual comparison.
Settings
Configure every aspect of your WatuChurch installation, from branding to integrations.
super_admin role can access Settings. This page controls critical system configuration.15.1 Church Information
- Church NameOfficial name displayed across all pages and documents
- LogoUpload your church logo (PNG/JPG, used in headers, ID cards, certificates)
- Banner ImageHero image for the public church page
- AddressPhysical address of the main church building
- PhonePrimary contact phone number
- EmailPrimary contact email address
- Registration No.Official church registration or tax ID number
15.2 System Settings
- Default LanguageEnglish or Swahili (applies to new members)
- CurrencyDisplay currency for all financial data (e.g., TZS, KES, USD)
- Date FormatHow dates are displayed throughout the system
- NSSF Employee RateStored as whole number (e.g.,
10for 10%) - NSSF Employer RateStored as whole number (e.g.,
10for 10%) - NHIF Employee RateStored as whole number (e.g.,
3for 3%) - NHIF Employer RateStored as whole number (e.g.,
3for 3%)
15.3 Departments
Create and manage church departments. Each department can have a name and description. Members are assigned to departments during registration.
- Click Add Department.
- Enter the Name (e.g., "Worship", "Youth", "Children", "Outreach").
- Optionally add a Description.
- Click Save.
15.4 Ministries
Similar to departments, ministries are service groups within the church:
- Click Add Ministry.
- Enter the Name (e.g., "Ushering", "Choir", "Media Team", "Sunday School").
- Click Save.
15.5 Cell Groups
Set up small groups / cell groups for fellowship and discipleship:
- Click Add Cell Group.
- Enter the Group Name, Leader (link to a member), and Meeting Location.
- Click Save.
15.6 Branches
For multi-campus churches, create branches to track membership and activities separately:
- Click Add Branch.
- Enter the Branch Name and Location.
- Click Save.
15.7 Income & Expense Categories
Create the categories used when recording income and expenses. These categories are also used in budget creation and financial reports.
15.8 SMS Configuration
- SMS ProviderSelect your SMS gateway provider
- API KeyAuthentication key from your SMS provider
- Sender IDThe name that appears as the sender (e.g., "MYCHURCH"). Must be registered with your provider
15.9 WhatsApp Configuration
- WhatsApp APIWhatsApp Business API endpoint and credentials
- Phone NumberThe WhatsApp Business phone number
15.10 Social Media & YouTube
- FacebookFacebook page URL
- InstagramInstagram profile URL
- Twitter/XTwitter/X profile URL
- YouTube ChannelYouTube channel URL (enables live service detection on the public page)
- YouTube API KeyRequired for live stream detection feature
15.11 Pastor & About
Configure the information displayed on the public page's "About" section:
- Pastor NameSenior pastor's full name
- Pastor PhotoUpload pastor's professional photo
- Pastor BioShort biography in English and/or Swahili
- Church HistoryAbout the church (bilingual)
- Vision / MissionChurch vision and mission statements
15.12 AI Configuration
WatuChurch includes AI-powered features that can be configured here:
- AI ProviderSelect the AI service provider
- API KeyAPI key for the AI service
- FeaturesEnable/disable specific AI features
15.13 Language Settings
Control the system-wide default language and manage translation preferences for the bilingual interface.
Pastor Panel
A dedicated interface for the senior pastor with pastoral tools and oversight.
16.1 Accessing the Pastor Panel
- Navigate to
/pastor/in your browser. - Enter your Email and Password (same credentials as admin login).
- You must have the
pastororsuper_adminrole to access this panel.
16.2 Pastor Dashboard
The pastor dashboard provides a pastoral perspective of the church, including:
- Membership Overview: Total members, new members this month, birthdays this week.
- Financial Summary: Quick view of income, expenses, and tithes (view-only).
- Prayer Requests: Recent prayer requests submitted by members and visitors.
- Upcoming Events: Events scheduled in the coming week.
- Attendance Trends: Recent service attendance numbers.
16.3 Pastoral Features
- Member Directory: Search and view member profiles with contact information.
- Prayer Request Management: Review, respond to, and update prayer request statuses.
- Testimony Review: Approve or reject submitted testimonies.
- Announcements: Create and publish church announcements.
- SMS/WhatsApp: Send pastoral messages to the congregation.
Member Portal
Self-service portal for church members to access their profile, giving history, projects, and more.
17.1 Portal Login
The Member Portal uses a Phone + PIN authentication system, separate from the admin email/password login:
- Navigate to
/portal/. - Enter your registered Phone Number.
- Enter your PIN (member number serves as the initial PIN).
- Click Login.
portal_member_id session key, completely separate from the admin user_id session.17.2 Portal Dashboard
After login, members see their personal dashboard with:
- Welcome message with their name and profile photo.
- Church projects filtered by visibility level (public projects visible to all, member-only projects visible to logged-in members, partner projects visible only to partners).
- Recent giving history summary.
- Announcements from the church.
- Quick links to common actions.
17.3 Giving History
Members can view their complete giving history including tithes, offerings, and project donations. The history can be filtered by date range and exported.
17.4 Submit Giving
Members can submit giving records that are then reviewed by an admin:
- Click Submit Giving in the portal menu.
- Select the Type (Tithe, Offering, Project Donation).
- Enter the Amount and Date.
- Select the Payment Method and add a Reference number.
- Submit. The giving entry goes to the admin for confirmation.
17.5 Profile Management
Members can update their own profile information:
- Update contact details (phone, email, address)
- Change profile photo
- Update language preference
- Change PIN
17.6 Family
View family members linked to your profile. See basic information about your spouse, children, and other linked family members.
17.7 Announcements
View church announcements published by the admin team. Announcements can include text, images, and attached files.
17.8 Documents
Access church documents shared with members. Documents have access levels that control who can view them:
| Access Level | Who Can View |
|---|---|
all | All portal users |
admin | Admin users only |
pastor | Pastor and admin users |
treasurer | Treasurer and admin users |
17.9 Prayer Requests
Members can submit prayer requests directly from the portal. These enter the same moderation queue as public submissions but are automatically linked to the member's profile.
17.10 AI Usage
If AI features are enabled, members can access AI-powered tools such as Bible study assistance, sermon notes, and spiritual guidance features.
Public Church Page
Your church's public-facing website with all essential information for visitors and members.
The public church page is the primary website for your church, accessible to anyone on the internet without login. It is a single-page design with multiple sections that scroll vertically.
18.1 Hero Section
The top of the page features a full-width hero banner with:
- Church banner image (configured in Settings)
- Church name in large text
- A welcome message or tagline
- Call-to-action buttons (e.g., "Join Us This Sunday", "Give Online")
18.2 About Section
Displays the church's story, vision, mission, and leadership information including the pastor's bio and photo (all configured in Settings).
18.3 Events Section
Upcoming events are automatically displayed from the events module. Visitors can see event names, dates, times, locations, and descriptions.
18.4 YouTube Live Detection
If a YouTube channel and API key are configured in Settings, the public page automatically detects when the church is broadcasting live on YouTube. When a live stream is detected:
- A prominent "LIVE NOW" badge appears.
- The YouTube live stream player is embedded directly on the page.
- When no live stream is active, the most recent uploaded video may be displayed instead.
18.5 Blog Section
Recent blog posts are displayed with their cover images, titles, and excerpts. Visitors can click through to read the full post. Posts are displayed in the visitor's preferred language if bilingual content is available.
18.6 Audio Player Section
Sermon audio and video files from Google Drive are presented with an inline player. Visitors can browse sermons by date and speaker, and listen/watch directly on the page.
18.7 Giving Form
The online giving form allows visitors and members to submit offerings (see Chapter 12: Guest Offerings). This section displays giving instructions, available payment methods, and bank/mobile money account details.
18.8 Project Pledges
Public-visibility church projects are displayed with their progress bars, descriptions, and target amounts. Visitors can pledge to support projects directly from the public page.
18.9 Prayer Requests
A submission form for prayer requests (see Chapter 11.2). Visitors can share their prayer needs confidentially.
18.10 Testimonies
Approved testimonies are displayed for visitors to read. A "Share Your Testimony" button opens the submission form.
18.11 Member Search
A search feature allowing visitors to verify if someone is a member of the church. Displays only basic public information (name and photo).
18.12 Contact Section
Church contact information including address, phone number, email, and an optional Google Maps embed showing the church location.
18.13 Social Media Links
Links to all configured social media profiles (Facebook, Instagram, Twitter/X, YouTube) appear in the footer of the public page.
Progressive Web App (PWA)
Technical details on the PWA implementation, service worker, and offline capabilities.
19.1 Web App Manifest
WatuChurch includes a manifest.json file that enables PWA installation. The manifest defines:
- App Name: Your church name (from Settings).
- Short Name: Abbreviated name for home screen icons.
- Icons: Multiple icon sizes (72x72 to 512x512) for different devices.
- Theme Color: Matches your church's primary color.
- Background Color: Splash screen background.
- Display Mode: Standalone (app-like, no browser chrome).
- Start URL: The page that loads when the app is launched.
19.2 Service Worker
The service worker manages caching and offline functionality:
Caching Strategies
| Strategy | Used For | Behavior |
|---|---|---|
| Cache First | Static assets (CSS, JS, images) | Serves from cache immediately; updates cache in background |
| Network First | API calls, dynamic pages | Tries network first; falls back to cache if offline |
| Stale While Revalidate | Font files, icons | Serves cached version while fetching update in background |
19.3 Offline Page
When the user is offline and requests a page not in the cache, WatuChurch displays a custom offline page informing the user of the connectivity issue and suggesting they try again when connected.
19.4 Icon Generation
For the best PWA experience, generate app icons in the following sizes from your church logo:
| Size | Purpose |
|---|---|
| 72x72 | Low-resolution home screen |
| 96x96 | Standard home screen |
| 128x128 | Web store / install dialog |
| 144x144 | Windows tile |
| 152x152 | iOS home screen |
| 192x192 | Android home screen |
| 384x384 | High-resolution display |
| 512x512 | Splash screen / store listing |
Receipts & Payment Vouchers
Auto-generated receipts for money received and payment vouchers for money paid out — printable, shareable, and audit-safe.
20.1 Receipts — Overview
Every time money is received, a Receipt is automatically created. Receipts are generated for the following transaction types:
- Income records (both member-linked and guest income)
- Tithes
- Pledge Payments
- Guest Offerings (once confirmed by admin)
- Project Donations
Each receipt gets a unique number (e.g. RCT-2026-0001), a secure public URL with a 40-character token, and is attached to its source transaction.
20.2 Receipt Layout
The public receipt page displays:
- Church logo, name, address, phone, and email (from Settings)
- Unique receipt number and date
- Donor name and contact (phone / email)
- Amount paid in large coloured type
- Payment method (Cash, Bank, M-Pesa, Airtel, HaloPesa, Mixx, etc.)
- Reference / transaction ID (if entered)
- Purpose and notes
- Verification badge and Bible verse
- Print and Share buttons (hidden when printed)
20.3 Donor Info for Non-Member Income
When recording income that is not linked to a registered member (e.g. guest contributions, external donations), the Income form now includes three optional fields:
- Donor Name
- Donor Phone (enables SMS / WhatsApp delivery)
- Donor Email (enables email delivery)
These fields are only shown when no member is linked. They ensure non-member donors still get a proper receipt.
20.4 Delivering a Receipt
Every row on the Receipts page has four delivery actions, available when the relevant contact is on file:
| Method | How it works | Requirement |
|---|---|---|
| Opens the receipt page; browser print dialog produces a clean printable layout. | Always available | |
| SMS | Sends an SMS to the donor with a link to open the receipt. Uses your Wanzago SMS balance. | Donor phone number on file |
| Opens WhatsApp (wa.me) with a pre-filled thank-you message and the receipt link, ready to send. | Donor phone number on file | |
| Sends a styled HTML email with the receipt details and a "View Full Receipt" button linking to the public page. | Donor email on file |
20.5 Receipts Management Page
Navigate to Finance → Receipts. From here you can:
- See all receipts ever issued, sorted by date
- View totals: total receipts, total amount, SMS sent, email sent, not yet sent
- Filter by type (Income, Tithe, Pledge Payment, Guest Offering), date range, or status (Valid / Voided / SMS sent / SMS not sent / Email sent)
- Search by receipt number, donor name, or phone
- Resend any receipt via SMS, WhatsApp, or Email at any time
- Click the eye icon to open and view or re-print the receipt
20.6 Configurable Receipt Numbering
Go to Settings → Numbering Formats to customise the receipt number format:
- Prefix — your custom 2-5 letter prefix (default:
RCT). Churches often use letters from their name (e.g.DFCfor Disciples Fellowship Church). - Format template — combine placeholders to build any format.
- Reset sequence — Every Year or Never.
Available placeholders:
| Placeholder | Meaning | Example |
|---|---|---|
{PREFIX} | Your custom prefix | RCT |
{YYYY} | 4-digit year | 2026 |
{YY} | 2-digit year | 26 |
{MM} | 2-digit month | 04 |
{SEQ} | Sequence (no padding) | 1, 2, 3... |
{SEQ4} | 4-digit padded | 0001 |
{SEQ5} | 5-digit padded | 00001 |
{SEQ6} | 6-digit padded | 000001 |
Examples:
{PREFIX}-{YYYY}-{SEQ4}→RCT-2026-0001{PREFIX}/{YY}/{SEQ4}→RCT/26/0001R{YY}{MM}{SEQ5}→R260400001
20.7 Protected Deletion — Voiding Receipts
When a tithe, income, pledge payment, or guest offering is deleted, the system follows Protected Deletion:
- The source record is deleted normally.
- The associated receipt is NOT deleted — instead it is VOIDED with the reason automatically noted.
- The voided receipt keeps its number forever and appears with a red
VOIDEDbadge.
This preserves the audit trail so no receipt number is ever lost or unaccounted for, which is critical during audits. Admins (super_admin and admin) can also void any receipt manually:
- Open Finance → Receipts.
- Click the red ban icon () next to the receipt.
- Enter a reason for voiding (required).
- Click Void Receipt. The entry is logged to the Audit Log.
20.8 Payment Vouchers — Overview
On the expense side, every time money is paid out a Payment Voucher is automatically created. A payment voucher is the formal internal document showing that a payment was authorised and delivered. Auditors expect it.
Each voucher gets a unique number (e.g. VCH-2026-0001), a secure public URL, and is linked to its source expense.
20.9 Voucher Layout
The public voucher page is styled in red tones (to distinguish it from receipts) and includes:
- Church letterhead with logo and contact details
- Voucher number and date (top-right)
- Payee details (name, phone, email)
- Amount in figures and in words (e.g. "Five hundred thousand only")
- Payment method, category, reference, and description
- Three signature blocks: Prepared By, Approved By, Received By
- Print and Share buttons
- If voided: a large
VOIDEDwatermark diagonally across the page
20.10 Capturing Payee Contacts
The Expense form (Finance → Expenses → Record Expense) now includes two optional fields alongside the existing Payee field:
- Payee Phone — enables SMS and WhatsApp delivery of the voucher.
- Payee Email — enables email delivery.
- Payment Reference — optional transaction ID, cheque number, or similar.
If a payee is paid regularly (staff, recurring supplier), enter their phone/email once and the voucher will be sendable every time you record a new payment to them.
20.11 Supplier Receipt Upload
The Expense form already supports uploading a photo or PDF of the supplier's original receipt or invoice. This remains unchanged. With vouchers now auto-generated, every expense has two supporting documents:
- Our Payment Voucher — the document we issue, signed by the payee
- The Supplier Receipt — the document given to us, uploaded and attached
20.12 Delivering a Voucher
Vouchers can be delivered exactly the same way as receipts: Print, SMS, WhatsApp, or Email. Actions are available from the Vouchers management page.
20.13 Vouchers Management Page
Navigate to Finance → Payment Vouchers (new menu item under Finance). Features:
- List of all vouchers ever issued
- Stats: total vouchers, valid amount, SMS sent, email sent, voided
- Filter by status (Valid / Voided / SMS sent / SMS not sent / Email sent), date range
- Search by voucher number, payee name, or phone
- Resend or re-print any voucher
- Manual void (admin / super_admin only) with required reason
A View Vouchers quick link also appears at the top of the Expenses page, and a money-check icon is shown on each expense row linking directly to its voucher.
20.14 Configurable Voucher Numbering
Under Settings → Numbering Formats, voucher numbering is configured independently from receipts. All the same placeholders apply. Default: VCH-2026-0001.
20.15 Protected Deletion — Voiding Vouchers
When an expense is deleted:
- The expense record is removed from the expenses table
- Any bank or mobile-money transactions tied to it are reversed (balance is restored)
- The attached supplier receipt file (if any) is deleted from disk
- The associated voucher is VOIDED — its number and row remain in the Vouchers page, flagged with a red
VOIDEDwatermark and the reason shown in the banner
Certificates & Letters
Issue formal certificates and letters to members from a template library, with church logo and signatures.
21.1 Overview
The Certificates module lets you issue two distinct kinds of documents:
- Certificates — achievement / membership / milestone documents (Baptism, Confirmation, Marriage, Membership, Dedication, etc.)
- Letters — formal written correspondence (Recommendation, Introduction, Ordination, Transfer, etc.)
Both use the church's logo, header styling, and the senior pastor's name and signature block. Both are stored and can be re-printed at any time.
21.2 Issuing a Certificate
- Navigate to Certificates → click Issue Certificate.
- Select the member (or type a name for a non-member).
- Choose a certificate template from the dropdown (Baptism, Marriage, etc.).
- Fill in any template-specific fields (e.g. baptism date, spouse name, witness name).
- Click Preview to see the generated certificate with church logo and styling.
- Click Issue & Print. The record is saved and a printable page opens.
21.3 Issuing a Letter
- Navigate to Certificates → click Issue Letter.
- Select the recipient and letter template.
- The letter editor opens with the template pre-filled. Edit the body as needed.
- Add the recipient address, reference number, and salutation.
- Preview and print.
21.4 Issued History
The Certificates → Issued tab shows every certificate and letter ever generated, with filters by type, member, and date. You can re-open, re-print, or revoke any issued document.
Event Invitation Cards
Send beautiful invitation cards for any event via SMS — to members, partners, or guests — choosing from 20+ templates.
22.1 Overview
When you create an event, the system can generate a unique invitation card link for every recipient. Recipients receive an SMS containing a personalised message and a clickable link. When they tap the link, a full-screen, beautifully-designed invitation card opens in their browser.
22.2 Card Templates
Over 20 professionally-designed card templates are bundled with the system, covering different occasions:
- General Sunday Service, Midweek Service
- Conference / Convention / Crusade
- Wedding / Baby Dedication / Funeral Service
- Youth Meeting / Women's Fellowship / Men's Fellowship
- Christmas / Easter / New Year
- Fundraising / Harvest / Thanksgiving
- Graduation / Baptism / Ordination
- ...and more
You select the template when creating or editing the event — a thumbnail preview is shown so you can pick the right visual style.
22.3 Recipient Groups
When sending invitations, you choose one or more recipient groups:
- Members — all registered members with a phone number
- Partners — members flagged as partners (is_partner = 1)
- Non-members / Guests — a list of phone numbers pasted or imported
22.4 Sending Invitations
- Create or edit an event under Events → Events.
- Select the invitation card template.
- Click Send Invitations.
- Choose recipient groups and/or paste guest phone numbers.
- Review the SMS preview (message + link) and the estimated cost against your SMS balance.
- Click Send. A progress bar shows delivery; each recipient gets a unique link.
22.5 Tracking
Each invitation card link is tokenised and tracked. From the event page you can see:
- Total invitations sent
- How many cards were opened (link clicked)
- Responses: Attending / Maybe / Not Attending if the card has RSVP buttons
Audit Log, Backup & Bulk Operations
System-wide improvements for accountability, resilience, and efficient data management.
23.1 Audit Log
Every important action taken by an admin user is recorded in the Audit Log. This includes:
- Creating, editing, or deleting records (members, income, tithes, expenses, pledges, etc.)
- Voiding receipts and vouchers
- Issuing certificates and letters
- Sending bulk SMS / WhatsApp / invitations
- Changing critical settings
- Login / logout events
Access the log via Settings → Audit Log. Each entry shows:
- Timestamp (date and time)
- User (who did it)
- Action type (create / edit / delete / void / send / login / etc.)
- Target table and record ID
- Before / after values (for edits)
23.2 Database Backup
The system includes scheduled database backups configured under Settings → Backup.
- Daily — a full DB dump every night
- Weekly — once per week on the configured day
- Monthly — on the 1st of each month
All three frequencies are handled by a single cron job running daily at 02:00. The script checks the configured frequency internally and produces the backup on the appropriate schedule. Backups are stored in a secured folder outside the public web root, named with timestamps (e.g. backup-2026-04-16-02-00.sql.gz).
Manual backup & download
You can also trigger a backup on demand:
- Go to Settings → Backup.
- Click Generate Backup Now.
- Once complete, click Download to save the SQL file locally.
23.3 Export Data (CSV / Excel)
Most list pages now include an Export button for offline analysis. Supported exports:
- Members (CSV)
- Income / Tithes / Expenses / Pledges (CSV & Excel)
- Receipts and Vouchers (CSV)
- Attendance reports (CSV)
- Financial statements (PDF & Excel)
23.4 Bulk Delete Members
When preparing to import a fresh member list (e.g. first-time import), you may need to clear existing members. The Members page has a bulk selection feature:
- Use the checkboxes to select multiple members (or Select All).
- The selection counter updates live (e.g. "12 selected").
- Click Delete Selected in the bulk actions dropdown.
- Confirm the deletion dialog. Action is logged to Audit Log.
23.5 Editable Finance Records
All finance records can be edited after creation (previously some were read-only):
- Income — edit amount, category, date, donor info
- Tithes — edit amount, month, year, payment method
- Expenses — edit amount, category, payee, description (bank/mobile-money balances are re-calculated automatically)
- Pledges & Pledge Payments — edit amount, due date, payment reference
Each edit is recorded in the Audit Log with the before/after values for full traceability.
23.6 Pledge Payment Automation
When a pledge payment is recorded, the system now automatically:
- Creates a row in
pledge_payments - Creates a corresponding Income record under the "Pledge Payment" income category (auto-created if missing)
- Generates a Receipt tied to the payment
- Updates the pledge's running total and status (partial / fully paid)
This eliminates manual double-entry and ensures pledge payments show up in your income reports automatically.
23.7 Gender Restriction (Male / Female only)
Gender fields across the entire system (member registration, staff HR, payroll, public giving form, portal profile, etc.) accept only Male or Female. The "Other" option has been removed, reflecting the standard practice of church record-keeping.
23.8 SMS Balance Enforcement
The system tracks a local SMS balance in the settings table. Previously SMS sends were attempted regardless of balance, causing silent failures when the external provider ran out of credit. Now:
- Every send decrements the local balance (one credit per recipient per segment)
- Sends are blocked client-side AND server-side once the balance is 0
- A prominent banner on SMS pages warns when balance is low (
< 100) - When topping up with Wanzago, update the balance in Settings → SMS Configuration to match
23.9 WhatsApp Module Removed
The standalone WhatsApp bulk SMS page has been removed in favour of simpler, per-contact WhatsApp sharing built into receipts, vouchers, and invitation cards. Each of those pages has a green WhatsApp button that opens wa.me with the link pre-filled. This works for any phone with WhatsApp installed and does not require a WhatsApp Business API account.
23.10 Announcements & Member Portal Updates
Administrators can publish Announcements (text + images + attachments) that appear on the Member Portal and are optionally SMS'd to all members. Members see them on their Portal dashboard.
New Features (v2.2)
Security, analytics, communication, and UX upgrades released April 2026.
24.1 Two-Factor Authentication (2FA) — SMS or Email
Both the admin dashboard and the member portal now support 2FA with a choice of delivery channel. Each login (after username/password or phone/PIN) can require a 6-digit one-time code sent via SMS or Email.
Enabling 2FA
- Open Settings → System Settings.
- Scroll to Privacy & Public Page.
- For Admin Dashboard 2FA and Member Portal 2FA, each has two dropdowns:
- Enabled / Disabled — master switch.
- Delivery method — SMS (uses SMS credits, sent to the user's phone) or Email (sent to the user's email address).
- Click Save System Settings.
24.2 Premium ID Card Design
The member ID card generator (Members → [Member] → ID Card) has a new default template: Royal Navy Gold.
- Deep navy gradient background with gold accents and double-frame border.
- Member name, number, church name rendered in gold.
- Front shows the photo on the left and a QR code on the right.
- Back shows the church logo, return address, emergency contact, signature line, and a barcode at the bottom.
- QR codes and barcodes are rendered as SVG (vector) — infinite zoom without pixelation, perfect for professional card bureau printing.
- 23 other templates (Indigo, Gold, Emerald, Tanzania Flag, Custom Background, etc.) remain available from the Template gallery.
24.3 Public Member Verification Page
The front QR code on each ID card links to /verify.php. Anyone with a phone camera can scan the card and instantly see whether the cardholder is a valid member.
What the scanner sees
- Church header with logo
- Large VERIFIED banner (green) for active members, SUSPENDED / INACTIVE / NOT FOUND for others
- Member photo, full name, and member number
- Status chip
Security
Verification URLs contain a signed HMAC token — not the plain member number — so an attacker cannot guess sequential IDs. The token is generated at card-print time using a secret auto-created per tenant and stored in settings.
verify_secret setting. All existing cards become invalid immediately and a new secret is auto-generated on next use.24.4 Live Radio on Public Church Page
The public church page now features a prominent Live Radio section directly under the hero banner. It streams Pastor Sebastian Marondo Radio via Zeno.fm (stream.zeno.fm/pjmj8ptln8rvv).
- Gradient navy-to-red card with pulsing "LIVE ON AIR" badge.
- Large circular Play button with breathing glow animation.
- On mobile, the player stacks vertically with a huge tap target and "TAP TO LISTEN" button.
- Bilingual labels (English / Kiswahili).
24.5 Prayer Request Visibility Column
The admin Prayer Requests page (/admin/prayer-requests.php) now shows an additional Visibility column between Category and Status:
- Public — visible to all portal members
- Private — visible only to the requester and admins
- Anonymous indicator — shown below the visibility badge if the member chose to hide their name
24.6 Visitors Analytics
A new Visitors Analytics page (Admin → Reports → Visitors Analytics) tracks how members and guests interact with /portal/ and /member/.
What's tracked
Every page view is logged with IP, user agent, URL, referer. Unique IPs are geo-located once (cached forever) using ip-api.com. Bots and DNT (Do-Not-Track) requests are skipped; same page/session reloads within 10 seconds are debounced.
Dashboard widgets
- Summary cards — Total Views, Unique Visitors, Avg Session Length, Member Visits.
- Date range filter — Today / 7 days / 30 days / 90 days.
- Area filter — All / Member Portal / Public Church Page.
- Traffic over time chart — line graph per day (or per hour if "Today").
- Top pages — most-visited URLs with view & visitor counts.
- Top countries (with flags) and Top cities.
- Device / Browser / OS / Traffic Source pies.
- Top external referrers (if any).
- Recent Visitors feed — paginated list of the last hits with IP, location, device, page, and source.
Traffic source types
- direct — typed URL, bookmark, WhatsApp/email link (no referer)
- internal — navigated from another page on your own site
- search — came from Google, Bing, Yahoo, etc.
- social — came from Facebook, Instagram, TikTok, WhatsApp, Telegram, Twitter/X, LinkedIn, YouTube
- referral — came from another website (not search or social)
24.7 Collapsible Sidebar Menu
The admin left-hand sidebar is now organized into 9 collapsible accordion groups:
Finance
Income, Expenses, Tithes, Pledges, Budgets, Giving Submissions, Banks, Mobile Money, Receipts, Payment Vouchers
People
Members, Visitors
Events & Attendance
Events, Attendance, Cell Group Attendance
Church Life
Prayer Requests, Testimonies, Projects, Certificates, Documents
HR & Payroll
Staff & Volunteers, Leave, Payroll, Salaries, Loans & Advances, Payroll Settings
Assets & Inventory
Assets, Inventory
Content & Comms
Blog, Audio Sermons, Announcements, SMS, AI Management
Reports & Analytics
Reports, Giving Statements, Growth Analytics, Annual Report, Visitors Analytics
Administration
Users, Data Import, Settings, Audit Log, Export Data, Backup
- Accordion behavior: only one group is open at a time.
- Auto-open: on page load, the group containing the current page opens automatically.
- Memory: the last-opened group is remembered per browser via
localStorage. - Dashboard and User Manual remain ungrouped (at the top and bottom).
24.8 Pull-to-Refresh (Installed PWA)
When the app is installed as a PWA on a phone (via "Add to Home Screen"), users can now pull down from the top of the page to refresh the content — the same familiar gesture used by Instagram, Twitter, and Gmail.
- A circular spinner indicator appears as the user pulls.
- Rubber-band physics give a natural feel.
- Releases past 75 px commit the refresh; shorter pulls snap back.
- Only active in installed PWA mode — regular browser tabs still use the browser's native pull-to-refresh.
24.9 Batched Bulk SMS with Live Progress Bar
Sending SMS to 500+ recipients previously risked PHP timeouts and partial sends. Bulk SMS via CSV or the Send tab now runs as a batched AJAX job with live progress.
How it works
- Admin fills the CSV or Send form and clicks Send.
- System validates contacts, checks SMS balance, stores the job in session.
- Browser redirects to a Sending progress page with a large progress bar.
- Browser fires AJAX calls to
send_batch.phpin batches of 15 messages. - Each batch completes in 15-30 seconds, well inside PHP's timeout.
- Progress bar fills from 0% to 100% live; Sent / Failed / Remaining counters update.
- Admin can pause at any time.
- On completion, bar turns green and a View History button appears.
Resilience
- Network errors auto-retry after 3 seconds without losing progress.
- Credits are deducted and audit-logged once at the end of the job.
- Works for 500 or 5,000 recipients — only real ceiling is your SMS credit balance.
Support & Troubleshooting
Common issues, solutions, and how to get help.
20.1 Common Issues
| Issue | Possible Cause | Solution |
|---|---|---|
| Cannot log in to Admin | Wrong email or password; account locked | Double-check credentials. Contact super_admin to reset your password. Clear browser cache and cookies. |
| Cannot log in to Portal | Wrong phone number or PIN | Verify phone number matches the one in the member database. Initial PIN is the member number. Contact admin to reset PIN. |
| SMS not sending | Invalid API key; insufficient credits; provider downtime | Check SMS configuration in Settings. Verify API key. Check credit balance. Contact SMS provider if service is down. |
| WhatsApp messages failing | Invalid API configuration; phone number not registered | Verify WhatsApp Business API settings. Ensure the WhatsApp number is properly registered and verified. |
| Payroll calculations seem wrong | Incorrect NSSF/NHIF rates; outdated PAYE brackets | Check NSSF and NHIF rates in Settings (stored as whole numbers, e.g., 10 for 10%). Verify PAYE brackets in the database are current for the effective year. |
| Member photo not uploading | File too large; wrong format; server permission | Ensure photo is JPG or PNG and under 2MB. Check server upload directory permissions. |
| YouTube live detection not working | Invalid API key; quota exceeded; wrong channel ID | Verify YouTube API key and channel URL in Settings. Check Google Cloud Console for API quota usage. |
| CSV import errors | Wrong column names; encoding issues; duplicate data | Download and use the provided CSV template. Ensure UTF-8 encoding. Check for duplicate phone numbers. |
| Reports show wrong data | Incorrect date filters; uncategorized transactions | Verify the date range. Ensure all income/expenses have categories assigned. Check if transactions are linked to the correct bank/mobile money accounts. |
| PWA not installing | Not served over HTTPS; manifest errors | PWA requires HTTPS. On iOS, use Safari only. Check browser console for manifest errors. |
| Audio sermons not playing | Google Drive sharing settings; invalid file ID | Ensure the Google Drive file is shared as "Anyone with the link." Verify the file ID is correct. |
| Giving statement shows incomplete data | Tithes not linked to member; date filter too narrow | Ensure tithes are recorded with the correct member selected. Widen the date range. Check that income entries linked to the member have proper dates. |
| Settings page not accessible | Insufficient permissions | Only the super_admin role can access Settings. Contact your super admin to get access or make changes. |
| Budget not matching actuals | Categories mismatch; uncategorized entries | Ensure budget categories exactly match the income/expense categories used for transactions. |
| Slow page load times | Large images; many records; server resources | Optimize uploaded images. Clear old data exports. Contact support if server resources need upgrading. |
20.2 Getting Help
If you encounter an issue not covered above, or if the suggested solution does not resolve the problem, contact WatuChurch support:
Phone Support
+255 756 24 02 02
Available Monday-Friday, 8:00 AM - 6:00 PM (EAT)
Email Support
sales@watuchurch.com
Response within 24 hours on business days
Website
www.watuchurch.com
Knowledge base, updates, and online chat
WhatsApp Support
+255 756 24 02 02
Quick responses for urgent issues
20.3 Requesting New Features
WatuChurch is continuously improving. To request a new feature or enhancement:
- Email sales@watuchurch.com with the subject line "Feature Request."
- Describe the feature you need and how it would benefit your church.
- Our team will review the request and respond with a timeline if the feature will be added.
20.4 System Requirements
| Component | Minimum Requirement |
|---|---|
| Browser | Chrome 90+, Firefox 88+, Safari 14+, Edge 90+ |
| Internet | Stable broadband connection (1+ Mbps) |
| Screen | Responsive design works on 320px+ width screens |
| JavaScript | Must be enabled in browser |
| Cookies | Must be enabled for session management |