Module: Expense Print v1.0.0
What is Expense Print?
Professional invoice-style printable expense voucher with PDF, signatures, amount in words and settings. Zero core file edits.
This module installs into modules/expense_print/ and adds its own admin menus, permissions, and database tables — without editing Perfex CRM core files.
Who should use this module?
- Admins — activate the module, configure Settings, assign roles, and manage integrations.
- Operators / day-to-day staff — create and update records (orders, attendance, shipments, messages, etc.).
- Managers / approvers — review queues, approve workflows, and monitor dashboards/KPIs.
- Finance / compliance / ops leads — run reports, exports, and audit trails when the module supports them.
What you can achieve
- Keep all related work in one place inside Perfex CRM instead of spreadsheets.
- Control who can view, create, edit, approve, or export with role permissions.
- Use dashboards and reports to see status, bottlenecks, and history.
- Connect to other CRM data (customers, invoices, items, staff) where the module integrates.
Recommended learning path
- Read How to Install and activate the module.
- Skim Features so you know what screens exist.
- Complete the Quick Start checklist on this page (Settings → masters → first sample record).
- Open each screen guide under Screen-by-screen guides when you need step-by-step help.
- Check Version & Changelog after upgrades for new options.
Tip: Train one admin first, then create a limited role for operators so they only see the screens they need.
5-minute Quick Start
Follow this short path the first time you use Expense Print:
- Activate — Setup → Modules → activate Expense Print (run Upgrade if prompted).
- Permissions — Setup → Staff → Roles → enable view/create/edit (and approve/settings if needed) for this module.
- Settings — Open Expense Print → Settings and save company defaults, prefixes, and integrations.
- Master data — Create the first required masters (products, warehouses, templates, channels, accounts, routes, etc.).
- First transaction — Create one sample record end-to-end (save → submit/approve → complete) and confirm it appears in lists/reports.
- Cron — If the module uses alerts, sync, queues, or AI, confirm Perfex CRM cron is scheduled on the server.
Full how-to guide (from module package)
The steps below come from the module author's printable guide — follow them in order for best results.
HOW TO USE — Expense Print v1.0.0
Author: Nasbix Technologies
For Perfex CRM 2.3+ (3.x recommended)
1. INSTALLATION
1. Upload the "expense_print" folder into your Perfex CRM /modules/ directory
(FTP / cPanel / Setup → Modules → Upload).
- Log in as administrator.
- Go to Setup → Modules.
- Find "Expense Print" and click Activate.
5. On activate the module:
- Registers settings options
- Creates a "Receiver Name" custom field on expenses (if missing)
- Sets installed version to 1.0.0
2. QUICK START (PRINT / PDF)
- Go to Accounting / Expenses (or Finance → Expenses depending on your menu).
- Open any expense record.
3. On the expense preview you will see:
- Print Voucher
- Download PDF
- Click Print Voucher → branded HTML voucher opens (print dialog can auto-open).
- Click Download PDF → TCPDF voucher downloads.
Tip: The built-in "Print" action on the expense is redirected to this voucher
when the module is active.
3. RECEIVER (PAID TO)
- Edit the expense form.
- Fill the "Receiver Name" custom field.
- It appears as Paid To on the voucher.
- If empty, the module falls back to expense name, then customer company.
4. SETTINGS
Path: Setup → Settings → Expense Print
(or click Settings on the module row in Setup → Modules)
Available options:
- Open print dialog automatically
- Show amount in words
- Show receipt image on voucher
- Show Authorized By signature line
- Show notes
- Show creator email and phone
- Replace default Perfex CRM expense PDF (including bulk PDF export)
- Voucher number prefix (default: EXP)
- Accent color (hex)
- Receiver custom field slug
- Footer text (optional)
5. PERMISSIONS
- Printing uses existing Expenses permissions (view all, or own records).
- Settings require Perfex Settings permission.
- Administrators can always access both.
6. UNINSTALL (CLEAN REMOVAL)
- Setup → Modules → Deactivate Expense Print.
- Click Uninstall.
Removed automatically:
- All expense_print_* options
- Any {db_prefix}expense_print_* tables
- Receiver Name custom field created by this module + its saved values
NOT removed:
- Expense records
- Expense receipt attachments
- Perfex core files
7. DOCUMENTATION
Open documentation/index.html from the package in any browser.
Support: CodeCanyon item comments (6 months from purchase).
Include: purchase code, Perfex version, PHP version, module version.
Module documentation index
Start here — full guides for Expense Print:
- Overview & How to Use — what it is, who uses it, daily workflow
- Quick Start Guide — first 5 minutes + printable how-to
- How to Install — upload, activate, permissions, verify
- Features (Full Detail) — every capability explained
- FAQ & Tips — common questions and best practices
- Version & Changelog — version history
How to use in Perfex CRM (daily operations)
- Sign in to the admin area with a role that includes Expense Print permissions.
- Open Expense Print (sidebar) or search for Expense Print in the admin menu.
- Start on the Dashboard (if available) to see open tasks, pending approvals, and KPIs.
- Review Settings after upgrades — new options may need defaults for your company.
- Create or import master data first; most modules block transactions until masters exist.
- Run the main business flow (create → submit → approve → post/complete) using the screens listed in Admin menu below.
- Use Reports / Analytics screens to reconcile stock, finance, compliance, or SLA metrics.
- For integrations (API, EDI, gateways, tax), confirm credentials in Settings and monitor logs or webhook delivery screens.
- Train staff with role-based access — give approvers approve permissions only, operators create/edit on their area.
- If something fails overnight, check Perfex CRM cron ran and open the module log / failed queue screen if present.
Admin menu — where to work
Open the Expense Print section in the admin sidebar. Screens your staff may use (depending on role):
- Expense Print
Detailed guide — features, workflows, API & FAQ
Features
- Invoice-style printable voucher (HTML + browser print)
- PDF download using Perfex CRM TCPDF (no extra PHP libraries)
- Optional replacement of the core expense PDF (bulk export included) — zero core file edits
- Creator (prepared by), receiver (paid to), and authorized-by signature lines
- Amount in words via Perfex CRM number-to-word
- Receipt image on the voucher (JPEG/PNG/GIF/WebP only)
- Custom voucher prefix, accent color, footer, and layout toggles
- Receiver Name custom field created on install
- Staff access follows Perfex CRM expenses view / own permissions
- Full uninstall cleanup (options, tables, install-created custom field)
Requirements
| Component | Version |
|---|---|
| ----------- | --------- |
| Perfex CRM | 2.3+ (tested on 3.x) |
| PHP | 7.4+ (8.1+ recommended) |
| MySQL / MariaDB | 5.7+ / 10.3+ |
No other Nasbix modules are required.
Settings
Setup → Settings → Expense Print (or the Settings link on the module row):
- Auto-open the browser print dialog
- Amount in words, receipt image, notes, authorized-by line
- Hide creator email/phone
- Replace default Perfex CRM expense PDF
- Voucher prefix (e.g.
EXP→EXP-00012) - Accent color
- Receiver custom-field slug
- Footer text
Permissions
Printing uses existing Expenses permissions (view or own records). Settings require Perfex CRM Settings view/edit. Admins can always access both.
Requirements
| Component | Minimum |
|---|---|
| Perfex CRM | 2.3.0+ (tested on 3.x) |
| PHP | 7.4+ (recommended 8.1+) |
| MySQL / MariaDB | 5.7+ / 10.3+ |
No additional Composer packages. PDF uses the TCPDF library already bundled with Perfex CRM.
Zero core modifications
Usage
- Open Expenses and select an expense.
- Click Print Voucher (HTML, browser print) or Download PDF.
- The built-in More → Print menu item is redirected to the voucher automatically.
- Fill Receiver Name on the expense form so Paid To is correct. If empty, the module falls back to expense name, then customer company.
PDF vs Print
- Print Voucher — branded HTML page. Best for immediate paper copies.
- Download PDF — TCPDF file for email or archive.
- If Replace default Perfex CRM expense PDF is enabled, Utilities → Bulk PDF Export for expenses also uses this layout.
Settings
Path: Setup → Settings → Expense Print (also linked from the module row).
| Option | Default | Notes |
|---|---|---|
| Open print dialog automatically | Yes | Browser print prompt on voucher load |
| Show amount in words | Yes | Uses Perfex CRM number-to-word and expense currency |
| Show receipt image | Yes | Only JPEG, PNG, GIF, WebP; max 5 MB; path-checked |
| Show Authorized By line | Yes | Blank signature line for a manager |
| Show notes | Yes | Expense note block under totals |
| Show creator email and phone | Yes | Turn off to hide staff contact details |
| Replace default expense PDF | Yes | Hook only — does not overwrite core PHP files |
| Voucher prefix | EXP | Alphanumeric, hyphen, underscore; max 12 characters |
| Accent color | #1e40af | Must be a 6-digit hex color |
| Receiver field slug | expenses_receiver_name | Change only if you use a different custom field |
| Footer text | (auto) | Empty = company name + title + date |
Permissions
- Staff can print an expense if they can view expenses, or if they created the expense (same rule as Perfex CRM expense preview).
- Settings require Perfex CRM Settings permission.
- Administrators bypass staff permission checks as usual.
Uninstall
expense_print_* options, any {prefix}expense_print_* database tables, and the Receiver Name custom field created on install including all saved values for that field. Expense records are not deleted.
- Setup → Modules → Deactivate Expense Print
- Uninstall
FAQ
The print still shows the old Perfex CRM layout
Hard-refresh the expenses page (Ctrl/Cmd+F5) so expense_print.js loads. Confirm the module is activated.
PDF looks different from the HTML voucher
TCPDF supports a subset of CSS (tables, colors, images). Flexbox layouts are converted to tables. Content is the same; spacing may differ slightly.
Receipt does not appear
Only image attachments are embedded. PDF or Word receipts stay as downloadable files on the expense, not on the voucher.
Can I keep my own my_expense_pdf.php?
Yes. Turn off Replace default Perfex CRM expense PDF. The module PDF button still uses the voucher layout; only core/bulk PDF follows your custom file.
Will Perfex CRM updates break this?
The module does not edit core files. It uses documented hooks (after_left_panel_expense_preview_template, expense_pdf_build_path, settings API). Test after major Perfex CRM upgrades.
After activation — configuration checklist
- Go to Setup → Modules and click Activate.
- A custom field named Receiver Name is created on expenses (slug expenses_receiver_name).
- Optional: open Setup → Settings → Expense Print to set prefix, colors, and layout.
One-time setup (first time only)
- Setup → Modules → activate Expense Print.
- Setup → Staff → Roles → assign Expense Print permissions (view, create, edit, delete, approve, export, settings as needed).
- Open Expense Print → Settings and complete company defaults, prefixes, integrations, and notification options.
- Create master data (warehouses, products, templates, accounts, routes, etc.) before processing live transactions.
- Enable Perfex CRM cron (
php /path/to/perfex/index.php cron/index) for sync, retries, alerts, and scheduled jobs. - Optionally enable REST API / webhooks in module settings if you integrate external systems.
Tips for success
- Always configure Settings before creating live transactions.
- Create master data (items, warehouses, templates, channels, accounts) first — most modules block incomplete records.
- Use a test/sample record before going live with real customers or production stock.
- Separate roles: operators create/edit; managers approve; finance/reporting get view/export only.
- After any module upgrade, reopen Settings and confirm new options have sensible defaults.
- If overnight jobs fail, verify Perfex CRM cron and check the module log / failed queue screen.
Common questions (FAQ)
Where do I find the module after activation?
In the admin sidebar look for Expense Print. If missing, your role may lack view permission — fix under Setup → Staff → Roles.
Do I need to edit core Perfex CRM files?
No. Keep all custom code under modules/expense_print/. Activate/deactivate from Setup → Modules.
What happens if I uninstall?
Deactivate keeps data. Uninstall usually removes module tables/options (see the Install article). Core customers, invoices, and items are not deleted by well-built modules.
Why can't my staff see a screen?
Almost always a permissions issue. Give the role at least view on that feature, then ask the user to log out and back in.
Reports/export buttons do nothing
Confirm the role has export (or view reports) permission, and that filters return at least one row. Try PDF/CSV from a wider date range.
FAQ from module documentation
Support
- Period: 6 months from CodeCanyon purchase
- Via: CodeCanyon comments & item support
- Include: Perfex CRM version, PHP version, module version, steps to reproduce
Do not modify Perfex CRM core files — this module uses hooks only.
Perfex CRM Knowledge Base — detailed usage guide generated from module README, HOW_TO_USE, and documentation.