Skip to content

Customer Onboarding App — Administrator Guide

Audience: SaaS platform operators and support staff managing the onboarding experience Purpose: A plain-language reference for every setting an administrator can control, every scenario they may need to handle, and every tool available to support customers going through signup.


Overview — What Administrators Control

As a platform administrator, you do not interact with the onboarding wizard directly. Your role is to configure the environment that the wizard operates within, and to handle exceptions that customers cannot resolve themselves.

There are three areas of administration:

  1. Subscription Plans — what plans are offered, at what price, with what features
  2. Regional Gateway Configuration — which countries are open for registration, which payment methods are available in each country, and how payments are processed
  3. Customer Account Management — approving bank transfers, verifying email addresses, reviewing signups, and managing subscriptions

All of these are managed through the Super Admin panel at /super-admin/.


Part 1 — Managing Subscription Plans

Where to find it

Super Admin → Subscription Plans

What a subscription plan controls

Each plan defines everything a customer sees on the Plan Selection screen and everything that governs their workspace once they sign up.

Setting What it does
Plan Name Internal identifier. Options are: free, professional, premium. This cannot be changed once set.
Display Name What customers see on the signup screen. Can be anything, e.g. "Starter", "Growth", "Enterprise".
Price (USD) The base price in US dollars. Used as the fallback for any country without a regional price set.
Regional Prices Override prices for specific currencies. Format: one price per line, e.g. AED: 179.00 / GBP: 39.00 / EUR: 45.00. If a customer's currency is not listed here, they see the USD price.
Description A short text shown on the plan card. Keep this to one sentence.
Active If unticked, this plan disappears from the signup screen immediately. Use this to retire a plan without deleting it.
Trial Days Number of days the customer can use the plan before their card is charged. Set to 0 for no trial.
Max Users Maximum number of users allowed in a workspace on this plan. Leave blank for unlimited.
Max Storage (MB) How much file storage the workspace can use.
Support Type What level of support this plan includes: Community (forum only), Email, or Priority 24/7.
Allowed Modules Which product modules are available on this plan. Entered as a comma-separated list of module codes (e.g. sales, purchase, inventory, accounts, crm).
WhatsApp Messaging Whether WhatsApp integration is enabled on this plan, and the monthly message limit.
AI Features Whether the AI assistant is enabled on this plan, and the monthly query limit.
Stripe Price IDs The price identifiers from your Stripe Dashboard, entered per currency. Format: USD: price_xxx / AED: price_yyy. You must create these in Stripe first.

Adding a new plan

  1. Go to Super Admin → Subscription Plans → Add Plan
  2. Fill in the required fields (Name, Display Name, Price, Allowed Modules)
  3. Add regional prices for any currencies your customers use
  4. If this is a paid plan, add the Stripe Price IDs for each currency
  5. Set Active to ticked and save

Important: Do not change a plan's internal name (free, professional, premium) after it has been used for a subscription. The system links existing customer subscriptions to plans by this name.

Retiring a plan

Untick the Active checkbox and save. The plan immediately stops appearing on the signup screen. Existing customers on this plan are not affected — they keep their subscription.

Free trial configuration

If you want to offer a trial period: - Set Trial Days to the number of days (e.g. 14) - The customer's card is saved during signup but not charged until day 14 - For bank transfer customers on a trial, they must complete their transfer before the trial ends to keep access

Setting Trial Days to 0 means customers on paid plans are charged immediately at signup.


Part 2 — Regional Gateway Configuration

This is the most important configuration section. It controls which countries can register, which payment methods are available in each country, and all regional tax and compliance defaults.

Where to find it

Super Admin → Regional Gateway Configuration

What a regional configuration is

Each entry represents one country. When a customer enters their country during signup, the system looks up that country's configuration to: - Confirm that registrations are currently accepted from that country - Determine which payment methods to show on the Payment screen - Set the default currency for the workspace - Pre-configure the company's tax rates and compliance settings

