Skip to main content
The org chart is a visual map of who reports to whom in a business — a tree drawn from the reporting lines on your employees’ active contracts. It’s the quick way to see your structure at a glance: who sits under whom, how many direct reports a manager carries, and where a person fits in the chain. This page explains what the chart shows, how it’s built, how to read and navigate it, and — importantly — how it is scoped to a single business so you always know which structure you’re looking at. You’ll find this at: /hr/org-chart
📷 Screenshot: Organization Chart canvas with manager → report cards, the search box, department/status filters and the status legend — to be added.
Hitaji 360 is multi-business. The org chart is built per business from that business’s active contracts. Picking the wrong business in the switcher gives you a different chart — or an empty one. See Per-business scoping below; it’s the single most important thing to get right here.

What the chart shows

Each card is one employee. The tree connects a manager to the people who report to them, so the lines you see are reporting relationships, not departments. A card shows:
  • The employee’s initials and a coloured status dot (Active, On Leave, Suspended, Terminated).
  • Their name.
  • Their position (see the position-title fallback below) — or No Position if none can be resolved.
  • Their department / unit as a small chip.
  • A direct-report count (a people icon with a number) when they manage anyone.
A status legend sits in the top-left of the canvas, and a running employee count shows on the toolbar.

How the chart is built

The tree is assembled on the server from your active employment contracts. An employee appears as a node when:
  • their employment contract’s workflow state is Active,
  • the employee record is not deleted, and
  • the employee’s status is not Terminated,
  • and the contract belongs to the selected business.
The reporting line comes from the manager named on each person’s contract. Someone with no manager on their contract is drawn as a root (a top-of-tree node). Everyone whose manager is in the chart hangs beneath that manager. A few details worth knowing:
  • One node per person. If an employee somehow has more than one active contract, the first one wins, so they appear once.
  • Orphans are never lost. If a person’s manager was filtered out (for example the manager was terminated, or sits in a different business), that person is promoted to a root rather than disappearing — so no one silently vanishes from the chart.
  • Terminated staff are excluded entirely, which is why a terminated manager’s reports float up to become roots.

The position-title fallback

A card’s position label is the contract position’s title when one is set, and otherwise falls back to the position type’s name. In plain terms: a properly assigned position always shows a meaningful label rather than a blank — you’ll only see No Position when the person genuinely has no position resolved on their active contract.
⚠️ Current state: That title-or-type-name fallback is resolved on the server and sent down as the card’s position. The chart will only show a position at all for people whose active contract carries a position; an employee who is active but has no position on their contract shows No Position. If a whole chart comes up empty, it usually means no managers have been assigned on contracts yet (the empty state even says “Assign managers to employees to build the org chart.”), not that the page is broken.

Per-business scoping

This is the part to internalise. The chart derives its business from the selected business first, and only validates a real business; it does not fall back to your whole tenant. Concretely:
  • If a valid business is in context, the chart contains only that business’s active-contract employees and their reporting lines.
  • If the business is missing or malformed, the server returns an empty chart rather than quietly showing everyone across the tenant. So an unexpectedly empty chart almost always means no business selected / wrong business — not no data.
The takeaway: pick the right business in the switcher before reading anything into the chart. A manager who looks like they have no reports may simply have those reports under a different business.

Reading and navigating the chart

The canvas is an interactive, pan-and-zoom diagram.
  • Pan by dragging the background; zoom with the wheel or the + / − / Fit controls in the bottom-left. Fit re-frames the whole tree; the chart also auto-fits when it first loads.
  • Search employees using the box top-left — match on name, employee number or position. Picking a result recentres the canvas on that person and briefly highlights their card.
  • Filter by department and by status (Active / On Leave / Suspended / Terminated) using the dropdowns. Filtered-out cards dim rather than vanish, so you keep the shape of the tree; Clear removes the filters.
  • Click a card to open that employee’s profile (/hr/employees/:id).
  • Focus a subtree: the chart supports rendering from a chosen person downward; while focused, a Full Chart button returns you to the complete tree.
  • Export the chart as a PNG image with the Export button (the minimap and overlay panels are left out of the image).
A minimap in the corner helps you keep your bearings on large trees.
Note: the cards are read-only — you can’t drag people around to re-parent them here. Reporting lines are changed by editing the manager on an employee’s contract, not on this canvas. See Employment records & contracts under Related.

Permissions

There are no separate edit permissions on this page — it only reads from contracts. To change the structure you need the rights to edit employees’ contracts (hr:write), which is done elsewhere.