| Role | Create order draft | Confirm / dispatch order | Pack order | Record payment | Void invoice | Edit pricing |
|---|---|---|---|---|---|---|
| Owner | Allowed | Allowed | Allowed | Allowed | Allowed | Allowed |
Overview
Roles answer what a teammate may do. Org units answer where they may do it, and responsibility keys answer which duty they hold there. Neev combines the three when it resolves an approval stage. If nobody holds the key in the required unit, or more than one person qualifies, the stage stops as blocked work instead of silently choosing the Owner.
Where to find it
There is no dedicated Organization screen in this build. The tenant-scoped controls are exposed by the platform organization service/API; the admin integration uses operations such as createOrgUnit, moveOrgUnit, archiveOrgUnit, and createOrgUnitMembership. Approval recovery remains in Approvals (/approvals).
Key concepts
- An org unit is a node in the tenant tree:
company,branch,site,warehouse,territory, ordepartment. A company is the root; child units need a parent. Codes are stable, unique among siblings, and use letters, numbers, and hyphens. - A membership places a user at a unit for an effective period.
include_descendantsextends that place down the tree.scope_mode=allcovers every key the user's roles provide;scope_mode=filterednarrows the membership to its listed responsibility keys. - A responsibility key is a stable duty such as
org.unit.head,procurement.head, orintake.credit-override. A role must grant the key through its responsibility mapping; membership alone never grants authority. - Holder resolution is downward from the requested unit and respects the user's active membership, role key, and filters. Zero or ambiguous holders are a deliberate refusal/block, not a permission to fall back to a global role.
Common workflows
all or filtered scope. A filtered membership must list at least one existing responsibility key.Role notes
Owner is the documented tenant administrator for organization setup and role configuration. The Owner still needs the same responsibility and org-unit checks to be the holder of a stage; Owner status is not a global approval fallback.
A Manager can be an approval holder when their role grants the responsibility key and their membership covers the unit. Manager is not a platform-admin role by default, so organization and role changes remain an Owner/admin integration task.
Tips & time-savers
Keep responsibility keys stable and descriptive. Change a user's membership period or filters when the scope changes instead of cloning a role for every branch.
Gotchas
Moving a unit can change which memberships resolve at a descendant. Check open approvals after a move. If resolution becomes zero or ambiguous, the engine exposes blocked work with the key and unit so an authorized operator can recover it explicitly.