Skip to main content

Invoicing

Invoicing bills the people and organizations you serve: a business for a hazmat clean-up, a facility for standby coverage, a municipality for contracted fire protection, an event organizer for medical cover, a client site for security hours. You keep a billing profile per customer, a rate card of what you charge, create invoices whose lines can be generated from the calls you ran, send them as PDF, record payments (or let the customer pay online) and watch the accounts-receivable aging.

Needs the Business Ops add-on, the Business Operations module switch and the Invoicing.CustomerInvoicing flag — see the overview. Menu: Workforce & Business Ops → Invoicing.

Invoicing

The pages

TabWhat it is for
InvoicesOutstanding and overdue balances, the invoice list with a status filter, New invoice.
Rate CardsWhat you charge per call: hourly unit or personnel time, flat fees, mileage, materials.
AgingOpen balances grouped by how far past due they are.
Billing settingsYour legal name, remit-to address, registrations, invoice footer and the Online payments tab.

Setting up

1. Billing settings (once)

Invoicing → Billing settings. Everything here is printed on every invoice and PDF.

Billing settings

FieldUse
Legal business name, Remit-to addressThe header and the remit to block of the PDF.
Tax registration number, Secondary tax registrationSales-tax / VAT / GST and PST numbers; a second registration prints beside the first (Canada).
SAM UEI, CAGE code, Workers' comp accountFederal-contract identifiers many agencies require on the invoice itself.
Invoice footerPayment instructions, thank-you note or legal text printed under the totals.
Pay link expiry (days), Show a "Pay online" link on invoicesOnline-payment options (see Online Payments).

2. Rate cards

Invoicing → Rate Cards → New rate card. A rate card lists what you charge; mark one card as the department default and pin a different one on a customer's billing profile when that customer has negotiated rates.

Rate card

Save the card, then add items:

Item typeHow the line is generated when you add a call
Hourly unitOne line per unit that was on the call: hours from the unit's first On scene status to its next status (or the whole call window if the unit never reported on scene). Optional Unit type filter (only engines, only ambulances …).
Hourly personnelA line with the rate pre-filled and quantity 0 — personnel hours on scene are not tracked per call, so the clerk types them.
Flat per callQuantity 1 × rate.
Fixed feeQuantity 1 × rate (administrative fee, report fee).
Mileage, MaterialRate pre-filled, quantity 0 for the clerk to enter.

Per item: Rate, Unit label (hour, mile, each), Minimum charge, Minimum minutes and Round up to (minutes) for hourly items (a 47-minute call with a 60-minute minimum and 30-minute rounding bills 1 h; 75 minutes bills 1.5 h), Taxable, Sort order, and a description printed on the invoice line.

3. Billing profiles

Open the customer's contact → Billing tab → Set up billing profile (or Invoicing → New invoice → Set up billing profile). Without a profile a contact cannot be invoiced.

Billing profile

FieldUse
Billing e-mailWhere invoices are e-mailed; defaults to the contact's e-mail.
Terms (net days)Due date = issue date + net days (30 if empty). A contract's terms override it for contract invoices.
Default discount %Applied to every invoice for this customer (bids and deployment invoices inherit it when no contract sets one).
Rate cardPin a card, or Use the department default.
Default rate scheduleContractor billing only: the rate schedule used for this customer's bids and deployments when no contract names one.
Purchase order number required on invoicesA reminder for billing staff that this customer expects a PO number — put it in the invoice notes; it is not enforced when sending.
ActiveUntick to stop new invoices without deleting history.
Billing addressPrinted on the invoice; tick Use the contact's mailing address to reuse it.
TaxTax exempt, a flat Tax rate %, or up to three named tax components (e.g. GST 5 % + PST 7 %) each with its own registration number printed on the invoice.

The profile page also lists the customer's invoices.

