logo
E

Features

Financial Management

Ecclesia provides a unified payment system for recording all financial transactions within a parish.

Payment Model

All payments flow through the unified Payment model, which supports multiple purposes and methods.

Payment Purposes

PurposeDescription
OFFERINGWeekly/Sunday offerings
TITHEMonthly tithe payments
DONATIONGeneral donations
MASS_INTENTIONMass intention stipends
CAMPAIGNDonation campaign contributions
OTHERCustom payment types

Payment Methods

MethodDescription
CASHPhysical cash payment
BANK_TRANSFERBank transfer
CARDCredit/debit card
ONLINEOnline payment (Paystack)
POSPoint of sale terminal
CHEQUECheque payment

Recording Payments

Standard Payment

// Record an offering
await createPayment({
  amount: 5000,
  purpose: "OFFERING",
  month: 1, // January
  paymentMethod: "CASH",
  payerName: "John Doe",
  organizationId: session.user.organizationId,
});

Payment on Behalf

Record a payment made by someone on behalf of another person:

await createPayment({
  amount: 10000,
  purpose: "TITHE",
  paymentMethod: "BANK_TRANSFER",
  payerName: "Jane Smith",
  onBehalfOf: "Mary Johnson",
  organizationId: session.user.organizationId,
});

Mass Intention Payment

Link a payment to a mass intention:

await createPayment({
  amount: 2000,
  purpose: "MASS_INTENTION",
  massIntentionId: "intention-uuid",
  paymentMethod: "CASH",
  payerName: "Peter Brown",
  organizationId: session.user.organizationId,
});

Receipt Generation

Every payment automatically receives a unique receipt number. Receipts can be:

  • Viewed on the payment detail page
  • Downloaded as PDF
  • Printed directly

Donation Campaigns

Create targeted fundraising campaigns with:

  • Target amount and deadline
  • Progress tracking
  • Public contribution pages
  • Per-campaign donation recording

Custom Payment Types

Organizations can define custom payment types beyond the built-in purposes. These are managed through the PaymentType model and are organization-scoped.

Access Control

RolePermissions
PARISH_ADMINFull access: create, view, edit, delete, reports
PARISH_SECRETARYCreate, view, edit payments
PARISH_STAFFCreate payments, view own entries
OUTSTATION_ADMINFull access within outstation
PARISHIONERView own payment history