CRM data cleanup starts with a decision about identity: do these records describe the same person, organization or buying decision? Similar names are only a clue. A safe cleanup keeps the evidence behind each decision, chooses surviving values deliberately, preserves linked sales history and defines what recovery can actually restore before anyone merges records.
This guide is for Canadian sales and marketing operations teams cleaning an existing CRM or preparing a reviewed migration. It covers duplicate resolution, invalid fields, consent conflicts, backups, exceptions and reconciliation. The broader CRM implementation plan covers stages, fields and handoffs; the work here is the detailed remediation process that supports that plan.
All businesses, people, identifiers and amounts in the examples are fictional. The companion templates are review documents, not CRM import files. Their checks run against synthetic data only. They do not demonstrate that a particular account, integration or vendor recovery process has been tested.
Define a clean record by what the team needs to trust
A tidy contact list can still be wrong. A record with a formatted telephone number and complete address may belong to two different people whose histories were mistakenly combined. Another record may look incomplete while correctly representing a prospect who has not supplied a mobile number. Completeness is useful only when the field has a defined purpose and the value is supported.
Separate four kinds of work. Normalization changes representation, such as trimming accidental whitespace. Correction replaces an incorrect value using evidence. Deduplication determines whether multiple records represent one entity. Retention review decides whether information should remain available, move to a controlled archive or be removed through an approved process. These decisions need different evidence and different recovery methods.
Write a small set of acceptance conditions before investigating duplicates. Every source record must have a documented disposition. Each approved consolidation must preserve the intended contacts, opportunities and activities. Marketing suppression must remain effective. Reports must explain any change in their totals. The team must know how to respond if a relationship or field is wrong after the change.
Do not set “reduce the database by 20%” as a success criterion. That rewards deletion even when the records are legitimate. Use measures you can inspect: unresolved identity cases, records missing a required owner, broken associations, unsupported permission states and recurring sources of duplicate creation. Keep suspected duplicates separate from confirmed duplicates in reporting.
If your main problem is choosing software, use the Canadian small-business CRM comparison. Changing platforms does not decide which of two conflicting customer records is correct. That decision remains necessary whichever system you choose.
Inventory sources and relationships before changing values
List every source that can create or modify the affected records: website forms, manual entry, imports, billing software, email platforms, support systems and integrations. For each one, record the object it writes, its identifier, the fields it controls, its update direction and its owner. Include scheduled jobs that run outside the sales team’s working hours.
A source identifier is meaningful within its source. Customer 104 in a billing system is not automatically customer 104 in a different business’s old CRM. Use a composite reference such as source system plus source record ID. Preserve both values in the working files. Never match records merely because two unrelated systems happened to assign the same number.
Next, inventory relationships. A contact can have several opportunities; an opportunity can involve several contacts; a company can have different billing and service locations. Record the association type as well as the linked ID. “Decision maker for proposal D-104” means something different from “billing contact for account A-104.” A count of two links cannot prove that either relationship is correct.
Identify systems that keep their own copy of a CRM ID. Those references may appear in invoice metadata, support tickets, event logs or reporting tables. A merged record can look correct inside the CRM while an external job continues sending updates to an obsolete identifier. Assign someone to check each dependency, including systems that only read data.
Choose a bounded first batch: for example, contacts created by one reviewed import. State which records and fields are excluded. An account hierarchy, disputed consent record or active contract can require a separate review path. Small scope gives reviewers a realistic chance to examine the evidence and makes unexplained changes easier to locate.
Keep a baseline with the extraction time, selection criteria, object counts and relevant report definitions. If live work continues, capture changes after that time. Otherwise a salesperson’s new task can appear to be missing from the cleanup even though it was simply created after the snapshot.
Build candidate rules that can say “these are different”
Candidate detection should produce a queue for review. It should not silently authorize a merge. An exact email address can belong to a shared inbox, a telephone number can be reassigned and a company address can serve several legal entities. Even a strong identifier can be wrong because it was copied into the wrong field during an earlier import.
Define identity separately for each object. For contacts, the question is whether the records represent the same individual. For accounts, decide whether your model represents legal entities, operating branches or customer relationships. For opportunities, decide whether the records represent the same buying decision. Two proposals for one person are not necessarily duplicate opportunities.
| Signal | Useful interpretation | Reason to stop |
|---|---|---|
| Same verified source identity | Strong evidence when the source and entity definition match. | The ID was reused, copied incorrectly or assigned to a household. |
| Same email address | A reason to inspect contact identity and communication history. | Shared mailbox, role address or conflicting named people. |
| Same name and organization | A useful candidate group. | Different people have the same name or work for related entities. |
| Alias or changed surname | Possible continuity supported by a recorded confirmation. | A nickname or similarity score is the only evidence. |
| Same postal address | A location relationship worth examining. | Shared office, household, building or parent-and-subsidiary relationship. |
| Same opportunity title | A prompt to compare proposal and purchase identifiers. | Renewal, separate location or different purchasing decision. |
We set up and connect CRMs so no enquiry is lost between your website, phone and team.
Write disqualifying evidence alongside positive evidence. Distinct verified customer IDs, different legal entities or confirmed separate people should stop consolidation even when weaker fields match. When strong evidence conflicts, move the case to an exception queue. Do not average the signals into a confidence score that hides the disagreement.
Review clusters, not just pairs. Suppose A shares an email with B and B shares a telephone number with C. That does not establish that A and C are the same person. Inspect the whole group before approving any part of it, and refresh the remaining candidates after a consolidation changes the available records.
Record confirmed false matches as well as confirmed duplicates. A durable exception can explain that two people share a family email or two companies occupy the same premises. Give the exception an owner and review trigger. A later system should not keep proposing the same rejected merge without considering that evidence.
Normalize cautiously and keep the original value
Perform normalization in a working copy first. Preserve the raw value, the proposed value, the rule identifier and the evidence for any correction. A normalized comparison key helps find candidates; it should not automatically replace the customer-facing field.
For email comparison, trimming surrounding whitespace and normalizing the domain’s case are modest operations. Treat changes to the local part, plus tags, punctuation and aliases as separate decisions. Do not remove dots or everything after a plus sign across all email providers. A provider-specific convention is not a universal identity rule.
For telephone numbers, record the country context and extension separately when you can verify them. Do not invent a country code from an incomplete number, or discard an extension because the main office number matches. A shared switchboard is particularly weak evidence of personal identity. Keep numbers as text so spreadsheet formatting does not change them.
Names need human judgement. Preserve accents, apostrophes and preferred forms. “Rob” and “Robert” can be an alias pair, but that does not establish that two Roberts at the same employer are one person. A display name correction should cite an appropriate business source rather than a guessed spelling.
Use controlled values where they support decisions, such as an approved province code or sales status. Keep unknown distinct from not applicable. A blank consent field is not permission; a blank revenue field is not zero revenue. When a legacy field mixes meanings, split the concepts in the review specification before attempting to standardize its values.
Test transformations on difficult records before applying them to a batch. Include French names, leading-zero IDs, quoted notes, commas and date-only values. Run the same transformation twice: a stable rule should not keep altering its own output. Also confirm that an empty proposed value cannot overwrite a supported existing value unless a deliberate clearing action was approved.
Choose the surviving record and surviving fields separately
Survivorship is the policy for deciding what remains after records are consolidated. It has two layers. First, choose the record that should continue to represent the entity, where the platform supports that choice. Second, choose the appropriate value for each field. Keeping a particular record does not make every value on it correct.
A blanket “newest record wins” rule can replace a verified address with a typing error. “Most complete record wins” can preserve years of guessed fields. Prefer a named authoritative source for each field, supported by verification time and evidence. If two authoritative sources conflict, the policy should route the case for review.
| Field or relationship | Proposed rule | Evidence retained |
|---|---|---|
| Canonical identity | Use the approved entity record after reviewing external dependencies. | Source IDs and old-to-current ID mapping. |
| Preferred name | Use the latest supported preference. | Confirmation reference and date. |
| Contact details | Keep verified current values; retain permitted alternatives with labels. | Raw values, source and verification date. |
| Sales owner | Follow the current assignment policy. | Manager decision and open-work review. |
| Original acquisition source | Preserve the defined first-source history. | Original event reference and timestamp. |
| Permission and suppression | Hold disputed sending eligibility and preserve restriction evidence. | Purpose, channel, event time and source evidence. |
| Opportunities and activities | Retain distinct business events with correct associations. | Stable event IDs and before/after link lists. |
Use field-level timestamps where they exist. A record’s last-modified date might reflect a salesperson changing a task, not the customer confirming an address. Retain the original evidence time even if a merge gives a field a new technical update time. Document what each timestamp represents.
Do not overwrite transaction history to make two contact records look consistent. A previously lost opportunity remains lost unless someone separately approves a correction. Two legitimate deals remain separate even after their contacts are consolidated. Distinct notes remain distinct; a summary can supplement them but should not replace the evidence needed to understand a sale.
The duplicate-resolution policy in the companion pack separates identity, field selection, communication hold and execution readiness. That separation matters: reviewers can agree that two records represent one person while still refusing to proceed because the backup is incomplete or consent evidence conflicts.
Resolve permission conflicts without creating permission
A CRM merge must not become a shortcut to marketing eligibility. If one candidate contains an opt-out and the other says “subscribed,” preserve both events and investigate their scope and chronology. Do not let a more recent import timestamp outweigh the actual date of an unsubscribe request.
The CRTC’s CASL guidance describes consent, sender identification and an unsubscribe mechanism as core requirements for commercial electronic messages, subject to the legislation’s details and exceptions. Its record-keeping advisory emphasizes the sender’s burden of proving consent and preserving evidence of consent and unsubscribe actions.
The operational rule proposed here is conservative: while a relevant conflict remains unresolved, hold the affected marketing channel and purpose. The hold is a review control, not a legal determination that every communication is prohibited. Service messages, commercial campaigns and different subscription topics can require different assessments by the person responsible for your communication rules.
Keep a permission event ledger with the person or address, channel, purpose, status, event time, collection method and evidence reference. A single Boolean field cannot explain whether someone opted out of one newsletter, all marketing emails or another channel. Record an unknown when the scope is genuinely unavailable and route it for review.
In the fictional example, contact C009 has an older subscribed status; C010 has a later email-marketing opt-out. Both point to the same fictional customer identity. The decision is HOLD_CONSENT, and the review pack sets marketing_hold to true. No merge and no reactivation are approved by the example. A business reviewer would need to resolve the underlying evidence and verify the sending-system state.
For organizations subject to PIPEDA, the OPC’s fair information principles address accuracy, limited retention and safeguards, among other responsibilities. Confirm the federal, provincial and sector rules that apply to your circumstances. A cleanup policy should implement those decisions rather than invent a universal retention period.
Build a recovery package that covers the sales history
Exporting the visible contact list is a useful start, but it is not proof of recoverability. Ask what the export omits: activity bodies, attachments, association labels, permissions, subscription events, custom objects, audit history or records hidden by the exporting user’s access. Record gaps explicitly before approving a change.
The minimum useful recovery package for the selected scope includes record IDs and field values, related-object IDs, association types, relevant histories, source references, configuration context and the intended changes. Include a manifest naming each component, its extraction time, record count, storage location and accountable owner. Use restricted locations appropriate to the sensitivity of the data.
Preserve IDs as text and retain the unmodified source files. Create working copies for review. Record file integrity values using your approved backup tooling where practical, and verify that a reviewer can retrieve the package. A backup that only one absent employee can access is not a dependable recovery plan.
Decide how to capture the interval between export and execution. You might briefly pause the affected writes, or take a documented final change extract immediately before the approved batch. Do not stop essential customer service without a continuity route. If work continues elsewhere, give new activities stable identifiers so they can be reconciled later.
Rehearse recovery using synthetic or appropriately authorized test data. Check whether records regain their original IDs, whether attachments remain accessible and whether relationships return to their original owners. Distinguish a vendor-supported restoration from manually creating replacement records. Replacement records may have new IDs and different audit, reporting or integration behaviour.
Classify the planned action as supported reversal, reconstruction only or recovery unverified. A supported reversal still has scope, permission and timing limits. Reconstruction may recover business meaning without restoring every original technical state. Recovery unverified is a reason to hold an irreversible operation, particularly when linked history matters.
Assign a recovery decision owner, a maximum acceptable interruption and a stop condition. In a small batch, one unexpected permission change or missing linked opportunity can be enough to pause further work. Those thresholds are business decisions to set before execution, not conclusions to improvise while more records are changing.
Check the exact vendor operation before relying on undo
Product labels can hide materially different actions. Importing updates, merging records, deleting records and restoring a backup are separate operations. Recovery documented for one should not be assumed to apply to another. The following distinctions were checked against official documentation on 8 October 2026.
| Operation | Official documentation says | Planning implication |
|---|---|---|
| HubSpot record merge | Records cannot be unmerged. Merge history is available through merged-record ID properties. | Treat consolidation as irreversible; a newly created replacement is not an undo. |
| Pipedrive Merge Duplicates | Merged duplicate items cannot be unmerged. Primary-record information is prioritized for conflicts. | Review the preview and field choices before approval. |
| Pipedrive spreadsheet import | A global admin can revert an import from import history within 48 hours. | Verify the affected import and dependencies; this is not a promise that manual merges can be undone. |
Sources: HubSpot merge records, Pipedrive Merge Duplicates and Pipedrive spreadsheet imports.
HubSpot also documents object-specific exceptions and account-dependent behaviour, including a public beta affecting record IDs and workflow enrolment. Record the actual account configuration and check the current documentation before planning ID mappings or automation outcomes. Do not assume a guide written for another account describes yours.
Related documents need their own check. Microsoft states that merging records with a SharePoint document library merges the records but not the document libraries. That is a concrete example of why a successful CRM operation does not prove every linked resource was consolidated. See Microsoft’s duplicate-row guidance.
For any other CRM, require the same written answers: what disappears, what survives, what moves, what triggers and what can be recovered. An undocumented or uncertain behaviour belongs in the exception register until the administrator verifies it. The public templates do not execute vendor commands.
Work through a mixed batch before approving production work
The fictional Cedar Lantern Office Services dataset contains 16 records arranged into eight deliberately selected review cases. Fourteen are contacts and two are accounts. These cases are designed to expose different decisions; their proportions are not an estimate of how often problems occur in a real database.
| Case | Evidence and risk | Expected disposition |
|---|---|---|
| P01: Léa Martin | Same verified customer identity; separate notes and two legitimate opportunities. | Approve simulation only, preserving both opportunities. |
| P02: Alex Chen | Same name; different verified people and customer IDs. | KEEP_SEPARATE. |
| P03: shared billing email | Robin and Morgan use one mailbox and office address. | KEEP_SEPARATE; shared address does not establish identity. |
| P04: Rob and Robert Singh | Alias continuity is explicitly confirmed in fictional evidence. | Approve simulation only, keeping the supported preferred name. |
| P05: permission conflict | Same customer identity with conflicting email-marketing events. | HOLD_CONSENT; retain the marketing hold. |
| P06: related accounts | Parent and subsidiary share an address but have distinct identities. | KEEP_SEPARATE; preserve the relationship. |
| P07: conflicting IDs | Matching name and phone conflict with source identity evidence. | HOLD_IDENTITY. |
| P08: incomplete history backup | Identity appears consistent, but a linked-history export is missing. | HOLD_BACKUP. |
P01 demonstrates why contact counts are a weak acceptance test. The proposed simulation maps C002 to C001. Note N002 must follow the person, but opportunity D002 must retain its own ID, amount and type. D001 is a separate fictional CAD 4,000 opportunity; D002 is CAD 5,000. Their combined CAD 9,000 value stays unchanged. The cleanup neither creates revenue nor proves that either sale will close.
P04 demonstrates that an alias can be supported without creating a universal nickname rule. The fictional reviewer has a specific confirmation reference for this person. The policy would still hold another Rob/Robert pair without that evidence. Preserving a useful exception is safer than converting one successful example into an automatic matching rule.
P08 demonstrates execution readiness. The reviewer can accept the identity hypothesis and still block the operation. There is no contradiction: deciding who the person is and deciding whether a merge can be performed responsibly are separate approvals. A missing history export remains a blocker even when the contact fields are identical.
The model keeps C001 and C007 as its surviving IDs because those are the explicitly reviewed destinations. That is a rule of this exercise, not a guarantee about a vendor merge. The check compares each expected history with its original owner, rather than merely finding that history ID somewhere in the export. It also checks the current records, linked histories and permission events against the reviewed snapshot before applying either change.
After the two approved simulations, the model contains 14 records. The six other candidate pairs remain unchanged. All supplied history IDs and opportunity values remain accounted for; the missing history in P08 remains an explicit exception. These are synthetic expected outcomes that the companion checks can verify; they are not results from a customer database or a live CRM.
Run a controlled batch with a named decision owner
Start with an unexecuted change set. Each row should identify the candidate group, source IDs, proposed surviving ID, field decisions, relationship changes, approval evidence and recovery classification. Add the snapshot reference and last-reviewed timestamp. Anyone looking at the file should be able to distinguish a proposed action from an executed one.
Choose reviewers who can see the relevant history and understand the business relationship. Limited visibility can make two records seem empty or unrelated when important activity is simply hidden. Give the executor only the approved scope, and use a second reviewer for high-risk cases where feasible. Do not represent the same person’s second look as independent approval.
Immediately before execution, compare the approved snapshot with current values. If either record changed, stop that candidate and refresh the review. A new opt-out, reassignment or opportunity can invalidate a decision made yesterday. Approval should attach to an identified state, not grant indefinite permission to merge anything with the same IDs.
Inspect the vendor preview and record any differences from the proposed result. Verify field precedence, linked objects and the exact operation selected. Keep outbound messages and downstream job creation controlled during a rehearsal. In production, apply the agreed maintenance or exclusion mechanism and preserve essential intake through a documented route.
Execute only the reviewed batch. Record who performed each action, when it happened, the resulting ID and the actual outcome. A failed action remains failed; do not mark it complete because the next row succeeded. If the tool times out, inspect the current state before retrying so a partially completed operation is not repeated blindly.
Pause when the result differs from the approved plan. Preserve the execution log and affected IDs, then investigate the smallest relevant scope. Expanding the batch while trying to diagnose the first unexplained result makes recovery harder. Resume only after the cause is understood and the affected checks pass again.
For repeated work, retain a batch identity and prevent the same approved action from being applied twice. In the companion simulation, a second application of the same mapping fails because the source record is already absent. That deliberate refusal is preferable to a success message that conceals an inconsistent starting state.
Reconcile identities, relationships and reports
Begin with a record-accounting equation for the batch: starting records, minus records absorbed by approved consolidations, plus legitimate new records, minus separately approved removals, equals ending records. Keep those categories distinct. In the fictional static test, 16 minus two equals 14; there are no new records or deletions.
Then check each source ID against its recorded disposition. Every absorbed record needs a current destination. Every held or separate record needs to remain present. A correct total can conceal a missing contact and an accidental extra contact that cancel each other out.
Compare relationship sets by identifier and type. Verify activities, opportunities, support records and relevant files. Do not validate only the sum of linked items: two activities linked to the wrong person still produce the expected count. Check representative history content and access rights as well as IDs.
Reconcile sales reports using the same period, currency, filters and definitions as the baseline. Contact counts may fall while opportunity value stays constant. A merge can also change a source, owner or segment used by reports. Explain the change rather than silently replacing last month’s figures. Keep transaction-level values separate from contact-level summaries.
Check connected systems after their normal processing interval. Confirm that obsolete IDs have the approved mapping, updates reach the intended record and suppressed contacts remain excluded from the relevant sending process. A CRM screen alone cannot establish these outcomes. Record live checks separately from the synthetic checks in the downloadable pack.
The broader B2B pipeline guide explains why sales outcomes matter. Cleanup supports that reporting by preserving the relationships between people, opportunities and sources. It should not rewrite a weak opportunity as a successful one or attribute a sale to a new source merely because the record was edited.
Plan rollback as a specific repair, not a reassuring word
Write the recovery procedure before the first irreversible action. State the trigger, affected batch, responsible decision maker, supported recovery method, evidence needed and expected limits. “Restore the CSV” is insufficient when the CSV does not contain the activity bodies, associations or system IDs needed to reconstruct the relationship.
For a reversible field correction, preserve the previous value and the approved replacement. Before reverting, compare the current value with the value your batch wrote. If it has changed again, review the later edit instead of overwriting it. A rollback should not erase legitimate work that happened after the cleanup.
Consider a fictional error discovered after C002 was consolidated into C001: a reviewer later establishes they were separate people. Stop further actions on the affected group and contain any inappropriate outbound processing. Preserve the current state as well as the original snapshot. Identify which histories belonged to each person and which activities were added after the merge.
If the platform cannot unmerge, reconstruction needs its own approval and mapping. A replacement record may receive a new ID. Decide which relationships can be reassigned, what audit evidence can be retained and what external references need repair. Do not promise restoration of original timestamps or every historical system behaviour unless the supported recovery method demonstrably provides it.
The recovery exercise handles a deliberately narrow change: a separately identified later activity. It refuses a reused activity ID with different content or a different intended owner, and replaying the same activity twice adds it only once. It does not reconcile later field edits, new opt-outs, new contacts or external-system changes. Those require an approved delta plan before restoring any real snapshot.
In the companion exercise, recovery restores a local JSON snapshot and then replays a separately identified later activity to its original intended contact. That proves the miniature data model can preserve those relationships under its stated rules. It does not prove that HubSpot, Pipedrive or another CRM can perform the same restoration.
Retest the failure that caused the incident. If a shared mailbox produced a false match, add a case that must remain separate. If a stale update removed a restriction, test that sequence again after fixing the precedence rule. Change the policy version and retain the old decision record so the reason for the repair remains understandable.
Close recovery only when record dispositions, linked history, permission states and affected downstream references are reconciled. Document anything that could not be restored and who accepted the remaining limitation. A complete incident record is more useful than a vague claim that the database was returned to normal.
Prevent the next batch from recreating the same problem
Trace recurring duplicates to the path that creates them. Common possibilities to investigate include imports without stable IDs, forms that create a person for every submission, integrations that retry without an event identifier and employees who cannot find an existing record. Verify the actual cause before changing intake rules.
Separate person creation from enquiry creation. A returning contact can create a new enquiry without becoming a new person. Likewise, a repeat customer can have another opportunity without duplicating the old opportunity. The right relationship model reduces the pressure to merge legitimate business events later.
Maintain the policy as a small operational document. Name owners for identity rules, field definitions, communication decisions and recovery procedures. Record changes when source systems or integrations change. Review exception age and recurring causes, not just the number of records processed.
A useful quality review includes unresolved cases by reason, sampled false matches, missing required fields and broken associations. Choose a cadence that matches volume and available reviewers. Do not promise that a monthly cleanup or a particular duplicate percentage is appropriate for every business.
Keep confirmed non-duplicate evidence available under the approved retention policy. Repeatedly reopening the same shared-address case wastes time and increases the chance that somebody eventually merges it to clear a queue. Prevention includes making the correct decision easy to find.
Use the duplicate-resolution policy and exception register
Download the CRM data cleanup companion pack (ZIP), including blank review templates, fictional examples and synthetic checks.
The companion pack contains blank CSV templates, fictional examples, a JSON policy, a data dictionary, a recovery worksheet and a self-contained JavaScript check file. Start with the blank versions for your decisions. Keep the fictional records in a separate practice copy; none of their approvals authorizes an action in your CRM.
Read the instructions before editing. The record file holds raw source evidence. The candidate file documents why records were compared. The exception register records identity and readiness decisions. The change plan contains only the two fictional approved simulations. Histories and permission events remain separate so they can be reconciled without flattening them into contact fields.
The executable exercise is intentionally narrower than the review worksheets. It handles the two named fictional pairs, retaining the selected survivor’s fields except for the specifically approved preferred name. It checks the supplied approval references and reviewer labels but cannot authenticate a person or establish real authority. Changing a policy field does not create a general-purpose merge engine. Rework the tests and obtain the appropriate review before adapting its logic to another data model.
Run the supplied checks against the fictional fixtures before adapting the policy. The 104 checks cover false matches, shared email and phone details, aliases, permission holds, missing evidence, wrong-owner histories, stale approvals, field preservation, value reconciliation, duplicate execution and snapshot recovery with a later activity. Passing those checks validates the supplied model only.
Use the live-validation worksheet to record actual account testing later. Its results start as not run. Confirm permissions, vendor behaviour, integrations, suppression and recovery in your own approved environment. Do not copy the synthetic pass results into the live worksheet or treat a file-format check as a migration rehearsal.
Discuss your CRM cleanup and implementation requirements with Canada Create.
Sources and method
Official vendor and Canadian regulatory sources were checked on 8 October 2026. Links beside the relevant claims identify the documentation used. The review policy, fictional cases, reconciliation examples and templates are original working materials. No customer records were used, and no live CRM merge, import, integration or recovery test was performed. Product behaviour should be rechecked before execution, particularly where account configuration or a documented beta changes the result.
