Bia

Clear rules for your team

Commission tracking for aesthetic clinic professionals

Bia separates revenue from completed services and sold products, applies each professional's configured rates, tracks the monthly goal and stores an immutable snapshot when the period is closed.

Commission starts with records the clinic can already review in the product. The monthly report shows where revenue came from, which rate applies to services or products and what that rule produces. Before closing, the owner can review a live preview; after closing, the month's record is not silently recalculated.

  • Different rates for services and products
  • Revenue from completed appointments and non-canceled sales
  • Monthly goal tracked for each professional
  • Audited close with an immutable snapshot

Separate rates keep services and products distinct

Each professional can have one whole-number rate for services and another for products. The settings live in the team record beside the name, active state and monthly goal; the server validates a change and requires the commissions capability when a remuneration rule changes.

The calculation keeps both bases visible. Service revenue creates its own commission and product revenue creates another; the total is their sum, instead of applying one rate to a mixture the owner cannot check.

  • Service rate from 0 to 100
  • Product rate from 0 to 100
  • Monthly goal stored in cents

The report uses completed appointments and recorded sales

For services, the report sums the historical price of completed appointments in the selected month and clinic time zone. For products, it sums non-canceled sales linked to a professional. The screen keeps both sources, total revenue and calculated commission visible.

The month is not defined by the server's UTC clock. The clinic time zone turns each instant into a civil day and defines the period boundaries. A sale near midnight therefore does not move months merely because the server is elsewhere.

  • Period in YYYY-MM format
  • Appointments kept separate from products
  • Revenue and commission calculated from cent values

The preview shows the goal before any close

When a month is still open, the clinic receives a live preview. Each row shows the professional, active state, service and product revenue, both rates, commission portions, monthly goal and progress toward it.

A preview is a review opportunity, not a promise to pay. If a professional has no goal configured, the report does not invent one. When a goal exists, progress comes from attributed revenue and the screen can show when it was reached.

  • One view per professional
  • Goal progress keeps the source values intact
  • Month total in the report header

Missing historical price stops a silent estimate

A commission should not look precise when the price behind a completed appointment is missing. Before building rows, the server searches the period for completed appointments without a provable historical price. If it finds one, generation stops and says the commission will not be estimated.

That block is intentional: a partial row could look final and create a wrong payment obligation. The clinic must correct the price source and request the report again. The public page describes this protection; it does not promise that every month is ready without data review.

  • No silent estimate
  • Conflict identified by the API
  • Correction happens at the appointment source

Closing a month stores the reviewed record

Only a finished month can be closed. The server takes a transactional lock to prevent concurrent closes, calculates the rows one last time and stores revenue, rates, goals, totals, time zone and actor in the close snapshot.

After that, a report request returns the snapshot rather than a live calculation subject to later changes. A second request for the same month is rejected and the action is audited. Closing is a monthly review milestone, not an automatic payroll button.

  • The current month cannot be closed
  • Snapshot preserves rows and totals
  • Duplicate close returns a conflict

Permissions keep every report in the right scope

Reading and closing pass through server roles and permissions. A professional-scoped session receives only active professionals linked to that session; managers see the clinic view allowed by their authorization. Hiding a button is not protection: the API enforces the capability too.

The commission report connects with team, scheduling and sales, while remaining separate from clinical records and management finance. It explains what the commission rule produces for review; it does not become payroll, tax calculation, bank transfer or automatic payment.

  • Rule enforced on the server
  • Clinic and professional scope
  • Configuration and close are audited

What commissions organize — and what stays separate

The module makes a monthly rule reviewable, but it does not replace a commercial decision or a payment system.

  • Commission uses valid completed-service and non-canceled-product records; it is not payroll processing.
  • The module does not calculate taxes, benefits, employment obligations or bank transfers.
  • Closing freezes the report snapshot; it does not create a charge, transfer or receipt.
  • A completed appointment without historical price blocks estimation until the source is corrected.
  • Rates and goals belong to the team configuration; a later change does not rewrite a closed snapshot.

Frequently asked questions

How commissions work in the clinic routine

Can service and product rates be different?

Yes. A professional record stores one rate for services and another for products, and the report shows each portion before adding the total.

What counts as revenue for the month?

The calculation includes completed appointments with a historical price and non-canceled product sales linked to a professional. The selected month and time zone decide which records count as revenue.

Why might the report refuse a preview?

If a completed appointment has no provable historical price, the API stops the estimate. This avoids showing an incomplete or misleading commission value.

Can I close the current month?

No. Closing accepts only a finished month in the clinic time zone and stores an immutable snapshot of rows and totals.

Does closing pay the professional?

No. Closing preserves the reviewed report and audit trail; payroll, taxes, transfers and payments remain outside this module.

Review the rule before closing the month

Add professionals, configure service and product rates and review a preview with test data before closing a real period.

Create my account
UK Commission tracking for aesthetic clinic professionals | Bia