Settings
Part of the IP4CMS portal. β All module guides
What it's for β Settings is the central configuration hub for your tenant. Almost every other module is set up here before it works in day-to-day use: this is where you control branding and timezone, connect payment and messaging gateways, define how reference numbers are generated, attach custom fields, and switch each module's behaviour on or off. If something elsewhere in the portal "isn't working" β billing won't collect, emails won't send, a tab is missing β the answer is usually a missing or incomplete setting here.
Settings is organised into groups (General Setup, Members, Communications, Financial, Products, Locations, Properties, Support, Platform Admin, and many more). Each group holds one or more setting pages. You only see the groups and pages your tenant's licence enables and that your role has permission to open, so your Settings menu may be much shorter than the full list below.
Where to find it β Main left-hand navigation β Settings (/app/settings). The landing page shows the groups you have access to; click a group to open its pages. Many pages also support a quick search so you can jump straight to a setting by name.
Before you start
- Permissions. Most pages require a relevant manage/read permission (for example
settings:update:allto edit branding,financials:transactions:manage_settingsfor payment channels,communication:mail_servers:read:allfor mail servers). Without the permission, the page is hidden. - Baseline modules. Three modules are always on for every tenant and never need licensing:
settings,usersandroles. So the General, Roles and API-key style pages are always reachable; everything module-specific (Financial, Communication, Members, Products, etc.) only appears when that licence module is enabled. - Set up gateways early. Billing, collections and messaging all depend on a configured channel/gateway. Do this setup before you expect those features to work β see Tips & gotchas.
Key areas
General β tenant defaults & branding
The General page (General Setup group) holds tenant-wide preferences that affect the whole portal. You set the Timezone (all dates and times display in this zone), Date Format, Time Format (12- or 24-hour), and Language. When the Reporting module is on, you can also pick a default reporting dashboard to show on the home page. An Organization Settings panel captures Organization Name and contact email.
The same page hosts Platform appearance / Branding: upload your large logo, small logo and favicon (JPEG, PNG, GIF, SVG or ICO), and set the primary colour with a colour picker or hex value. The platform name shown here is read-only (set at provisioning). Branding is visible to anyone with settings:read:all but only editable with settings:update:all.
Domains & domain app configuration
Domain Configuration (General Setup) lists every domain and subdomain your tenant uses β admin portal, member portal, customer/partner/supplier portals and public sites β with its type, status and last-accessed time. For each domain you choose the domain type (which portal it serves), the app template to render, a required API key, a referrer allow-list, onboarding rules (whether unauthenticated sign-up is allowed and which onboarding flow runs), and authentication rules (allowed login identifiers and modes, signup verification, and OTP timing/limits). You also map the notification templates used for signup, login and password reset. A Domain Terms sub-panel lets you link the Terms & Conditions documents that apply to each specific domain. App Configuration (the app editor) lets you theme and lay out the public-facing app where that module is licensed.
Document & transaction numbering
Numbering pages (under Members, Financial, Orders, Locations, etc.) control how reference numbers are generated. Each rule is keyed to a module and entity type and builds numbers as prefix + date + zero-padded sequence + suffix. You set the prefix (it can include a {location_code} placeholder), suffix, date format (e.g. YYYYMM), padding width, starting number, and a reset frequency (yearly, monthly, daily or never). You can preview the next number without using it up, and reset a sequence. Sensible defaults are seeded for receipts, invoices, credit notes, refunds, journals, member numbers and more.
Payment gateways / channels
Payment Channels (Financial group) is where you connect the payment providers that collect money. Each channel selects a provider, stores that provider's credentials, and toggles which capabilities it handles. You set a code, name and display order; flags for Active, Production/Sandbox and Default; capability toggles (immediate payment, debit orders, subscriptions, card tokenization); currency and min/max amount limits; and provider-specific credentials (the form changes per provider β e.g. PayFast Merchant ID/Key/Passphrase, Netcash service keys). A Test/Validate action checks the configuration. The provider list is driven by your licence; channels with live backend handlers today are Netcash, NuPay and PayFast. System channels can't be deleted.
SMS gateways
SMS Gateways (Communications) register an SMS provider and its credentials so the portal can send text messages. You choose a provider (BulkSMS, SMS Portal, Custom SMPP, Infobip) and enter the API endpoint, API key/secret, account SID, from-number, any extra JSON config, and a default flag.
Mail servers & message templates
Mail Servers (Communications) register the SMTP/inbound servers that send tenant email: name, server type, direction (inbound/outbound), host, port, username, password, TLS/SSL, optional OAuth, from-email and from-name, a default flag, and an option to monitor a mailbox for support tickets. A send-test-email action confirms it works. Email Wrappers define a reusable branded HTML header/footer frame for emails (one can be the tenant default), and Message Templates are reusable multi-channel message definitions (email, SMS, push, WhatsApp, in-app) organised by category and priority, each binding to a specific mail server, SMS gateway, omni-channel and email wrapper.
Omni-channels
Omni Channels (Communications) configure rich messaging channels β currently WhatsApp via Twilio WhatsApp or Infobip WhatsApp. Fields mirror the SMS gateway form: API key/secret, account SID, from-number, extra config and a default flag.
Custom properties / fields
Custom Properties lets you capture data beyond the built-in fields. In the current build, custom fields attach to members, storing one value per member. You give each field a unique name and a type β text, number, date or dropdown β and for dropdowns you supply the list of allowed options. Per-type validation applies (text length, numeric format, valid date).
Reference data (banks, ID types, tax types)
Some lists are reference lookups the portal provides for you. Banks and ID Types are read-only catalogues (used when capturing bank or identity details, filterable by country) β you select from them rather than maintaining them. Tax Types (Financial group) is editable and defines the tax rates your transactions can apply.
Module-specific settings pages
Each licensed module contributes its own settings pages, including: Members (member types, ranks, member requests), Properties (property types, relationship types, notifications), Vehicles, Pets, Devices, Support (topics & sub-topics, teams, notifications, SLA & business hours), Products (unit of measure, product types/attributes/categories, package categories), Orders (numbering, alerts, completion), Locations (location types, group types, groups), Financial (currency & exchange rates, billing cycles, statement runs, disbursements, ecommerce countries, usage billing), plus Feasibility, Classifieds, Flows, Document Types, Events, Panic, Directory, AI providers, Tags, API Keys and Default Roles. The set you see depends entirely on which modules your tenant has licensed.
How the data connects
Settings is the upstream configuration layer that the rest of the portal reads at runtime:
- Branding, timezone, language and domains shape what every user sees and how dates and notifications are formatted across all modules and portals.
- Payment channels are consumed by Financials and Collections β invoices, receipts, debit orders and subscriptions can only transact through a configured, active channel.
- Mail servers, SMS gateways, omni-channels, email wrappers and message templates are the transports the Communications module (and any module that sends a notification) uses to deliver mail, SMS and WhatsApp.
- Numbering rules are applied automatically whenever a receipt, invoice, member, order or other numbered record is created.
- Custom fields add columns to member records that then appear on member profiles and in exports.
- Module settings (types, statuses, categories, ranks) become the dropdowns and rules used throughout that module's daily screens.
In short: change something in Settings and the effect shows up wherever that module runs β not just on the Settings page.
Permissions & access
Settings access is gated on two levels. First, the licence module must be enabled for the group/page to exist at all (except the always-on settings, users and roles baseline). Second, your role permissions must include the specific permission a page declares β for example settings:update:all for branding and default roles, financials:transactions:manage_settings for tax types, payment channels and transaction config, communication:*:read:all for the various communication transports, sales:products:manage_settings for product setup, and settings:api_key:read for API keys. If you can't see a setting you expect, you're either missing the licence module or the permission β ask whoever administers roles for your tenant.
Tips & gotchas
- Configuration gates features. A licensed module that isn't configured here often looks "broken" elsewhere. The fix is nearly always a setting on this page, not a bug.
- Set up gateways before you need them. Billing and collections cannot move money until a payment channel is Active and not left in Sandbox. Communications cannot deliver until a mail server (email), SMS gateway (SMS) or omni-channel (WhatsApp) exists with a valid from-address/number. Configure and test these first.
- Mind Production vs Sandbox. A payment channel left in Sandbox will appear configured but won't take real payments β flip it to Production when you go live.
- Defaults matter. Where a "Default" flag exists (payment channel, mail server, SMS gateway, omni-channel, email wrapper), the one marked default is what the rest of the portal uses unless a specific override is chosen. Make sure exactly one sensible default is set per type.
- Numbering resets. Choose the reset frequency deliberately β switching to monthly/yearly resets restarts the sequence, which can produce duplicate-looking numbers across periods. Use the preview before relying on a format.
- Your menu is filtered. Don't assume a missing page means the feature doesn't exist; it usually means the module isn't licensed or your role lacks the permission.
- Banks and ID types are read-only. You pick from these reference lists; you don't maintain them in Settings.