Skip to content

Budget — technical overview

Scaffolded stub — replace with proper documentation when this module is next touched.

Auto-discovered facts about the budget module. See the module's own notes at backend/app/modules/budget/CLAUDE.md for context the scaffold could not infer.

API surface

  • DELETE /api/v1/budget/budgets/{budget_id}
  • DELETE /api/v1/budget/budgets/{budget_id}/items/{item_id}
  • GET /api/v1/budget/budgets
  • GET /api/v1/budget/budgets/{budget_id}
  • GET /api/v1/budget/budgets/{budget_id}/history
  • GET /api/v1/budget/budgets/{budget_id}/pdf
  • GET /api/v1/budget/budgets/{budget_id}/pdf/preview
  • GET /api/v1/budget/budgets/{budget_id}/pdf/signed
  • GET /api/v1/budget/budgets/{budget_id}/signature
  • GET /api/v1/budget/budgets/{budget_id}/versions
  • POST /api/v1/budget/budgets
  • POST /api/v1/budget/budgets/{budget_id}/accept
  • POST /api/v1/budget/budgets/{budget_id}/accept-in-clinic
  • POST /api/v1/budget/budgets/{budget_id}/cancel
  • POST /api/v1/budget/budgets/{budget_id}/duplicate
  • POST /api/v1/budget/budgets/{budget_id}/items
  • POST /api/v1/budget/budgets/{budget_id}/reject
  • POST /api/v1/budget/budgets/{budget_id}/renegotiate
  • POST /api/v1/budget/budgets/{budget_id}/resend
  • POST /api/v1/budget/budgets/{budget_id}/send
  • POST /api/v1/budget/budgets/{budget_id}/send-reminder
  • POST /api/v1/budget/budgets/{budget_id}/set-public-code
  • POST /api/v1/budget/budgets/{budget_id}/unlock-public
  • PUT /api/v1/budget/budgets/{budget_id}
  • PUT /api/v1/budget/budgets/{budget_id}/items/{item_id}

Frontend

  • backend/app/modules/budget/frontend/pages/budgets/index.vue/budgets
  • backend/app/modules/budget/frontend/pages/budgets/[id].vue/budgets/[id]
  • backend/app/modules/budget/frontend/pages/budgets/new.vue/budgets/new
  • backend/app/modules/budget/frontend/pages/p/budget/[token].vue/p/budget/[token]

Permissions

read, write, admin, renegotiate, accept_in_clinic

See ./permissions.md for the full role mapping.

Events

  • Emits: (none)
  • Subscribes: odontogram.treatment.performed, treatment_plan.budget_sync_requested, treatment_plan.treatment_added, treatment_plan.treatment_removed

See ./events.md for the per-event detail (when the module participates in the event bus).

See also