Skip to content

For unionized employers

Every decision,defensible.

Grievances, discipline, investigations, accommodation, compliance and accreditation evidence — held in one record built to survive arbitration and regulatory inspection.

A Raspberry Company product — built by Matt Laframboise

The gap

HR software wasn’t built for a collective agreement.

Mainstream HR systems were designed for non-union offices, and it shows the moment a union is in the room. They treat an employee record as a profile plus a payroll feed — and the document that actually governs the workday lives somewhere else entirely.

What an HRIS knows

  • Name, job title, department
  • Pay rate and payroll history
  • Time-off balances
  • An annual performance review
  • An org chart

What your day actually runs on

  • Which collective agreement governs this person
  • When the Step 2 response is due — counted the way the agreement counts
  • Whether that written warning has sunset yet
  • Who is next by seniority, and whether the list was served
  • Whether the accommodation file is current
  • What you can actually rely on at arbitration

Where it fits

Wherever a collective agreement governs the workday.

  • Healthcare & long-term care
  • Municipalities
  • Education
  • Manufacturing
  • Transit
  • Social services
  • Utilities
  • Public sector

The labour relations core is sector-agnostic — grievances, discipline, seniority, accommodation, bargaining and arbitration work the same way wherever there is a union. Compliance and accreditation are configurable per sector, and an Ontario long-term care starter set ships in the box.

Why it matters

A grievance is a clock. It starts whether or not anyone was watching.

Deadlines in a collective agreement do not wait to be noticed. Miss one and the argument stops being about what happened and starts being about you.

The deadline engine

Counted the way the agreement counts.

Every collective agreement has its own arithmetic — business days or calendar days, counted from receipt or the day after, with statutory holidays in or out. Get it wrong and you have handed the union a procedural argument before anyone looks at the merits.

Click any day to move the receipt date.

Received

Fri Oct 9

Response due

Mon Oct 19

Stepped over

4 weekend days, plus Thanksgiving

In the product this runs off the agreement you actually signed — each step’s clock, its day-counting convention and its cited article — and the resulting date lands on your dashboard so it cannot quietly pass.

… and lands where it cannot be missed

The next 16 days, as your dashboard shows them

  • GRV-2026-009Step 1 response — overdue
  • DSC-2026-028Union notice — overdue
  • Credentials3 certificates lapse
  • GRV-2026-014Step 2 response due
  • PRB-2026-021Probation release window closes
  • ACM-2026-004Restrictions review
  • SEN-2026-002Seniority list served
  • IPAC-05Policy review due
  • ARB-2026-003Hearing — day one
  • CBA — SEIUNotice-to-bargain window opens
2 days overduetoday14 days ahead

Hover any marker. Illustrative items only — case references and functional descriptions, never names. In the product each dot is a live obligation, and an overdue one is never quietly dropped: it moves onto the shelf and stays there.

The platform

One record. Every module reads from it.

A grievance contesting a discipline, the accommodation behind an attendance file, the seniority list that decided a layoff — these are the same story in most workplaces and separate spreadsheets in most systems. Hover any module to see what it is actually joined to.

Cases

The files that carry a dispute from first notice to final answer.

Grievance Desk

Intake through steps to disposition, with response deadlines computed from the agreement's own day-counting rules — business days, holidays and all.

Discipline

The progressive ladder with per-agreement sunset clocks, a just-cause checklist, and comparator search so like cases are treated alike.

Investigations

Case-team-only confidentiality with no role bypass. Allegations resolve to findings with written rationale; evidence lives in a sealed locker.

People

The record behind every individual — and the clocks attached to it.

Accommodation & RTW

Functional facts, never diagnoses. Follow-up cadence drives the file forward so an accommodation never quietly lapses.

Leaves

A restricted leave lifecycle with expected-return clocks. Outside the restricted circle, people see only a coarse roster status — never the reason.

Attendance

Innocent absence feeds a non-disciplinary management program; culpable absence is discipline. The distinction is enforced, not assumed.

Probation

Release windows surfaced before they lapse — the decision you cannot get back once the date passes.

Seniority

Live ranking computed from the record, and publishing freezes it: an immutable list, stamped, with an append-only log of what the union received.

Governance

The instruments the whole operation is measured against.

Bargaining

The renewal calendar with statutory notice windows, proposal exchanges, and the table log for the round.

Arbitration

Referral through hearings to the award, building a searchable precedent library of how comparable cases actually resolved.

Policy

Authoring with a recorded approval chain, snapshot-on-publish, and attestation campaigns frozen to the roster as it stood that day.

Compliance & accreditation

A requirement matrix per site and classification, feeding accreditation criteria that re-evaluate themselves as the underlying evidence changes.

Every line is a relationship the product actually models — not a diagram drawn for the brochure.

The hard part

Restricted means invisible.

Most systems handle confidentiality by greying a row out and adding a padlock. That still tells you a colleague has an accommodation file, or that someone is under investigation — and in a small workplace, that is the leak.

Labour Matrix excludes restricted records from the query itself. They are absent from lists, counts, search, exports and the dashboard. Change the role beside this and watch the total — not just the rows.

Investigations are case-team only with no role bypass: an organization administrator who is not on the team does not see the case either.

Org-wide scope · medical records access · on the investigation case team

Open items

6 total

  • GRV-2026-014GrievanceStep 2 response due in 3 days
  • DSC-2026-031DisciplineWritten warning — sunsets in 8 months
  • ATT-2026-052AttendanceProgram review scheduled
  • INV-2026-003InvestigationCase team only — no role bypass, not even for an administratorCase team
  • ACM-2026-004AccommodationRestrictions review dueMedical
  • LOA-2026-009LeaveExpected return recordedMedical

