What the import tools do
Three tools live on the Members toolbar. The master-list import reconciles your employer's periodic payroll export against the member database. The dates-of-birth import is a one-off utility for backfilling birthdays. Export Data builds filtered CSV contact and roster lists.
Labels in this area carry your deployment's payroll-system name (for example the import button reads "Import ... Master List" with that name in the middle), and the exact columns vary per deployment. This guide refers to it simply as the master-list import.
The master-list import is a careful sync, not a blind replace. It compares the latest payroll file with your database, shows you every difference, lets you decide each disputed field, then applies everything in one all-or-nothing operation. If your union does not receive payroll exports, the button simply will not appear.
Preparing the two CSV files
The master-list import always takes two CSV files. The master list CSV is the full current roster from payroll. Its required columns are Employee ID, First Name, and Last Name. If any is missing, the upload is rejected. It can carry many optional columns (job title, location, addresses, hire and seniority dates, dues, email, and more), and anything unrecognized is ignored.
The departures CSV is your employer's list of people who left. Its required columns are Employee ID, Last Name, First Name, and Termination Reason. A termination date is optional but used when present.
Header matching is forgiving: headings are trimmed, lower-cased, stripped of punctuation, and common aliases are recognized (for example Emp ID or Employee Number, Surname, Given Name). Files are read as UTF-8 and fall back to Windows-1252, so accented names come through intact. Employee IDs are normalized before matching, with leading zeros stripped from all-numeric IDs, so "012345" matches "12345". Dates in MM/DD/YYYY and YYYY-MM-DD are treated as equal during comparison.
- 1Export both files from your employer's payroll system.
- 2Confirm the master list CSV has Employee ID, First Name, and Last Name columns.
- 3Confirm the departures CSV has Employee ID, Last Name, First Name, and Termination Reason columns.
- 4Save both as CSV; quoted fields, embedded commas, blank rows, and Windows or Unix line endings are all handled.
Uploading and generating the preview
Open the master-list import from the Members toolbar (it requires the import capability, granted by an administrator in Role Management). Drop or browse for each file onto its labelled zone. The selected file's name and size appear, and you can click "Change File" to swap one.
Click "Generate Preview". It stays disabled until both files are selected and shows "Processing..." while it works. The app reads your entire database in pages, compares it to both files, and opens the Review screen. Nothing is changed yet; the preview is stored server-side with a fingerprint of each file.
Uploads are capped at 5 per hour per user. If you exceed that you will see a rate-limit message and need to wait for the window to reset.
- 1On the Members page, click the master-list import button on the toolbar.
- 2Drop or browse to select the master list CSV in its zone.
- 3Drop or browse to select the departures CSV in its zone.
- 4Click "Generate Preview" and wait for the Review screen to open.
Reading the Review screen and resolving conflicts
A sticky banner shows four clickable counter chips; click one to scroll to that section. Conflicts (amber) are fields where the database and the payroll file disagree and the field was previously edited by hand. Arrivals (green) are people in the file who are not in the database yet. Departures (red) are people leaving, including in-list terminations. Silent updates (blue) are changes on fields nobody hand-edited. Silent updates need no decision and apply on their own, but you can audit them: click "Show details" to list every member and field with the old value struck through and the new value beside it.
The "Apply Import" button sits in the banner and stays disabled until every conflict is decided, all decisions have finished saving, and at least one arrival and one departure are verified when any exist. Conflicts are the only thing that blocks the import, and each exists because someone edited that field by hand. Every conflict shows the stored value and the incoming payroll value side by side with three choices. "Accept" takes the payroll value and clears the field's edit and mismatch markers. "Reject" keeps your value and records a rejection with the date for later reporting. "Exclude" keeps your value and marks the field "do not notify" so future imports skip it; this marker is set on the profile immediately. There is no bulk accept-all, since each conflict is a deliberate decision. Three keys act on the first still-pending field to move faster: A to accept, R to reject, E to exclude (ignored while you type in a text box). Decided rows stay visible and dimmed so the list does not reflow under your cursor; toggle "Hide decided" or "Show decided" if you prefer a shrinking list.
While reviewing, the Conflicts header offers export buttons that produce a report for your payroll provider, in .xlsx or .csv. Only rejected fields are listed as action items, with guidance on who owns each field, and a Silent Updates sheet is included for information. The report reflects your decisions so far, so you can generate it mid-review.
- 1Open the Conflicts section from the banner chip.
- 2For each field, compare the stored value to the incoming payroll value.
- 3Click "Accept", "Reject", or "Exclude" for every disputed field.
- 4Use A, R, and E to act on the first pending field and move faster.
- 5If useful, use the Conflicts export buttons (.xlsx or .csv) to send a report to your payroll provider.
- 6Watch the Conflicts count reach zero before applying.
Verifying arrivals, departures, and terminations
Arrivals show name, employee ID, job title, and location with a checkbox. Tick the ones to add or click "Verify all"; unverified arrivals are simply not added. The departures section mixes two cases. True departures (badged "Will delete") are members missing from the new master list and are deleted on apply. In-list terminations (purple) are members still present but now Terminated; they stay in the database, with the new status, reason, and date recorded. The departure reason comes from the member's profile first, then the departures CSV, and falls back to "Reason Not Provided". Members already marked inactive are skipped.
Tick "Verify" on each row you confirm, or use "Verify all", which covers both departures and terminations. Unverified rows are skipped on apply.
To keep reaching someone after they leave, use "Add to retirees" on a true-departure row. This adds them to the retirees list under "Manage Other Members" so the union keeps their email. If their record has no email, you will be prompted to enter one, and it is required.
- 1Open the Arrivals section and tick members to add, or click "Verify all".
- 2Open the Departures section and verify each row, noting the "Will delete" badge on true departures.
- 3Verify any in-list terminations; their status and reason are recorded while they stay in the database.
- 4For departing members you still want to email, click "Add to retirees" and supply an email if prompted.
- 5Optionally expand Silent updates with "Show details" to review the auto-applied changes.
Applying the import and recovering
When every conflict is decided and your checks are in, click "Apply Import". The app first archives your entire current active member list as both CSV and XLSX to internal storage under a dated path, always before any change. Then deletions, inserts, and updates run inside a single transaction, so either everything applies or nothing does. Every changed field is written to the member's changelog, attributed to you.
Two interruptions can appear. If the server finds a conflict still pending, apply is refused, the preview refreshes, and the affected cards flash and scroll into view. If someone edited member data after your preview, a panel lists the changed fields; choose "Refresh preview" to rebuild against current data, or "Force apply" to overwrite those recent edits with your decisions. Refreshing is safer, since force-applying discards a colleague's edits.
An import can only be applied once. The result screen confirms success with arrivals added, departures removed, terminations recorded, members updated, the count before and after, and the snapshot path. There is no one-click undo: the pre-apply snapshot is your recovery point, and the per-field changelog lets you trace or hand-revert individual changes. From the upload screen you can also download a running record of every field ever rejected, in .xlsx or .csv.
- 1Confirm zero open conflicts and that arrivals and departures are verified.
- 2Click "Apply Import" and let the archiving and applying phases finish without closing the window.
- 3If a panel warns that data changed during review, choose "Refresh preview" or, only if you are sure, "Force apply".
- 4Read the success summary and note the snapshot path for your records.
Dates-of-birth import and exporting data
The dates-of-birth importer backfills birthdays in bulk, typically during onboarding. It requires the edit-members capability and currently has no menu button; it runs through the app's API, so ask your administrator or support contact for a bulk birthday load. The CSV needs a header row plus at least one data row with employee_id and dob columns. Here the employee ID is matched exactly as stored, with no leading-zero normalization, and rows with a missing or unparseable value are skipped. The response reports updated, not-found, and total counts.
Export Data, also on the Members toolbar, builds a filtered CSV; it requires the export capability and is typically available to administrators and RVPs. Inactive members never appear. Eight columns are offered, with Full name always included and locked on, and the default selection is Full name plus Email. When you pick Email or Phone, an extra option appears to include only members who have that contact info. You filter by branches and regions (grouped with a search box) and by jobs, and a live counter shows how many members match before you export.
Click "Export {N} → CSV" to download a file sorted by last name then first name. The footer also offers "Export RVPs" (administrators only) and "Export branch executives" (administrators and RVPs). RVPs are clamped to their own region. Exports are capped at 20 per hour per user, and the filter lists are cached for about five minutes, so a brand-new branch may take a moment to appear.
- 1For birthdays, prepare a CSV with employee_id and dob columns and ask your administrator to run the dates-of-birth import.
- 2For an export, click "Export Data" on the Members toolbar.
- 3Pick your columns and filter by branches, regions, and jobs as needed.
- 4Check the live "Matching now" count, then click "Export {N} → CSV" to download.