CW
CWFMS
Documentation
Documentation

CWFMS Wealth Manager
Documentation

Everything you need to set up, configure and get the most from your CWFMS instance — from first deploy to advanced multi-company configuration.

📦 v2.26.94 🐘 PHP 7.4+ 🌍 13 Jurisdictions 🇯🇲 Jamaica-based
📄

CWFMS Setup & Finance Guide — PDF Edition

The complete 22-page offline reference covering every module, all statutory deductions, tax planning, troubleshooting and a monthly workflow checklist.

⬇ Download PDF Guide Contact Support

01 — Getting Started & Initial Setup

CWFMS runs on PHP 7.4+ on standard shared hosting. No database server, Docker or Node.js required — just a web host with PHP and a domain name.

System Requirements

RequirementDetails
PHP7.4 or higher (8.x also supported)
ExtensionscURL, JSON, MBString, OpenSSL
Web serverApache / LiteSpeed / Nginx (cPanel-compatible)
StorageMinimum 50 MB for application + data
DomainAny domain or subdomain (yourname.cwfms.com recommended)
HTTPSStrongly recommended — free via Let's Encrypt

Installation

  1. 1

    Download the zip from your email link or account dashboard after purchase.

  2. 2

    Extract locally — unzip the archive. You will see the full folder structure.

  3. 3

    Upload via cPanel File Manager or FTP — upload the contents of the zip (not the zip itself) to your desired web directory, e.g. public_html/ for root or public_html/cwfms/ for a subdirectory.

  4. 4

    Set permissions — ensure data/ is writable by PHP (chmod 750 or 755). Most cPanel hosts handle this automatically.

  5. 5

    Visit your domain — CWFMS detects first-run and redirects to the setup wizard.

TipUse a subdomain like app.yourdomain.com or finance.yourdomain.com to keep CWFMS separate from your main website. Easy to configure in cPanel → Subdomains.

First-Run Onboarding

The onboarding wizard walks you through essential configuration. Complete each screen before using the system.

  • Admin credentials — set your username and secure password
  • Personal profile — name, timezone and preferred currency
  • First company — create your primary business entity
  • Country & tax jurisdiction — determines payroll and GCT defaults
  • Opening balances — optional: enter starting figures for net worth accuracy

User Roles

CWFMS supports four roles. Each role sees only the modules it needs.

RoleAccess
AdminFull access to all modules, settings, users and companies
AccountantBusiness finance, cashflow, invoices, reports and tax records
HR OfficePayroll, employee records, Simple Pay — no financial reporting
EmployeePersonal finance dashboard only — budgets, goals, net worth

Company & Currency Setup

Every financial record in CWFMS is attached to a company. Even personal finances use a company record — typically your own name as a sole trader.

  • Go to Settings → Companies → Add Company to create a new entity.
  • Set the home currency per company — JMD, USD, TTD and all major currencies supported.
  • The country field determines the payroll tax jurisdiction for that company.
  • Switch between companies at any time using the sidebar Company Selector — no re-login needed.
WarningAlways set the correct country and currency on each company before entering any transactions. These settings affect payroll calculations, GCT rates and report formatting.

02 — Personal Net Worth Tracking

Net worth is your total assets minus total liabilities. CWFMS calculates it automatically from everything you enter and tracks it over time.

Key PointEven if your net worth is negative right now, tracking it regularly is the most important financial habit you can build. The number itself is the first step to improving it.

Adding Assets — Navigate to Personal → Assets

Asset CategoryExamples
Cash & Bank AccountsChequing, savings, mobile money (NCB, Scotiabank, JN)
PropertyLand, home, rental property — use current market value
VehiclesCars, trucks, motorcycles — depreciate over time
InvestmentsStocks, unit trusts, bonds, pension
Business EquityValue of your business stake — link to a company
Other AssetsJewellery, equipment, receivables, cryptocurrency

Adding Liabilities — Navigate to Personal → Liabilities

