Skip to content

Budgets

The budget module manages the patient's dental quotes: catalog items, discounts, VAT, versioning, signature, PDF, and a clear draft → sent → accepted → completed workflow (with branches to rejected, expired, or cancelled).

It bridges the clinician's treatment plan and invoicing: once the patient accepts a budget, you can issue the invoice from the billing module and collect it through payments.

Screens

  • Budget list — search, filter by status / payment / validity, sort, and open budgets.
  • Budget detail — edit lines, totals, send, accept/reject, renegotiate, see the signature, and download the PDF.
  • New budget — create a budget from scratch or from a treatment plan.
  • Public patient acceptance — public view for the patient (no app session) with 2FA verification, accept or reject from a phone.

Quick reference

ActionRequired permission
View budgets and download PDFsbudget.read
Create, edit, send, accept (in-clinic requires extra permission)budget.write
Delete a budgetbudget.admin
Renegotiate (create a new version without losing history)budget.renegotiate
Accept by signing in-clinic (tablet)budget.accept_in_clinic
  • Patients / Catalog / Odontogram — direct dependencies. Line items reference the catalog and, optionally, teeth and surfaces on the odontogram.
  • Treatment plans — a plan can generate budgets and stays in sync when treatments are added or removed. Communication is event-driven (snapshot payloads), never via imports.
  • Billing — from an accepted budget you can jump into Create invoice from this budget.
  • Payments — the detail sidebar shows collected / outstanding and a Charge button (contributed by the payments module).
  • Notificationsbudget.sent, budget.accepted, budget.rejected, budget.expired, budget.viewed, and budget.reminder_sent are published for future outreach.