Member Directory: the reconciled membership model

The Member Directory is an association-only surface in Verinode HQ. It gives an association's leadership team one place to see who belongs to the association, whether their dues are current, and wh…

9 min read·Updated August 25, 2026
On this page

What it is

The Member Directory is an association-only surface in Verinode HQ. It gives an association's leadership team one place to see who belongs to the association, whether their dues are current, and which of them have connected their Verinode account to the association's roster.

This page only appears for association-type networks (trade associations, buying groups organized around membership, and similar RIA-style groups). Franchise networks and multi-location enterprise groups do not see Member Directory in their HQ sidebar; they have their own franchise- or enterprise-specific surfaces instead. If your network is organized around dues-paying members rather than franchise locations or owned branches, this is the page that keeps that roster in sync with Verinode.

Member Directory does not replace your association management system, your dues billing tool, or your CRM. It is the reconciliation layer between the roster you already keep and the members who are actually active on Verinode, so that membership on the platform (and everything a membership unlocks, such as the association's benchmark cohort and its member badge) always matches who is really in good standing.

Where to find it

Member Directory lives in the HQ sidebar for association-type groups, at hq.verinode.ai/members. The page title reads "Member Directory," and the page itself is three rows, top to bottom: a hero summarizing the roster, an Apps row holding this section's tools (including the roster import and dues reconcile), and an Explore row whose tiles open the full roster, the verification queue, and the lapsed list.

Unknown directive: note

The reconciled enrollment model

Verinode does not let an operator simply type in an association name and get credited as a member. Membership only activates once both sides of the relationship agree: the operator has asked to be recognized, and the association's own roster confirms they belong and their dues are in good standing. That two-sided check is what "reconciled" means here, and it runs in five steps.

  1. 1The operator self-declares. From their own account settings (not from HQ), an operator flags that they belong to your association and optionally enters the member number they believe is theirs. This creates a pending request; nothing is activated yet.
  2. 2HQ imports the authoritative roster. Using the CSV import on this page, the association uploads its own roster of members and their dues status. This is the source of truth Verinode reconciles every self-declared request against.
  3. 3Matches are suggested. Verinode compares each pending request to the roster by member number or by the operator's account email, and proposes a candidate match. A suggested match, even an exact member-number hit, is only a proposal. It never activates membership on its own.
  4. 4An admin approves. An association admin reviews each pending request against its suggested roster match in the Verification Queue and either approves or rejects it. Approval is always a manual, human decision, and it is blocked if the matched roster row's dues are not current.
  5. 5Dues sync keeps membership live. After every roster import, and any time you use "Reconcile dues," Verinode re-checks every already-approved member against the latest dues status on the roster. A member whose dues lapse loses their active membership and badge automatically; a member whose dues come back current has both restored automatically. Nothing needs to be re-approved.

Tip

Because approval always requires a human, an association admin never has to worry about a bad or spoofed self-declaration turning into an active membership without anyone looking at it. The suggested match is there to save you the lookup, not to make the decision for you.

The hero

The hero anchors the page on one number under the eyebrow "Association roster": the total count of members currently on the roster. A pill beside it reads "No roster yet" when nothing has been imported, "N awaiting review" when self-declared requests are waiting on you, or "Queue clear" otherwise. The line underneath summarizes the state of the roster ("42 of 50 verified on Verinode · 38 dues current, 4 lapsed," for example), or, before any import, explains how to begin: "Import your association roster to begin. Once it is loaded, operators who declare membership are matched against it and appear in the verification queue."

Three secondary figures sit beside the headline:

  • Dues current, the percentage of the roster whose dues status is current, with the underlying count shown below it (for example, "42 of 50").
  • On platform, the percentage of the roster that has been matched to and verified on Verinode, with the count shown below it (for example, "31 verified").
  • Pending review, the count of self-declared requests waiting for an admin decision. Reads "Queue is clear" at zero, or "Awaiting you" when there is a backlog.

The Apps row

The first tile row is Apps, this section's tools. Four kinds of tile ride here, in order:

  • Franchisee Health, the section's analyst app, first in the row: "Which franchisees are slipping, and how to keep them." It runs the full member-health analysis on demand; see The Franchisee Health app.
  • Talk to your Network Analyst, a conversation opener seeded with this section's context, which retires itself once you've used it here.
  • Network Coverage, showing how much of the roster is connected and contributing, with a shortcut to invite the rest; it retires once the whole roster contributes.
  • The two roster actions, Import your roster (reading "Re-import the roster" once one is loaded) and Reconcile dues, described next.

Import Roster

Opened from the roster tile in the Apps row (its button reads "Choose CSV"). This is how you load and refresh your authoritative roster, step 2 of the model above.

Upload a CSV with these columns: member_number, company_name, contact_email, city, state, dues_status, renewal_date. Only company_name is required; a row without one is skipped. Re-importing updates existing members by member number, so the safest way to keep the roster current is to re-upload the same file (with updated dues statuses and renewal dates) each time your records change. Rows that don't carry a member number are added as new entries rather than matched against anything already on file, so it's worth including a member number wherever you have one to avoid creating duplicate rows on a later import.

The "Choose CSV" control shows "Importing…" while the file is processing. Once it finishes, a confirmation appears (for example, "Imported 12 members. Dues sync: 3 activated, 1 revoked."), the dues-sync portion only shows when an import actually changed someone's active status.

The Reconcile dues tile beside it in the Apps row (shown as "Reconciling…" while it runs, with the button "Run reconcile") lets you re-run the dues check on demand, without waiting for a new import, for example if you updated a member's dues status directly in your own system and want Verinode to catch up immediately. It reports the same kind of result: how many memberships were activated and how many were revoked.

Heads up

Reconciliation only touches members who already have an approved, matched membership. A pending self-declared request in the Verification Queue is never auto-approved by a dues sync, no matter how clean the match looks.

The Explore row

Below Apps, the Explore row carries three tiles, each opening the matching list in an overlay:

  • Roster, the total member count, with "N not yet on Verinode" underneath (or "Import to begin" while the roster is empty).
  • Verification Queue, the count of pending self-declared requests, reading "Awaiting your review" when there is a backlog and "Queue is clear" otherwise.
  • Lapsed, the count of members whose dues are not current, reading "Dues not current," "All current," or "No roster yet" as applicable.

Verification Queue

Opened from the Verification Queue tile in the Explore row. This is where step 4, the admin's approval, happens. The section explains itself in-page: "Operators who self-declared RIA membership and match a roster row. Approve to activate their RIA badge and RIA network benchmarks (dues must be current)."

Each row in the queue shows:

  • The company name from the matched roster row.
  • The match type: "Member number match" or "Email match," depending on which field lined up.
  • The roster member number, if the roster row has one (shown as "#1234").
  • A "dues not current" flag appended to the row when the matched roster entry's dues status isn't current.

Two actions sit on each row:

  • Approve activates the membership and the member badge for that operator, and confirms with a message like "Approved Acme Restoration. Membership + RIA badge activated." Approve is disabled whenever the matched roster row's dues aren't current; you cannot approve your way around a lapsed account. Update the roster's dues status (usually via a fresh CSV import) first, then approve.
  • Reject clears the request without activating anything. There is no separate confirmation message, but the row disappears from the queue once rejected.

When there is nothing waiting, the queue reads: "No members are waiting for verification. New requests appear here as operators declare membership."

Note

A single request can, in principle, match more than one roster row. The queue only shows one row per pending request (the strongest match), so you are never asked to adjudicate the same operator twice.

Roster

Opened from the Roster tile in the Explore row, the roster list is the full picture of your association's membership as Verinode currently understands it, in company-name order.

Each row shows:

  • The company name, with an "On Verinode" tag appended when that member has been matched and approved to a Verinode account.
  • The member number (as "#1234") and city/state, separated by a middle dot. If there's no member number on file, the row reads "No member number" instead.
  • The dues status on the right, in one of four states: "Dues current," "Lapsed," "In grace," or "Unknown." Each carries its own color so a lapsed or grace-period member stands out at a glance.
  • A renewal date underneath the dues status, when one is on file, shown as "Renews [date]."

When the roster hasn't been imported yet, this section explains that the roster is empty and points you back to the CSV import, which lives on the Apps row's import tile.

The privacy boundary

Member Directory is built around the same boundary that governs everything in HQ: your association sees who belongs, their dues status, and whether they're active on the platform. It does not see any individual member's private business data. The roster you import is your own data (company name, member number, dues status, contact details you already collect); nothing here pulls in a member's jobs, financials, or operational detail. Membership activation only ever unlocks the association's aggregate benchmark cohort and the member's own badge; it never opens a door into another member's account.

Verinode surfaces the reconciliation and the recommendation (a suggested match, a dues-driven activation or revocation); your admin team makes the actual membership decision every time.

Was this helpful?