Creating and sending an invoice

  1. Invoicing → New invoice: pick the customer (contacts with a billing profile are listed first) and the currency. Create draft allocates the next invoice number for the department.

    New invoice

  2. Edit the draft: currency, due date (leave empty to use the profile terms), discount %, notes and terms text; line items with description, quantity, rate and taxable flag. Totals — subtotal, discount, tax, total — are recalculated when you save.

    Edit invoice

  3. Add call opens the picker with every call linked to this customer (the call's contact). Choose a rate card; lines are generated as described above and added to the draft for you to correct before saving. A call already on this invoice is marked On this invoice.

    Add call

  4. Preview & send opens the invoice page. Download PDF to check it, then Send invoice e-mails the PDF to the billing e-mail (you can change the address) and moves the invoice from Draft to Sent. Mark as sent (no e-mail) does the same without e-mailing — for invoices you post or upload to a customer portal. Send with packet (deployment invoices) attaches the daily time report PDFs, receipts and the compliance documents the contract requires as one zip.

    Invoice

A sent invoice can no longer be edited. Re-send invoice sends it again.

Payments

Record payment (manual payments only — online payments record themselves): amount, paid-on date, method (Check, Cash, ACH, Card (external), Other), reference and notes. The status follows the balance:

Partially paid invoice

StatusMeaning
DraftEditable; not yet issued.
SentIssued and awaiting payment.
Partially paidSome payment recorded, balance open.
PaidBalance settled (paid-on date = last payment).
OverdueSent or partially paid and past the due date — set automatically every 15 minutes by the invoice maintenance worker.
VoidCancelled with a reason. Keeps its number; cannot be edited or paid. Void is hidden once a payment exists.

Online payments that are refunded or disputed reduce the effective amount paid and reopen the balance; see Online Payments.

Accounts-receivable aging

Invoicing → Aging: every open invoice in buckets Current, 1–30, 31–60, 61–90 and 90+ days past due, with totals per currency (balances in different currencies are never added together). Click a number to open the invoice.

Aging

Invoices from deployments

Contract work is billed through Contractor Billing: the engine drafts the invoice from approved daily time reports, and the invoice page shows which report each line came from (Billed from this daily time report), Open deployment and Download packet.

Deployment invoice

Notifications and workflows

Workflows can fire on Invoice Created, Sent, Payment Recorded, Paid, Overdue, Voided, Payment Refunded and Payment Disputed — for example, post an overdue invoice to a finance channel or push a paid invoice to your accounting system with the API call action.

Setup examples

OrganizationRate cardProfiles
Municipal fire — cost recoveryHazmat response (hourly unit, hazmat units only, 2-hour minimum, 30-minute rounding), False alarm fee (flat per call), Report copy (fixed fee), Absorbent / foam (material).Businesses and property managers; tax exempt off; net 30.
Private ambulanceBLS transport and ALS transport (flat per call), Loaded mileage (mileage), Standby — event (hourly unit).Facilities and event organizers; net 30; PO required for the hospital group.
Fire protection companyEngine standby (hourly unit, 4-hour minimum), Firefighter hour (hourly personnel), Admin fee (fixed fee).One profile per municipality with the negotiated rate card pinned.
Security companyOfficer hour (hourly personnel), Supervisor hour, Vehicle patrol (hourly unit), Alarm response (flat per call).One profile per client site; online payments on; GST/PST components for Canadian clients.
Industrial / plant brigadeConfined-space standby (hourly unit), Fire watch (hourly personnel).Internal cost centres as company contacts; discount 100 % for internal reporting.

Technical reference

ItemValue
Routes/User/Invoicing/{Index,New,Edit,View,RateCards,EditRateCard,Aging,Settings,BillingProfile}; POST Save, Send, MarkSent, Void, RecordPayment, Pdf, Packet, SendPacket, CallsForInvoice, PreviewCallLines, SaveRateCard(Item), DeleteRateCard(Item)
ModelInvoice (status enum Draft/Sent/PartiallyPaid/Paid/Overdue/Void), InvoiceLineItem, InvoicePayment, RateCard, RateCardItem, CustomerBillingProfile, DepartmentBillingIdentity, InvoiceNumberSequence
PermissionsManage invoicing (40), View invoicing (41) — default department administrators
GatesFlag Invoicing.CustomerInvoicing (child of Business.Operations), module switch, active add-on (every POST answers 402 AddonRequired when lapsed)
Worker29 InvoiceMaintenanceLogic every 15 minutes: overdue transitions, payment-request reconciliation, connection re-verification, webhook purge
E-mailPostmark template InvoiceDelivery via IEmailService.SendInvoiceAsync (PDF attachment; optional packet zip)
APIapi/v4/Invoices/*
Data protectionInvoices, line items, payments, billing profiles and billing identity are not ADP-protected (customers read them without a login); the contact row itself may be.