Every open item in scope is listed.

Illustrative data. Case references and functional descriptions only — no names, here or in the product’s own lists.

The long view

Two years on, the only thing that matters is what you can still show.

Defensibility

Built to survive the hearing.

Labour relations records get read under the least forgiving conditions there are — an arbitration, a human rights application, an inspection. The question is never whether you had a reason. It is whether you can still show it, in order, two years later.

Every state change is audited
Not a changelog bolted on afterwards — an append-only audit row written in the same transaction as the change itself.
Reads are audited too
Opening a restricted record — an investigation, a medical file — is itself an event worth recording. Access leaves a trace.
Nothing that matters is deleted
Corrections are new entries. Timelines are append-only. A published seniority list and a policy version are frozen snapshots, not live rows.
Restricted means invisible
A record you are not entitled to see does not appear greyed out or locked. It is absent from lists, counts, search and exports entirely.

Audit trail

append-only
  • grievance.step_response_recorded
  • discipline.issued
  • document.restricted_read
  • seniority_list.published
  • policy.version_frozen
  • accommodation.read
  • investigation.read
  • employee.status_changed

Illustrative actions. Every row in the real log carries the actor, the entity, the time and the originating address.

Your data

Your records stay in Canada, in a database that is yours alone.

Investigation files and accommodation records are among the most sensitive data an employer holds — more sensitive, often, than payroll. So each organization gets its own database — never a table shared with another customer — and every one of them is hosted in Canada. That isn’t a configuration option we sell you; it’s the default.

And your records never have to leave your building. Labour Matrix also runs on your own server, against your own database — the same product, with nothing taken out. The difference is worth stating plainly: hosted, your records sit on infrastructure we operate; on your own server, we cannot see them unless you let us. The choice is yours.

Questions

The things employers actually ask.

Straight answers — a labour relations system that oversold itself would be a strange thing to trust with the file you take to a hearing.

Does this replace our payroll or HRIS?
No, and it is built not to. Payroll stays where it is — Labour Matrix sits beside it and holds the employment record: grievances, discipline, investigations, accommodations, seniority, probation, compliance evidence. It deliberately stores no wage data at all. That is not an omission to fill in later: the hours importer actively refuses to map an earnings column, because a system that quietly accumulated pay data would become a payroll system nobody audited as one.
Does it know our collective agreement?
From your agreement, not a template. The step deadlines, the sunset periods, the probation basis, the posting windows and the bumping scope are entered from your own article text, each stored against the article it came from, and the product enforces exactly what you entered and shows its work. It comes with starter content for Ontario long-term care to save typing, marked in the software itself as unverified — for you to check against your own agreement — because a confident default that happens to be wrong is a missed deadline wearing the costume of an answer.
Does anything leave our building?
Hosted, your records live in Canada, on infrastructure we operate, in a database that is yours alone. On your own server, nothing leaves the building, and we cannot see it unless you let us. The one exception is optional: if you switch on the AI assistant, the question you ask and the records it looks up are sent to a model API outside Canada to answer it — never investigations, medical, accommodation or leave records, which are held back before anything is sent. It is off unless two separate switches are both thrown — one by whoever installs it, one by your own administrator — and the interface says so on screen every time it is used.
Is there an AI, and does it decide anything?
There is, and it does not. It can read what you could already read, and it can draft. It cannot change a single record — there is no tool in it that writes, so the question is settled by what exists rather than by a promise. Two more limits worth knowing: it only ever sees records the person asking is already entitled to see, so it cannot be used to get around a restricted file; and it is forbidden from working out a deadline itself, because date arithmetic against weekends and statutory holidays is exactly the thing a language model should not be trusted with. It asks the product for those.
Can our site managers see everything?
No. Access is scoped to the sites a person is responsible for, and the genuinely sensitive files — investigations, medical and accommodation records — are invisible rather than locked. A record you are not entitled to see does not appear greyed out, or as a row you cannot open, or in a count. It is absent from lists, search and exports entirely, because “there is something here you may not read” is itself a disclosure in a building where everyone knows everyone.
We do not use ADP. Does it still work?
Yes. Any payroll that can export a roster works, and the same is true of any policy platform that can export its register. You map your columns once, confirm what we guessed, and it remembers — so a system we have never seen is a five-minute setup rather than a feature request. There are starting points for the common ones, but they only pre-fill that mapping. Nothing in the product is named after a vendor.
What do we need to run it?
Nothing but a browser, if we host it: your organization gets its own database, in Canada, and we run it for you. If you would rather run it yourselves, it needs a Windows Server and PostgreSQL, both of which most organizations already have. It installs as an ordinary application beside whatever else that server runs, with its own database and its own credentials, and your data stays on hardware you own. Either way, your administrator can download a complete, encrypted copy of the entire record whenever they choose.
Is it built for Ontario?
Yes — specifically. The deadline engine counts against Ontario statutory holidays, the compliance starter content follows Ontario’s long-term care and retirement home regulation, and the arbitration and human rights workflows follow Ontario practice.
What does it cost?
Pricing is set per organization, because the right number for a single site and a multi-site employer differs by an order of magnitude. What moves it: how many sites, how much of your existing record we migrate, and whether you need anything custom. Tell us in the form and you will get a real number back — not a discovery call.

Get started

Request access.

Every organization is set up against its own collective agreements before anyone relies on it — a system that holds your most sensitive employment records should be.

Tell us about your operation and we’ll walk you through the product against your own scenarios — your agreements, your deadlines, your ladder.

We only use what you send here to respond to your request. Please don’t include employee names or case details.