The HR & people value chain runs from talent in — sourcing, applicant tracking, hiring — through the employee lifecycle — onboarding, payroll, leave, performance — to people development — coaching, leadership, growth. The 2nth posture: prefer systems that are open-source, agent-addressable, POPIA-aware, and self-hostable in South Africa. Two platforms anchor the chain today — Frappe HR for the HRMS spine, Huly for an open-source ATS + HRM — with the people-development half living next door in people/.
HR is not one system — it's a chain. A candidate becomes an applicant, an applicant becomes a hire, a hire becomes an employee with a payslip and a performance review, and an employee becomes someone you're trying to grow. The 2nth value is keeping that chain on systems an agent can read and a human stays accountable for.
JD → sourcing → screening → interview → assessment → offer. The applicant-tracking surface where Huly's ATS and the recruitment value chain live.
Onboarding, payroll, leave, attendance, expense, performance — the system-of-record spine. Frappe HR is the open-source HRMS anchor.
Coaching, leadership, feedback, org design. The human-development half — its own domain at people/, cross-cut here by the CHRO.
Six Live leaves. Two are the open-source, self-hostable platform anchors — Frappe HR (the HRMS spine: payroll, leave, the employee record) and Huly (the ATS + HRM work platform). Four are the value chain itself — recruitment, onboarding, and performance as the stages, and compliance as the South African statutory backbone running under all of them.
The open-source HRMS spine — employees, payroll, leave, attendance, expense claims, performance. GPL-3.0, built on the Frappe Framework, every DocType reachable over REST so an agent can drive it. Latest v16.8.0. Canonical leaf lives in the Frappe sub-hub; covers agent-readiness, the SA statutory gap, and POPIA.
Open-source all-in-one work platform — a Linear/Jira/Slack/Notion alternative whose ATS covers recruiting and HRM covers the team, alongside project management, CRM, and chat. EPL-2.0, TypeScript + Svelte, self-hostable via huly-selfhost. Filed here for its HR modules; honestly horizontal.
The six-stage hiring chain — JD → sourcing → screening → interview → assessment → offer — each stage producing a structured output an agent can act on. With the EEA non-discrimination duty and POPIA s71 automated-screening limits that bite before anyone is hired.
From signed offer to productive day-one — and the statutory starting line: BCEA s29 written particulars, the contract, NMW floor, and the UIF/COIDA/SDL/PAYE registrations that fire on day-one. The handoff from ATS into the HRMS record.
Goals, KRAs, appraisal cycles. The HRMS mechanics live in Frappe HR, the feedback craft in people/ — this leaf adds the legal weight: under the LRA poor performance is incapacity, and the record is the evidence a CCMA commissioner reviews.
The SA statutory layer — LRA, BCEA, EEA (Amendment Act 4 of 2022), NMWA, UIF/SDL, POPIA and B-BBEE, plus the SARS filings (EMP201/EMP501/IRP5). Primary-source citations to Labour, the CCMA, SARS and the Information Regulator. The gap Frappe HR leaves you to fill.
Both anchors are OSI-licensed and self-hostable — the property that lets SA businesses keep employee data in-country under POPIA and gives an agent a real data model to drive. They solve different ends of the chain.
| System | Licence | Stack | Strongest for | Agent surface |
|---|---|---|---|---|
| Frappe HR | GPL-3.0 | Frappe Framework (Python + Vue) | HRMS spine — payroll, leave, the employee record; pairs with ERPNext | REST DocTypes (first-party); MCP via community servers |
| Huly | EPL-2.0 | TypeScript + Svelte | ATS + HRM on a horizontal PM/CRM/chat platform; recruiting front | API surface; no first-party MCP (verify before building) |
The canonical 2nth tree assigns a fractional-C-level agent to people work. HR is where the customer graph and the people graph touch — a candidate is also, often, a customer.
People ops across the chain — recruiting, onboarding, the employee record, performance. Grace is the cross-cut between biz/hr and biz/crm for when the customer is also a candidate, and reaches into people/ for the development half. Every mutation on payroll or employee personal information stays human-approved — this is POPIA-relevant data, never a blanket-access surface for an agent.
HR sits between the systems-of-record and the humans who use them. It runs on a tech platform (Frappe), shares the customer graph with biz/crm, and hands the development half to people/.