In one sentence
The Clients module is the place every other module reaches when it needs to say "this came from customer X" — one record per client, sequential numbers per facility, and a profile that surfaces every NCR, audit, and action linked to that client across the rest of QFormance.
- A client is an org-level record but gets a per-facility sequential number (e.g.
CLI-001) the moment you add it to a facility. The same buyer at two facilities has two numbers. - The external code is optional and permission-gated. Only users with
clients.manage_external_codesee or edit it — useful when the customer's internal vendor ID is restricted to commercial liaison. - The client profile shows every NCR, audit, and action linked to that client. Customer complaints, customer audits, and customer-driven changes accumulate in one place automatically.
Creating a client
From Sidebar → Clients, click New client. The form captures:
- Name — the customer's legal or commercial name. Required.
- Category — admin-managed list (see Categories below).
- Status — Active, Inactive, Prospect, or Former. New clients usually start as Prospect until contracts are signed.
- Contact name — your main point of contact at the customer. Optional, and surfaced as its own Contact column in the directory so you can see at a glance who to call.
- Contact info — website, email, phone, address. All optional.
- Notes — free-text context, contract references, anything you want surfaced on the profile.
Submit and you land on the client's profile. The client exists at the organization level — at this point it has no facility number yet.
Adding a client to a facility
A client doesn't get a number until you add it to a facility. From the client's profile, the Facilities section has an Add facility button.
When you add a facility:
- A sequential number is assigned —
CLI-001,CLI-002, etc. The next number comes from the facility's running counter, so each facility has its own series. - You can set a per-facility status and risk level independently of the org-level status.
- If you have permission, you can record an external code (see below).
Adding the same client to two facilities gives you two numbers — Customer Y may be CLI-024 at Birmingham and CLI-003 at Toledo. The numbers reflect when each site started shipping to them.
Legible URLs
Client profile pages have readable URLs derived from the name — e.g. /clients/acme-aerospace rather than a long ID. The slug refreshes automatically if the client is renamed. Older ID-based links still resolve.
External code — permission-gated
The external code is the optional vendor ID the client assigns you — the equivalent of an ASL number, but flipped. It's gated to the clients.manage_external_code permission, which means:
- Users without it never see the field — it doesn't render on the profile or in lists.
- Users with it can read, set, and edit external codes per facility.
That separation matters because external codes are usually maintained by sales / commercial liaison, while the client directory itself is open to anyone capturing a customer complaint.
Admins can change the prefix (default CLI) at Admin → Clients. The change only affects new numbers — every existing record keeps the prefix it was issued under. If you switch from CLI to CST, your directory will look like a mix of CLI-024 and CST-001 until the old records age out.
Categories
Categories are an org-level, admin-managed list. From Admin → Clients anyone with the Edit org settings permission can:
- Add, rename, or delete a category.
- Re-order them — the order is the order they appear in pickers and lists.
Default categories are seeded for new orgs (OEM, Aftermarket, Distribution, End-customer — typical commercial divisions) but you can replace them with whatever your team thinks in.
The client profile
The profile is laid out in two columns:
| Column | What's there |
|---|---|
| Left — main detail | Contact info, notes, the Facilities list with each facility's number, status, external code (if visible), and risk level |
| Right — activity | Counts of Products, Documents, NCRs, MOCs, and Audits linked to this client, with a one-click link to the underlying tab |
The activity counts are the killer feature for management review. "How many customer complaints have we had from this customer this year?" is one click — no spreadsheet, no manual tag-and-search.
Scorecard-style review on linked records
The NCRs, MOCs, and Audits tabs each carry an Actions column showing the open / closed corrective-action counts for that record. So you don't have to drill into every NCR to see whether anything is still outstanding — you scan the column, spot the rows with open actions, and triage from the client profile. Actions never link directly to a client; they always flow through a parent record (NCR / MOC / audit / meeting), and this column rolls them up to the client so they're visible without leaving the profile.
Facility ↔ whole-organization scope toggle
Most of the profile is scoped to your active facility by default — the linked NCRs, MOCs, audits, and documents are filtered to that site. A scope toggle in the header (sitting to the left of the Mark inactive button) flips between this facility and whole organization so you can widen the view to see the client's activity across every site at once.
Cross-module linking
Every record-creating module that might involve a customer has an optional Client picker on the create form:
| Module | What linking does |
|---|---|
| NCR | Especially common for customer complaints — sets the source and surfaces it on the client profile |
| Audit | An optional client scope link on any non-supplier audit — see below |
| MOC | When a change is driven by a customer requirement |
| Exemption | Concessions involving customer-furnished or customer-bound material |
| FMEA | Process FMEAs for customer-specific products |
| Risk | Customer-related risk register entries |
| Meeting | When the meeting concerns a client (review, escalation, kick-off) |
| Document | When a document is client-specific (contracts, specs, customer drawings) |
The picker is always optional — you don't have to attach a client — but when you do, the link is bidirectional: the client profile shows the record, and the record shows the client.
Product-driven supplier narrowing on create
When you're creating an NCR, MOC, FMEA, Exemption, Risk, or Meeting and you pick one or more products first, the Supplier picker on the same form narrows to those products' suppliers (full BOM depth) and auto-selects when one matches. Picking a supplier first narrows the product list. Each picker carries a Show all escape. The behavior is symmetric on the supplier side — see Suppliers → Product-driven supplier narrowing — and applies to the Linked Supplier on documents too (editable in the detail sidebar).
The Documents tab
The client profile has a dedicated Documents tab listing every controlled document linked to that client — internal and external alike. Two buttons at the top create a fresh document pre-linked to this client:
- New Internal Document — opens the standard new-document form with Linked client pre-filled.
- New External Document — same idea, but for the external-document form.
Either path drops you back on the client's Documents tab once the new doc lands, with the link already in place.
Client as an audit scope
The client picker isn't a separate audit type — it's an optional scope association on any non-supplier audit (1st Party or Self-audit). Use it when an audit is focused on a customer's work, line, or product family — e.g. a first-party audit on the cell that runs a specific OEM's parts. The picker is searchable; the audit shows the client on its Overview, and the client's profile shows the audit in its activity counts.
See Audits for the rest of the audit flow.
Status
Clients carry a status field with four values:
| Status | When you'd use it |
|---|---|
| Active | Currently shipping or contracted |
| Prospect | In contract negotiation — appears in pickers but flagged |
| Inactive | No current contract, kept for history |
| Former | Relationship ended; kept for audit trail |
Inactive and Former records still appear in the directory and on past records they're linked to. The list page filters default to Active, but switching the filter shows everything.
Finding a client in the directory
The directory has a filter for every column right in the table header — search by client name, narrow by category, facility, status, or contact name, all at once. A count of matching clients sits in a footer strip below the table, so you always know how big the set you're looking at is.
Permissions
| Permission | What it lets you do |
|---|---|
clients.create | Create a new client |
clients.edit | Edit org-level client details |
clients.delete | Delete a client (admins only by default) |
clients.manage_facilities | Add a client to a facility, edit per-facility fields |
clients.manage_external_code | See and edit the external code on per-facility records |
These are configured per-role at Admin → Roles & permissions — see Roles & permissions for the broader model.
Admin
Admin lives at Admin → Clients and covers:
- Categories — add, rename, reorder, delete.
- Number prefix — default
CLI. Affects only new numbers issued after the change.
Deactivating a client — not trash
Clients don't go to the Trash bin the way other regulated records do. Their toggle is Active / Inactive.
Flip a client to Inactive when the business relationship ends. The record:
- Stays on the Clients list with an Inactive badge.
- Drops out of new picker dropdowns (NCR source-client, MOC linked client, customer-audit pickers).
- Keeps every existing cross-module link intact — past customer-complaint NCRs still resolve correctly.
- Can be reactivated by flipping the toggle from the detail page.
The terminology overlap with deletion is historical — the user-facing concept is "inactive since," not "in trash." If you can't find a client in /trash, that's expected; check the Clients list with Show inactive turned on.
Related
- Suppliers — the sister module for vendors
- Audits — customer audit type
- Non-conformances — customer-complaint NCRs
- Roles & permissions