Multi-Tenancy Module for Perfex CRM
Transform your Perfex CRM installation into a powerful multi-tenancy platform effortlessly with the Perfex CRM SaaS Module. This innovative module eliminates the need for wildcards or wildcard SSL or VPS, making it a seamless solution for scaling your business and accommodating multiple tenants.
Perfect module for Digital Marketer and and Accounting agencies for managing clients CRM instances from single dashboard or anyone trying to start CRM SaaS solution using Perfex CRM.
Start a SaaS CRM business without breaking a sweat talkless of a bank !
Support 3 url structure for tenancy: path, subdomain and custom domain
Support all database structure: single separated database for each tenant, multinenancy and sharding !
It works well on all hosting Cpanel, VPS or Dedicated servers.
Setup Perfex CRM and you are good to go !
Key Features:
- Multi-Tenancy Made Easy: With our SaaS module, you can easily convert your Perfex CRM installation into a multi-tenancy platform. Seamlessly manage multiple clients, departments, or branches within a single Perfex CRM instance, ensuring data isolation and security.
- No Wildcard SSL Required: Unlike traditional multi-tenancy solutions, our module doesn’t rely on wildcard SSL certificates. You can provide a secure environment for each tenant without the hassle and expense of managing wildcard certificates, reducing complexity and costs. This makes it works on any server including shared hosting and Cpanel, then scales when you validate your business idea or have enough resources.
-
Subdomain and Custom Domain: Are you skilled or have enough resources to run on VPS/Dedicated servers ? This module works perfectly for you too with our simplified subdomain and custom domain implementation. We also provide a free guide in our documentation to get you setup on free unlimited wildcard SSL for custom domains and subdomain for your tenants.
- Robust Tenant Management: Our SaaS module offers comprehensive tenant management tools, allowing you to easily onboard new tenants, configure their specific settings, and manage their access privileges through package control. Simplify administration tasks and provide a customized experience for each tenant.
- Module Access Control: Our module empowers you with comprehensive control over access to other modules, allowing for precise management at both the package level and individual tenant level. You have the ability to designate module availability exclusively for specific tenants or extend access to all tenants subscribed to a particular package. This granular control ensures flexibility and customization in determining module accessibility across your organization or SaaS platform.
-
Resources Limitation/Quota: Fine grained package level control for essensial resources such as staff, contacts, leads, proposals, projects, customers, invoices, tickets e.t.c
- Settings and Configuration Sharing: Recognizing the potential application of this module in overseeing diverse departments within an organization, we have implemented a feature enabling the sharing of Perfex CRM configurations, including module settings, across multiple instances at the package level. This grants you the flexibility to effortlessly disseminate your Pusher and SMTP settings to all tenants subscribed to a specific package. Furthermore, for sensitive information such as passwords or keys, we provide the option to conceal them from tenant visibility, employing a masking mechanism (note that masking functionality is currently experimental and should be utilized with caution).
- Scalable and Flexible: Our module offers unparalleled versatility in terms of database support, accommodating a wide range of SaaS database schemes to suit your specific requirements. Whether you prefer multi-tenancy, sharding, or a single database setup, our module has you covered.
- Cloud Database Solutions: Seamlessly integrate with popular cloud database solutions, such as Amazon RDS or Google Cloud SQL. Leverage the scalability and reliability of these platforms to efficiently manage and store tenant data, ensuring optimal performance and availability.
- Tenant Data Custody Options: We understand that some tenants may prefer to have complete control over their data. Our module accommodates this by allowing creation of instance using customer database credentials. This means they can choose to host their data on their own servers, ensuring data custody and compliance with their internal policies.
- Maximum Utilization of Perfex core: Perfex SaaS module utilize the existing Perfex core resources for managing tenant invoices and payment. Thus, you dont have any new thing to learn or setup payment gateway. Your existing payment gateway works perfectly with other existing Perfex CRM tools.
- Testing Framework: We acknowledge that you may wish to enhance our module by implementing modifications or customization tailored to your organization’s specific requirements. Consequently, we have furnished a comprehensive unit testing mechanism for essential functionalities, which continues to expand. This facilitates effortless verification of your setup’s resilience to potential feature disruptions resulting from any modifications, thus upholding the standards of quality development.
- Disk space and tenant storage control: The module provide an option to limit tenants disk usage. This involves tenants files upload (core default modules), database backup and media. It should be noted that storage control does not support third party modules that uses storage out of the Perfex core storage folders.
- Auto login from the SaaS client portal to the respective applications
Smooth signup and flexible accessibility
- Module Marketplace: The module gives you the ability to sell premium addons to tenant
- Usage based pricing: If you prefer usage base single pricing where tenants only pay for resources used, we got you covered. The module support both package plans and pricing option.
- Inbuilt feature control: You can disable some inbuilt Perfex CRM features/module such as Projects, Leads, Task e.t.c at both package/pricing level and tenant level.
- Free extensions (bonus): You gain access to 7+ extra free modules inclding Affiliate Management, Purchase Order and Delivery Note. This list will grow with time.
- …..and many more
Unlock the full potential of Perfex CRM with our SaaS Module and take your business to new heights. Experience hassle-free multi-tenancy, effortless instance importing, and seamless scalability. Try it today and revolutionize your CRM operations.
Questions/Support
- Perfex from version 3.0.* to latest version is required.
- We provide documentation with video illustration covering installation and usage.
- We respond to your questions as fast as possible within few hours but can sometimes be up to few days.
- We dont provide refund for the extension after purchase, so confirm before purchase.
- Any custom work including setup, installation and extension (that might require skilled hours) are not free. You can hire us for this.
Demo
https://perfextosaas.comAdmin panel:
https://perfextosaas.com/admin
Email: admin@admin.com Password: password
Customer panel.
https://perfextosaas.com
Email: customer@customer.com Password: password
Demo resets every hour
Contact us on support@perfextosaas.com for support
ROADMAP
- Many interesting features to come. Shoot us your interesting suggestions through our profile. We will note them. Thanks.CHANGE LOG
version 0.2.7 12/07/2024- Add more API end points
- Add API Key for new endpoints
- Add in system API documentation
- Add contact role for controlling access to SaaS feature.
- Improve third party modules compatibility for tenants
- Fix tenant favicon issue in subdomain or custom domain
- General refactor and other minor improvements
- Fix subofolder redirection
- Fix force redirection issue when logged in as tenant from the super admin panel
- Improved cookie security
- Fix error when adding tenant to package without taxes
- Fix issue with deployment status note
- Remove preloader in preview mode
- Other minor improvements
- Introduced custom domain DNS guide
- Enhanced tenant listing priority with custom domain request notice
- Improved custom domain linking experience and added email notifications
- Added custom domain check feature to UI
- Added backward compatibility support for MySQL 5.6
- Fixed error 500 occurring on fresh installation in certain setups
- Implemented deployment status note feature
- Implemented option to control subdomain and custom domain creation in cPanel and Plesk integration
- Improved white labeling
- Differentiated package downgrade and upgrade buttons
- Added invoice status payment requirement check
- Prevented debug mode module installation for tenants
- Fixed deployment issue when using tenant instance
- Allowed instance removal of pending or deploying instances in development mode
- Added services and module marketplace switch at package level
- Fixed redirection issue during client menu setup
- Implemented subscription cancelling and resuming feature
- Fixed adaptability issue with wiki module
- Enhanced module list translation: Improved package/module translations allowing translation of modules list on the package
- Improve Subscription page UX: Added money format to client portal, and enhanced package price formatting, encoding issues e.t.c
- Improved MySQL root testing and password generation strength
- Allowed integration on servers without access to database server using default DB credentials
- Fixed encoding issue in builder
- Added custom hooks for extending extensions list
- Fixed issue allowing emptying hidden tabs settings
- Excluded .html and .htm from redirection in path ID redirection to support third-party module; page_builder
- Other minor update and improvements
- Add more tenant seeding options; can now set dedicated instance for seeding purpose or use default perfex installation or the master CRM
- Delayed permanent instance removal: can set days before instance is removed permanently after deleting
- Improved whitelabeling: saas settings menu and asset links
- Improved whitelabeling: added option to rename the default theme (perfex) to any name
- Add client menu control extension
- Discontinue hiding of client menu in SaaS module in favour of new client menu control extension
- Improve marketplace accessibility
- Add image to module and services marketplace
- Added more hooks for exension of the saas module
- Improve translations
- Fix alternative host url for subdomain input suggestion on registration field
- Fix services adding issue
- Fix tenant quota limit for billing cycle
- Other minor improvements
- Fix alternative host issue where main domain might not accessible.
- Add referral tracking of web to lead for affiliate module.
- Fix affiliate menu not showing in SaaS My Account menu when using single portal mode
- Added tabs visibility control to package settings, enabling the hiding of tabs such as settings, projects, and customer profiles.
- Streamlined menu titles for enhanced design.
- Improved package customization with the addition of extra invoice items or services marketplace, offering both monthly and one-time payment options.
- Enhanced magic authentication for new tenant when using cPanel/Plesk. Tenants will now utilize URL paths for the initial 20 minutes until SSL is ready when subdomain/alias domain option is enabled.
- Implemented an alternative base host in SaaS settings. This allows installation at app.domainA.com while tenants use tenantid.domainA.com as subdomains, instead of tenantid.app.domainA.com or entirely different domains.
- Resolved mobile responsiveness issues for improved usability.
- Other minor improvements
- Fix Updating DSN and preventing the revelation of DSN connection to clients.
- Improved cPanel testing for addon domain, now handled as a separate process.
- Enhanced translation in middleware pages.
- Improved reliability of page masking hook.
- Resolved client menu issues in Perfex v3.1.2.
- Fix admin and client menu issue in new version of Perfex v3.1.2
- Added 4 new free extensions
- Added Misc settings to exclude certain clients/customers from SaaS feature
- Added easily accessible link to quota card for package customization
- Removed perfex_saas_tenant_id column from master and tenants table in old pre v0.0.7 installations.
- Fixed error when running cron using CLI
- Added auto removal of instance feature due to inactivity – through package advance settings
- Added billing cycle reset option to package limit/resources. Resources may now be configured to reset on every billing cycle
- Improved third-party module management and extension installation
- Improved matching for registration page
- Auto migration of core Perfex database upgrade during new Perfex update
- Improved tenant seeding process
- General minor improvements
- Added v3.1.0 migration seed for new tenants
- Improve SaaS extension loading
- Fix issue downloading ‘Disable customer panel’ module
- Fix issue with cpanel integration
- Add option to disable autolaunch of instance.
- Add option for custom trial over page
- Improved support for third party modules compatibility
- Added a optional module to disable customer area: mainly for tenants
- Fix default module translation issue on package card.
- Add option to mask shared settings on other pages other than settings page. This allow you to mask shared setting on module settings pages e.t.c
- Add Plesk integration
- Add Mysql root integration interface and you can now use different connection for Perfex and setting up tenants
- Add unlimited option for storage limit
- Fix tenant issue experienced on some setup in v0.1.5
- Add extension option for the SaaS module
- Add direct update of SaaS module and extra extensions from dashboard
- Add option to change account menu item position in single portal mode
- Remove ‘Invoice added successfully’ notification on fresh signup
- Improve trial notification message for single pricing mode
- Remove calculation of storage on every request and limit to when uploading files
- Rewrite route name to exclude “perfex” for full whitelabeling
- Reset invoice, estimate, and credit note next number in new tenants
version 0.1.4c 28/11/2023
- Add option to show navigation menu in client portal when using single portal mode
- Optimize instance deploy screen
- Fix 403 error during signup
version 0.1.4b 27/11/2023
- Update Affiliate module: add support for client menu when using the ‘bridge’ mode, fix some missing tags in email templates
version 0.1.4 27/11/2023
- Affiliate management as a separate addon module – can be shared with tenant
- Improved instance deploy screen with two presentation option
- Improved Cron services
- Improved third party modules loading and compatibility
- Other minor updates
- Added a new settings area, namely “Miscellaneous,” which includes an option to provide a URL that the tenant will be redirected to after creating their first instance. The URL could be an internal survey or any other link, and we add essential tenant information to the URL.
- Fixed a 419 issue on lead forms and some other endpoints when using a path ID URL for the tenant.
- Resolved the zero-trial issue: made the trial optional when it’s set to 0 or less.
- Removed the blue background from the Saas menu in the super admin section.
- Now, Perfex core invoice due dates are respected, and tenants will only become inaccessible after their invoice is overdue.
- Added an extra instance to package customization; customers can now increase their instance limit by making an additional purchase.
- Implemented quota validation before invoice customization through the marketplace.
- Added a means of changing the path ID, allowing you to modify the ‘ps’ in the URL path ID for tenants.
- Improved the loading and compatibility of third-party modules.
- Made various minor improvements for better performance and functionality.
version 0.1.2 10/10/2023
- Add cPanel Integrations for Database and Addon domain automation
- Improve cron process
- Fix tenant module installation issues caused by some third party modules
- Add french translation
- Add access prevention to tenants when trials expires
- Other minor improvements
- Separate option to manage cross domain magic auth for tenants using custom domains
- Fix tenant switch 404 error on path id tenancy scheme
- Add more default feature to control list
- Add package customization switch
- Add sso for client instances, when enabled, tenant can usge magic login into any of instances owned
- Assimilate client saas portal into instances – When enabled, tenant can manage saas billing and package directly from any instance
- Add old invoice customization to new invoice during package upgrade
- Show tax info and apply taxes when client make package customization
- Landing Page builder: Encoding of page html content to bypass some content filtering when saving page
- Landing Page builder: Fix asset copying issue on duplication of theme
- Other general improvements and minor fixes
- Fix Subtotal issue in non USD currency setups
- Fix showing of disk space customization when price has not been set
- Add package/plan customization and module marketplace
- Add core feature/inbuilt module control at package and tenant level
- Add single pricing mode – option to use pricing system instead of package plans
- Add disabling of modules to tenant
- Fix broken file url on tenant id path scheme
- Other minor fixes
- Fix broken upload files when using Path ID scheme.
- Add settings control excluding sensitive data when seeding tenant instances
- Increase tenant id limit to 20 characters
- Fix tenant seeding issue leading to db upgrade screen in tenants.
- Disk space management: storage limit and upload control for Perfex core, database backup storage and media
- Seeding data management; select what data to copy over to tenent during creation
- Added language files for other languages
- Fix deleting tenant files when deleting the tenant
- Fix cron notification issue
- Fix lead import blank page error
- Set tenant email as reply email when sharing SMTP
- Added switch to control limitation boxes on tenant dashboard i.e you opt to show only quota that are not unlimited
- Other minor fixes and improvements
- Fix to cron breaking when there is a tenant with none active custom domain
- Add russian translation
- Fix tenant module installation service not reaching all tenants
- Support for plans with zero amount i.e free plan. Free plan are marked as paid automatically.
- Add next billing period to subscribed package card
- Fix lost session during signup flow when email verification is done on different browser.
- Improve signup and automatic instance creation
- Add billing and shipping to saas invoices (inherited from company info)
- Migrates shared database schema from shared tables to separate isolated tables for each tenants.
- Fix modules installation data not available for tenants.
- Limit tenant id (slug) to 15 characters
- Fix datacenter test button when creating tenant from admin panel with option of setting database credential.
- Drop dump importation from old CRM
- Auto run of DB migration for tenants through cron job. This prevent customer from seeing DB upgrade sceen.
- Other minor fixes and improvements
- Fix issue when creating items with multiple currencies.
- Fix issues when creating company
- Make preference for customer selected package over default package for register form widget
- Add subdomain and custom domain input fields to signup form (can be disabled i.e swith off from settings)
- Add portal redirection check for proxied page
- Fix landing page logo edit issue and remove some uneccessary blocks
- Add package/plan listing api – useful for fetching plans detail into your custom landing page
- Add slug/subdomain availabity check api
- Ensure the automatic instance deploy only run after client verified email
- Add custom domain input to client instance create form
- Add custom domain request notice to tenant table for setups requiring approval
- Fix SMTP shared settings not reflecting on tenant
- Fix: prevent saving shared masked string as value when saving settings except user provide a value
- Add security feature prevent master or any tenant from allowing dangerous extension files
- Add enforced shared settings options – when a setting is shared and enforced, tenant wont able to update
- Fix quick view snapping effect
- Add arabic language translations
- Other minor fixes
- Improve client single layout view
- Add iframe block to landing page builder
- Update documentation link in the downloaded file.
- Fix broken anchor on invoice and modules page
- Fix builder page not saving
- Fix landing page builder not loading templace in system not supporting GLOB_BRACE
- Backward support for php7.4
- Add landing page templates
- Add landing page templates builder
- Add Single instance client view mode – you can set this on package.
- Fix invoicing system: trial invoice is now draft by default on converted to normal invoice on sbscription.
- Fix cron job issue not reaching the tenants
- Add contracts and items limitation
- Improve saas dashboard statistic widget
- Add tax and payment option to package
- Add subscribers count to package card
- Fix database pool population count on package card
- Add switch to off the progress loading bar
- Remove loading of custom lang file – not relevant as its handeled already by perfex
- Other minor fixes …
- Add switch for client menu control in saas settings
- Fix company subdomain or custom domain address to use https:// when neccessary
- Fix cron job issue
- Fixes some typos in translation texts
- Prevent use of company invoice information in the tenants dump file
- Add language customization file: You can now use separate file for your customized translation without loosing them in future updates.
- Prevent tenant from update allowed file extension; all tenant will be limited by extension set by the super admin.
- Improved invoice trial notice
- Other minor fixes …
- Fixes package updating issue for non SaaS related invoices
- Separate the tenant’s media folder and the master instance.
- Fix error in tenant settings page in Perfex 3.0.5
- Other minor fixes
- Fix regression of “modules” menu showing on tenant dashboard.
- Add Limitations for tenants (staff, contacts, leads, proposals, projects, customers, invoices, tickets e.t.c)
- Support for custom domain and subdomain
- Add package signup link – Each package link can be copied and use on landing page
- Improved UX
- Fixes tenant settings bug
- Removed help menu in tenant
- Add spanish translations
- First release.
version 0.1.0 – patch109/09/2023