The By service report shows what actually sold. Find it under Reports in the sidebar (owners only).
Pick a date range and every item that appeared on a completed visit's bill is listed: services, add-ons, and custom items typed in at the desk - the retail serum, the extra treatment - each with how many times it sold, what it brought in, its average price, and what it earns per booked hour. Items are sorted by takings, so your earners lead.
Per-hour is the pricing lens: a $60 half-hour service out-earns an $80 ninety-minute one. It's worked out from each booking's own booked duration, so an item renamed at the desk simply shows no rate rather than a made-up one.
Because the report reads the bill as it was actually charged, it reflects reality: a discounted price counts at what was charged, an upsell added at the desk shows up by name even though it never lived in your service list, and deposits kept for missed visits are never counted as something sold.
Three figures on top - items sold, what they brought in, and visits with extras (the share of bills that carried more than the booked services - the upsell habit as a number) - are each compared against the period of the same length before it, with a bar chart of your top earners.
Export CSV downloads the list for the range on screen.