Module: Expense Print v1.1.0
Professional invoice-style printable expense voucher with PDF, signatures, amount in words and settings. Zero core file edits.
How to use in BIXCRM (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 BIXCRM 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 BIXCRM 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 BIXCRM 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 BIXCRM expenses view / own permissions
Requirements
| Component | Version |
|---|---|
| ----------- | --------- |
| BIXCRM | 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 BIXCRM 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 BIXCRM Settings view/edit. Admins can always access both.
Requirements
| Component | Minimum |
|---|---|
| BIXCRM | 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 BIXCRM.
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 BIXCRM 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 BIXCRM 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 BIXCRM expense preview).
- Settings require BIXCRM Settings permission.
- Administrators bypass staff permission checks as usual.
Uninstall
- Setup → Modules → Deactivate Expense Print
- Uninstall
FAQ
The print still shows the old BIXCRM 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 BIXCRM expense PDF. The module PDF button still uses the voucher layout; only core/bulk PDF follows your custom file.
Will BIXCRM 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 BIXCRM 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 BIXCRM cron (
php /path/to/bixcrm/index.php cron/index) for sync, retries, alerts, and scheduled jobs. - Optionally enable REST API / webhooks in module settings if you integrate external systems.
BIXCRM Knowledge Base — usage guide generated from module README and documentation.