Liability TypeWhat to Enter
MortgageOutstanding balance — not the original loan amount
Vehicle LoanRemaining balance on car finance
Credit CardTotal balance currently owed across all cards
Personal LoanBank or private loans
Student LoanEducation financing still being repaid
Other LiabilitiesTax owed, hire purchase, family loans
TipFor mortgages: enter the outstanding balance (what you still owe). Your equity is captured automatically as the property asset value minus the outstanding mortgage.

Investments & Portfolio

Go to Personal → Investments → Add Holding. Select the type (Stocks, Unit Trust, Bond, Pension, Crypto, Other), enter quantity, purchase price and current market price. CWFMS calculates unrealised gain/loss automatically.

Update prices monthly — that's sufficient for most investors. The allocation chart shows your wealth distribution across all asset categories.

03 — Budgets & Savings Goals

Navigate to Personal → Budgets → New Budget to create a monthly plan comparing income against planned and actual expenses.

Standard Expense Categories

CategoryWhat to Include
HousingMortgage/rent, maintenance, insurance, property tax
Food & GroceriesSupermarket, market, meal prep
TransportFuel, bus fare, car insurance, maintenance, tolls
UtilitiesElectricity, water, internet, phone
HealthInsurance premiums, medication, doctor visits
EducationSchool fees, books, courses, tuition
EntertainmentDining out, streaming, hobbies, events
Savings TransferAmount moved to savings goals each month
Debt RepaymentLoan and credit card payments beyond minimums
MiscellaneousGifts, charitable giving, unexpected costs
Key PointThe 50/30/20 rule: 50% of take-home to needs, 30% to wants, 20% to savings and debt. Adjust for Caribbean cost of living — housing and utilities often exceed 50%.

Savings Goals

Navigate to Personal → Goals → New Goal. Two goal models exist:

  • Savings Account model — for savings_account category goals. The balance mirrors a linked asset automatically. No manual contributions needed.
  • Contribution model — for all other categories. Record contributions manually. CWFMS shows progress and projects whether you will hit your target date.
Goal Priority Order1. Emergency fund (3 months expenses minimum) · 2. High-interest debt elimination · 3. Short-term goals (under 2 years) · 4. Long-term wealth building (pension, property, investments)

04 — Business Cashflow Setup

The business modules cover cashflow tracking, Quick Sale POS, Petty Cash and Recurring Transactions. Everything resolves per-company — currency, country and tax settings are never shared between companies.

Transaction Fields

FieldDescription
TypeIncome or Expense
AmountIn the company's home currency; foreign currency auto-converted
CategorySelect from your list or create new
DateTransaction date (not entry date)
ReferenceInvoice number, cheque number, or payment reference
NotesClient name, project, description
RecurringMark to set up automatic future entries

Quick Sale (POS)

A lightweight point-of-sale screen for rapid sales recording — ideal for barbers, market vendors, plumbers and service businesses. Navigate to Business → Quick Sale.

InfoQuick Sale records revenue only — it is not a full inventory system. Record cost of goods as a separate expense transaction if needed.

Petty Cash Module

Tracks your on-hand cash float separately from your bank balance. Navigate to Business → Petty Cash. Set an opening float, record payments with categories, top up when low, and reconcile monthly.

Recurring Transactions

Automate regular entries — rent, subscriptions, loan repayments. Navigate to Business → Recurring → New Recurring. Supports Weekly, Bi-weekly, Monthly, Quarterly and Annual frequencies with optional Auto-Post.

05 — Payroll & Simple Pay

The Payroll module handles statutory deductions across 13 supported jurisdictions. Simple Pay covers contractors and irregular payments.

Statutory Deductions — Jamaica (JMD)

DeductionRate
NIS (National Insurance Scheme)Employee: 3% · Employer: 3% (up to ceiling)
NHT (National Housing Trust)Employee: 2% · Employer: 3%
Education TaxEmployee: 2.25% · Employer: 3.5%
PAYE (Income Tax)Tax-free threshold applies; progressive rates above
HEART (where applicable)Employer: 3% of gross payroll
WarningStatutory rates change periodically. CWFMS includes current rates for all 13 jurisdictions in tax_jurisdictions.json. Always verify against the relevant tax authority for the latest figures.

