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.
- Pick the entity (RentPayment, Expense, GLEntry, Tenant, Lease).
- Set the cron expression (cron-parser validates).
- Optional filters: date range relative to run time, property scope.
- Delivery: email recipients or S3 + bucket path.
- 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.