Problems & solutions · CRM

Union Membership and Dues Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Union Membership Management Software workflow illustration showing common problems and fixes.
The short answer

The most damaging failure in a union system is a good standing figure with no derivation behind it. Good standing decides who votes, who can run for office and who receives benefits, so an incorrect determination is not a clerical matter, it is an eligibility decision that can be challenged. When dues are held as a running balance rather than as a computed result of a specific agreement, rule version, classification and set of reported hours, nobody can show why a member is in arrears, and the member who was dropped off an employer's remittance in error finds out through a suspension letter. The first they hear of the problem is the consequence of it, and the local spends the next month rebuilding a calculation it should have been able to print.

Why does dues get scoped as a subscription so often?

Because every generic system models recurring revenue that way, and on a demo it looks close enough. A rate on the member record, a monthly charge, a balance. It is wrong in a way that only becomes visible after go live.

Dues in this sector are contract terms. One agreement charges a percentage of gross wages capped at a monthly maximum. Another charges two hours pay per month at the member's classified rate, with a different rate for apprentices and another for part timers and retirees. A third adds a working dues assessment on hours worked that applies only to members under one of your four agreements. Every one of those is a formula whose inputs arrive on an employer remittance, and every one changes when the agreement is renegotiated.

The fix: make the collective agreement a first class object with an effective period, and attach dues rules to it rather than to the member. A member's dues then derive from their classification, their employer, the applicable agreement and the reported earnings or hours for the period. When an agreement is renegotiated you add a version with an effective date, and historical periods stay computed the way they actually were. This matters beyond accuracy: when a member disputes an arrears figure you can show the agreement, the rule version, the classification, the hours and the amount. A number without a derivation is an argument. A number with one usually ends the conversation.

What goes wrong with remittance data and member identity?

Employers remit on their own schedule in their own format. One sends a clean file. One sends a document that used to be a spreadsheet. One sends a bank transfer with a total and no detail at all. Names arrive as Mike where your roll says Michael, as married names where you hold maiden names, and as payroll identifiers that exist nowhere in your system. Someone who left in March is still on the remittance in May, and someone hired in April is on none of them.

So the membership team spends the first two weeks of every month matching, and the real cost is not the effort. It is that the answer arrives too late to act on. A member who fell off an employer's file has been unrepresented on the record for two months before anybody notices.

The fix: build the import layer to accept each employer's actual format, keep the raw file untouched as evidence, and normalise into remittance lines. Match on an employer identifier where one exists, then on a scored comparison of name, date of birth and worksite, then queue the remainder for a person with the decision remembered so the same member is not matched again next month. Then add the two features that change daily life: an exception alert when a member present last month is missing this month, and a variance alert when dues change materially without a classification change. Both are trivial once the data is structured and impossible from a stack of documents.

Why do the employer, banking and per capita integrations break after launch?

Employer files break because employers change payroll systems and nobody tells you. The column order shifts, a header is renamed, a new column appears in the middle, and an importer built against a fixed layout either fails loudly or, worse, silently maps the wrong field and posts hours as earnings. Banking breaks at reconciliation, where a lump sum transfer arrives with no detail and there is no rule for how to apply it across the members it was meant to cover.

Per capita reporting to the international breaks differently and more expensively. It is computed off a headcount, and the headcount is only as good as the reconciliation, so a month with an unresolved matching backlog produces a per capita figure that is wrong in a direction you cannot easily correct later.

The fix: validate every import against the file's own structure before accepting it, and reject on a header or column change rather than mapping by position. Reconcile totals: the sum of the remittance lines must equal the amount received, and any difference goes to a queue with an owner rather than into a suspense figure. Compute per capita from the reconciled population with an explicit as at date and retain what was reported, so a later correction is an adjustment with a reference rather than a restatement nobody can trace.

What happens when good standing and grievance deadlines are not covered?

Good standing is a derived state and it has consequences. It determines eligibility to vote and to hold office, and the conduct of internal union elections is itself regulated under federal law, so an eligibility list assembled from a spreadsheet is a risk rather than an inconvenience. Confirm your specific obligations with counsel, since they depend on your sector and structure.

Grievances carry a different clock. Contractual step deadlines vary by agreement, and a missed deadline can extinguish an otherwise meritorious grievance permanently. A generic case tool gives you a due date field and no understanding of why the date matters, no working day calendar, and no escalation before expiry. Seniority is the third consequential record: layoff order, recall rights, shift and vacation selection and, in many trades, the referral list that decides who gets dispatched. Members compare their position on that list and they find every error in it.

The fix: build good standing as a derived state with a full audit trail, so you can say this member was in good standing on this date because dues were paid through this period under this rule, and here is the remittance line that proves it. Compute the next grievance deadline from the agreement's own timelines, the triggering event date and the correct calendar, and escalate before it lands rather than reporting after. Make the seniority list reproducible as of any date, because a layoff in February is judged against February's list.