Simple Pay for Contractors

Navigate to Business → Simple Pay → New Payment for one-off or irregular contractor payments.

WarningIf you pay a contractor more than J$1,000,000 in a year, TAJ requires you to withhold and remit tax. CWFMS records the withholding but does not file on your behalf — consult your accountant.

06 — Tax Planning & GCT Records

GCT Tracker

Navigate to Business → GCT Tracker. Records GCT-able sales and purchases, calculates the net GCT position for each return period, and generates summary reports for filing.

WarningGCT is 16.5% from January 2024 on standard-rated supplies in Jamaica. Always verify the current rate with TAJ. Zero-rated items include exports and certain food staples.

Self-Employed Tax Module

Navigate to Personal → Self-Employed Tax. Enter estimated gross income and allowable expenses. CWFMS calculates your estimated taxable profit, tax liability and monthly set-aside figure. Use Reports → Self-Employed Summary as a basis for your S01 return at year end.

13 Supported Jurisdictions

The active jurisdiction is set per company via the Country field. CWFMS ships with pre-configured tax data for all of the following:

JMD🇯🇲 Jamaica
KYD🇰🇾 Cayman Islands
USD🇺🇸 United States
GBP🇬🇧 United Kingdom
CAD🇨🇦 Canada
TTD🇹🇹 Trinidad & Tobago
BBD🇧🇧 Barbados
GHS🇬🇭 Ghana
NGN🇳🇬 Nigeria
ZAR🇿🇦 South Africa
AED🇦🇪 UAE
INR🇮🇳 India
SGD🇸🇬 Singapore

07 — Reports, Exports & Documents

ReportAreaWhat It Shows
Net Worth StatementPersonalAll assets, liabilities and net position
Cashflow StatementBusinessIncome vs expenses over a period
Profit & LossBusinessRevenue, COGS and expenses
Budget vs ActualPersonalPlanned vs real spend by category
GCT SummaryBusiness/TaxOutput tax, input tax, net GCT for a period
Payroll SummaryBusinessEmployee earnings and deductions
Self-Employed TaxPersonal/TaxEstimated annual tax and monthly set-aside
Goals ProgressPersonalAll goals with balance and completion %
Investment PortfolioPersonalHoldings, values and unrealised gain/loss
Expense by CategoryBothSpend breakdown for any period
Transaction LedgerBothFull paginated list with filters

Every report has an Export button: PDF (formatted, print-ready), CSV/Excel (raw data), or JSON (structured, technical).

08 — Multi-Company Configuration

CWFMS supports unlimited companies in one instance with complete data isolation. Each company has its own transactions, payroll, invoices, GCT registration, currency and reporting periods.

Technical NoteCountry and currency always resolve from the currently selected company via companyContext() internally. Never hard-code currency or country in custom reports — always use the system context helpers.

Consolidated Views

MetricDescription
Total Revenue (All Companies)Sum of all income across all entities
Total Expenses (All Companies)Sum of all expenses across all entities
Net PositionConsolidated profit across all businesses
Net Worth (Personal + Business)Personal net worth plus business equity stakes

The consolidated view converts all amounts to your personal home currency using exchange rates set in Settings → Currency Rates. Update rates monthly for accurate reporting.

09 — Cart & POS Module

The Cart & POS plugin turns CWFMS into a full point-of-sale system for retail counters, service desks, food & beverage, and any business that takes in-person payments. Sales post directly to the company ledger and the correct bank or cash account.

Enabling Cart & POS

Go to Settings → Features and enable Cart & POS (requires Business module). A Cart & POS link then appears under the Finance group in each company sidebar. You can also enable or disable it per-company from Cart & POS → Settings.

First-Time Setup

  1. Generate API Key — Cart & POS → Settings → Cart POS API Key → Generate. Copy the key immediately — it is shown once in full then masked.
  2. Map Payment Accounts — Settings → Account Mapping. Link each payment method to a company account (Cash → Petty Cash, Card → Checking). Sales post to these accounts automatically.
  3. Add Products — Products are pulled from Business → Products. Add items with prices, SKUs and stock quantities.
  4. Open a Session — Navigate to Cart & POS and click Open Session. Enter the opening cash float. A session tracks all sales for that shift.

