Skip to main content

Installing Addons

Open Core Business Suite uses a modular architecture that allows you to extend functionality by installing addon modules. This guide covers how to purchase, install, and manage addon modules.

Purchasing Addons

Additional modules can be purchased from the official CZ App Studio store:

czappstudio.com/open-core-bs-addons

What You Get

When you purchase an addon module:

  • Complete source code - Full PHP source code for the module
  • Lifetime license - One-time purchase, no recurring fees
  • Free updates - Access to future updates for that module
  • Documentation - Installation and configuration guides
  • Support - Email support for installation issues

License Types

LicenseUsage
Regular LicenseSingle domain/installation
Extended LicenseMultiple domains or SaaS deployment

Installation Methods

The easiest way to install and manage addons is through the built-in admin panel.

  1. Log in as an administrator
  2. Navigate to Settings > Addons
  3. Find the module you want to enable
  4. Click the Enable toggle
Upload New Addons

If you've purchased a new addon, you can upload the ZIP file directly through the admin panel:

  1. Go to Settings > Addons
  2. Click Upload Addon
  3. Select the downloaded ZIP file
  4. The module will be extracted and ready to enable

Method 2: Via Command Line

For developers or when deploying via scripts, use the Artisan CLI commands:

# Enable a module
php artisan module:enable ModuleName

# Disable a module
php artisan module:disable ModuleName

# List all modules and their status
php artisan module:list

Example:

# Enable the Payroll module
php artisan module:enable Payroll

# Disable the LMS module
php artisan module:disable LMS

Method 3: Manual Configuration

You can also directly edit the modules_statuses.json file in the application root:

{
"SystemCore": true,
"AccountingCore": true,
"Payroll": true,
"Assets": true,
"LMS": false,
"Recruitment": false
}

After editing, clear the application cache:

php artisan config:clear
php artisan cache:clear

Installing a New Module

When you download a new addon module from your purchase dashboard:

Step 1: Extract the Module

# Navigate to your application's Modules directory
cd /path/to/opencorebs/Modules

# Extract the addon ZIP file
unzip /path/to/downloaded/ModuleName.zip

Step 2: Run Migrations

Most modules include database migrations:

# Run migrations for the specific module
php artisan module:migrate ModuleName

# Or run all pending migrations
php artisan migrate

Step 3: Run Seeders (If Required)

Some modules require initial data to be seeded:

php artisan module:seed ModuleName

Step 4: Enable the Module

php artisan module:enable ModuleName

Step 5: Clear Cache

php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear

Step 6: Compile Assets (If Required)

If the module includes frontend assets:

npm run build

Module Dependencies

Some modules depend on other modules to function correctly. The system will notify you if dependencies are missing.

Common Dependencies

ModuleRequires
FaceAttendance-
QRAttendance-
DynamicQrAttendance-
SiteAttendance-
IpAddressAttendance-
GeofenceSystem-
FaceAttendanceDevice-
BreakSystem-
FieldTaskFieldManager
ProductOrderFieldManager
PaymentCollectionFieldManager
SalesTargetFieldManager
HRAssistantAIAICore
SalesAssistantAIAICore
FinanceAssistantAIAICore
ReportingAIAICore
DocumentAIAICore
GeminiAIProviderAICore
LocalAIProviderAICore
AutoDescriptionAIAICore
AiChatAICore
StripeGatewayMultiTenancyCore
PayPalGatewayMultiTenancyCore
RazorpayGatewayMultiTenancyCore
Dependency Order

When enabling modules with dependencies, always enable the required module first. For example, enable AICore before enabling HRAssistantAI.

Checking Dependencies

The system automatically checks dependencies when enabling modules. If you try to enable a module without its required dependencies, you'll see an error message indicating which modules need to be enabled first.


Managing Module Status

Viewing Module Status

Via Admin Panel: Navigate to Settings > Addons to see all modules and their status.

Via Command Line:

php artisan module:list

Output example:

+---------------------+---------+--------+
| Name | Status | Order |
+---------------------+---------+--------+
| SystemCore | Enabled | 1 |
| AccountingCore | Enabled | 2 |
| Payroll | Enabled | 3 |
| Assets | Enabled | 4 |
| LMS | Disabled| 5 |
+---------------------+---------+--------+

Bulk Enable/Disable

To enable or disable multiple modules at once:

# Enable multiple modules
php artisan module:enable Payroll Assets LMS

# Disable multiple modules
php artisan module:disable LMS Recruitment

Troubleshooting

Module Not Appearing

Symptom: Module folder exists but doesn't appear in the admin panel or module list.

Solution:

  1. Check that module.json exists in the module directory
  2. Verify the module namespace matches the folder name
  3. Clear all caches:
    php artisan config:clear
    php artisan cache:clear
    php artisan optimize:clear

Routes Not Working

Symptom: Module is enabled but routes return 404 errors.

Solution:

  1. Clear the route cache:
    php artisan route:clear
  2. Verify the module's route files exist in Modules/ModuleName/routes/
  3. Check that the ServiceProvider is correctly registering routes

Database Errors

Symptom: Errors about missing tables or columns after enabling a module.

Solution:

  1. Run the module's migrations:
    php artisan module:migrate ModuleName
  2. If issues persist, check the migration files for conflicts

Class Not Found Errors

Symptom: Class 'Modules\ModuleName\...' not found errors.

Solution:

  1. Regenerate the autoload files:
    composer dump-autoload
  2. Verify the namespace in module files matches Modules\ModuleName\App\

Assets Not Loading

Symptom: Module pages load but JavaScript/CSS is missing.

Solution:

  1. Rebuild frontend assets:
    npm run build
  2. Check that the module's vite.config.js is correctly configured

Permission Errors

Symptom: Permission denied when accessing module features.

Solution:

  1. Some modules add new permissions - sync them:
    php artisan db:seed --class=PermissionSeeder
  2. Assign the new permissions to appropriate roles via Settings > Roles & Permissions

Updating Modules

When a module update is available:

  1. Backup your database before updating
  2. Download the new version from your purchase dashboard
  3. Replace the module files (or use the admin panel upload)
  4. Run migrations:
    php artisan module:migrate ModuleName
  5. Clear caches:
    php artisan optimize:clear
  6. Rebuild assets if needed:
    npm run build
Backup First

Always backup your database before updating modules, especially if you've customized any module code.


Uninstalling Modules

To completely remove a module:

Step 1: Disable the Module

php artisan module:disable ModuleName

Step 2: Rollback Migrations (Optional)

If you want to remove the module's database tables:

php artisan module:migrate-rollback ModuleName
Data Loss

Rolling back migrations will delete all data stored by the module. This action cannot be undone.

Step 3: Remove Files (Optional)

rm -rf Modules/ModuleName

Step 4: Clean Up

composer dump-autoload
php artisan optimize:clear

Best Practices

  1. Test in staging first - Always test new modules in a staging environment before production
  2. Keep modules updated - Regularly check for updates to get bug fixes and new features
  3. Review dependencies - Understand which modules depend on others before disabling
  4. Backup before changes - Create database backups before enabling/disabling modules
  5. Document customizations - If you modify module code, document changes for future updates

Getting Help

If you encounter issues with addon installation:

  • Documentation: Check the module-specific documentation
  • Email Support: [email protected]
  • Purchase Dashboard: Access installation guides and module updates

Next Steps