VVioletTech
Live prototype · Sample data · Not yet in production

Leave admin that already knows South African law.

Most leave systems are built somewhere else and have the BCEA bolted on afterwards. This one starts there — sick leave runs on a 36-month cycle, public holidays fall out of the count automatically, and every number shows you the rule it came from.

Built with ASP.NET Core + SQL One system, desk and pocket Full audit trail on every change POPIA-conscious data handling
app.violethr.co.za/leave
Try it — it actually works
Sipho Ndlovu · ITSN

My leave

Balances update the moment a manager approves something. Nothing is calculated by hand and nothing sits in an inbox.

Apply for leave

Why this numberRule trace
Every calculation is traceable. When someone asks why they got 4 days instead of 5, you have an answer instead of an argument.

Calendar

Two ways to look at the same month. The team grid shows who is away and how thin cover is getting; the month view is what a manager checks before promising a client a date.

Annual Sick Family responsibility Parental Awaiting approval Public holiday

The cover row is the part no off-the-shelf product shows you: how much of each department is actually at work that day. It turns gold before you approve the request that leaves you short, not after.

Approvals

You are looking at this as Thandiwe Mokoena, Operations Manager. Approve or decline and watch the balances, the calendar and the audit trail move together.

Audit trail

Leave rules

These are the statutory minimums. Every one is a setting, not hard-coded — if your company grants 20 days annual leave instead of 15, you change a number and the whole system follows.

Leave typeIn this demoCycleBasisEditable
Annual leave15 working days
21 consecutive days on a 5-day week
12 monthsBCEA s20configurable
Sick leave30 working days
6 weeks of normal working days
36 months, not annualBCEA s22configurable
Sick leave, first 6 months1 day per 26 days workedFirst 6 months of serviceBCEA s22configurable
Medical certificateRequired after more than 2 consecutive days, or a third absence inside an 8-week windowRollingBCEA s23configurable
Family responsibility3 days12 monthsBCEA s27configurable
Maternity leave4 consecutive monthsPer birthBCEA s25configurable
Parental leave10 consecutive daysPer birth or placementBCEA s25Aconfigurable
Public holidaysNever deducted from leave. A holiday falling on a Sunday moves to the Monday.AnnualPublic Holidays Act 36 of 19942026 & 2027 loaded
Rules change, so they live in the databaseParental leave in particular has been through litigation and amendment in recent years. In a real build we confirm every entitlement against the current Act at handover, and you can change any of them yourself afterwards without calling a developer.
One system, two screens

The manager approves from a taxi. The system doesn't care.

Not a cut-down mobile app with half the features. The same data, the same rules, the same audit trail — laid out for a thumb instead of a mouse. Both phones below are live: submit something in the demo above and it appears here.

Employee · Sipho Ndlovu

Apply in under a minute

Balance visible before applying, so "how many days do I have?" stops being a question anyone asks HR.

09:41▪▪▪ ⌁ ▮
VioletHRSN
Manager · Thandiwe Mokoena

Decide with the full picture

Who else is off that week, and what the balance will be afterwards — on the notification itself.

09:41▪▪▪ ⌁ ▮
ApprovalsTM
What it replaces

The leave form is not the problem. The chasing is.

Most SMEs already have a leave form. What they don't have is a single place where the form, the balance, the approval and the proof all live together.

How it works now

Monday morning
  • Leave form printed, signed, photographed, sent on WhatsApp — then lost when the phone is replaced
  • Balances in one spreadsheet that only one person understands
  • "How many days do I have left?" answered by counting backwards through emails
  • Two people in the same small team approved off for the same week
  • Sick leave counted per calendar year, so the 36-month cycle is quietly wrong
  • Public holidays deducted from annual leave by mistake, in someone's favour
  • At CCMA or on audit, no record of who approved what, or when

How it works after

Same Monday
  • Employee applies from their phone in under a minute, sick note attached
  • Balances calculate themselves and are visible before anyone applies
  • The manager sees who else is away before deciding, not afterwards
  • Overlaps and insufficient balances are caught at the point of applying
  • Sick leave runs on its correct 36-month cycle automatically
  • Public holidays and weekends fall out of the count without anyone thinking
  • Every application, approval and adjustment is stamped and stored
The difference

Written for the BCEA, not translated into it.

International leave products treat South Africa as a settings file. These are the places where that assumption breaks, and where a system built here doesn't.

BCEA s22

Sick leave runs on 36 months

Not a calendar year. Six weeks of sick leave across a three-year cycle, and where that cycle starts differs per employee. Systems that reset in January get this wrong for everybody.

Public Holidays Act 36 of 1994

Twelve holidays, and the Sunday rule

Freedom Day, Youth Day, Heritage Day, Day of Reconciliation — plus the rule that a holiday falling on a Sunday shifts to the Monday. Loaded and excluded from leave counts automatically.

BCEA s27

Family responsibility is its own thing

Three days a cycle, for employees with four months' service working four or more days a week. It is not annual leave and not compassionate leave, and it should not come off the wrong balance.

BCEA s23

The certificate rule, enforced

More than two consecutive days, or a third absence inside eight weeks, and a certificate is required. The system asks at the point of applying rather than three weeks later at payroll.

BCEA s20

Annual leave in working days

Twenty-one consecutive days is fifteen working days on a normal five-day week. Getting that translation wrong by a few days across thirty staff is a real cost.

POPIA

Employee data stays accounted for

Sick notes and ID numbers are personal information. Access is by role, changes are logged, and data can be exported or removed on request — which matters the day someone asks.

How we'd build yours

Fixed scope, fixed price, and it's yours at the end.

This demonstration is a prototype, not a product you can buy off the shelf today. What we sell is the build — shaped around how your business actually runs, not how a template thinks it should.

01 · WEEK 1

Process audit

An hour with the people who actually do the admin. We map where the time goes and hand back a written plan — including whether you need a system at all.

R8 500Credited against the build
02 · WEEKS 2–5

Build and hand over

Your leave rules, your departments, your approval chain. Delivered working, staff trained on it, source code handed to you.

from R35 000Fixed against a signed scope
03 · ONGOING

Support and changes

Hosting, backups, statutory updates when the law moves, and a set number of change requests each month. Cancel on a month's notice.

R12 000Per month, optional

Start with the audit, not the software.

Thirty to sixty minutes, on site or on Teams. If the honest answer is that a spreadsheet is fine for now, we'll tell you that.