📋 Documentation — v2.30

CWFMS Wealth Manager

Complete reference for installing and using CWFMS — the self-hosted personal and business wealth management system built for Caribbean businesses and individuals.

📦 v2.30.0 🐘 PHP 7.4+ 📁 Flat-file JSON 🌐 24 jurisdictions
Get CWFMS — $179.00 → ← Product Page

Requirements

ComponentRequirement
PHP7.4 or higher (8.x recommended)
Extensionscurl, json, mbstring, zip
DatabaseNone — flat-file JSON storage. No MySQL or SQLite required.
Web ServerApache / LiteSpeed / Nginx. Standard shared hosting supported.
Writable dirsdata/ and all sub-directories must be writable by the web server

CWFMS uses a flat-file JSON store — no database server needed. Deploy on any cPanel shared hosting in minutes.

Installation

  1. Purchase and download cwfms-system.zip from your customer account.
  2. Upload and extract to your desired path — CWFMS supports subdirectory installs (e.g. yourdomain.com/bo/).
  3. Ensure the data/ directory is writable:
    chmod 775 data/
  4. Visit the install path in your browser — CWFMS auto-detects a fresh install and prompts for setup.
  5. Complete the setup wizard and activate your license key from Admin → Settings → License.

First-Run Setup

On first access CWFMS detects no settings file and walks you through initial configuration:

  1. Company name and currency — your base currency is set here and used for all stored amounts.
  2. Administrator account — email and password. Store it securely.
  3. Select modules — enable personal, business, or both.
  4. Complete Setup — data directories are created and you are redirected to the dashboard.

Base currency warning: Change the base currency only before entering data. Existing stored amounts are not retroactively converted.

Net Worth

Track all personal assets and liabilities in one place — bank accounts, property, vehicles, loans, credit cards, and investment portfolios. The net worth dashboard shows your total position with trend charts over time.

  • Assets: bank accounts, property, vehicles, investments, other
  • Liabilities: loans, mortgages, credit cards, other debts
  • Net worth = Total Assets − Total Liabilities
  • Historical tracking with configurable snapshots

Budgets & Goals

Set monthly budgets per category and track actual spending against targets. Savings goals track progress toward a target amount — linked to a savings account for automatic balance mirroring, or updated via manual contributions.

Investments

Full investment portfolio tracker — stocks, bonds, real estate, crypto, unit trusts and funds. Per-holding: instrument, units, buy price, current price, unrealised P&L and asset class allocation. Live portfolio summary KPIs including principal invested, market value, and net portfolio value.

Companies

CWFMS supports multiple companies under one install. Each company has its own transactions, employees, accounts, invoices, customers, and reports. Switch between companies from the navigation — data is fully isolated per company.

Business Cashflow

Record all business income and expenses with full categorisation. The business dashboard shows income vs. expenses, net cashflow, and trend analysis per company. Recurring transaction templates automate regular entries.

FieldDescription
DateWhen the transaction occurred
AmountPositive = income, negative = expense
CategoryRevenue, COGS, OPEX, Other Income/Expense
AccountWhich bank or cash account this affects
RecurringSet frequency for automatic template-based entries

Payroll

Process payroll with statutory deductions across 24 Caribbean tax jurisdictions. Supports Simple Pay for contractors. Each payroll run generates a net pay figure and posts automatically as a business expense transaction.

If you also use Folio, payroll expenses can be pushed automatically from Folio to CWFMS when a payroll run is marked as paid. See Folio CWFMS Integration →

Invoicing

Generate professional invoices per company — add line items, apply tax rates, and track payment status. Invoices are stored as JSON and can be exported to PDF. Customer records track total revenue per client.

Quick Sale POS & Petty Cash

The Quick Sale POS provides a simple point-of-sale interface for retail transactions — search products, set quantities, apply discounts, and complete sales in a business context. Petty cash tracks small cash expenses outside the main ledger.

The POS is enabled per-company. Go to Settings → Cart & POS → toggle for the relevant company.

Tax & GCT

The GCT (General Consumption Tax) tracker records tax collected and paid per company per period. The self-employed tax module helps freelancers and sole traders organise income records across 24 supported Caribbean tax jurisdictions for quarterly and annual filings.

Roles & Access

RoleAccess
Admin/OwnerFull access — all modules, settings, user management, all companies
AccountantFinancial access — transactions, reports, payroll for assigned companies
HREmployee records, payroll view, leave — no financial transactions
EmployeeOwn payslip and leave balance view only

Reports & Exports

  • Business cashflow report — by company, date range, category
  • Payroll reports — gross, deductions, net per employee
  • Invoice reports — outstanding, paid, by customer
  • Net worth history — snapshot over time
  • All exports available as PDF and CSV

REST API

CWFMS includes a lightweight REST API for integrations. Enable it in Settings → Integrations → API and generate an API key.

EndpointDescription
GET /api/v1/statusAPI health check
GET /api/v1/companiesList companies
GET /api/v1/business/transactionsList business transactions for a company
POST /api/v1/business/transactionsCreate a business transaction
GET /api/v1/business/employeesList employees for a company
POST /api/v1/business/invoicesCreate an invoice

All requests require: Authorization: Bearer {api_key}

The Folio CWFMS integration uses this API to post payroll expenses automatically. See Folio Docs → CWFMS Integration.

Settings

SettingDescription
Company NameDisplayed in header, reports and exports
Base CurrencyStorage currency for all transactions — set once before entering data
APIEnable REST API and generate key for integrations
LicenseActivate and manage your CWFMS license key
BackupsAutomated rolling backups with 5-backup retention via cron
WebhooksFire HTTP callbacks on key events (invoice created, payroll processed etc.)

Security

  • Passwords hashed with bcrypt — never stored in plaintext
  • Session regeneration on login — prevents session fixation
  • CSRF tokens on every POST
  • API key auth via Authorization: Bearer header
  • Data directory blocked from web access via .htaccess
  • All user input escaped with htmlspecialchars() before rendering

Troubleshooting

IssueResolution
Blank page on first loadEnsure data/ is writable (chmod 775). Check PHP error log for details.
API returning 401API must be enabled in Settings → Integrations. Check the Bearer token matches the generated key exactly.
API returning 403API is disabled. Enable it in Settings → Integrations → API enabled.
Payroll push from Folio failsConfirm the API is enabled and the API key in Folio matches CWFMS. See Folio Docs.
Currency toggle does nothingCheck browser console (F12) for JS errors. Confirm exchange rates are configured in Settings.
POS not showing for a companyPOS must be enabled per-company in Settings → Cart & POS.
LimitExcept error in .htaccessLimitExcept is incompatible with LiteSpeed. Remove it from .htaccess. Use SecRuleEngine Off for API endpoints if ModSecurity is blocking them.