Creating an invoice
Generate an invoice for procedures performed, with line items, tax, and payment terms.
Overview
Most invoices are generated automatically when a visit completes. This guide covers manual invoice creation — for products sold (toothbrush, mouthwash), out-of-pocket procedures not on the fee schedule, or pre-billing before a multi-visit plan.
Prerequisites
- Owner, Admin, Billing Staff, or Receptionist role
- The patient exists
- The procedure or product line items in mind
Steps
Open the new-invoice page. Top nav Billing → + New Invoice, or from the patient profile Billing tab → + New Invoice.
Select the patient. Search and pick. Their current outstanding balance shows below the picker.
Add the first line item. Click + Add item. Choose from CDT codes or a free-text product/service. Quantity, unit price, and total compute live.
Add additional line items. Repeat. Mix CDT codes with free-text items. Common products are saved in Settings → Inventory and appear as suggestions.
Apply discount if any. Per-line discount (percent or fixed amount) or invoice-level discount. The reason field is required for audit.
Review tax. VAT (or equivalent) computes from the tenant's tax rate. Inclusive vs exclusive depends on Settings → Financial.
Set payment terms. Due immediately, Net 7, Net 30, or custom. Default from clinic settings; override per-invoice for plan or insurance billing.
Save as draft. Status DRAFT — patient doesn't see it yet.
Send to patient when ready. Click Send invoice. Email and/or SMS notification with a link to the patient portal where they can pay. Status flips to SENT.
Expected outcome
- An
Invoice(orPatientBill) record exists with clinic, patient, line items, subtotal, tax, total, status, and due date - Patient receives notification (email/SMS) with a link
- Outstanding balance on the patient profile updates
- An audit log entry records the create/send
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Total looks wrong | Tax inclusive vs exclusive setting | Check Settings → Financial → Tax mode |
| Discount won't apply | Negative amounts blocked | Use percent discount or set a positive value |
| Patient didn't receive | Communication channel disabled | Verify in Settings → Communications |
| Free-text item missing default tax | Free-text items default to taxable | Toggle taxable on/off per line |
| Want to attach documents | Use the linked patient documents | Invoices reference patient docs by ID; sensitive uploads are restricted |