Expense Print — Overview & module guide

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)

  1. Sign in to the admin area with a role that includes Expense Print permissions.
  2. Open Expense Print (sidebar) or search for Expense Print in the admin menu.
  3. Start on the Dashboard (if available) to see open tasks, pending approvals, and KPIs.
  4. Review Settings after upgrades — new options may need defaults for your company.
  5. Create or import master data first; most modules block transactions until masters exist.
  6. Run the main business flow (create → submit → approve → post/complete) using the screens listed in Admin menu below.
  7. Use Reports / Analytics screens to reconcile stock, finance, compliance, or SLA metrics.
  8. For integrations (API, EDI, gateways, tax), confirm credentials in Settings and monitor logs or webhook delivery screens.
  9. Train staff with role-based access — give approvers approve permissions only, operators create/edit on their area.
  10. 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

ComponentVersion
--------------------
BIXCRM2.3+ (tested on 3.x)
PHP7.4+ (8.1+ recommended)
MySQL / MariaDB5.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

ComponentMinimum
BIXCRM2.3.0+ (tested on 3.x)
PHP7.4+ (recommended 8.1+)
MySQL / MariaDB5.7+ / 10.3+

No additional Composer packages. PDF uses the TCPDF library already bundled with BIXCRM.

Zero core modifications

Usage

  1. Open Expenses and select an expense.
  2. Click Print Voucher (HTML, browser print) or Download PDF.
  3. The built-in More → Print menu item is redirected to the voucher automatically.
  4. 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).

OptionDefaultNotes
Open print dialog automaticallyYesBrowser print prompt on voucher load
Show amount in wordsYesUses BIXCRM number-to-word and expense currency
Show receipt imageYesOnly JPEG, PNG, GIF, WebP; max 5 MB; path-checked
Show Authorized By lineYesBlank signature line for a manager
Show notesYesExpense note block under totals
Show creator email and phoneYesTurn off to hide staff contact details
Replace default expense PDFYesHook only — does not overwrite core PHP files
Voucher prefixEXPAlphanumeric, hyphen, underscore; max 12 characters
Accent color#1e40afMust be a 6-digit hex color
Receiver field slugexpenses_receiver_nameChange 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

Uninstall removes the Receiver Name custom field and all saved values for that field, plus every Expense Print option. Expense records are not deleted.
  1. Setup → Modules → Deactivate Expense Print
  2. 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

  1. Go to Setup → Modules and click Activate.
  2. A custom field named Receiver Name is created on expenses (slug expenses_receiver_name).
  3. Optional: open Setup → Settings → Expense Print to set prefix, colors, and layout.

One-time setup (first time only)

  1. Setup → Modules → activate Expense Print.
  2. Setup → Staff → Roles → assign Expense Print permissions (view, create, edit, delete, approve, export, settings as needed).
  3. Open Expense Print → Settings and complete company defaults, prefixes, integrations, and notification options.
  4. Create master data (warehouses, products, templates, accounts, routes, etc.) before processing live transactions.
  5. Enable BIXCRM cron (php /path/to/bixcrm/index.php cron/index) for sync, retries, alerts, and scheduled jobs.
  6. Optionally enable REST API / webhooks in module settings if you integrate external systems.

BIXCRM Knowledge Base — usage guide generated from module README and documentation.

Did you find this article useful?