Should you build custom or configure what you already own?

If you have one or two employers, a single dues formula and under a couple of thousand members, buy. UnionWare has been built specifically for unions for a long time and understands membership, dues and grievances as one domain rather than as a customer relationship system with extra fields. It will handle that shape of local and the total cost sits far below a build. UnionTrack ENGAGE is stronger on member communication and organising, which is where a lot of union investment is going, and it is a reasonable answer if that is your priority.

Buy as well if the union has no capacity to own a product. A system this closely tied to constitutional rules needs an internal owner who knows the constitution, and without that person any build drifts.

Build when you take remittances from dozens of employers in incompatible formats, when dues formulas differ by agreement in ways that require monthly manual adjustment, when you run referral or dispatch lists with rules specific to your trade, when grievance deadlines have been missed, or when the international asks for reporting your current system cannot produce without a week of assembly.

How do hidden costs get into the quote?

The number of distinct collective agreements drives price far more than the number of members, and quotes are almost always written against member count. Remittance format variety is the second: each genuinely different file shape is real work, and the employer who sends a document rather than data is a separate problem again.

Referral and dispatch lists for building trades are the third and are effectively a second system with their own rules and a very attentive audience. Statutory financial reporting is the fourth, since producing the underlying figures for an annual filing saves weeks but has to be built to the form your organisation actually files. Migration is the fifth, and in this sector the outgoing system is often a database old enough to vote, with member history that cannot be exported cleanly.

The fix: write down every dues formula across every agreement before you take a quote, including the ones staff handle by hand each month, and ask for the price broken by agreement count and remittance format count. Ask what the number becomes when referral lists come in scope. Keep the first release to your largest employers by member count, leave grievances to phase two, and make member self service read only before allowing updates.

What separates a build that works from one that fails here?

Ask them to model dues for a member covered by an agreement charging two hours pay per month at the classified rate, with a different rate for apprentices and a working dues assessment on overtime hours. If the answer is a rate field on the member record, they have not understood that the contract is the object, and everything else they build will inherit that mistake.

Ask how they would reproduce the seniority list as it stood fourteen months ago. The answer should involve an event log rather than a nightly snapshot table somebody may have missed. Ask what they have done with messy inbound files and whether the original is kept untouched, because in a dispute with an employer about what was remitted the original file is the record that matters.

Ask about member data protection specifically. You hold employment status, earnings, worksite and sometimes health or accommodation information about people whose employers would find that data valuable, which makes role based access and access logging a core requirement rather than a setting. Then settle ownership before kickoff: the repository, the cloud accounts and the unrestricted right to hire another firm, in writing. A membership roll and a grievance history are institutional records, and access to them should never depend on a supplier's cooperation.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. 88% of customers say good customer service makes them more likely to purchase from a brand again in the future, quantifying the direct revenue link between support quality and retention. Source: HubSpot (2024) →
  2. McKinsey found personalization most often drives 10-15% revenue lift, and companies that grow faster drive roughly 40% more of their revenue from personalization than slower-growing peers. Source: McKinsey & Company (2021) →
  3. Grand View Research valued the global field service management market at USD 4.43 billion in 2022 and projects it to reach USD 11.78 billion by 2030, a 13.3% CAGR, driven by growing field operations in telecom, utilities, construction and energy. Source: Grand View Research (2023) →
  4. In a McKinsey global survey of 1,259 respondents, only about 20% said their organizations excel at decision making, and just 37% said their organizations' decisions were both high quality and high in velocity. Source: McKinsey & Company (2019) →
Tanvi S. · QA Lead · Shopify · Delhi

