People
The HR master data a company sets up — employees, departments, shifts, holidays, custom attributes, and time cards.
People is where you manage the human side of a company: the employees who work there, how they're organized, when they're scheduled, and the custom fields you track against each one. It sits alongside identity and access — an employee record is the org-and-scheduling layer, while login, roles, and what someone is allowed to do live in permissions.
A person in Carbon is one record split across three tables. The user is the global login identity. The employee is that user's membership in this company. The employeeJob holds their org placement — title, location, department, shift, and manager. They share the same id and are always scoped to a company, so the same person can be an employee of more than one company with a different title and manager in each.
Employees
The Employees directory (under Manage) lists everyone in the company. Each row shows first and last name, email, employee type, location, and a Status of "Active", "Invited", or "Inactive" — derived from the employee record and any pending invite, not stored as a field. Open a person to see their Profile, Job, and Notes, plus a tab per attribute category and a Timecards tab when time cards are enabled.
The Job section is the employee master data you edit here:
"Job" here means a job title, not a production job. The employeeJob table is org placement — completely separate from the job table that holds work orders on the floor. And a person's title is separate again from what they can do: access is granted by their employee type, covered in permissions.
Adding and removing people (invites, deactivation) is part of the identity and access flow, not this master data. Deactivating a person tears down their membership — it removes them from the company, deletes their job placement, and revokes their access — so treat it as an access action, not an edit here.
Departments
A department is an organizational unit. Each has a name and an optional , so departments form a hierarchy you can roll headcount up through. Employees attach to a department via their job placement.
Departments are configuration, so they live under Configure. Deleting a department is a hard delete — check that no one is assigned to it first, since removing it leaves those job placements without a department.
Shifts
A shift is a named work schedule tied to a location: a start time, an end time, and the days of the week it runs. You assign a shift to an employee through their Job section, and Carbon uses shift membership to answer who's scheduled today — it reads each employee's shift and checks whether today's day-of-week flag is on.
Shifts are an employee-and-location concept, not a work-center one. A shift is never bound to a work center; it schedules people, and a work center's load comes from the operations scheduled onto it, not from who's on shift.
Deleting a shift is a soft delete — the record is marked inactive rather than removed, so historical assignments stay intact.
Holidays
A holiday is a company non-working day: a name and a date. The year is derived from the date automatically, and the list groups by year so you can review one calendar year at a time.
Attributes
Attributes are custom fields you track against people — things Carbon doesn't model natively, like a certification expiry, a badge number, or a t-shirt size. They're organized in two layers: an attribute category groups related fields, and each attribute inside it is one field with a data type.
A category carries a name, an emoji, and a toggle that controls whether its attributes show on a person's public profile or stay admin-only.
Each attribute defines:
The comes from a fixed set: "Text", "Numeric", "Yes/No", "Date", "List", and "User" (the same list also powers customer and supplier custom fields, which add "Customer", "Supplier", and "File"). A "List" attribute pulls its choices from its .
Pick the data type when you create the attribute — it's fixed once the attribute has recorded values. Category and attribute deletes are soft deletes (marked inactive), so an attribute you retire won't erase the values already collected against it.
Time cards
A time card is a clock-in / clock-out record for an employee. Time tracking is off by default and turns on per company with a timeCardEnabled setting; once on, the Timecards tab appears on each person and a company-wide list shows up under Manage.
Each entry captures the employee, a clock-in time, an optional clock-out time, and a note. An entry with no clock-out is still open — Carbon derives its Status from that:
Status is computed, not a stored field, and there is no approval step — a completed time card is final, not pending sign-off. Duration is calculated from clock-in to clock-out (or to now while still active), and weekly hours roll up from the current week's entries. You can also add, edit, or delete entries directly, so a missed punch can be corrected after the fact.
These are the office-side time card records. On the shop floor, operators clock time against specific job operations in the MES — that production time is a separate mechanism from an employee's clock-in/clock-out day.