A comprehensive look at everything Benevofy offers to help you manage your association efficiently.
Collect payments from members via their preferred mobile money service with automatic reconciliation.
Accept payments from MTN Mobile Money users across Uganda.
Support Airtel Money payments for Uganda-based members.
Accept M-Pesa payments for Kenya-based associations and members.
Monitor payment status in real-time with webhook-based notifications.
Payments are automatically matched to events and member accounts.
Support UGX, KES, USD, and TZS with automatic currency handling across payments, budgets, and revenue reports.
Complete member lifecycle management from registration to retirement.
Full database of members with search, filter, and export capabilities.
Comprehensive member profiles with customizable biodata fields per association.
Members select from 15 predefined industries for better networking and grouping.
Track alumni class year and graduation year for cohort-based activities.
Generate beautiful digital ID cards with QR codes for verification.
Register and manage member dependants with full biodata support.
Generate invite codes for new members with role pre-assignment.
Import members from CSV/Excel files and export data for reporting.
Organize members into dynamic or manual groups for targeted communications and networking.
Auto-updating groups based on criteria like industry, class year, or graduation year.
Create custom groups with full control over membership (committees, teams).
Organize by Class/Cohort, Industry/Sector, Graduation Year, or Occupation.
Assign colors and icons to groups for easy visual identification.
Send messages and create events for specific member groups.
View group statistics, member counts, and activity metrics.
Create professional surveys to collect feedback, opinions, and data from members.
Text, textarea, radio, checkbox, dropdown, rating, scale, yes/no, NPS, date, email, number.
Pre-built templates for common surveys: satisfaction, event feedback, polls.
Enable anonymous surveys for honest feedback on sensitive topics.
View response counts, charts, average ratings, and individual responses.
Send surveys to all members, specific roles, or custom groups.
Set start and end dates for survey availability.
Members receive both in-app and email notifications automatically when a survey is published.
Create, manage, and automate events with full payment tracking.
Create events with details, amounts, categories, and registration settings.
Set up recurring rules to auto-generate monthly, quarterly, or yearly events.
Track who has registered and paid for each event.
Monitor attendance with QR code check-in and manual tracking.
Organize events by custom categories with color coding.
Set event amounts in UGX and KES simultaneously.
Upcoming events split into "All Events", "Not Paid", and "Paid" tabs with live badge counts so members instantly see what they still owe.
Required/administrative events always sort to the top of the Upcoming list so members cannot miss them.
Events with payment deadlines within 5 days show a blinking red badge counting down the days remaining.
The entire event card pulses with a red border when a payment deadline is 5 days or fewer away and the member has not yet paid.
Admins and members can pay for another member via mobile money directly from the event card — select the member from a searchable dropdown.
Members can pay for their own events instantly from their digital wallet (UGX or KES) without needing a mobile money prompt. Wallet payments are self-only.
Every completed payment triggers an automatic PDF receipt — branded with the association logo — attached directly to the payment confirmation email. No manual receipt generation needed.
Beautiful digital tickets with QR codes, multiple ticket types, and a dedicated scanner for admission control.
Issue tickets in bulk to all registered members or issue single tickets to individual attendees from the admin panel.
Support for General, Attendance, Meal, and VIP ticket types — each with independent pricing and inclusions.
Mark tickets as including meal and/or drinks so staff can verify entitlements at the event.
Choose from 12+ professional ticket designs — Corporate, Concert, Gala, Boarding Pass, VIP, and more.
Auto-generated QR code tickets for every event registration.
Built-in QR scanner for fast admission processing at events.
Real-time dashboard showing check-in progress and statistics.
Generate discount coupons for events and track redemption.
Prevent duplicate entries with real-time ticket validation.
Full GAAP-compliant double-entry accounting — from Chart of Accounts through Year-End Close, with AR/AP aging, fixed assets, bank reconciliation, and budgeting.
37 pre-configured GAAP accounts (1xxx Assets, 2xxx Liabilities, 3xxx Equity, 4xxx Revenue, 5xxx Expenses). Fully customisable per association.
Every completed payment, refund, disbursement, and wallet movement posts balanced double-entry journals automatically — no manual bookkeeping required.
Record adjustments, accruals, and bank interest with a debit-equals-credit validator.
Running-balance history for any account over a date range — what treasurers and auditors use to trace balances.
Three core financial statements with currency filter, date-range picker, and print layouts.
GAAP cash flow using the indirect method — operating, investing, financing sections with net change in cash.
Receivables and payables bucketed 0-30 / 31-60 / 61-90 / 90+ days. Drives collections and supplier payment priority.
Asset register with straight-line depreciation schedules. One-click monthly depreciation run posts journal entries automatically. Disposal records gain/loss.
Tick book transactions cleared on the statement. Shows outstanding deposits/cheques and saves an audit record once the difference is zero.
Post closing entries that zero revenue/expense accounts and roll net profit or loss into Retained Earnings. Locks the closed period.
Record expense payments (payee, amount, expense account, method) with auto-journaling.
Create budgets in UGX or KES, add line items by category, and monitor planned vs. actual expenditure.
Variance per line item, utilisation percentage, and notes on differences.
Capture underlying assumptions and tie every budget to a fiscal year for period-accurate planning.
Complete audit log of every accounting action for regulator and board review.
Benevofy is owned and operated by Waesta Enterprises U Ltd. Waesta is registered in-app as its own tenant so super admin and platform staff have genuine full access to every module.
Super admin and Waesta staff see every module — dashboard, events, wallet, savings, biodata, accounting, reports, billing, settings — exactly as a tenant member would, with no preview banner and no switcher.
Feature toggles and subscription expiry gates are bypassed for the five Waesta staff roles, so platform verification is never blocked by plan state.
staff_technical (engineering), staff_support (helpdesk), staff_sales (onboarding), staff_operations (reconciliations & comms), staff_management (leadership).
Super admin sees Waesta's own books and data only. Other tenants' member data is never auto-scoped into the super admin session.
The accounting module carries Waesta's own chart of accounts, journals, trial balance, P&L, balance sheet, and fixed asset register — completely separate from any tenant.
Member savings accounts and multi-currency digital wallets with automated contribution reminders.
Individual member savings accounts with balance tracking.
Configurable penalty rules for missed savings contributions.
Managed withdrawal process with approval workflows.
Multi-currency digital wallet for members to store funds.
Use your wallet balance to pay for events instantly — no phone prompt, no wait. The system auto-selects the currency with sufficient balance.
Maintain separate UGX and KES wallet balances. The events page shows both balances in real time when the wallet payment tab is active.
A daily cron sends members automated in-app and email reminders at 3 days, 1 day, due-today, and overdue milestones when their savings contribution is approaching — so no one misses their cycle.
Download or print a branded PDF savings statement for any date range — formatted for sharing with auditors or for personal records.
Complete history of all savings and wallet transactions.
Detailed savings reports by member, period, and status.
Recurring membership due cycles — configure once, generate obligations automatically, and track payment compliance.
Configure dues as monthly, quarterly, or yearly with a custom due day within the cycle.
One-click generation creates a dues obligation for every active member for the current cycle — no manual entry.
Customise the dues name (e.g. "Annual Subscription"), amount, and currency per association.
Set a grace period in days before overdue status is applied. Optional fixed or percentage late fees auto-append after the grace window.
Admins can mark individual obligations as paid (with reference) or waive them with a documented reason.
Every member sees their own dues history with status badges (Pending / Paid / Waived / Overdue) in a personal dues register.
A daily cron sends targeted reminders at 7-day, 3-day, 1-day, due-today, and overdue milestones — deduplicated so members never receive the same alert twice.
Overview dashboard shows total obligations, amount collected, pending amounts, and overdue count at a glance.
Record, publish, and track association meetings — agenda, minutes, automated attendance, late fines, and action items in one place.
Support for General Meetings, Executive Committee, AGM, Special Meetings, and more.
Draft agenda before the meeting and fill in minutes during or after — with a rich text area for detailed notes.
Bulk-register attendance with Present / Absent / Apology / Proxy / Late status for every member per meeting.
Members open the meeting page on their phone and tap Check In. Arrival is timestamped automatically; GPS location is optionally verified against the venue radius.
Admin or steward uses the Scanner → Meeting mode and scans a member's digital ID card. Arrival is recorded instantly with no manual data entry.
Each meeting has a configurable grace window (default 15 minutes). Members who arrive within the grace period are marked Present; those who arrive after are automatically marked Late.
If a fine amount is set on the meeting, a fine is staged automatically when a late member checks in. No charge hits the member until an admin reviews and approves it.
Admins review staged fines in the Late Fines tab — approve (converts to a dues obligation) or waive with a documented reason. Members receive an in-app notification either way.
Per meeting, choose Self Check-in only, QR Scan only, or Both — enforced by the API so the wrong method is rejected.
Track follow-up actions: description, assigned member, due date, and completion status.
Flag meetings as virtual and record the video call link directly on the meeting record.
Keep minutes as drafts until approved, then publish — published meetings are visible to all association members.
Record quorum requirement and whether it was met for each meeting.
Overview of all meetings with type badges, status, attendance count, and pending action items.
Maintain a formal record of disciplinary cases with case numbers, hearings, resolutions, and confidential notes.
Every case gets a sequential case number (e.g. DISC-2026-001) automatically assigned — no manual numbering.
Categorise cases as Misconduct, Financial, Attendance, Code of Conduct, or Other.
Mark cases Minor, Moderate, Serious, or Gross Misconduct for prioritisation.
Track cases through Open → Under Review → Hearing Scheduled → Resolved / Dismissed / Appealed.
Mark sensitive cases as confidential — only admin and secretary roles can view them; members see only their own non-confidential cases.
Admins and secretaries add timestamped notes at each stage, creating a full chronological case record.
Members can see non-confidential cases that relate to them, maintaining transparency within governance boundaries.
Record hearing dates, resolution notes, and case outcomes for full audit compliance.
Comprehensive financial and operational reporting with multi-currency support.
Revenue summary cards display totals in both UGX and KES simultaneously for associations operating in both currencies.
Drill into payment history by event, member, date range, and payment method.
Track attendance, registration rates, and revenue per event.
Individual and aggregate participation rates, contributions, and compliance metrics.
Savings balances, contribution history, and wallet transaction summaries.
Download any report as CSV for further analysis in Excel or Google Sheets.
Track member share capital contributions — minimum thresholds, running balances, and dashboard alerts to keep every member compliant.
Every member has an individual share capital account. Transactions are recorded with running balances per member per tenant.
Admins configure a minimum shares balance (per currency). Members below the minimum see a clear warning on their dashboard.
A contextual banner on the member dashboard distinguishes "no shares at all" (critical red) from "below minimum" (amber warning) — so members know exactly what action is needed.
Admins view all member share balances in a searchable, sortable table with totals, transaction counts, and last-activity timestamps.
Complete per-member shares ledger with debit/credit amounts, running balance, reference, and timestamps — filterable by date range.
Configure the minimum shares balance, currency, and payout/contribution rules for your association from Settings → Shares.
When Levy Recovery is enabled, unpaid bereavement levies can be auto-deducted from a member's share balance — reducing the levy balance rather than requiring a separate payment.
Shares operate in the tenant's base currency — no hardcoded currency symbols anywhere in the module.
Manage the full lifecycle of life membership applications — from submission and recommendation through committee review, approval, referral-back, and permanent status.
Eligible members submit a life membership application from the sidebar. The form collects personal declaration, years of service, and a supporting statement.
An existing life member or official can recommend the applicant, adding credibility to the application before committee review.
"Pending → Recommended → Approved / Rejected / Referred Back" — every stage transition is logged with a timestamp and actor.
The committee can return an application for additional information using the "Refer Back" status, with specific notes sent to the member explaining what is needed.
Rejected applications record a formal rejection reason, giving the member a documented explanation and an audit trail for governance.
Approved life members receive a permanent "Life Member" status badge visible on their profile and digital membership ID.
The life membership admin panel shows all applications by stage, with action buttons for Approve, Reject, and Refer Back in a single view.
Every status change — who acted, when, and what notes were provided — is stored for committee and governance review.
Automate bereavement levy collection — admins set a per-member levy on any event, the system generates individual payment obligations, and unpaid levies can be deducted from member share balances.
When creating or editing an event, admins set a levy_per_member amount and an optional levy_deadline. This is tenant-specific and visible only when Levy Recovery is enabled.
Once a levy event is published, payment obligations are automatically generated for every active member of the association.
Members see a dedicated Levy tab on the Events page listing their pending, paid, and deducted levy obligations with amounts and deadlines.
Members can pay their levy directly via mobile money (MTN, Airtel, M-Pesa) from the levy detail card — same payment flow as regular events.
If a member has sufficient share capital, an admin can deduct the levy amount directly from their shares balance instead of requiring a cash payment.
Each obligation tracks: Pending, Paid (mobile money), or Deducted (from shares). Admins see a real-time compliance dashboard per event.
An optional deadline date drives urgency badges and reminder logic — members see countdown timers and receive the standard reminder cron at 7/3/1-day milestones.
Every levy payment and deduction is logged with full details — useful for welfare fund reconciliation and annual reports.
Run transparent member polls and votes directly inside the platform — results visible in real time.
Admins create polls with a question, description, start/end dates, and up to 10 answer options.
Active members vote with a single click — one vote per member enforced by the system.
Enable anonymous voting so members can vote candidly without their choice being linked to their identity.
Results update in real time after each vote — bar chart with vote counts and percentages per option.
Polls move through Draft → Active → Closed. Only active polls accept votes; closed polls show final results.
See who has voted and who hasn't — useful for quorum checks and follow-up reminders.
Every vote is timestamped and logged for governance transparency.
Reach your members instantly via SMS, email, and WhatsApp with templates and bulk messaging.
Send SMS messages to all members or targeted groups.
Compose and send professional emails with HTML templates.
Send bulk WhatsApp messages to members via the Meta Business API — straight from the compose screen without any extra setup.
Purchase and manage SMS credits through the platform.
Save and reuse message templates for common communications.
Monitor delivery status of sent messages.
Configure your association name as the SMS sender.
A daily cron job automatically sends in-app and email reminders to members who have not paid for events as deadlines approach — at 7 days, 3 days, 1 day, and on the day of the deadline.
Each reminder milestone (7-day, 3-day, 1-day, overdue) is sent exactly once per member per event. Re-running the cron never sends duplicate notifications.
Reminder emails adapt their subject line, badge colour, and CTA label based on urgency: blue for 7-day, orange for 3-day, red for final notice, and "OVERDUE" for missed deadlines.
Manage member welfare requests including condolence, medical, and emergency support.
Members can submit support requests with documentation.
Multi-level approval process for welfare requests.
Track disbursement of support funds to members.
Configurable categories: condolence, medical, emergency, etc.
Complete history of all support requests and outcomes.
Reports on support disbursements, frequency, and budgets.
Platform staff management for super admins to handle support and tenant oversight.
Create and manage platform staff accounts with granular permissions.
Three levels: Basic (view only), Advanced (limited edits), Full (complete access).
Assign staff to specific tenants or grant access to all tenants.
Monitor tickets handled, response time, satisfaction ratings, and tasks completed.
Complete audit trail of all staff actions with timestamps and IP addresses.
Organize staff by department: Support, Technical, Sales, Operations, Management.
Belong to multiple associations with a single account and switch between them instantly.
Choose which association to access at login with a beautiful picker UI.
Switch between associations from the dashboard without logging out.
Different roles and permissions in each association you belong to.
Complete data separation — each association's data is fully independent.
Every association switch is securely logged for accountability.
One email, one password, multiple organizations — seamless experience.
Configurable multi-level approval chains for sensitive operations.
Define approval chains with multiple steps and role-based approvers.
Create custom workflows for expenses, memberships, welfare, and more.
Approvers are notified instantly when action is needed.
Approvers can add notes and reasons when approving or rejecting.
Track every request from submission to final approval or rejection.
Full history of every approval action with timestamps and user details.
Comprehensive backup system with system-wide and per-tenant scope options.
Back up the entire system or a specific tenant's data independently.
Generate timestamped SQL dump files with a single click.
Download backups as .sql files for external storage or migration.
Auto-delete old backups after a configurable number of days.
Track all backups with file size, tables, rows, and creation date.
Every backup creation and deletion is recorded in the audit trail.
Enterprise-grade security with fine-grained access control.
TOTP-based 2FA with backup codes for enhanced account security.
Granular permissions with customizable roles per association.
Complete audit trail of all user actions and system changes.
Sensitive data encrypted at rest and in transit.
Automatic session expiry and secure cookie handling.
Login attempt tracking with IP address logging.
Install Benevofy on any device and use it offline like a native app.
Add Benevofy to your phone or desktop for quick native-like access.
Previously visited pages load from cache even without internet.
Receive real-time push notifications for payments, events, and messages.
The app updates automatically in the background — always up to date.
Cached assets and smart caching strategies for near-instant page loads.
Works on Android, iOS, Windows, macOS, and Linux — any modern browser.
Register your organization online and get started without waiting — fully automated with KYC compliance.
Fill in your organization details and admin contact in a simple multi-step form.
Secure OTP-based email verification to confirm your identity.
Choose from Starter, Professional, or Enterprise plans with monthly, quarterly, or yearly billing.
Upload registration certificate and admin ID for payment gateway compliance.
Pay via MTN, Airtel, or M-Pesa — your account activates instantly on payment.
Automated tenant setup: roles, admin account, biodata config, and invoice — all in seconds.
Built-in intelligent assistant powered by Waesta that helps members navigate the platform and find answers instantly.
The chatbot knows which page you're on and suggests relevant help topics.
Get immediate answers to common questions about payments, events, reports, and more.
One-tap access to the most frequently asked questions for your current page.
Comprehensive FAQ covering dashboard, biodata, payments, reports, and troubleshooting.
Accessible from any page via the floating chat button — no waiting for support.
Keyword-based matching with fuzzy search finds the best answer for your question.
System-driven alerts that ensure no member misses a deadline — across the dashboard, in-app, and email.
A live scrolling red ticker bar on every dashboard (admin and member) lists all events with deadlines within 7 days that the member has not paid for, with days-left badges and a direct Pay Now link.
Daily cron job fires reminders at four milestones: 7 days (early notice), 3 days (upcoming), 1 day (final/urgent), and overdue (day-of/day-after deadline).
Reminder notifications appear in the bell notification centre with urgency-appropriate titles so members see them on every page load.
Rich HTML reminder emails include an event detail table (name, deadline, amount), a coloured urgency badge, and a Pay Now button linking directly to the unpaid events tab.
The event_reminder_log table ensures each milestone is dispatched exactly once per member per event — safe to run multiple times per day.
The cron script runs via CLI or HTTPS with a secret token (CRON_SECRET env var), preventing unauthorised triggering.
Professional, on-brand emails to staff, tenants, and members — with a WYSIWYG editor designed for non-coders.
Curated templates across onboarding, product, lifecycle, newsletters, growth, education, events, social proof, research, relationship, service, billing, compliance, and holidays — one click to load.
Quill WYSIWYG editor with a Simple/HTML toggle. Non-technical staff compose like Word while power users can still edit raw HTML.
Templates use bracketed placeholders like [Feature Name] or [Deadline]. The composer auto-detects them and renders amber input fields for live, error-proof customisation.
{{name}}, {{org}}, {{brand}}, {{app_url}}, {{year}}, and {{sender}} are substituted per recipient — every email feels individually addressed.
Every email is wrapped in the Benevofy green-gradient shell with logo, content card, and footer — so staff cannot accidentally ship off-brand messages.
Toggle a full-fidelity preview of the final email before sending, with token substitution applied to sample data.
Send to active staff, all tenant admins, members of one tenant, a specific role, or a custom bulk email list — with de-dup and address validation.
PHPMailer via SMTP with proper headers, reply-to, and per-recipient personalisation to avoid spam folders.
The platform remembers every public holiday so you never have to — and sends themed greetings automatically.
New Year, International Women's Day, Good Friday, Easter Sunday, Easter Monday, Labour Day, Madaraka Day, Uganda Martyrs Day, Heroes Day, Uganda Independence, Mashujaa Day, Jamhuri Day, Christmas, and Boxing Day.
Covers both Ugandan and Kenyan public holidays — relevant across your East African associations.
Easter-relative holidays are computed automatically each year using the built-in ecclesiastical algorithm — no manual calendar updates.
Active staff, tenant admins, tenant contact persons, and all members receive the greeting — deduped by email.
Each holiday has its own greeting copy, wrapped in the green-brand shell with the Benevofy logo.
holiday_greeting_log enforces UNIQUE(slug, date) so a cron retry can never double-send.
A Windows Task Scheduler job checks the calendar every morning — only fires on configured dates and silently exits otherwise.
Personal, branded birthday wishes to every member — their actual birthday, every year.
Matches month and day of each active user's date_of_birth — so wishes land on the real day regardless of birth year.
Each wish is individually rendered with the member's name, their association's name, and brand tokens.
Every wish uses the Benevofy shell with logo — making it feel like it came from a thoughtful admin, not an automated script.
birthday_wish_log enforces UNIQUE(user_id, year) — no matter how many times the cron runs, each member is wished once per year.
Failed sends (invalid email, SMTP error) are logged with a reason so admins can diagnose issues without silent data loss.
Runs every morning via Task Scheduler — skips any day with no birthdays in a single SQL query.
Super admins can nudge or remove stale tenant applications directly from the Applications tab.
Application cards show age in days and turn amber at 7+ days so slow-moving registrations are immediately visible.
Send a branded reminder email to an applicant with a direct resume link to their unfinished signup — no retyping data.
A daily cron sends onboarding reminders to incomplete tenant_registrations at three milestones with deduplication.
Each card shows reminder count and the timestamp of the last reminder sent.
The Delete button only appears when an application is at least 30 days old — preventing accidental removal of active signups.
Deleting an application purges KYC documents from disk and removes the tenant_registrations row — no orphan files left behind.
Register your organization in minutes — verify, upload documents, pay, and go live.