Administration

Settings & admin tools

Everything else — users, roles, branding, addons, exchange rates, scheduled jobs, audit logs, subscription, impersonation.

Users & roles

Settings → Users. Invite teammates by email; each invitation is a single-use link. The system role catalog:

  • SUPER_ADMIN — everything, including impersonation and audit log access.
  • ADMIN — full operational access; no impersonation.
  • PROPERTY_MANAGER — scoped to assigned properties.
  • ACCOUNTANT — full accounting + reports, read-only on operations.
  • MAINTENANCE — work orders + complaints + inspections only.
  • OWNER — owner portal only; their properties.
  • TENANT — tenant portal only; their lease.

Need a custom role? Settings → Roles → New Role. Pick per-module permissions (view, create, edit, delete). Role assignment on a user takes precedence over the built-in role for module permissions.

Branding

Settings → Branding. Upload your logo, set primary brand color (drives CSS variables across the entire dashboard + portals + PDF receipts), choose accent palette. Live preview shows the dashboard with your branding applied.

Addons

Settings → Addons. Modular features that aren't installed by default: Website, EFRIS, WhatsApp, Push Notifications. Each addon has its own settings page once enabled. Plan tier gates which addons you can turn on.

Exchange rates

Settings → Exchange Rates. Manage FX rates per (from → to) currency pair with effective dates. The accounting engine uses the most recent rate on or before each GL entry's posting date. Active rates are tagged; historical rates are preserved for restating reports.

Scheduled exports

Settings → Scheduled Exports. Cron-driven CSV / Excel exports delivered by email or to an S3 bucket. Useful for nightly accounting sync to QuickBooks / Sage, owner statement archives, or compliance dumps.

  1. Pick the entity (RentPayment, Expense, GLEntry, Tenant, Lease).
  2. Set the cron expression (cron-parser validates).
  3. Optional filters: date range relative to run time, property scope.
  4. Delivery: email recipients or S3 + bucket path.
  5. The job runs server-side via BullMQ; failures retry and notify the org admins.

Audit logs

Settings → Audit Logs (SUPER_ADMIN only). Every write through the API records who, when, what entity, before/after values, IP, and user agent. Filter by entity, action, user, or date range. Records are append-only — no UI delete.

Impersonation

Admin Tools → Impersonate (SUPER_ADMIN only). Issues a short-lived single-use token, signs you in as the target user, and tags the session as impersonated. Logged in audit logs. Stop via the banner at the top of every page.

Subscription & billing

Settings → Subscription. Shows your current plan, trial status, renewal date, and invoice history. Pay open invoices via Flutterwave checkout. If a payment fails, the dunning sweep moves you to PAST_DUE after 3 days, then EXPIRED at day 10 — the dashboard goes read-only on EXPIRED until billing resumes.

Background jobs

Settings → Jobs. Visibility into every cron / queue job: monthly rent generation, late fee application, payment reminders, scheduled exports, owner statement generation, EFRIS retries, dunning sweep, subscription invoice generation. Each job shows last run, next run, duration, success/failure, and a manual Run Now button.