WBAMS manages people at more than one level, and the levels are not different words for the same record. A client pays you. A member belongs to you. A staff member is paid by you. Those are three different relationships with three different sets of facts, so they are three different records — and they run side by side. A church has members, employs staff, and has clients on the day it sells something. Nothing is renamed into anything else.

Turning a level on

Open Setup › Management Levels (System Settings › People & Organization, or the wrench menu at the top right) and switch on the levels your organization actually has. A level that is off contributes no menu, no screens and no tables to your installation, so an operator who only bills customers never sees a membership roll.

Clients cannot be switched off.

WBAMS bills, and billing needs someone to bill. Every other level is yours to choose.

Chosen when WBAMS is installed

The installer asks which of these an organization has, on a step of its own before the database details, and installs only what was chosen. A declined level has no tables at all — not empty ones, and not a feature sitting switched off in a menu.

That decision is not final. Turning a level on here creates its tables at that moment, at the shape the release in use defines, and turning one off hides its screens and keeps every record behind them. Nothing on this page ever deletes anything. See Shape your workspace.

Modules

A level is a kind of person. A module is a whole part of the product that some organizations run and others have no use for, and it is the same question with the same answer: what is declined is not installed, and what is switched off later keeps its data.

Donations
Gifts, donor history, receipts and recurring giving. A billing agency has no use for it; a church cannot run without it. Switched off, the Donations menu and its pages are gone and the records stay.

Website sections

Some organizations never publish news, a knowledgebase or an events calendar. Updates, Knowledgebase and Events each have a switch under the modules. A section that is switched off leaves the website completely:

  • every address of it — its pages, its feed, and the old updates.php and knowledgebase.php addresses — answers with the site's "page not found" page;
  • its links leave the header and footer menus, the client area's menus and sidebars, and the dashboard;
  • its page sections (Updates, Events) are left out of every page, and buttons written into other sections that point at it are dropped;
  • it is left out of the sitemap, and a switched-off Knowledgebase stops suggesting articles when a ticket is opened.

Its records are kept and stay editable under Help Center, where a notice says the section is not on the website, and its Help Center menu entry is hidden. Switching it back on brings everything back as it was.

Client registration

The same list has a Client registration switch for sites where only staff open accounts. It is the same setting as Allow Client Registration in General Settings, so the two screens always agree. Switched off:

  • signup.php answers "page not found", and every Register or Create account link and button disappears, including those written into page sections;
  • checkout asks for an existing account — the new-customer form and the "create account" choice are gone, and a forged new-customer submission is refused;
  • a sign-in integration that would create an account on first use does not.

Administrators still create clients in the admin area and through the API, invited users still join the account that invited them, and signing in and password resets work as usual.

Upgraded sites keep all three on.

A site upgraded to 1.7.0 has Updates, Knowledgebase and Events switched on until an administrator saves this page with one of them off.

The switches are on this page, under the levels, so the shape of an installation is described in one place rather than two.

An installation that predates this reads as having everything.

A site upgrading from a release before modules existed keeps every one of them on. An upgrade that quietly hid a module somebody was using would be a far worse surprise than a menu on a site that does not want one.

Industry presets

Six presets flip the switches an industry usually needs, as a starting point rather than a commitment — everything stays editable afterwards.

Company
Clients and staff.
Agency
Clients and staff.
Church
Members, staff and clients.
Non-profit
Members and staff.
Association or club
Members only.
Freelancer
Clients only.

What you call them

A clinic says Patient where a club says Member and a studio says Artist. The same screen sets the singular and plural word each level is shown under, throughout the admin area. The label is yours; the level underneath it is not, so renaming Members to Patients does not turn them into clients or change a single thing about how the records behave. Leave a box empty to use the built-in word.

One person, one login

Identity is not duplicated. The users table stays the one login record, and each level hangs off it: the same person can be a client, a member and a staff member without holding three passwords. Equally, a level record does not need a login at all — userid is nullable on both members and staff, because most members never sign in to anything and plenty of employees never open the billing system.

Members

The roll lists everyone who belongs to the organisation, with search, status and membership-type filters. A membership moves through four states.

Active
In good standing.
Inactive
On the roll, not currently participating.
Lapsed
Dues have run out and have not been renewed.
Archived
Kept for the record, out of the working list.

Membership numbers fill themselves in from the highest already issued, and are yours to overwrite. The rules behind all of it — how numbers are formatted, when dues are raised, when a membership lapses and what a member may do for themselves — live on one page: Membership Policy. What each kind of membership is called and what it costs lives beside it under Membership Types.

Staff

The register holds the employment record: job title, department, type of employment, start and leaving dates, the pay rate and what it is a rate of, and the tax region and tax code. Departments are typed rather than maintained as a separate list, and the ones already in use are suggested as you type.

Active
Working.
On leave
Employed, currently away.
Suspended
Employed, not working, pending something.
Former
Has left. The record stays.
Mark a leaver Former rather than deleting them.

Pay history has to survive the person leaving. Delete an employment record only when it was created in error.

The employment record deliberately exists before payroll does: time and attendance, pay runs, payslips and the tax tables all read from it, and none of them can be built first. All of that has a page of its own: Payroll and time. tax_region and tax_code are captured from the first save so nothing has to be back-filled later — the tax tables are versioned per region and per tax year, so a recalculation of last year uses last year’s rates.

Where each level is administered

Members
The Members menu holds the roll and each record. Membership Policy holds the rules; Membership Types holds what the types are called and what they cost.
Staff
The Staff menu holds the register, timesheets, pay runs and time off. Employer Policy holds the rules; Pay Items and Payroll Tax hold the money.
Clients
Unchanged. See Customers and accounts.

What a record carries

Member and staff records have the same shape as a client record: a summary, contacts, notes, files, an email history and a full change log. Anything filed against a record survives the person’s standing changing — a former employee keeps their record because pay history has to survive them, and a lapsed member keeps theirs because a membership that ended is still a membership that happened.

Each record shows the others.

A record that never mentioned the person’s other levels would be three people rather than one, so every member and staff record lists what else the same identity holds, with a link to each.

The portal

A member or a staff member with a login signs in to an area of their own rather than to the client area. Somebody who also has a billing account is offered both and switches between them from the account menu; somebody who has none lands directly in the area they do hold.

Member area
Their membership, their standing and how you reach them. What else is shown — dues and renewal, giving history, documents, and whether they may edit their own contact details — is set on the Self service tab of Membership Policy.
Staff area
Their employment, their payslips, their timesheets and their time off. Each of those is a switch on the Self service tab of Employer Policy.
Email
Either area can offer an Email page for the addresses that person holds on your mail domain. See Webmail and mailboxes.
Internal notes are never shown in the portal.

Whatever else is switched on, notes filed on a record are for administrators and stay there.

Writing to members and staff

Every member and staff record has a Send message action with the same compose screen a client record has: attachments, CC and BCC, rich text, saved messages and merge fields. The merge fields offered are the ones that make sense at that level — a staff record offers staff number, job title and department; a membership record offers the membership number. Saved messages are held per level, so a template written for members is not offered on a staff record.

Permissions

Each level has its own administrator permissions — listing, adding, editing and deleting — plus separate permissions for the policy pages, payroll, timesheets and time off, listed under Members and Staff in the role editor. On upgrade they are granted to the roles that already hold the equivalent client and setup permissions, so an existing site does not find the new screens unreachable. See Team, roles, and access.