Create an Incentive Scheme
An incentive scheme is a named formula that calculates a technician’s bonus or performance incentive based on measurable workshop metrics — labor revenue, jobs completed, efficiency percentage, utilisation, attendance, overtime, and more. When a scheme is active at a location, BayWise evaluates it against each technician’s recorded output for the reporting period and produces a calculated incentive figure.
Incentive schemes serve two purposes. First, they give workshop owners a consistent, auditable method for calculating technician bonuses rather than relying on ad-hoc judgements at month end. Second, they communicate clear performance expectations to technicians — the formula is visible, the variables are defined, and the calculation is reproducible.
BayWise supports three ways to create a scheme:
- Manual formula — You write the logic yourself using the available performance variables.
- AI-generated — You describe what you want to reward in plain English and BayWise proposes a formula based on your description.
- Template-based — You start from a pre-built scheme published by your organisation’s headquarters or a template admin.
Who can manage incentive schemes: Location Manager, Org Admin, Account Owner.
Formula variables
Every incentive scheme formula is built from the following variables. These values are populated automatically from BayWise’s recorded job and time data for the reporting period. You do not enter them manually — BayWise calculates them from the live data.
| Variable | What it measures |
|---|---|
| Labor Revenue | Total billing revenue generated by this technician for the period |
| Jobs Completed | Total number of jobs marked as delivered by this technician in the period |
| Efficiency % | Actual time as a percentage of the planned time (0-100%). 100% means the job took exactly as long as estimated. Below 100% means it was completed faster than expected. |
| Utilisation % | Percentage of clocked-in time (attendance) spent on productive job work (0-100%) |
| Attendance Minutes | Total minutes the technician was clocked in across the period |
| Overtime Minutes | Minutes worked beyond standard hours for the period |
| Steps Completed | Total number of completed job steps (for multi-step work) across the period |
| Actual Minutes | Total productive work minutes — time spent actively working on jobs |
| Planned Minutes | Total estimated/planned minutes across all jobs assigned to the technician |
| Idle Minutes | Attendance time minus productive time — minutes clocked in but not working on a job |
Formulas combine these variables using arithmetic operators (+, -, *, /) and conditional logic. The formula editor also supports the functions round(), floor(), ceil(), min(), and max().
Pre-built formula templates
BayWise includes six ready-made formula templates that cover the most common incentive structures. Select a template to pre-fill the formula editor, then customise the values to match your workshop’s targets.
| Template | Formula logic | Description |
|---|---|---|
| Revenue Based | labor_revenue * 0.05 | 5% commission on the technician’s labor revenue for the period. Simple and transparent. |
| Per Job Bonus | jobs_completed * 25 | A fixed bonus per completed job. Straightforward throughput incentive. |
| Efficiency Bonus | efficiency_pct > 80 ? (efficiency_pct - 80) * 10 : 0 | Pays a bonus for every percentage point of efficiency above an 80% threshold. No payout below the threshold. |
| Hybrid | labor_revenue * 0.03 + (efficiency_pct > 80 ? (efficiency_pct - 80) * 5 : 0) | Combines a revenue commission with an efficiency bonus. Rewards both volume and speed. |
| Attendance Bonus | utilization_pct >= 70 ? 500 : 0 | A lump-sum bonus paid when utilisation is at or above 70%. All-or-nothing structure encourages consistent productive attendance. |
| Overtime Pay | overtime_mins * 0.75 | Pays 1.5x the standard rate (expressed here as a per-minute multiplier) on overtime minutes. Adjust the multiplier to match your workshop’s overtime policy. |
To use a template, select it from the Template dropdown in the formula editor. The formula is pre-filled but fully editable — adjust the thresholds, multipliers, and conditional logic to fit your workshop’s targets before saving.
Create a scheme manually
Use the manual path when you have a specific formula in mind — for instance, a bonus structure already in use at your workshop that you want to encode into BayWise.
Open Incentives Settings
From the main navigation, go to Settings → Incentives.
You will see a list of all incentive schemes configured for your organisation. If this is your first scheme, the list will be empty.
Click Create Scheme
Click the + Create Scheme button in the top-right corner.
The scheme creation panel opens.
Name the scheme
Enter a descriptive name in the Scheme Name field. Choose a name that will be clear to your team when they see it in reports or assignment screens.
Good names are specific to the purpose, period, or location they serve. Examples:
Workshop Floor — Standard Monthly BonusHigh-Volume Technician Incentive (Q1 2026)Apprentice Performance Reward — MarchJohannesburg Branch — Senior Tech Bonus
Select Formula as the scheme type
In the Type dropdown, select Formula.
The formula editor appears below the type selector.
Enter the formula
Type your formula in the editor using the available variables. The editor highlights recognised variable names in blue and flags unrecognised tokens in red.
Example formulas for different incentive structures:
Flat per-job bonus with an efficiency adjustment:
jobs_completed * 15 + (efficiency_pct - 100) * 0.8Utilisation-weighted bonus:
(attendance_mins / 60) * 2.5 * (utilization_pct / 100)Multi-factor bonus combining revenue and efficiency:
(labor_revenue * 0.03) + (efficiency_pct * 0.3) + (steps_completed * 5)Tiered bonus using a job-count threshold:
jobs_completed >= 6 ? jobs_completed * 18 : jobs_completed * 10If you are unsure how to structure the formula, use the AI-generated path described below instead. You can always switch the scheme type before saving.
Preview the formula with sample values
Click the Test Formula tab to open the formula tester inline. Enter sample values for each variable to confirm that the formula produces the expected output. See Test Incentive Formulas for a full walkthrough.
Save
Click Save. The scheme is created and appears in your scheme list with a status of Unassigned. It has no effect on technician records or reports until it is assigned to at least one location. See Assign Incentive Schemes.
Create an AI-generated scheme
Use the AI-generated path when you know what technician behaviour you want to reward but are not confident expressing it as a formula. BayWise takes your plain-English description, sends it to your configured AI provider, and returns a proposed formula you can review and edit before saving.
AI-generated schemes work best when you describe the behaviour you want to encourage, not the formula you want. Let BayWise handle the maths — your job is to describe the ideal technician performance for your workshop.
“Reward technicians who complete more than five jobs per day with high efficiency and meet their promise times at least 80% of the time” is a strong prompt. “Give me a formula with jobs_completed multiplied by efficiency_pct divided by 100” is not — use the manual path for that.
Open Incentives Settings
Go to Settings → Incentives and click + Create Scheme.
Select AI-Generated as the scheme type
In the Type dropdown, select AI-Generated.
The description field appears in place of the formula editor.
Describe what you want to reward
Type a description of the technician behaviour you want the scheme to incentivise. Be specific about the conditions and the relative weight of each factor.
Strong description examples:
- “Reward technicians who complete at least six jobs per day. The bonus should increase significantly when efficiency is above 90% and utilization is above 85%.”
- “Pay a flat base per job completed, with an efficiency multiplier that rewards technicians who consistently beat their estimated times. Technicians below 70% efficiency should receive no bonus.”
- “Prioritise utilisation — I want technicians who are actively working for the majority of their clocked-in hours to earn more. Also factor in labor revenue at a lower weight.”
Generate the formula
Click Generate Formula. BayWise sends your description to the configured AI provider and displays the proposed formula alongside a plain-English explanation of how it works.
For example, the description “Reward technicians who complete more than 5 jobs with high efficiency and at least 80% utilization” might return:
(jobs_completed > 5 ? jobs_completed * 14 : jobs_completed * 8) * (efficiency_pct / 100) * (utilization_pct >= 80 ? 1.2 : 1.0)With the explanation: “Technicians completing more than 5 jobs earn 14 per job; those completing 5 or fewer earn 8 per job. The result is scaled by efficiency percentage — a technician at 90% efficiency earns 90% of the base. Technicians who meet or exceed 80% utilization receive a 20% uplift on the total.”
Review and edit the formula
Read through the proposed formula and its explanation. If the logic does not match your intent, either:
- Edit the formula directly in the formula field (it is fully editable after generation), or
- Update your description and click Generate Formula again to request a revised proposal.
You are not required to accept the generated formula as written. Treat it as a starting point.
Test the formula
Switch to the Test Formula tab and verify the output with representative technician values. See Test Incentive Formulas.
Name and save the scheme
Enter a name in the Scheme Name field and click Save.
Create a scheme from a template
If your organisation’s headquarters has published a configuration template that includes an incentive scheme, you can create a local scheme using that template as the starting point. This is common in franchise and multi-location operations where a standard incentive structure is set at the org level and distributed to locations.
Open Incentives Settings
Go to Settings → Incentives and click + Create Scheme.
Select Template-Based as the scheme type
In the Type dropdown, select Template-Based.
The template selector appears, listing any incentive scheme templates that have been published to your location by an org admin.
Select a template
Choose the template you want to use. The formula and description from the template are pre-filled into the scheme editor.
Customise if permitted
If the template’s editability mode is set to Customisable (see Use Template Controls), you can modify the formula before saving. If the mode is Locked, the formula is read-only and the scheme will be used exactly as the org admin published it.
Name and save
Enter a local name for this instance of the scheme and click Save.
Common questions
Can I have more than one scheme active at a location at the same time?
No. A location can only have one active incentive scheme at a time. If you need different incentive structures for different technician groups, consider encoding conditional logic within a single formula. For example: tech_role == 'senior' ? jobs_completed * 18 : jobs_completed * 12. Alternatively, create separate location records for each group — though this is rarely practical in most workshops.
What reporting period does the formula apply to? The reporting period is set at the location level in your operations settings. Most workshops use a calendar month. The variables (Jobs Completed, Attendance Minutes, etc.) are totalled across the full reporting period and evaluated against the formula once at period close.
Can I edit a scheme after it has been assigned to locations? Yes. The formula is editable at any time. Changes do not retroactively affect calculations run for already-closed periods — they take effect at the start of the next reporting period. If you are making a significant change, consider creating a new scheme and reassigning locations so that the original scheme remains as an auditable record.
The AI returned a formula I do not understand. What should I do? The AI always provides a plain-English explanation alongside the formula. Read the explanation first. If the logic described matches your intent, you do not need to understand the syntax — BayWise will evaluate it correctly. If the logic does not match your intent, update your description and generate again. You can also switch to the manual path and write a simpler formula yourself.
What happens if a technician completes zero jobs in the period?
The formula is still evaluated. If your formula divides by Jobs Completed, this will produce a division-by-zero result, which BayWise treats as a zero output. It is better to guard against this explicitly using a conditional: jobs_completed > 0 ? (your formula) : 0.
Does the formula support rounding?
Yes. Use round(), floor(), or ceil() to control rounding. For example, round(jobs_completed * 12.5) rounds the result to the nearest whole number, which is useful when the scheme output maps directly to a currency figure on the payroll report.