Menu

Back to wiki

Invoices Overview and Bulk Generator

Published Feb 07, 2026 Updated Feb 07, 2026 3 min read

The ISPBox Invoices module combines an overview page for invoice management and a bulk generator page for controlled invoice runs across clients, with clear status tracking, lifecycle actions, and run-date logic.

Page 1: /invoices (Invoices Overview)

Purpose

The Invoices Overview page is the main operational list for issued invoices across the tenant.
It is used to search, review invoice status, send invoices, and perform lifecycle actions (void, dev-only delete).

Access

Item Value
URL /invoices
Permission billing.view
Primary use Daily invoice monitoring and actions

Header actions

Action Description
Search invoices or clients Live search by invoice number or client name
Run Generator Opens /invoices/generate

KPI cards

Card Calculation
Total Invoices Count of all tenant invoices
Outstanding Balance Sum of invoice balances where balance > 0
Paid Invoices Count of invoices with status paid

Invoice list

Column Description
Invoice # Invoice number (or ID fallback)
Client Linked client name
Issued Invoice issue date
Total Invoice total amount
Balance Current unpaid amount
Status Invoice status badge (+ “Emailed” badge if emailed_at exists)
Actions View, Send, Void, Delete (dev only)

Row actions

Action Behavior Rules
View Opens invoice preview endpoint in a new tab Always available
Send Sends invoice email manually Requires client email and mailbox connectivity
Void Opens void modal and performs lifecycle void Only for unpaid, non-void, non-partial/paid invoices, no allocations
Delete Permanently removes invoice and related records Available only in dev environment

Void modal options

Option Effect
Reset service billing schedule Moves service billing schedule back to invoice period to allow clean re-issue in next run

 

Page 2: /invoices/generate (Bulk Invoice Run)

Purpose

The Bulk Invoice Run page executes controlled invoice generation for many clients at once (or one selected client).

Access

Item Value
URL /invoices/generate
Permission billing.edit
Primary use Scheduled-style/manual bulk generation

Top actions

Action Description
Run Bulk Now Starts invoice run with current parameters
Open Client Billing Opens selected client directly in Client Billing tab

Run Parameters section

Field Description
Billing date Run anchor date for due services and pending one-time charges
Client for quick navigation (optional) Filters run to one client and enables direct jump to client billing

Date logic shown on page

Preview Meaning
Run-date preview Selected/locked invoice run date
Due preview Run date + tenant payment terms
Grace preview Due date + tenant grace period

Locked date behavior

Condition Behavior
Billing cycle day configured in Settings → Invoices Billing date is auto-locked to next configured cycle date
No valid bill day configured Billing date stays editable

Bulk-run safety lock

Condition Effect
Generate invoices automatically on the billing schedule is enabled in settings Manual bulk run is disabled on this page to prevent duplicate/off-cycle bulk runs

Run output

After completion, the page shows:

Block Contents
Generation Summary List of issued invoices (number, client, date, total, status)
Errors Preflight or runtime errors from the run

What the run includes (backend behavior)

Included Rule
Billable services Active billable services due on or before selected date
Pending one-time charges Pending items scheduled up to selected date
Client eligibility Active/overdue allowed statuses; manually blocked clients are excluded
Optional single-client mode If a client is selected, run targets that client only

What the run can trigger automatically

Feature Trigger
Invoice emails When tenant/service config resolves auto_email = true
Stripe auto-charge attempts When tenant config has auto_charge = true and invoice has balance
Scenario Recommended page
Full cycle billing for many clients /invoices/generate
One client / off-cycle corrections Client View → Billing tab
Reviewing and sending existing invoices /invoices