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:

FieldType
The person's job title within this company. This is not their permission role — see the callout below.
When they started.
The site they're based at.
Their assigned work schedule (optional).
Who they report to; another employee.
HEADS UP

"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.

FieldType
Unique within the company.
The department this one rolls up under; leave empty for a top-level department.

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.

FieldType
What the schedule is called.
The site the shift belongs to. Required.
When the shift begins.
When it ends.
Monday through Sunday toggles — the days the shift runs.
NOTE

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.

FieldType
What the day is called.
The calendar date. Its year is computed from this.

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:

FieldType
What the field is called.
The kind of value it accepts. See below.
The allowed values, only when the data type is List.
When on, employees can edit this value on their own profile; otherwise only admins can.

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 .

NOTE

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:

Off-track
Active
Clocked in with no clock-out yet — the employee is on the clock.

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.

NOTE

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.