When one customer buys multiple services in one visit — a manicure with Jane and a haircut with James — each staff member should get their own commission credit. Session Manager's line-level attribution lets you assign a different Performed-by and Sales Rep to each line, and the commission run at the end of the month splits earnings correctly.
If you don't need per-line attribution, the header-level Sales Rep on the Invoice still works exactly as before — leave the line dropdowns blank.
Before you start
- Set up your Sales Reps under Sales → Sales Reps. Each rep needs a Commission Plan attached and a Vendor if you want commission to be payable through Pay Bills.
- Set up your staff Users — the "Performed by" dropdown lists User accounts. If a staff member doesn't have a User account, they can still be a Sales Rep (invisible in Performed-by dropdowns; only matters for commission).
- Understand the difference:
- Performed by — who actually did the work (barber, therapist). Consumed by service-provider payroll reports (v2) and per-user commission overrides.
- Sales rep — who gets the commission credit. Usually the same person as Performed by, but sometimes different (e.g. a receptionist who owns the customer relationship gets rep credit even when a junior stylist does the work).
Steps — attribute at session time
- Open a session (walk-in / existing paid / booking).
- When adding a line, look for the Attribution row below the main
fields:
- Performed by dropdown — pick the staff member who did the work. Optional; skip for retail items.
- Sales rep dropdown — pick the rep who gets commission. Blank falls back to the Invoice's header-level Sales Rep at close time.
- Add the line. The next line's attribution dropdowns pre-fill with the SAME choices — so a barber running a session of 3 haircuts picks his own name once and adds all three lines quickly.
- Change either dropdown before adding a line for a different person.
- Close the session as usual. The invoice raises with each line carrying its own Performed-by + Sales Rep snapshot.
Steps — check commission at run time
The commission run reads InvoiceDetail-level attribution first, falls back to Invoice-header attribution when a line has none. Both flows land in the same monthly accrual list; the difference is invisible to the accrual report — you just see each rep credited for the correct line amounts.
To verify a specific invoice: open Sales → Commission → Run, pick the period the invoice was collected in, and preview. Each rep's Gross column reflects their line-level shares.
Tips
- Sticky defaults — Attribution dropdowns keep their last pick as you add multiple lines. This is deliberate: a single stylist running a whole session (manicure + pedicure + hand massage) only needs to pick their name once.
- Snapshot is frozen — once you close the session, the InvoiceDetail's Sales Rep and Performed By are fixed. Later edits to the Session's line don't retro-adjust the invoice (though the session is now Closed, so line edits are blocked anyway). If you need to reassign after the fact, edit the InvoiceDetail directly.
- Leave blank for header rep — the header-level Invoice Sales Rep still works for anything not per-line-set. Slice E adds line-level as an override, not a replacement.
- Sales rep vs performed by — pay attention to the difference. If Jane services the customer but the credit belongs to the shop owner Amy, set Performed by = Jane, Sales rep = Amy. Both fields are optional and independent.
Common problems
- My rep isn't in the dropdown → check Sales → Sales Reps; the rep must be Active. Inactive reps are hidden from the picker.
- My staff isn't in the "Performed by" dropdown → the dropdown lists User accounts. If the staff member doesn't have a login, they can't be picked here. Create a User for them (Setup → Users) or leave Performed by blank and just set Sales Rep.
- Commission report still credits the whole invoice to one rep → the run may be pointing at an older invoice created before Slice E. Only invoices created FROM a session close (2026-08-08 onwards) carry line-level attribution; earlier invoices only have the header rep. Both work; they just report differently.
- Same person on every line but I only picked once → that's the sticky-defaults behaviour working correctly. Verify by clicking Edit on a line to confirm the dropdowns show the right values; they should.