Standalone POS

The standalone POS is a full-screen interface designed for a dedicated terminal or tablet — no sidebar, no CWFMS shell. Access it from Cart & POS → Settings where the URL is shown with an Open → button. Bookmark it on the device. The layout is two columns: product grid on the left, cart and checkout panel on the right.

Processing a Sale

Tap a product card to add it to the cart. Use the −/+ buttons to adjust quantities or ✕ to remove. For unlisted items, use the manual entry bar at the bottom. Apply a discount (percent or fixed) from the discount row. Select a payment method, enter cash tendered if paying cash — change is calculated automatically — then click Charge.

Payment Providers

Three providers are always available with no configuration. External providers appear in the POS only after credentials are saved in Cart & POS → Settings → Payment Providers.

Provider Type Notes
💵 CashOfflineChange calculated automatically
💳 CardOfflineRecords terminal reference — no external processing
🏦 Bank TransferOfflineRecords reference — add bank details in Settings
💳 StripeOnlineCheckout Sessions — redirects to Stripe hosted page
🅿 PayPalOnlineOrders API v2 — redirects to PayPal approval page
🇯🇲 WiPayOnlineCaribbean — JMD, TTD, BBD supported
🟡 AmberPayOnlineJamaican digital payments

Receipt Printing

After every sale a receipt is generated. Three print modes are supported — configure in Cart & POS → Settings → Printer Profile.

Mode How it works Best for
BrowserOpens receipt tab, triggers window.print()Any device — default
NetworkSends ESC/POS over HTTP or TCP to printer IPEpson, Star, dedicated thermal
Web SerialChrome/Edge direct USB — no driver neededUSB thermal on HTTPS site

Sessions & Void

Each cashier opens a session with a cash float and closes it at shift end. View session summaries at Cart & POS → Sessions. Admins can void receipts from the receipt detail page — voiding reverses the transaction, restores stock, and records a reason.

10 — Troubleshooting & Common Issues

Blank page or 500 error on first visit

Check that the data/ directory is writable (chmod 750 or 755). Check your PHP error log for the exact message.

Currency showing incorrectly

The currency always comes from the selected company. Switch to the correct company using the Company Selector in the sidebar.

Payroll deductions seem wrong

Verify the company Country setting — statutory rates load per country. Check Settings → Payroll for the correct rate file and ceiling figures.

GCT return period is off

Set your return frequency (Monthly/Bi-monthly) in Business → GCT Tracker → Settings. Ensure the period start date matches your TAJ registration.

Goal balance not updating

For savings_account category goals, the balance mirrors a linked asset. Check that the goal is linked to the correct asset record in Goal settings.

Budget categories showing as negative

Expense transactions must be recorded with negative amounts. Check that expense entries use minus values.

Cannot log in after first setup

Clear browser cookies and try again. If still stuck, check data/settings.json — if admin_pass is blank, navigate directly to /admin/setup.php.

Exchange rates not converting

Go to Settings → Currency Rates. The rates object must be a flat dictionary {"JMD": 156.25} — not an array of objects. Check JSON formatting carefully.

Backup & Restore

CWFMS stores all data in the data/ directory as JSON files. No database restore needed — just upload the folder contents to restore.

  • Manual backup: Download the entire data/ folder via cPanel File Manager or FTP. Do this at minimum monthly, ideally weekly.
  • Automated backup: Use cPanel's built-in backup scheduler to include your web files in nightly or weekly backups.
  • Before upgrades: Always take a full backup before uploading a new version of CWFMS.
WarningStore backups off-server. A cPanel backup on the same server does not protect you if the server itself has a problem. Use Google Drive, Dropbox or an external drive.

Monthly Workflow Checklist

Follow this routine each month to keep data accurate and reports meaningful.

