OFO COLLECTIVE Book a call

Marketing agency · Internal ops · Sales

98% time saved. 5 hours a month down to 5 minutes. Errors gone.

Commissions were a monthly headache — one person, hours of spreadsheets, errors caught only after the fact. We pulled it from the CRM, automated the maths, and put live commissions on every rep's dashboard.

Shipped

The brief

Every month, one person at the agency lost half a day to commission calculations.

  • 5 hours of work pulling sales data, copying it to spreadsheets, and running the maths for each rep.
  • Errors and mismatches only showed up after hours of manual checking.
  • Sales reps had zero visibility into their own commissions until the email arrived.
  • Disputes were a regular monthly conversation, because reps were essentially trusting one operator’s spreadsheet on faith.

The work was slow, error-prone, and unpaid for everyone except the operator stuck doing it. The agency owner had been meaning to fix this for two years and had bought (and not fully implemented) two different SaaS commission tools in that time.

The bigger problem underneath the time was the disputes. Every month, at least one rep questioned a commission number. The operator had to go back to the source data, find the discrepancy, recalculate, and explain. The trust loss compounded — reps stopped trusting the numbers, the operator stopped trusting the reps, and the monthly close became a tense conversation rather than a routine.

What we found in the audit

The audit week (week one of the trial) mapped the actual workflow. Three observations mattered:

  1. The CRM already contained 95% of the data needed for commission calculation — it just was not being read programmatically
  2. The “maths” was actually simple — a tiered rate structure with a couple of edge cases (deal stage, deal type, split commissions)
  3. The two SaaS tools the agency had bought were both over-engineered for the actual rule set, which is why neither rollout had stuck

That third point unlocked the build. The agency did not need a commission platform. They needed a small, purpose-built automation that read from the CRM they were already using, applied the agency’s specific rules, and surfaced the result everywhere the reps and the operator needed to see it.

Total build complexity: low. Total time saving: enormous.

What we built

We replaced the entire workflow.

Before: Manual collection of sales data → copy to spreadsheet → manual commission calculation per rep → spot-check errors and fix mismatches → email each rep their breakdown.

After: Auto-pull sales data from the CRM → commissions calculated in real time → individual sheet auto-generated per rep with validation → live commission visibility on each rep’s CRM dashboard.

The operator stopped being the calculator. They became the reviewer.

The architecture, on a page:

  1. CRM deals close as normal (no workflow change for the reps)
  2. A nightly job pulls all in-period closed deals from the CRM
  3. The system applies the agency’s commission rules — tiered rates, deal type adjustments, split logic
  4. Per-rep commission sheets are generated and stored in Google Drive
  5. A live commission dashboard appears on every rep’s CRM record showing month-to-date earnings
  6. The operator reviews the auto-generated sheets in 5 minutes at month end and approves payout

The stack

  • HubSpot as the CRM (no change required — the agency was already on HubSpot)
  • Google Sheets API for the per-rep commission breakdowns
  • Google Workspace for storage and distribution
  • n8n for the orchestration
  • Custom JavaScript for the rule engine (the agency’s tiered commission logic, ~150 lines of code, hosted inside the n8n workflow)
  • A simple Retool dashboard embedded inside HubSpot for the live commission view

Total monthly platform cost added by the build: under $80 AUD.

The results

  • 98% time saved. 5 hours a month down to 5 minutes.
  • End-to-end automated. Pull, calculate, generate, distribute.
  • Individual Excel sheets auto-generated for every rep.
  • Live commission dashboards so every rep sees their numbers in real time.
  • Errors gone — validation runs on every calculation.
  • Disputes dropped to zero. Reps trust the numbers because they can audit them in real time.

What we learned shipping it

The build itself was simpler than most. The real work was in the rule extraction — pulling the agency’s commission policy out of the founder’s head and the operator’s spreadsheet and into a written specification we could code against.

That took most of the audit week. The agency’s commission policy had grown organically over four years. There were edge cases that nobody had documented — what happens with a split commission across two reps, how to handle a deal stage change after the month closes, how to treat a discounted deal versus a full-price deal. Every edge case had a handled answer, but it was tribal knowledge.

Writing the policy down as a specification was 60% of the cognitive work. The code that implemented the spec took two days.

The lesson generalises: most internal ops automations are not held back by code complexity. They are held back by undocumented rules that live in one operator’s head. The first job is extraction, not engineering.

What changed for the team

Reps stopped chasing the operator for updates. The operator stopped being the bottleneck. Commissions stopped being a source of disputes.

The system runs in the background. Everyone gets paid right, on time, with the workings out visible.

The operator who used to lose half a day every month to commission calculations now spends that time on revenue operations — pipeline review, forecast cleanup, the analytical work that actually moves the agency’s number.

The reps now see their commission accrue in real time on their CRM dashboard. The performance feedback loop is tighter. Reps push harder at month-end because they can watch the number move.

Why this build matters for agencies with hidden ops drag

Almost every agency over $1M revenue has a “commission problem” or a near equivalent — a monthly process that one operator owns, takes hours, produces disputes, and never gets fixed because it is not urgent enough to interrupt growth work.

The pattern repeats: payroll reconciliation, expense categorisation, monthly client reporting, invoice generation, contractor management. Each one a 3 to 8 hour monthly burden on a senior operator. Each one fixable with a 14 to 30 day build for under $20k AUD.

The economics are stark. If a senior operator costs the agency $150k AUD a year and spends 5 hours a month on the workflow, the workflow costs the agency $4,800 AUD a year in time alone — plus the opportunity cost of what that operator could be doing instead.

OFO Collective ships internal ops automations on the 30-day trial. For a similar engagement, book a call.

Next step

Ready to scale without the noise?

30-day trial. Fixed price. You keep what we build. If you are happy with our work, we move into an ongoing retainer.

Book a call