Appearance
Apply the core hook points
GST Manager requires four one-time extension points in your AcelleMail installation to enable core capabilities:
- PDF engine integration: Replaces stock invoice rendering with GST-compliant Tax and Export PDFs.
- Customer GSTIN capture: Injects validated GSTIN input fields into customer contact forms.
- Export numbering: Triggers custom sequential
EXP-YYYY-Nexport numbering upon payment. - Tax calculation fix: Ensures calculated GST amounts are added to order totals during checkout.
Critical tax calculation requirement
Without core hook points, AcelleMail bills the pre-tax subtotal and ignores your configured GST rates. The plugin applies hooks automatically during activation on standard hosting setups.
Core extension points
The plugin patches the following functional areas in AcelleMail:
- Export numbering: Assigns sequential
EXP-YYYY-Nnumbers when international invoices are paid. - GST invoice PDF: Generates statutory Tax Invoice and Export Invoice templates for admin and customer downloads.
- GSTIN contact form field: Adds validated GSTIN collection fields alongside customer Tax ID settings.
- Order tax calculation: Resolves AcelleMail core total calculations so configured tax rates are billed to customers.
All modifications are fenced with gstmgr:hook marker comments to prevent duplicate patching.
Automated vs manual patching
- Automatic activation (Default): The plugin patches core files automatically when you activate it in AcelleMail.
- Self-healing: The plugin automatically reapplies hooks if a core AcelleMail update overwrites modified files.
- SSH fallback: Required only on hardened hosting environments where web server permissions restrict write access to
app/orresources/views/.
The SSH fallback procedure
If the admin dashboard displays a banner indicating core files could not be patched, complete patching via CLI.
Prerequisites
- SSH access: Command-line access to the AcelleMail web server.
- Plugin installed: Files present in
storage/app/plugins/relyweb/gstmanager/. - PHP CLI: Active PHP runtime matching your web environment.
- Database backup: Recommended prior to executing file modifications.
Run the patcher script
From your AcelleMail root directory (containing artisan and composer.json):
bash
cd /path/to/acellemail
php storage/app/plugins/relyweb/gstmanager/scripts/apply-core-patches.php .Clear cached application views and routes:
bash
php artisan view:clear && php artisan route:clearCLI output reference
The patcher reports file-level status:
✓ patched: <file>— Successfully modified.↺ already patched: <file>— Marker present; skipped.- not in this build, skipping: <file>— Optional path not present in current AcelleMail release.! NOT WRITABLE: <file>— Permission error. Re-run with appropriate filesystem ownership.! could not patch (unexpected file contents): <file>— File structure differs from supported templates.
Verification checklist
Confirm active hooks after activation and licensing:
- Customer profile: GSTIN field appears on the customer contact editing page.
- Invoice downloads: Downloaded invoices render the GST Manager layout instead of default templates.
- Checkout totals: Order summary totals include configured GST tax amounts.
- International orders: Paid export orders receive custom
EXP-identifiers.
Handling AcelleMail core upgrades
Core AcelleMail upgrades may overwrite patched files:
- Auto-healing: Visiting the GST Manager dashboard automatically checks and reapplies missing hooks.
- Hardened hosts: Re-run the CLI patcher script and clear caches if permissions prevent web-based patching.
Troubleshooting patch errors
ERROR: Not an AcelleMail root: …: Execute the command from the folder containingartisan, passing.as the target argument.! could not patch (unexpected file contents): Unrecognized file layout. Contact support@relyweb.co with your AcelleMail version.! NOT WRITABLE: Update file permissions to allow the web user or CLI user to modify target files.- GST features inactive: Clear cached views via
php artisan view:clear && php artisan route:clear.
Related pages
- Installation — full installation workflow
- Requirements — system dependencies and ionCube Loader
- Troubleshooting — resolving display and tax issues
- GST classification — tax logic details