Personal Finance

  • ☐ Update asset values (property, vehicles, investments)
  • ☐ Reconcile bank account balances in CWFMS
  • ☐ Record all income and expenses for the month
  • ☐ Review budget vs actual — identify any overspending
  • ☐ Make goal contributions and record them
  • ☐ Check net worth vs prior month

Business Finance

  • ☐ Post all outstanding sales and purchase transactions
  • ☐ Reconcile petty cash float
  • ☐ Process payroll for the pay period
  • ☐ Review GCT position (if registered)
  • ☐ Send any outstanding invoices
  • ☐ Chase overdue invoice payments
  • ☐ Run monthly cashflow report

Invoicing

Navigate to Business → Invoices → New Invoice. CWFMS generates branded PDF invoices with GCT line items, payment terms and client records.

Invoice Fields

FieldNotes
ClientSaved to client records — reusable across invoices
Line ItemsDescription, qty, unit price, GCT rate per line
Payment TermsDue date, bank details, payment instructions
CurrencyInherits from company — override per invoice
StatusDraft → Sent → Paid → Overdue (auto-flagged)

Mark invoices as paid to automatically post the corresponding income transaction. Overdue invoices are flagged on the dashboard and trigger alert emails if configured.

Bills & Vendors

Navigate to Business → Bills and Business → Vendors. Bills tracks what you owe to suppliers; Vendors stores supplier profiles for reuse.

  • Create a vendor record once — reuse across all bills
  • Bills track due dates and payment status (Unpaid → Paid)
  • Paying a bill posts the expense transaction automatically
  • Overdue bills appear on the dashboard and in alert emails
  • Filter bills by vendor, date range or status from the Bills list

Customers & Services

Business → Customers stores your client records — used across invoices, receipts and sales history. Business → Services stores your reusable service catalogue for quick invoice line entry.

  • Customer records include name, email, phone, address and tax number
  • Customer revenue history is visible from each customer profile
  • Service items include description, default price and GCT rate — added to invoice lines in one click
  • Both are company-scoped — each company has its own customer and service lists

Import — Bank, Broker & Crypto

CWFMS supports bulk import of historical data from three sources. Navigate to Tools → Import.

Bank Statement Import

Upload a CSV export from your bank. CWFMS maps columns (date, description, debit, credit) and creates transactions in bulk. Duplicates are detected by date + amount + description.

Broker / Investment Import

Import portfolio holdings and trade history from a broker CSV. Maps to the Investments module — holdings, purchase prices and quantities are created automatically.

Crypto Import

Import crypto wallet or exchange transaction history. Supports BTC, ETH and major altcoins. Each transaction is mapped to a crypto asset holding in Personal → Assets.

After any import, review the preview table before confirming — you can exclude rows or correct mappings before they are committed.

Notifications

The bell icon in the top navigation shows system notifications. Configure what triggers a notification at Settings → Alerts.

  • Invoice overdue — flagged when a sent invoice passes its due date
  • Bill due — reminder when a supplier bill is approaching or past due
  • Budget limit reached — when spending hits 80% or 100% of a category budget
  • Goal milestone — when a savings goal hits 25%, 50%, 75% or 100%
  • Payroll due — reminder before the next scheduled payroll run
  • GCT return period ending — 7-day warning before a GCT return period closes
  • Recurring transaction posted — confirmation when an auto-entry is created
  • Cart POS sale completed — logged when a POS sale is finalised

Email notifications use the SMTP configuration in Settings → Email. The monthly summary digest can also be enabled to send a consolidated report at month end.

User Management

Navigate to Settings → Users (Admin only). Add, edit and manage all system users from this page.

Adding a User

  1. Click Add User and enter the name, username and email
  2. Set the role — Admin, Accountant, HR Office or Employee
  3. A temporary password is generated — the user should change it on first login
  4. Optionally restrict the user to specific companies

Roles Summary

RoleAccess
Admin (Owner)Full system access — all modules, users, settings, companies
AccountantBusiness finance, invoices, cashflow, GCT, reports — no HR or settings
HR OfficePayroll, employees, Simple Pay — no financial reporting
EmployeePersonal finance dashboard only — budgets, goals, net worth

