Settings 1. Settings: Overview The Settings module is your CRM’s central control panel for defining how the system behaves, who can access it, and what your users see. It’s divided into three main areas— Configurations , Translations , and Texts —each of which governs a distinct layer of functionality or content. By adjusting these settings, you ensure your CRM adheres to your organization’s security policies, workflow rules, and brand voice. Within Configurations , you’ll set the groundwork for system operations: lock down access with IP whitelists, define session timeouts and multi-factor login options, and model your business processes through custom statuses, client types, and multi-step verification levels. You also manage which languages are available to your users and how the CRM categorizes and verifies different classes of clients and requests, ensuring both compliance and tailored user experiences. The Translations and Texts sections let you master your user-facing copy. Translations handles short UI elements—buttons, labels, and messages—while Texts covers longer notifications, legal disclaimers, and rich-text content. Together, they provide a complete workflow for adding, editing, searching, and locking multilingual content, so you can roll out a fully localized, on-brand interface across every module. It includes the following sections: Configurations : Configuring security and authentication ; Configuring the statuses used in the Clients and Requests modules; Configuring the languages used in the system. Translations : Translation of the elements used in the system. Texts : Translation of texts used in the system. 2. How to Configure Security and Authentication A robust security and authentication setup is fundamental to protecting sensitive customer data and ensuring that only authorized personnel can access your CRM. In the Settings > Configurations > General tab, you’ll define who can reach your system (via IP restrictions) and how users prove their identity (via session policies and multi-factor checks). Properly configuring these options helps you meet compliance requirements, reduce the risk of unauthorized access, and tailor the login experience to your organization’s security posture. Use Cases Office-Only Access Limit CRM access to your corporate network by whitelisting office IP ranges, preventing external login attempts from unknown locations. High-Security Environments Require both password and biometric authentication (WebAuthn) for administrators or finance teams to meet stringent internal policies or regulatory frameworks. Adaptive Session Management Enforce shorter session timeouts for contractors or guest users, while allowing longer idle periods for full-time staff—striking a balance between security and productivity. Automated Bot Prevention Enable invisible reCAPTCHA on login screens to block scripted attacks without interrupting the legitimate user experience. The General tab under Settings > Configurations is where you define your system’s core access and login policies. Here you’ll find two sections: Security : Restrict which IP addresses can access the CRM. Authentication : Control session duration, password-attempt limits, and multi-factor requirements. Below is a detailed, step-by-step guide—complete with screenshots—on how to locate and configure each option. Navigating to the General Configuration Click the ⚙️ Settings icon in the sidebar. Select Configurations . Ensure the General tab (next to “Statuses” and “Languages”) is active. Security: IP Whitelisting Click “+ New IP”. Enter a valid IP address (IPv4 or IPv6). Invalid entries highlight in red. Press Enter to confirm the IP. Repeat steps to add more IPs. Remove an IP by hovering and clicking × . Click Save to save the list. Note: IP addresses are usually expressed in dotted decimal notation as four numbers separated by dots, e.g., 172.16.255.2 , or as a set of 16-bit hexadecimals separated by colons, e.g., 2001:0000:130F:0000:0000:09C0:876A:130B If the field turns red, you have entered an invalid IP address. Authentication: Session & Login Policies The Authentication section allows you to set logon and usage rules, including limited session times and additional logon checks. To configure authentication: Fill in the following fields: Session time minutes: Enter how many minutes after login the user is automatically unlogged from the system when idle. If the field is left blank, the default value of 60 minutes will be applied. Login attempts: Enter the number of times the user can enter an incorrect password before being temporarily locked out (for 2 minutes). The default is 3. Check one of the options (or leave them all blank): Internal login or WebAuthn: If you want the user to use a choice of password or WebAuthn (biometric data) to log in. Internal login and WebAuthn: If you want the user to use both a password and biometrics for additional security to log in. Google TFA: If you want the user to use two-factor authentication through Google for additional security. Phone TFA: If you want the user to use two-factor authentication via phone number for additional security.  Get more information about authentication types in Wifox Business Core Solution [here] . Check the box next to  Recaptcha on login to use reCAPTCHA. We use reCAPTCHA v3, which means users will not notice this additional check. Click Save to save your settings. Note : If you select one of the options, the others will be automatically disabled. Uncheck the selected box to enable other authentication options. By leveraging IP whitelisting and advanced authentication controls, you can significantly bolster your CRM’s defenses against unauthorized access and automated attacks. Regularly revisit these settings—especially after network changes or user-role updates—to maintain an optimal balance between security and usability. 3. How to Configure Statuses Effective status management lets you tailor client and request lifecycles to your business processes, ensuring clear visibility of progress and automating downstream actions. In Settings > Configurations > Statuses , you’ll find two panels— Client status and Request status —that govern how records appear and transition within the Clients and Requests modules, respectively. Use Cases Customized Pipelines: Define stages like “Lead,” “Prospect,” and “Customer” for clients, or “New,” “In Review,” and “Completed” for requests, matching your organization’s terminology. Default Routing: Set a default status (e.g., “Active” for clients) so that all new records start in a predictable state, reducing manual setup. Visual Prioritization: Assign distinct colors to statuses (red for high-priority, gray for archived) to surface critical items at a glance. Accessing the Statuses Configuration To configure statuses, go to Configurations > Statuses tab at the top. A tab with two sections will open: Client status (left): In this section, you can manage the statuses you select for clients in the Clients module. Request status (right): In this section, you can manage the statuses that you select for clients in the Requests module. Adding a New Status Click the  Add button in the upper right corner of the corresponding section. In the  Add status form, enter: Name: The display text (e.g., “Pending Approval”). Label: A unique identifier used internally (e.g., pending_approval ). (Optional) Choose a  Color by clicking one of the swatches—this color will appear as the status badge. To make this your system-wide default, check  Make as default . Click  Save to add the status. Editing an Existing Status Click the ✏️ Edit icon next to the appropriate status. In the  Edit status sidebar, you can update: Name (label remains read-only) Color Click  Save to apply the changes. Setting a Default Status Only one status per panel can be default. New records automatically receive this status. Hover over the status you want as default. Click  Make as default . The “Default” badge will move to this status. Deleting a Status Important: You cannot delete a status marked as default or one currently in use by existing records. Ensure the status is  not the default (see “Make as default” above to change defaults). Click the  🗑️ Delete icon next to the status. Confirm the deletion when prompted. By thoughtfully defining client and request statuses—complete with unique labels, colors, and defaults—you create a transparent, enforceable workflow that scales with your business. Regularly review and prune unused statuses to keep your system lean, and leverage status-driven automation (notifications, reports, transition rules) to streamline daily operations. 4. How to Manage Languages and Translate CRM Supporting multiple languages in your CRM ensures that users across regions can work in their preferred tongue and that customer‐facing elements display correctly. In Settings > Configurations > Languages , you control which languages are available for translation and which appear in the top‐level language selector. These settings work in concert with the Translations and Texts modules to provide a fully localized experience. Use Cases Multi-Regional Teams: Let support agents in Germany, Argentina, and Japan use the CRM in their local language. Global Customer Portals: Ensure customer-facing emails, buttons, and notifications render in the end user’s language. Phased Roll-Outs: Activate a new language only once all required labels, UI elements, and text blocks have been translated. Languages and translations are managed in CRM through three sections: Languages Translations Texts Accessing the Languages Configuration To translate CRM into another language: Navigate to ⚙️ Settings in the sidebar, then select Configurations . Click the Languages tab at the top. You will see two blocks: Available Languages (to the left) : All languages available in our system.  Active Languages (to the right) : Languages that are used in your CRM. Adding a Language to Active List To add a language from the list of available languages to the list of active languages: In the  Available languages panel, scroll or use the Search field to find your target language (e.g., “German,” “Japanese”). Check the box next to the language you wish to add. A flag or code (e.g., “Ar” for Argentine Spanish) appears to the right. Click  Save at the bottom to apply the changes. Note: The language will appear in the list of active languages, but will not yet be available for selection in the new menu. Before adding, it is recommended to translate CRM items into that language. Refer to the [How to Manage Translations] and [How to Manage Texts] for more information. Enabling a Language for Users When you have all the necessary texts and CRM elements translated: Go back to  Languages . In the  Active languages panel, check the box next to the language you’ve translated content for. (Optional) If you’d like this language to be the default for new users, click Make as default next to it. Click  Save again. It will now appear in the top menu and be available for selection by all users. By managing Available vs. Active languages, you control the rollout of new translations and prevent incomplete or partially-translated elements from going live. Always activate a language only after verifying that all UI labels ( Translations module) and longer texts ( Texts module) have been properly localized. This phased approach ensures a seamless, professional multilingual experience for both your team and your customers. 5. How to Manage Translations Short UI elements—like button labels, menu items, and field names—are handled in Settings > Translations . This section lets you review, edit, and add translations for all “labels” (internal identifiers) used throughout the CRM. Keeping these up to date ensures that every small piece of text in the interface is fully localized. Why Use Translations? Consistent UI : Make sure every button or menu item appears correctly in each active language. Rapid Updates : Quickly fix typos or change wording without redeploying code. Custom Elements : Add new labels (for custom development) and translate them for your users. Viewing & Searching Existing Translations Go to  ⚙️ Settings → Translations . You’ll see a table with two main columns: Label : the internal key (e.g., totalLeads ). Text : the currently translated string, along with language badges ( En , Bg , etc.). Editing a Translation Click the  Edit icon on the right of the row you want to update. In the panel that appears: Label (read-only) shows which key you’re editing. Languages badges indicate which target languages have entries. Text field: enter or update the translated string for the selected language. Clone translations from To copy all existing text from another language into your current locale (without translating), open the “Select” dropdown, pick the source language (e.g. English), and click  Clone . This instantly duplicates those fields as-is. Translating flow To programmatically generate translations, click  Translate  in the drawer header, then choose your provider (OpenAI, etc.) from the  Integration  dropdown. The system will pull translated strings and populate every field. Tip: Cloning and translating are independent—feel free to clone first and then auto-translate, or translate first and use cloning to reset individual entries. Click  Save to apply the changes. To easily search for elements , use the  Search field at the top to find a specific item. Typing part of a label filters the list in real time. Note : Adding custom elements is intended for development purposes only. The translation object label should be added to the code by developers. Otherwise, if you add a label just with this functionality, it will not be displayed anywhere on the page. Cloning & Translating with the Widget To speed up localization, you can bulk-copy all strings from an existing language and even drive translations for specific integrations right from a single button: Open the translation drawer: Go to Settings → Translations , click the ✏️ Edit icon on any row. The side-panel shows the Label , language badges, and a Text field. Clone translations from another language: Click Clone translation from beneath the language badges. In the Clone from modal, select the source language (e.g. English → Spanish). Click Clone to populate the panel with every string from that language. Tweak any entries as needed, then hit Save to commit all at once. Use the unified “Translate” button: Translate opens the modal with a top-level dropdown labeled Integration —but this actually lists your configured translation engines (e.g. OpenAI, Google Translate, DeepL). Select the engine you want (e.g. “OpenAI”). Click Translate to pull in its suggested strings for your current locale. As before, adjust any text in the drawer and press Save to store them. Adding a New Translation To add a custom element: Click the + Add Translation button in the upper right corner. In the  Add translation panel: Label : enter a unique key (e.g., newButtonLabel ). Languages : check each language you want to provide. Text : fill in the translation for each selected language. Clone translations from To copy all existing text from another language into your current locale (without translating), open the “Select” dropdown, pick the source language (e.g. English), and click  Clone . This instantly duplicates those fields as-is. Translating flow To programmatically generate translations, click  Translate  in the drawer header, then choose your provider (OpenAI, etc.) from the  Integration dropdown. The system will pull translated strings and populate every field. Click  Save . The new label now appears in the table, ready to be referenced in code. Deleting a Translation Click the  Delete (trash) icon on the row you wish to remove. Confirm the deletion in the prompt. You can also delete current items using the Delete icon. It is not recommended to delete items already defined in the system. Best Practices & Conclusion Batch your changes: When rolling out a new feature or language, edit multiple translations at once to maintain consistency. Coordinate with developers: Ensure that any custom labels added here are actually referenced in the codebase. Review periodically: As UI evolves, legacy labels may become obsolete—clean them up to keep the table manageable. By centrally managing your short-text translations, you guarantee that every button, tooltip, and menu option in your CRM remains clear, accurate, and localized for all users. 6. How to Manage Texts Long, structured content—such as notifications, email bodies, tooltips, and rich messages—is managed under Settings > Texts . This module lets you centrally edit, clone, and auto-translate entire text objects (often JSON trees) across any active language. By using it you ensure that every notification, onboarding message, or rich UI copy is consistent and localized without touching code. Why Manage Texts Here? Complex Structures : Handle nested content (titles, subtitles, descriptions) in one place. Rich Formatting : Preserve HTML or Markdown within descriptions. AI-Powered Translation : Leverage built-in “Translate” for bulk localization. Version Control : Lock critical texts to prevent accidental deletion. Viewing & Searching Texts Navigate to  ⚙️ Settings → Texts . You’ll see a “card” layout of each text’s  label and a snippet of its default language. To find a specific item, use the  Search bar at the top: typing part of a label filters cards instantly. Editing & Translating an Existing Text To add a translation to any of these texts: Click the  Edit (pencil) icon on the text card you want to update. In the right-hand panel: Unique label (read-only) identifies the object. Locked checkbox prevents deletion; leave checked for core messages. Properties view shows the JSON structure (nodes you can select to edit). Language tabs let you switch between existing translations. Clone translations from To copy all existing text from another language into your current locale (without translating), open the “Select” dropdown, pick the source language (e.g. English), and click  Clone . This instantly duplicates those fields as-is. Translating flow To programmatically generate translations, click  Translate  in the drawer header, then choose your provider (OpenAI, etc.) from the  Integration dropdown. The system will pull translated strings and populate every field. Manually tweak any node in the JSON tree as needed. Click  Save to apply changes. To search for a text: Start typing its label in the Search field. Tip: Cloning and translating are independent—feel free to clone first and then auto-translate, or translate first and use cloning to reset individual entries. Adding a New Text To add a new text and its translations: Click on the + Add Text button in the upper right corner. Fill out the  Unique label and check or uncheck Locked . Populate the  Properties JSON structure by selecting nodes and entering content for each (e.g., title, description). Switch to your target language tab, then either  Clone or Translate into it. Add a plain-text  Title and Description at the bottom for summary display. Click  Save —your new text appears as a card. Unlocking & Deleting Texts By default, new texts are created as  Locked —they cannot be deleted. To unlock a text : Go to the text editing tab. Uncheck the  Locked checkbox. Click  Save . To delete text: Make sure it is not locked. Back on the main  Texts page, click the Delete (trash) icon on the unlocked card. Click the Delete icon next to the corresponding text. Confirm deletion. Warning : Locked texts cannot be removed. Only unlock when you’re certain the text is obsolete. Best Practices & Conclusion Lock critical system messages to avoid accidental removal. Review auto-translations for tone and accuracy. Audit periodically to prune unused texts and trim JSON nodes. Coordinate with your dev team: ensure labels here map to code references. By centralizing rich-text management, your CRM stays cohesive, fully localized, and easy to update—without code deployments or scattered copy files. 7. Clients Types in Configurations Clients Types define different types of clients  within the system. By default, there are two standard client types: Personal and Business. However, the system allows creating custom client types to suit specific needs. When adding or editing a client, the Type field determines which category they belong to. Once a client type is assigned, it cannot be changed later. This is defined by your business requirements, not by the system itself. For example, if in your process a client is verified at Level X with Status Y, you configure it here. Once set, the entire system uses these properties to automate verification workflows, control access, and ensure compliance based on your specific criteria. Use Cases Flexibility Organizations can define custom client categories (e.g., “Investor,” “VIP,” “Test”) to align with their specific business needs. Enhanced Onboarding Different client types may require varying verification thresholds—for example, Business accounts might need stricter verification than Personal accounts. Compliance & Security By defining Verification Level and Status, organizations ensure clients meet KYC and other regulatory requirements. Automation The system automatically marks clients as “Verified” or “Not verified”, streamlining processes and reducing manual verification tasks. Where to Find Clients Types Navigation: In the top menu within Configurations, click Client Types. On the left, you’ll see a list of existing client types (e.g., Business, Personal, Test). Adding or Deleting a Client Type Add a New Client Type Click + Add in the Clients types panel. Provide a Name (e.g., “Test,” etc.) and an internal Label if prompted. After saving, the new type appears in the list. Delete an Existing Client Type Click the trash bin icon next to the client type you want to remove. Confirm the deletion in the pop‐up (“Are you sure?”). Important : A client type can only be deleted if no clients exist with that type and verification level. Selecting a Client Type When Creating or Editing a Client Create or Edit a Client Go to Clients and click Add (or Edit on an existing client). Choose the Type In the General tab (Personal details section), find the Type dropdown. You’ll see your available client types (e.g., “Business,” “Personal,” “Test”). Save The chosen type is now assigned to that client. Clients Configurations: Verification Rules To the right of the Clients Types list you’ll find the Clients configurations panel, where you control exactly when a given client type is considered “Verified.” It exposes two dropdowns: Consider client is verified level Consider client is verified status Consider client is verified level What it is: A dropdown that lets you choose which verification flow to monitor. Typical options include: email phone identity Pick the verification “type” your business cares about for this client category—e.g. if you select email , the system will watch the client’s email-verification record. Consider client is verified status What it is: Once you’ve chosen a level, this second dropdown appears, listing only the statuses defined for that level. Common statuses: init pending completed rejected Pick the “threshold” status at which the client should flip to Verified. For instance, choosing pending means: “As soon as the client’s email verification moves into pending , mark them Verified.” Defining Levels & Statuses (Configuration → Verification Levels) These dropdown options aren’t hard-coded—they come from your Configurations → Verification Levels setup. There you: Add/Edit a level (e.g. “Verify Email Address,” “Verify Phone Number,” etc.). Define the Statuses each level can assume ( init , pending , completed , rejected , …). Once a level exists there, it shows up here for selection. If you set “Consider client is verified status = pending,” then once the client’s status is pending (at the specified level), the system marks them as Verified. How It Works in Practice A Verification Level might have multiple statuses (e.g., init, pending, rejected). Imagine you’ve set, for Personal customers: Verified level = email Verified status = pending Then: A new client signs up → their Email verification starts at init → the header reads Not verified . They click the link in the welcome email → their email status flips to  pending → the header immediately updates to Verified . If you configure “Consider client is verified level = email” and “Consider client is verified status = pending,” any client with Verification Level = email and Verification Status = pending will show up as Verified in the interface. Real‐Time Verification Indicators in the Client Profile Not Verified / Verified Labels: In the Edit client screen (see screenshots), you’ll notice a red “Not verified” or green “Verified” label at the top. These labels change dynamically based on the verification rules you set in Clients configurations. If the client’s Verification Level is “email” and Verification Status is “init,” they might appear Not verified (red label). Changing the status to “pending” (assuming your rules say “pending” = verified) makes the label turn Verified (green). “Consider client is verified level” and “Consider client is verified status” define the threshold at which a client is deemed Verified. These rules tie into the Verification Levels (e.g., email, phone) and Statuses (e.g., init, pending, approved). Real‐Time Indicators: Clients meeting the configured criteria display a green “Verified” badge; otherwise, they remain “Not verified.” By combining custom client types with verification configurations, you can tailor the onboarding and validation process to match your organization’s unique requirements, ensuring a streamlined and compliant client management workflow. 8. Configurations: Verification levels In Configurations, Verification Levels play a key role in managing the client verification process. Each client type (e.g., Personal or Business) can have its own set of verification levels, which are linked to different verification statuses. These levels determine how a client progresses through authentication, ensuring compliance with KYC (Know Your Customer) requirements. Use Cases Multi-Step KYC Financial institutions can define verification levels such as “Email,” “Phone,” “Identity” , with statuses progressing from init to approved for enhanced security. Business vs. Personal Clients Verification processes can be tailored— business accounts may require additional documents and higher verification levels than personal accounts . Automation & Compliance The system can  automatically update a client’s “verified” status when they reach a specific level/status threshold (e.g., “email/pending” or “identity/approved” ), ensuring compliance without manual intervention. Accessing Verification Levels To manage your verification flows, first switch to the Verification Levels tab in Configurations : In the top navigation of the Configurations page, click  Verification Levels . The screen splits into three panels. On the  left , you’ll see every Verification Level defined in your system (e.g., Test , Email , Phone , Identity ), each tagged with its associated client type (for example, Personal ). Creating or Editing a Verification Level 1. Add a New Level Click the + Add button above the left panel. In the Add verification level modal that appears: Type : Choose the client type this level applies to (Business, Personal, Test, etc.). Name: Enter the human-readable name displayed in the UI (e.g., Email, Phone, Identity). Properties : (Optional) Map any custom JSON nodes or metadata for this flow. Language & Translations : Use the language buttons, Clone , or Translate to localize. Click Save . Your new level immediately shows up in the list on the left. 2. Edit an Existing Level Hover over any level in the list and click its pencil icon. Modify its Name, Properties, or Translations as needed. Click Save .  Warning : If a verification level is already in use by some clients, you cannot delete it—only edit. Defining Statuses for Each Verification Level Every verification level drives one or more Statuses (e.g., Init → Pending → Completed/Rejected). You configure these in the right-hand panel: 1. Statuses Panel (Right Side) With a level selected on the left, the Statuses panel on the right shows all statuses defined for that flow. Typical statuses include: Init : No verification started. Pending : Verification in progress. Completed : Verification passed. Rejected : Verification failed. Each verification level can have its own set of statuses. 2. Add or Edit Status Click + Add in the top-right of the Statuses panel. In the Add status modal: Name (User-facing name): e.g., Pending. Properties : (Optional) Attach any JSON metadata nodes. Click Save . The new status appears in the list. 3. Edit or Delete a Status Edit : Hover over a status and click its pencil icon to rename or remap properties. Delete : Click the trash bin—only enabled if no clients are currently in that status. How Verification Levels and Statuses Appear in Clients 1. Client Type Dependency If you create a verification level for “Personal,” only Personal clients will see that level. Similarly, levels for “Business” apply only to Business clients. 2. Edit a Client a. Navigate to the Clients List In the main sidebar, click Clients to open the clients table. b. Open the Edit Form Find the client you want to change, then click the pencil (Edit) icon at the end of its row. c. Locate Verification Fields In the General section of the edit drawer you’ll see two new dropdowns under Affiliation (or wherever your form layout places them): Verification level Verification status Dropdown options are exactly the levels and statuses you configured in Configurations → Verification Levels . Only the levels matching this client’s Type appear. Once a level is chosen, its associated statuses populate the Verification status dropdown. 3. Cannot Delete In-Use Items If any client is currently assigned a given level or status, the trash-bin icon for that item in Configurations → Verification Levels will be disabled. You may rename or reconfigure it, but full deletion is blocked to avoid orphaning existing client records. Key Points to Remember Client Type Binding : Each verification level is tied to a specific client type (Personal or Business, etc.). Multiple Statuses per Level : You can define as many statuses as needed to reflect each step (e.g., init, pending, completed). No Deletion If In Use : Levels or statuses assigned to real clients can’t be removed. Properties & Language Fields : Allows storing custom data or translations for each level/status, enabling localized or extended flows. Verification Levels in Configurations enable you to create structured, multi-step KYC (Know Your Customer) processes for each client type. By pairing these levels with custom statuses, you can tailor how a client progresses from “Init” to “Pending” to “Completed,” ensuring each user meets the compliance and verification standards required for their account. 9. Configurations: Verification Documents In Configurations, the Verification Documents section allows administrators to define the required documents for client verification. These documents serve as proof of identity, financial information, or residency, ensuring compliance with KYC (Know Your Customer) policies. With this function, businesses can: Set mandatory and optional verification documents for different client types. Modify document requirements dynamically as business policies evolve. Ensure compliance by enforcing document submission before account activation. Use Cases Enforcing KYC Compliance Clients must submit documents (e.g., Passport, Utility Bill) before account activation by selecting required documents in Configurations → Documents, ensuring compliance with regulatory policies. Updating Requirements by Client Type Enable Source of Funds for business clients in Configurations → Documents, applying the new requirement to future verifications while existing clients remain unaffected unless manually updated. Reviewing & Approving Client Documents Admins verify pending client documents by navigating to Clients → Profile → Documents, reviewing submissions, and approving or rejecting them, ensuring clients meet verification requirements before proceeding. Accessing Verification Documents To manage which documents clients must upload during verification, open the Documents tab in the Configurations area: Click  Configurations in the sidebar (⚙️ icon). Along the top, select  Documents . Selecting Required Verification Documents Inside the Documents panel you’ll see a checklist of all available verification document types: Typical options include: Passport or ID Bank card (front) Bank card (back) Source of funds Utility bill Driver license Click Save . Tip: To require a document, check its box. A blue checkmark means clients must upload that document. Unchecked items become optional (or hidden). Editing a Client’s Verification Documents Once you’ve defined which documents are required, they automatically surface in every matching client’s profile. Navigate to Clients:  In the sidebar, click Clients . Open the Edit Drawer:  In the clients table, click the pencil (Edit) icon for the client you want. Switch to the Documents Tab:  In the client-edit modal, select Documents . There you’ll see one upload area for each required document. Clients or admins can drag-and-drop or browse to attach files. Uploaded items remain linked to the client record for audit or review. Adding or Removing Required Documents Adding a New Required Document: Go to Configurations → Documents . Check the box next to the new document type (e.g., Bank card ). Click Save and watch for the “Successfully Updated” message. New verifications now require that document. Once added, the new document will be required for all future client verifications. Clients who have already completed verification will not be affected unless an administrator updates their profile manually. Removing a Required Document Go to  Configurations → Documents . Uncheck the box next to the document you no longer need (e.g.,  Bank card (back) ). Click  Save . Future verifications will not prompt for that document—though existing uploads stay accessible. Once removed, that document will no longer be required for new verifications. However, previously uploaded documents will still be available for reference in client profiles. Key Points to Remember Flexibility in Requirements – Administrators can adjust document requirements at any time. Client-Specific Settings – Different client types may have different document verification requirements. Real-Time Updates – Any modification in document settings is applied instantly to new and existing clients. API Integration – Documents can also be managed and uploaded via API for automated verification workflows. By properly managing Verification Documents, businesses can ensure a secure, compliant, and efficient verification process tailored to their needs. 10. Clients Custom Fields  The Clients custom fields section allows administrators to define additional, customizable data fields that appear on client profiles across the system. These fields let you extend the standard client model with business-specific attributes without changing core logic. Custom fields are useful for capturing extra information such as internal classifications, preferences, tags, or any domain-specific data required by your workflows. This section is located under Settings → Configurations → Clients custom fields . What You Can Do Create new custom fields for client profiles Define how each field is filled in (free text, single choice, or multiple choice) Edit or remove existing custom fields Control which custom attributes are available consistently across all clients Reorder custom fields using drag & drop Control the display order of custom fields on client profiles Once created, custom fields appear: on the Client profile view in client edit forms consistently across all modules that display client details Custom Fields List The main table displays all configured client custom fields with the following information: Field name – The label shown to users on client profiles Type – The input type used to capture data: Input – Free-text field Select – Single-choice dropdown Multi-select – Multiple-choice selector Options – For Select and Multi-select fields, the list of available values Actions ✏️ Edit – Modify the field configuration 🗑️ Delete – Remove the custom field Display behavior Field Label is shown exactly as entered (including capitalization). Field Name does not affect how values are displayed to users. Field order in the list defines the order shown on client profiles. Adding a Client Custom Field To create a new custom field: Click + Add in the top-right corner. In the Add client custom field panel: Name – Internal field name. Used as the base identifier and for auto-generating the Label. Type – Choose one of: Input Select Multi-select If Select or Multi-select is chosen, define the allowed options. Label – User-facing label shown on client profiles. Auto-filled from Name but can be edited manually. Click Save to apply the changes. Validation rules Name is mandatory. Label is mandatory (auto-filled if not edited). Type is mandatory. Select and Multi-select fields require at least one option. Fields cannot be saved if required values are missing. The new field becomes immediately available on client profiles. Editing or Deleting Fields Edit – Click the pencil icon to update the field name, type, or options. Changes made during editing are applied immediately after saving. Delete – Click the trash icon to permanently remove the field. Deleting a custom field removes it from all client profiles. Existing values stored in that field will no longer be accessible. Ordering custom fields Custom fields can be reordered using drag & drop in the list. The defined order controls how fields appear on client profiles and edit forms.