Adding a new country

  1. Go to Super Admin → Regional Gateway Configuration → Add
  2. Enter the two-letter country code (ISO format, e.g. AE for UAE, GB for United Kingdom, US for United States)
  3. The Display Name, Currency Code, VAT rate, and other defaults fill in automatically for common countries. You can override any of these.
  4. Configure SMTP and payment providers (see below)
  5. Set Active to ticked and save

Countries with automatic defaults:

Country Code Currency Notes
AE AED VAT 5%, Corporate Tax 9%, Gratuity enabled, E-Invoicing required
SA SAR
GB GBP
US USD
IN INR
QA QAR
OM OMR
KW KWD
BH BHD
EU countries EUR DE, FR, ES, IT, IE, NL, BE, AT, FI, GR, PT

For any other country, you set the values manually.

Regional settings explained

Tax and compliance settings (pre-populate the new customer's workspace):

Setting What it does
VAT Rate Default VAT percentage applied to invoices in this country
Corporate Tax Rate Default corporate tax rate, shown in tax reports
Corporate Tax Threshold The annual revenue above which corporate tax applies
Small Business Relief Threshold Revenue below which reduced tax rules may apply
Gratuity Enabled Whether end-of-service gratuity is calculated in the payroll module
E-Invoicing Enabled Whether mandatory e-invoicing (e.g. UAE PINT standard) is turned on for new companies in this country

These settings are copied into each new company's workspace at the moment of registration. Changing them here afterwards does not affect existing companies — only new registrations.

Payment settings:

Setting What it does
Allow Bank Transfer If ticked, customers in this country see a "Bank Transfer" option on the payment screen regardless of which card providers are configured
Bank Transfer Instructions The text shown to customers who choose bank transfer, including your IBAN, SWIFT code, bank name, and any reference instructions

Email (SMTP) settings — these are the credentials used to send platform emails to customers in this region:

Setting What to enter
SMTP Server Your mail server hostname, e.g. smtp.resend.com
SMTP Port Usually 587 (TLS) or 465 (SSL)
SMTP Username Your sending account username
SMTP Password Your password or API key (stored encrypted)
Use TLS Leave ticked unless your mail provider requires otherwise
Default From Email The "From" address customers see, e.g. hello@yoursaas.com
Admin Notification Email Where signup survey responses and admin alerts are sent for this region

The SMTP password is stored encrypted. It cannot be read back — only overwritten. If you need to update it, enter the new value and save.

Pausing registrations for a country

Untick the Active checkbox for that country's configuration and save. Customers who enter that country code during signup will see a message explaining that registrations are not currently available from their country. Existing customers in that country are not affected.

Adding a payment provider to a country

Within each regional configuration, there is a Providers section. Each provider entry connects one payment gateway to one country.

  1. Open the country's configuration
  2. In the Providers section, click Add Provider
  3. Select the Provider Name (Stripe, Network, PayPal, or Razorpay)
  4. Enter the Display Name (what customers see on the payment screen, e.g. "Card Payment" or "Network International")
  5. Enter the API Configuration (the credentials for this gateway, in JSON format — see below)
  6. Set Active to ticked
  7. If this should be the default option shown first, tick Is Default
  8. Save

API Configuration format by provider:

Stripe:

{
  "secret_key": "sk_live_...",
  "webhook_secret": "whsec_..."
}

Network (N-Genius):

{
  "api_key": "...",
  "outlet_id": "...",
  "base_url": "https://api-gateway.network.ae"
}

PayPal:

{
  "client_id": "...",
  "client_secret": "...",
  "mode": "live"
}

Razorpay:

{
  "key_id": "...",
  "key_secret": "..."
}

Security note: API credentials are stored encrypted on the server. They are never shown again after saving — if you need to update them, overwrite the entire JSON block with the new credentials.

You can have multiple providers active in one country. The customer will see all active options and can choose.


Part 3 — Global Settings

Where to find it

Super Admin → System Configuration

Pause all new signups

The Enable New Signups toggle is a global switch. When turned off, no new customer can complete registration through the onboarding wizard — regardless of which country they are in or which plan they select. The customer sees a message: "New registrations are temporarily disabled."

Use this when: - You are performing maintenance that would affect new account setup - You have reached a capacity limit and need to control intake - You want to pause a product from accepting new customers

Existing customers are not affected — they can still log in and use the platform.


Part 4 — Customer Account Management

Finding a customer's account

Super Admin → Users (or Companies)

Search by email address or company name. Each company record shows: - Company name and country - Registered date - Current subscription plan and status - All users belonging to this company

Subscription statuses explained

Status What it means
Active The subscription is running normally. The customer has full access.
Trial The customer is within their free trial period. If a card is on file, it will be charged when the trial ends.
Pending Registration is complete but the subscription is not yet active. Most commonly seen after a bank transfer signup — the customer is waiting for manual approval.
Cancelled The customer has requested cancellation. Access continues until the billing period ends.
Cancellation Pending The cancellation request has been logged but not yet processed.
Expired The subscription period has ended and was not renewed.
Deleted The subscription record has been removed. The company name is preserved for historical billing records.

Approving a bank transfer subscription

When a customer signs up via bank transfer, their account shows Pending status. You need to manually verify the payment and activate the account.

  1. Go to Super Admin → Subscriptions
  2. Find the subscription with status "Pending"
  3. Confirm the bank transfer has been received in your account (match using the reference code the customer was given at signup)
  4. Click Approve
  5. The subscription status changes to Active
  6. The customer receives an activation notification email

If the transfer has not arrived and the trial period has ended, you can click Reject to notify the customer that their subscription could not be activated.

Always match the payment using the reference code shown at the customer's registration, not just the amount, since multiple customers may transfer the same amount.

Manually verifying a customer's email

Occasionally a customer will contact support because they cannot log in and did not receive their verification email. If you have confirmed their identity, you can manually verify their email address from the admin panel.

  1. Go to Super Admin → Users
  2. Find the user by email address
  3. Open their profile
  4. Tick the Email Verified checkbox
  5. Save

This marks the account as verified in both the platform and the underlying authentication service. The customer can now log in immediately without clicking a verification link.

Only do this after confirming the customer's identity through another channel (e.g. a support ticket from the same email address, a phone call, or a secondary identity check).

Resetting a subscription for a returning customer

If a customer's subscription has expired and they want to renew, they can go through the Recovery flow (available at the login page under "Renew Subscription"). Alternatively, you can manually create a new subscription from the admin panel.

Viewing signup survey responses

When a customer abandons the signup wizard after viewing plans, they are offered an optional exit survey. The responses are stored and also emailed to the Admin Notification Email address configured for their region.

To view all survey responses: Super Admin → Subscription Surveys

Each entry shows: the customer's email (if provided), the plan they viewed, their stated reason for leaving, any additional comments, and whether they opted in for future notifications.


Part 5 — Regional Setup Checklist

Use this checklist when opening a new country for the first time.

Before launch

  • [ ] Add the country to Regional Gateway Configuration with the correct country code
  • [ ] Confirm the currency code and VAT/tax rates are correct for that country
  • [ ] Set the Bank Transfer Instructions if you want to offer bank transfer (include IBAN, SWIFT, bank name, reference format)
  • [ ] Configure at least one payment provider (Stripe is the most common starting point)
  • Create Stripe Price objects in the Stripe Dashboard for this currency
  • Enter the Stripe Price IDs in each Subscription Plan's settings for this currency
  • Enter the Stripe API credentials in the provider's API Configuration
  • [ ] Configure SMTP for this region so customer emails are sent from a regional address
  • [ ] Set the Admin Notification Email for this region
  • [ ] Confirm that Active is ticked for the country configuration
  • [ ] Test a signup using a test card in that country to confirm end-to-end flow

After launch

  • [ ] Monitor the Super Admin dashboard for new signups from that country
  • [ ] Check that verification emails are being delivered (if SMTP issues arise, check the server credentials)
  • [ ] Review the first bank transfer subscriptions to confirm the reference matching process is working

Part 6 — What Customers See vs. What You Control

This table maps each thing a customer sees during signup to the admin setting that controls it.

What the customer sees Controlled by
Which plans appear on the signup screen Subscription Plans — Active checkbox
The price displayed for each plan Subscription Plans — Price (USD) or Regional Prices
Whether a trial badge appears Subscription Plans — Trial Days
Which features are listed on each plan card Subscription Plans — Allowed Modules, WhatsApp, AI settings
Which countries are accepted Regional Gateway Config — Active checkbox per country
Which payment methods appear on the payment screen Regional Gateway Config — Active Providers for that country
Whether Bank Transfer appears as an option Regional Gateway Config — Allow Bank Transfer checkbox
The bank account details shown for bank transfer Regional Gateway Config — Bank Transfer Instructions
The verification email the customer receives Regional Gateway Config — SMTP Settings
Whether new signups are accepted at all System Configuration — Enable New Signups toggle

Part 7 — Common Support Scenarios

"I signed up but my account says Pending." The customer chose bank transfer. Ask them to confirm the transfer has been made and that they used the correct reference code. Once you verify the payment in your bank account, approve the subscription from Super Admin → Subscriptions.

"I never received my verification email." Ask the customer to check their spam folder. If the email is not there, check that the SMTP configuration for their country is correct (Super Admin → Regional Gateway Configuration). As a last resort, manually verify their email from Super Admin → Users.

"I registered but cannot log in." The most common causes: (1) email not verified — manually verify if confirmed, or ask the customer to use the resend link; (2) subscription status is Pending (bank transfer not yet approved); (3) the customer is trying to log in with the wrong email.

"I entered the wrong company name." Company names can be corrected by an administrator from the Company record in Super Admin. Note that the company name appears in invoices and reports, so any change should be made carefully.

"I selected the wrong country at signup." Country cannot be changed after registration. If this is a genuine error that has caused a problem (e.g. wrong currency), contact the technical team — this requires a database-level change.

"I want to cancel my subscription." Customers can initiate cancellation from within the product. Alternatively, you can cancel from Super Admin → Subscriptions → find the subscription → Cancel. The customer retains access until the end of their current billing period.

"A customer was charged but their account is not active." Check the subscription status. If the Stripe webhook was not received (network error), the status may still show Pending. Check the payment provider's dashboard to confirm the charge was successful, then manually set the subscription to Active from the admin panel.


Part 8 — Key Rules to Know

These are built-in constraints in the system that administrators should be aware of.

Country is permanent. A company's country is set once at registration and the system enforces that it cannot be changed by anyone, including administrators, through the normal interface. It affects currency, tax settings, and payment gateway routing. Changing it requires direct database intervention by a developer.

Plans are shared across all products. The same set of subscription plans appears for all products that use this onboarding app. If you need product-specific plans (e.g. a plan only for the HRMS), this is a planned Phase 2 feature.

Payment provider credentials are write-only. Once you save a payment provider's API credentials, they are encrypted and cannot be read back through the admin panel. You can only overwrite them. Keep a secure copy of all gateway credentials in your team's password manager.

Bank transfer approval is manual. There is no automatic reconciliation between bank account deposits and pending subscriptions. Someone on the operations team must manually match and approve each bank transfer. Set up a clear process for this with your finance team.

Email verification is required before login. No customer can log in until their email is verified, regardless of their subscription status. This is a security control and cannot be disabled for individual users through the admin panel (except by using the manual verification option).

Pausing signups affects all countries and all products. The Enable New Signups toggle is global. There is no way to pause signups for one country or one product without pausing them for everyone.