Tanvi leads QA on Shopify projects at Digital Heroes, testing storefronts the way real shoppers use them: odd cart combinations, discount stacking, tax and shipping edge cases, checkout on poor connections. Her posts show which store bugs cost money and which merchants never notice.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Why does our dues calculation need the collective agreement rather than a rate field?
Because the formula is a contract term, not a price. Percentage of earnings capped at a maximum, two hours pay per month at the classified rate, flat amounts by classification with separate apprentice and retiree rates, and working dues assessments on hours all coexist across agreements in most unions. Attaching rules to a versioned agreement means a member's dues derive from classification, employer, agreement and reported hours, and a renegotiation adds a version rather than rewriting history.
How should employer remittance reconciliation actually work?
Import each employer's file in its real format, keep the untouched original as evidence, and normalise it into remittance lines. Match on an employer identifier where one exists, then on a scored comparison of name, date of birth and worksite, then queue the rest for a person with the decision remembered for future months. The two features that change daily life are an alert when a member drops off a remittance and an alert when their dues change without a classification change.
A member says our arrears figure is wrong. How do we settle it?
By showing the derivation rather than the balance. The system should print the applicable agreement, the rule version in force for that period, the member's classification, the reported hours or earnings from the employer's remittance, and the resulting amount. Recomputing under the rules that applied at the time matters, because a member disputing 2023 arrears is entitled to the 2023 calculation, not today's contract applied backwards.
How do we prove a member was in good standing on a particular date?
Build good standing as a derived state with an audit trail rather than a stored flag, so the system can say dues were paid through a stated period under a stated rule, and link to the remittance line that evidences it. This matters because good standing governs eligibility to vote and to hold office, and the conduct of internal union elections is regulated under federal law. Confirm your specific obligations with counsel, since they vary by sector and structure.
How do we stop a grievance step from quietly lapsing?
Compute the next deadline from the applicable agreement's timelines, the date of the triggering event and the correct working day calendar, then escalate before expiry rather than reporting after it. A missed contractual deadline can extinguish an otherwise meritorious grievance permanently, which is why a due date field on a generic case tool is not adequate. The accumulated case history also becomes the union's most useful dataset, showing which articles generate disputes at which employers.
Can the system produce the figures for our annual financial report?
It can produce the underlying figures reliably, which is where the weeks actually go: dues received by category, per capita paid, membership counts and disbursements. Build the reporting to the form your organisation files rather than to a generic financial summary, and expect your accountant or filing agent to stay in the loop for the submission itself. Confirm your specific filing obligations with counsel, since they depend on your sector and structure.
What happens when an employer changes payroll systems mid year?
The file layout changes and an importer built against fixed column positions either fails or, worse, silently maps hours into the earnings field and produces plausible wrong dues. Validate every import against the file's own structure and reject on a header or column change rather than mapping by position. Reconcile the sum of remittance lines against the amount actually received, and route any difference to a queue with an owner rather than into a suspense figure.
Is UnionWare or UnionTrack ENGAGE enough for our local?
For a local with a small number of employers on a single dues formula, yes, and a build is difficult to justify. UnionWare treats membership, dues and grievances as one domain, and UnionTrack is strong on member communication. They run short when dues formulas differ materially across agreements, when dozens of employers remit in incompatible formats, or when you operate trade specific referral and dispatch lists, because those are exactly the areas where packaged behaviour turns into monthly manual adjustment.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
How does a custom CRM handle GDPR, HIPAA, or other compliance requirements?
Compliance has to be designed in from the schema up: field-level encryption, role-based access, audit logs, retention rules, and for GDPR a working way to export and delete a person's data on request. Custom can actually be the stronger option because you decide exactly where data lives, including keeping it in-country or on your own servers, which off-the-shelf tools do not always allow on lower tiers. If HIPAA applies, confirm the agency will sign a business associate agreement and has shipped healthcare systems before, because that experience is not implied.
What are the biggest mistakes companies make when building a custom CRM?
The top three across 2,000+ Digital Heroes projects: cloning Salesforce feature-for-feature instead of building the 6 to 8 workflows the team uses daily, leaving data migration until the final month, and designing without the salespeople who will live in the tool. Each of those adds 30 to 50 percent to cost or kills adoption outright. The fix is unglamorous: a small first scope, migration planned in week one, and two or three end users present at every sprint demo.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
What does it cost to maintain a custom CRM after launch?
Budget 15 to 20 percent of the build cost per year, so roughly $6,000 to $10,000 annually on a $40,000 system, covering hosting, security patches, dependency updates, and a pool of small improvements. Hosting itself is the minor part, typically $50 to $300 a month for companies under 100 users. For comparison, a 20-user team on Salesforce Enterprise pays about $9,900 in licenses every quarter at list price, close to a full year of that maintenance budget.
What should I prepare before contacting an agency about a custom CRM?
Three things: a written list of the 5 to 10 jobs the system must do phrased as tasks (like "produce a quote from a site-visit photo"), an export or screenshots of whatever you use today, and a realistic budget range. You do not need a formal specification; a good agency writes that with you during discovery. Arriving with those three cuts weeks off scoping and gets you a firm quote instead of a padded one.
How does moving our data from Salesforce or spreadsheets into a custom CRM work?
The agency exports your records, writes mapping scripts that translate old fields into the new schema, runs test migrations into a staging system for you to verify, and only then performs the final cutover. Salesforce exports cleanly through its API including notes and attachments; spreadsheets are messier and need a deduplication pass, where we commonly see 10 to 20 percent duplicate contacts. Expect migration to be 10 to 15 percent of total project effort, and be suspicious of any quote that treats it as an afterthought.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
How long does it take to build a custom CRM from scratch?
A focused first version takes 10 to 14 weeks in Digital Heroes delivery experience: about 2 weeks of discovery and data modeling, 6 to 9 weeks of build, and 2 weeks of migration and testing. Fully replacing a heavily customized Salesforce setup takes 5 to 8 months. Timelines slip most often on data migration, so insist that legacy data mapping starts in week one, not at the end.
Who can build a custom CRM software system?

Digital Heroes builds custom CRM software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other CRM software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?