Brainstorm Session 12: Competitor Feature Audit & Gap Analysis¶
Date: 2026-04-16 Objective: Verify Finnest covers competitor feature sets across 13 systems
Systems Audited¶
| # | System | Category | Status |
|---|---|---|---|
| 0 | RatesCalc | Rate Calculation / Award-Aware Billing | Audited |
| 1 | Staffd | Onboarding | Audited |
| 2 | SmartAI | Recruitment AI | Audited |
| 3 | MakeSure Verify | ID Verification | Audited |
| 4 | Fasttrack360 | Core HR + Payroll (labour hire) | Audited |
| 5 | Flare HR | Super Onboarding | Audited |
| 6 | DBIT/DPAY | Payroll | Audited |
| 7 | Xero | Invoicing/Payroll | Audited |
| 8 | Bullhorn | ATS/CRM (from 5-system gap analysis) | Audited |
| 9 | 2cloudnine | Workforce Mgmt (from 5-system gap analysis) | Audited |
| 10 | 3B Onboarding | Onboarding (from 5-system gap analysis) | Audited |
| 11 | idibu | Job Posting (from 5-system gap analysis) | Audited |
| 12 | Whatfix | Digital Adoption (from 5-system gap analysis) | Audited |
Consolidated Gap Register¶
CRITICAL Gaps (Must fix — blocks competitive parity)¶
| # | Gap | Found In | Finnest Module | Description | Effort |
|---|---|---|---|---|---|
| C1 | Compliance auto-blocking | Fasttrack360 | All modules | Non-compliant workers must be AUTOMATICALLY blocked from rostering, timesheets, payroll, and invoicing. Not a bolt-on check — must be architectural, woven into every domain's write path. Fasttrack's deepest moat. | High |
| C2 | Super onboarding workflow | Flare HR | finnest_onboard + finnest_payroll | TFN declaration (ATO NAT 3092 digital form with check-digit validation), super fund choice (USI/ABN lookup, stapled super check via ATO API, SMSF collection, default fund assignment, SuperStream registration), bank details (BSB validation, split-pay support). Must be a single "new starter pack" wizard crossing domain boundaries. | High |
| C3 | DVS integration | MakeSure | finnest_onboard | Document Verification Service — the Australian government's authoritative verification backbone. Verifies documents directly against issuing authority databases (passports via DFAT, licences via state registries). Without DVS, Finnest can only verify a document LOOKS valid, not that it IS valid. Requires accreditation via Attorney-General's Dept or gateway provider. | High |
| C4 | Liveness detection | MakeSure | finnest_onboard | Selfie anti-spoofing (passive liveness: detect printed photos, screen replays). Without this, CompareFaces is vulnerable to high-quality photo submissions. Integrate SDK (Amazon Rekognition Face Liveness, iProov, or similar). | Medium |
| C5 | Award interpretation for billing side | Fasttrack360 | finnest_clients | Even if KeyPay handles PAY rates, Finnest must understand WHEN penalties/OT apply for BILLING. Otherwise charge rates don't mirror pay rates and margin calculations are wrong. Need award-awareness on the billing side, not just pay side. | High |
| C6 | Timesheet-to-invoice automation | Fasttrack360, DBIT, Xero gap | finnest_payroll + finnest_clients | Approved timesheets must auto-generate client invoices at the correct charge rate (including penalties matching pay penalties). This is THE killer feature for labour hire billing. | High |
HIGH Priority Gaps (Important for market competitiveness)¶
| # | Gap | Found In | Finnest Module | Description | Effort |
|---|---|---|---|---|---|
| H1 | Single-record candidate-to-employee lifecycle | Fasttrack360 | finnest_recruit → finnest_people | Candidate becomes employee without re-entry. If recruit and people are separate modules with data handoff, there's friction. Need seamless promotion: candidate.promote_to_employee() that creates the people.employee record from recruit data. | Medium |
| H2 | Interview scheduling + calendar sync | SmartAI | finnest_recruit | Google Calendar/Outlook sync, self-service candidate booking links, automated reminders, panel coordination, video interview link generation. Replace Calendly natively. | Medium |
| H3 | Job board multi-posting + ingestion | SmartAI, idibu | finnest_recruit | Post one job to SEEK, Indeed, LinkedIn simultaneously. Ingest applications directly from boards. Two-way status sync. Table-stakes for staffing agencies. | Medium |
| H4 | Client hierarchy (4+ levels) | Fasttrack360 | finnest_clients | Parent company → division → site → cost centre → department. Cost centres drive billing and reporting. Essential for enterprise labour hire. | Medium |
| H5 | Split billing from timesheets | Fasttrack360 | finnest_timekeep + finnest_payroll | Single shift across multiple cost centres at different charge rates. One timesheet entry → multiple pay lines + multiple invoice lines. Operationally critical. | Medium |
| H6 | Margin visibility at placement level | Fasttrack360 | finnest_clients | Real-time pay-rate vs charge-rate margin per worker per shift. Must be visible on dashboards, not buried in reports. | Medium |
| H7 | Credential/qualification verification via registries | MakeSure | finnest_compliance | Connect to external registries: AHPRA (health), state trade boards (electrical, plumbing), university records. Verify credentials are REAL, not just that the document looks valid. | High |
| H8 | Xero/MYOB accounting integration | Staffd, Xero, DBIT | finnest_payroll + finnest_clients | Push invoices to Xero/MYOB. GL journal sync. Super payment reconciliation. Near-universal requirement for AU staffing. | Medium |
| H9 | Ongoing monitoring / re-screening | MakeSure | finnest_compliance | Continuous visa monitoring (re-check VEVO periodically), police check re-screening, credential re-verification on schedule. Not just point-in-time checks. | Medium |
| H10 | Analytics dashboard + source tracking | SmartAI | finnest_recruit | Time-to-fill, source effectiveness (which job board produces best candidates), pipeline conversion rates, recruiter activity metrics, fill rate per client. | Medium |
MEDIUM Priority Gaps (Competitive enhancements)¶
| # | Gap | Found In | Finnest Module | Description | Effort |
|---|---|---|---|---|---|
| M1 | Automated re-induction scheduling | Staffd | finnest_learn | Yearly auto-scheduled re-inductions for compliance training. Push re-induction to existing staff. | Low |
| M2 | Competency reviewer workflow | Staffd | finnest_learn | Assign qualified reviewer to verify training completion. Auto-notify reviewer. | Low |
| M3 | Client onboarding workflow | Staffd | finnest_clients | Dedicated CLIENT (not employee) onboarding — portal with forms, insurance cert distribution, agreement signing. | Medium |
| M4 | Bias detection / anonymised screening | SmartAI | finnest_recruit | Hide name/age/photo for anonymised shortlisting. Flag biased language in job descriptions. Regulatory trend in AU. | Medium |
| M5 | AI candidate rediscovery | SmartAI | finnest_recruit | Automatically surface existing database candidates when new job created. "You already have 12 matching candidates." | Medium |
| M6 | Drip campaigns / nurture sequences | SmartAI | finnest_reach | Multi-step outreach sequences for passive candidates over weeks/months. | Low |
| M7 | Digital identity wallet | MakeSure | finnest_onboard | Candidate-held verified ID profile, re-usable across employers. QR/link sharing. | Medium |
| M8 | PEP/sanctions screening | MakeSure | finnest_compliance | Politically Exposed Persons and sanctions list screening for AML/KYC. Third-party API (World-Check). | Low |
| M9 | 100-point identity check scoring | MakeSure | finnest_onboard | Configurable point-value per document type, calculate total for AML/KYC compliance. | Low |
| M10 | Outbound webhooks for customers | Staffd | finnest_core | Let customers subscribe to platform events (new hire completed, timesheet approved, etc.). Modern platform expectation. | Medium |
| M11 | Labour hire licensing compliance | Fasttrack360 | finnest_compliance | Track VIC, QLD, SA, ACT labour hire licence requirements per state. | Low |
| M12 | Portable LSL scheme reporting | Fasttrack360 | finnest_payroll | QLD, VIC, ACT, SA portable long service leave schemes. State-specific accrual and reporting. | Medium |
| M13 | Consent management | MakeSure | finnest_core | Formal consent capture (not just audit logging) with APPs-compliant wording. User-facing consent step. | Low |
| M14 | Custom form builder | Traffio, Staffd | finnest_safety or new | Configurable forms for site inspections, checklists, audits. Replaces Typeform for field data collection. | Medium |
LOW Priority Gaps (Nice-to-have, future phases)¶
| # | Gap | Found In | Finnest Module | Description | Effort |
|---|---|---|---|---|---|
| L1 | AI job description writer | SmartAI | finnest_recruit | AI generates/improves job ad text. | Low |
| L2 | OCR for scanned CVs | SmartAI | finnest_recruit | Parse image-based/scanned resumes via OCR. | Low |
| L3 | Multi-language CV parsing | SmartAI | finnest_recruit | Parse CVs in languages other than English. | Low |
| L4 | Video interview integration | SmartAI | finnest_recruit | Auto-generate Zoom/Teams links for interviews. | Low |
| L5 | Salary packaging / novated leasing | Fasttrack360, Flare | finnest_benefits | Employee salary packaging and novated lease management. | Medium |
| L6 | Benefits/perks marketplace | Flare | finnest_benefits | Discounted gift cards, health insurance, financial wellness. | Medium |
| L7 | Digital adoption platform | Whatfix | Built-in | In-app walkthroughs. Agent-as-tutor replaces this (Session 9). | Low |
| L8 | Assignar integration | Staffd | Integration layer | Field service management platform popular in construction/civil. | Low |
Coverage Summary by Competitor¶
Staffd (Onboarding)¶
- Finnest covers: 90%+ of features, exceeds on AI verification and multi-industry compliance
- Gaps to address: Re-induction scheduling (M1), competency reviewer (M2), client onboarding workflow (M3), Xero/MYOB integration (H8)
SmartAI (Recruitment AI)¶
- Finnest covers: Core AI matching and scoring. Scout agents are competitive.
- Gaps to address: Interview scheduling (H2), job board multi-posting (H3), analytics dashboard (H10), bias detection (M4), candidate rediscovery (M5)
MakeSure Verify (ID Verification)¶
- Finnest covers: Document classification, field extraction, face comparison, cross-reference. AI pipeline is sophisticated.
- Gaps to address: DVS integration (C3), liveness detection (C4), credential registry verification (H7), ongoing monitoring (H9), PEP screening (M8)
Fasttrack360 (Core HR + Payroll)¶
- Finnest covers: Broad module coverage exceeds Fasttrack on AI agents, mobile, asset management
- Gaps to address: Compliance auto-blocking (C1), award-aware billing (C5), timesheet-to-invoice (C6), single-record lifecycle (H1), client hierarchy (H4), split billing (H5), margin visibility (H6), portable LSL (M12)
- This is the most important competitor. Fasttrack360 (now Bullhorn-owned) is the direct incumbent for AU labour hire.
Flare HR (Super Onboarding)¶
- Finnest covers: General onboarding workflows
- Gaps to address: Super onboarding workflow (C2) — this is a CRITICAL gap. TFN + super + bank as a single cross-domain wizard.
DBIT/DPAY (Payroll)¶
- Finnest covers: KeyPay integration handles payroll processing
- Gaps to address: Finnest must own the labour-hire-specific layer: rate cards, timesheet-to-invoice, margin tracking. DPAY doesn't do this either.
Xero (Invoicing/Payroll)¶
- Finnest covers: Native billing is planned. Xero is an accounting sync target.
- Gaps to address: Xero API integration (H8) for invoice push and GL sync. Priority 1.
Five-System Suite (Bullhorn + 2cloudnine + 3B + idibu + Whatfix)¶
- Finnest covers: 85%+ natively, plus AI agents, AMS, mobile suite that the five systems don't offer
- Remaining gaps: Payroll (KeyPay Phase 1), CRM depth (Bullhorn ecosystem), digital adoption (agent-as-tutor)
Impact on Finnest Architecture¶
C1: Compliance Auto-Blocking — Architectural Change Required¶
This is the most significant finding. Compliance status must GATE every downstream action:
Worker tries to be rostered → check compliance → BLOCK if non-compliant
Worker submits timesheet → check compliance → FLAG if expired since roster
Timesheet sent to payroll → check compliance → HOLD if non-compliant
Invoice generated → check compliance → WARN if worker was non-compliant during period
Implementation: The finnest_compliance module must expose a Compliance.check/2 function that every module calls before write operations. This is not a middleware — it's a domain service called explicitly by roster, timekeep, payroll, and clients modules.
# In finnest_roster
def assign_worker(shift, worker, org) do
case Finnest.Compliance.check(worker, shift.required_credentials) do
:compliant -> proceed_with_assignment(shift, worker)
{:non_compliant, missing} -> {:error, :non_compliant, missing}
{:expiring_soon, creds} -> {:warning, :expiring_soon, creds, proceed_with_assignment(shift, worker)}
end
end
This is a READ across domain boundaries (compliance → roster), which is allowed for reference data in our architecture. Not an event — a synchronous check.
C2: Super Onboarding — Cross-Domain Orchestration¶
A Tier 2 workflow agent (Oban) that orchestrates:
1. TFN declaration form → finnest_payroll stores
2. Super fund choice → finnest_payroll stores + SuperStream registration
3. Bank details → finnest_people stores
4. Fair Work Information Statement → finnest_onboard tracks acknowledgement
5. Employment contract → finnest_people stores + e-signature
This is the first genuine cross-domain workflow. Use the event-driven orchestration pattern from Session 3.
C5 + C6: Award-Aware Billing + Timesheet-to-Invoice¶
The billing module must understand award penalty timing (not just pay rates):
Timesheet: John worked Saturday 8am-4pm at Woolworths
Pay side (KeyPay): base_rate × 1.5 (Saturday penalty) = $53.21/hr
Bill side (Finnest): charge_rate × 1.5 (matching penalty) = $78.75/hr
Margin: $25.54/hr
Auto-generated invoice line:
Client: Woolworths Minchinbury
Worker: John Smith
Date: Saturday 17 Apr
Hours: 8
Rate: $78.75/hr (incl. Saturday penalty)
Amount: $630.00
This requires finnest_clients to have a PARALLEL award-awareness to finnest_payroll. Not full award interpretation — just penalty timing rules (when does Saturday penalty apply? When does overtime kick in?). The rate card stores the charge-rate multipliers that mirror the award penalty structure.
Updated Module Requirements¶
Based on this audit, the following features should be added to the module inventory:
finnest_compliance (additions)¶
- Compliance auto-blocking API (
Compliance.check/2) consumed by all modules - DVS integration (document verification against issuing authorities)
- Credential registry verification (AHPRA, state trade boards, university records)
- Ongoing monitoring scheduler (re-check VEVO, police, credentials on schedule)
- Labour hire licensing compliance (VIC, QLD, SA, ACT)
- PEP/sanctions screening integration
- 100-point identity check scoring
finnest_onboard (additions)¶
- Super onboarding wizard (TFN + super + bank as single flow)
- TFN declaration digital form (ATO NAT 3092 compliant, check-digit validation)
- Super fund choice workflow (USI lookup, stapled super check, SMSF, default fund)
- Bank account collection (BSB validation, split-pay support)
- Liveness detection in selfie capture flow
- Fair Work Information Statement + Casual Employment Information Statement delivery
- Consent management (APPs-compliant)
finnest_recruit (additions)¶
- Interview scheduling with calendar sync (Google, Outlook)
- Self-service candidate booking links
- Job board multi-posting (SEEK, Indeed, LinkedIn, Jora)
- Inbound application ingestion from job boards
- Recruitment analytics dashboard (time-to-fill, source tracking, conversion rates)
- Candidate-to-employee promotion (seamless record creation in finnest_people)
- Bias detection / anonymised screening mode
- AI candidate rediscovery
- AI job description writer
finnest_clients (additions)¶
- Client hierarchy (parent → division → site → cost centre → department)
- Award-aware charge rate management (penalty timing mirrors pay penalties)
- Timesheet-to-invoice automation (approved timesheets → invoice lines)
- Margin visibility per worker per shift (real-time, on dashboard)
- Split billing (single shift → multiple cost centre invoice lines)
- Client onboarding workflow (forms, insurance certs, agreement signing)
- Xero API integration (push invoices, GL sync)
- MYOB API integration
finnest_payroll (additions)¶
- Super fund management (SuperStream, clearing house integration)
- Portable long service leave reporting (QLD, VIC, ACT, SA)
- TFN declaration lodgement to ATO
- Salary packaging / novated lease deductions (future)
finnest_learn (additions)¶
- Automated re-induction scheduling (yearly recurrence)
- Competency reviewer workflow (assign reviewer, auto-notify)
- Safety alert push via LMS
finnest_core (additions)¶
- Outbound webhook system (customer event subscriptions)
- Consent management framework (APPs-compliant)
Competitive Position After Closing Gaps¶
| Capability | Fasttrack360 | Finnest (with gaps closed) | Advantage |
|---|---|---|---|
| Core HR | 8/10 | 9/10 | Finnest (AI-enhanced) |
| Recruitment | 7/10 (+ Bullhorn) | 9/10 | Finnest (AI agents) |
| Onboarding | 7/10 | 9/10 | Finnest (AI verification + super onboarding) |
| Rostering | 8/10 | 9/10 | Finnest (AI optimisation) |
| T&A | 8/10 | 9/10 | Finnest (offline, NFC, GPS) |
| Payroll | 9/10 (native) | 7/10 (KeyPay) → 9/10 (Phase 2 native) | Fasttrack initially, parity later |
| Invoicing/Billing | 9/10 | 9/10 (with C5+C6) | Parity |
| Compliance | 8/10 | 10/10 (with C1+C3+H7) | Finnest (multi-industry, AI-powered) |
| Mobile | 6/10 | 9/10 | Finnest (agent chat, offline, NFC) |
| AI Agents | 0/10 | 10/10 | Finnest — unmatched |
| Multi-Industry | 3/10 | 9/10 | Finnest — unmatched |
| Asset Management | 0/10 | 9/10 | Finnest — unmatched |
| ID Verification | 0/10 | 9/10 (with C3+C4) | Finnest — unmatched |
RatesCalc Analysis (Added Post-Audit)¶
What RatesCalc Is¶
Australian SaaS platform built specifically for recruitment/labour hire agencies. Self-described as "Application Interface Middleware (AIM)." Sits between ATS (front office) and payroll (back office). Made Deloitte Fast 500 APAC. Serves SME to ASX/Fortune 500.
Core value: The only Australian platform with award-awareness on BOTH the pay side AND the charge/billing side. Covers all 122 Modern Awards + Enterprise Agreements.
Key Features¶
- Award interpretation for all 122 Modern Awards + EBAs + PSAs
- Pay rate AND charge rate calculated simultaneously with real-time margin visibility
- Margin vs markup distinction (critical — agencies often confuse these)
- Rate cards at client + job level, synced to payroll (Astute) or exported (CSV)
- Quote generation from rate calculations (quotes → approved → flow to placements)
- Digital signatures on contracts (Secured Signing partnership)
- Casual, fixed-term, permanent, contractor, shift worker, apprentice pricing
- Fixed dollar margin, gross margin %, or markup % pricing models
- On-costs: super, WorkCover, leave loading, payroll tax
- OCR monitoring for award definition changes
- EBA upload service (send your EA, they interpret and load it)
- Integrations: Bullhorn, JobAdder, Vincere, Astute Payroll, Xero/MYOB (CSV)
- Pricing: A$99-140/user/month
Does RatesCalc Solve C5?¶
Yes, RatesCalc solves exactly what C5 describes — billing-side award awareness. But it's the wrong tool for Finnest:
- It's a standalone SaaS for consultants clicking through a UI, not an embeddable billing engine or developer API
- No documented public API (API page returns 404)
- A$99-140/user/month adds significant cost
- No KeyPay integration listed — you'd have KeyPay for pay + RatesCalc for billing = two award engines
Recommended Approach: Use KeyPay for BOTH Sides¶
The actual C5 gap is narrower than it appears:
KeyPay.calculate_rates() returns:
{ base_rate: $35.47, penalty_multiplier: 1.5, penalty_type: "saturday" }
Finnest billing module applies:
charge_rate = client_rate_card[classification]["saturday"]
→ $78.75/hr (client-specific Saturday charge rate from rate card)
Invoice line:
Hours: 8, Rate: $78.75, Amount: $630.00, Margin: $25.54/hr
Finnest doesn't need a SECOND award engine on the billing side. It needs:
1. Penalty timing data from KeyPay (when does Saturday/OT/PH penalty apply) — already in KeyPay's response
2. Client rate cards with charge-rate multipliers per penalty type — already designed in finnest_clients
3. Margin calculation layer — charge_rate - pay_rate = margin per line
C5 Resolution: Downgraded from "build second engine" to "read KeyPay penalty data + apply client rate card"¶
Effort reduced from HIGH to MEDIUM.
RatesCalc as Reference Model¶
RatesCalc validates the architecture for finnest_clients:
- Rate cards at client + job level ✓ (already planned)
- Margin vs markup distinction ✓ (add to rate card model)
- On-costs included in rate calculation ✓ (add super, WorkCover, leave loading, payroll tax to margin calc)
- Quote generation from rate calculations ✓ (finnest_quotes module)
- Contract/assignment letter generation from approved quotes ✓ (finnest_people contracts)
- Award change notifications ✓ (compliance agent monitors Fair Work updates)
Statistics¶
- Systems audited: 13
- Total gaps identified: 34 (6 Critical — C5 partially resolved, 10 High, 14 Medium, 8 Low)
- Architectural changes needed: 2 (compliance auto-blocking, super onboarding orchestration)
- New integration requirements: 8 (DVS, VEVO, liveness SDK, AHPRA, Xero, MYOB, job boards, SuperStream)
Generated by BMAD Method v6 - Creative Intelligence