Force password reset, deactivate or delete users from the user list. Deactivated users cannot log in but their data is preserved.

Security & 2FA

Navigate to Settings → Security or My Profile → Security.

Two-Factor Authentication (2FA)

  • CWFMS supports TOTP-based 2FA (Google Authenticator, Authy, 1Password)
  • Enable 2FA per user from My Profile → Security → Enable 2FA
  • Admins can require 2FA for all users in Settings → Security
  • Backup codes are generated at setup — store them securely

Passkeys (WebAuthn)

CWFMS supports passkey login on supported browsers (Chrome, Safari, Edge). Register a passkey from My Profile → Security → Add Passkey. Passkeys replace the password entirely for that device.

Session Management

  • Sessions expire after the configured idle timeout (default 2 hours)
  • Admins can terminate all active sessions from Settings → Security
  • Login history and IP addresses are logged to the Audit Log

Audit Log

Navigate to Settings → Audit Log (Admin only). Every significant action in the system is recorded with a timestamp, user, IP address and description.

Events logged include: user logins, settings changes, transaction creates/edits/deletes, payroll runs, invoice status changes, Cart POS sales, license validations and user management actions.

  • Filter by date range, user or action type
  • Export the full audit log as CSV from the top of the page
  • Admins can prune old entries (older than 90 days) from Tools to keep the log manageable
  • Audit entries cannot be edited or deleted by any user role

System Tools

Navigate to Tools in the sidebar (Admin only). System Tools provides data management, backup and export utilities.

Backup & Restore

Create an on-demand ZIP backup of all company data from Tools → Backup. The backup includes all JSON data files — transactions, payroll, invoices, products, settings. Download immediately or restore from a previous backup file.

Data Export

  • Full Export — all data as JSON, suitable for migration or archive
  • Accounting Export — transactions formatted for import into accounting software
  • Tax Export — GCT returns and payroll summaries formatted for TAJ submission
  • Performance Export — system metrics and usage statistics

Maintenance

  • Orphan Cleanup — removes dangling references left by deleted records
  • Prune Audit Log — removes audit entries older than a configurable threshold
  • System Health — checks PHP version, file permissions, data directory writability and license status

API & Integrations

CWFMS exposes a REST API at /api/v1/ for programmatic access. Authentication uses a Bearer token set in Settings → Integrations → API Key.

Available Endpoints

EndpointDescription
GET /api/v1/transactionsList transactions with optional filters
POST /api/v1/transactionsCreate a new transaction
GET /api/v1/invoicesList invoices by company
GET /api/v1/productsList company products
POST /api/v1/cart/completeComplete a POS cart sale externally

License API

The CWFMS license is validated against cwfms.com/api/license.php. On first activation, CWFMS sends the license key hash and domain. A signed token is cached locally for 48 hours — no remote call on every page load. If the server is unreachable, the cached token is honoured until it expires.

Scheduled Tasks (Cron)

For automated recurring transactions and email alerts, set up a cron job on your server to call the CWFMS cron endpoint daily:

0 7 * * * curl -s https://yourdomain.com/cron.php?key=YOUR_CRON_KEY > /dev/null

Set the cron key in Settings → Integrations → Cron Key. The cron job handles: auto-posting recurring transactions, sending scheduled alert emails, and flagging overdue invoices and bills.

Live Demo

A fully loaded demo environment is available at demo.cwfms.com. It contains pre-loaded company data across three entities (JMD, USD and KYD jurisdictions) covering all major modules.

Demo Credentials

Role Username Password Access
👑 Admin (Owner)adminpassword123Full system
📊 Accountantmarcus.levyaccountant123Finance & reports
👥 HR Officederek.washingtonhroffice123Payroll & employees
🧑‍💼 Employeekezia.campbellemployee123Personal finance

Demo data is reset periodically. Do not enter real personal or financial information in the demo environment.

→ View the full demo page with role descriptions at cwfms.com/demo.php

This documentation is updated with each major CWFMS release. For questions not covered here, email support@cwfms.com.

CWFMS v2.26.94 · Wealth Manager · cwfms.com