CRM Data Contract: Name Every Field, Owner, Source, and Staleness Rule

CRM data is the structured information a customer relationship management system keeps about organizations, people, commercial work, and interactions. A CRM data contract is the field-level agreement that makes that information operable: it states what every active field means, where it belongs, who is accountable for it, which source may write it, when the value becomes stale, and what happens when the rule fails. Without that agreement, a CRM is shared storage with private interpretations.

CRM data needs an agreement, not a larger inventory

Salesforce’s CRM database overview lists the kinds of information commonly held in CRM records: contact details, communication and purchase history, service requests, preferences, and commercial status. A B2B implementation will usually distribute those facts across organization, contact, deal, activity, and service objects rather than one flat customer row.

CRM data can include identity and contact details, interaction histories, purchases, service records, preferences, and lead or commercial status. The exact objects and fields are configuration-dependent rather than universal. [S1]

CRM data is not synonymous with all customer data. A CRM primarily coordinates known relationships and direct work by sales, marketing, and service teams. A customer data platform is designed to unify a broader set of data from multiple sources into customer profiles. Salesforce’s CRM and CDP comparison describes that directional difference, while also treating the systems as complementary. Product boundaries overlap, so define the actual source and consumer instead of relying on a category label.

A schema describes the shape of the data: objects, fields, types, required values, and constraints. A data dictionary helps people look up those elements and their meanings. A data contract contains the schema and definitions, then adds commitments about producers, consumers, ownership, quality, service levels, and change. The Open Data Contract Standard makes those additional concerns explicit.

ArtifactWhat it answersWhat it does not answer by itself
SchemaWhich fields, types, keys, and constraints exist?Who decides the meaning, which source wins, or how change is handled.
Data dictionaryWhat does each field mean, and how should a reader interpret it?Whether producers will meet the definition or what happens when they do not.
CRM data contractWhat must a field mean and do over time, who is accountable, and which response follows a failure?The contract still needs configuration, monitoring, and operating evidence.
ODCS treats schema, authoritative definitions, quality rules, roles, and service-level properties as related parts of a data contract. It can attach definitions, checks, and service expectations to individual data elements. [S2], [S3], [S4], [S5]

There is no canonical formula for CRM data or a CRM data contract. Completeness and duplicate rates can be calculated, and a system can evaluate whether a value is older than a locally approved limit, but those measures do not define the contract. There is also no defensible universal benchmark for a good CRM-wide fill rate, duplicate rate, or update cadence. A date of birth and a job title do not decay on the same clock; a deal state and a legal company identifier do not become unusable for the same reason.

The UK Government Data Quality Framework defines quality as fitness for purpose and says timeliness depends on whether the lag is appropriate for the intended use. That is the right basis for a staleness rule: the consequence of acting on an old value, not a borrowed calendar interval.

The deliverable is one contract row for every active field

“Every field” means every property that a person, workflow, integration, export, model, segment, or report may actively write or consume. It includes vendor-default fields when your operation depends on them. It does not require documenting thousands of unused product properties as though they were part of your business model; unused fields should be identified as out of scope, hidden, or retired under a controlled decision.

Build one row per active field. Keep the artifact in a table, catalog, or versioned file that the people configuring and consuming the CRM can actually reach.

Contract blockRequired questions
Identity and meaningWhich object owns the field? What are its display label and stable internal name? What precise business fact does one value represent?
ShapeWhat is the type? Which values are allowed? Is it required for a defined population? What do blank, zero, false, and “unknown” each mean?
AccountabilityWhich business role approves meaning and acceptable use? Who stewards quality? Who implements the field and controls?
Write authorityWhich user, workflow, or integration may create or change the value? Which source is authoritative, and which source wins a conflict?
Verification and stalenessWhich evidence verifies the value? Which timestamp records that verification? What event or age condition makes it stale for a named use?
Consumption and failureWhich workflows, reports, segments, exports, or models consume it? Does failure block use, warn a user, set the value to unknown, or enter a repair queue?
ChangeWho approves a definition, type, option, source, or rule change? How are consumers notified, migrated, and tested?

This is the minimum practical answer to “What should a CRM data contract include?” The full ODCS model is deliberately broader. A lean CRM team should keep only the metadata and controls it can maintain, but it should not omit meaning, authority, freshness, or consequence from a field that drives a decision.

Step 1: trace decisions before exporting properties

Start with a decision or action that currently depends on CRM data. Examples include assigning an inbound account, advancing an opportunity, suppressing an ineligible contact, forecasting an open pipeline, or routing a service issue. For that one use, name:

  • the person or system that consumes the result;
  • the object and record grain involved;
  • every field and relationship used to make the decision;
  • every form, import, workflow, integration, and manual role that can write those values;
  • the output produced when the values pass; and
  • the operational consequence when they are missing, conflicting, or old.

Then export or inspect the relevant property definitions and reconcile the implementation to the trace. Starting with an unfiltered property export tends to produce a catalog of labels. Starting with a decision exposes why each field exists and what a failure would break.

Repeat until every active field has at least one named consumer or an explicit retirement decision. A field with no consumer may be clutter. A consumer with no documented inputs is an undocumented dependency.

Step 2: give each field a stable identity and one meaning

A display label is not a stable identifier. HubSpot’s property editor documentation distinguishes a user-facing label from the internal name used by integrations and API calls. In HubSpot, the label may change, while the internal name and object type cannot be changed after creation.

In HubSpot, a custom property has a label, internal name, object type, description, field type, rules, and access settings. The internal name and object type become fixed after creation, making an apparently small field decision relevant to later integrations and migrations. [S6]

Other CRMs differ, but the design lesson travels: record both the friendly label and the stable technical identifier. Never use the label alone as the integration contract.

Write the business definition as a testable affirmative statement. “Company size” is incomplete. State whether the field represents current employee count, a controlled employee band, a self-reported value at qualification, or an enriched estimate. Those are different facts with different owners, sources, types, and staleness rules.

Make null semantics explicit. A blank can mean not collected, not applicable, unavailable from the source, cleared after a conflict, or intentionally withheld. If all five collapse into one empty cell, no report can distinguish absence from failure.

For every controlled list, define the options by evidence rather than tone. “Qualified” should name the observable condition that permits the value. “Other” should say when it is allowed and where the unresolved detail goes. Free text is appropriate for narrative context; it is a poor substitute for a controlled fact used in routing or aggregation.

Step 3: separate field ownership from record assignment

“Sales owns CRM data” is not an operating assignment. Microsoft recommends involving domain owners, data stewards, business experts, technical teams, producers, and consumers because no single role holds all the business and technical context.

Use a lightweight split:

RoleField-level responsibility
Business field ownerApproves the definition, allowed use, quality requirement, source precedence, material changes, and exceptions.
Data stewardMonitors the rule, investigates defects, coordinates corrections, maintains documentation, and escalates decisions.
Technical custodianConfigures the field, permissions, integration mappings, validation, history, tests, and monitoring.
Data producerCreates or changes values through an approved path and supplies correction evidence.
Data consumerUses the field only within its declared limits and reports ambiguous or failed values.
Microsoft’s governance planning guidance separates accountable domain ownership, stewardship and curation, technical onboarding, and the participation of data producers and consumers. [S9]

A CRM record owner is different. Record ownership usually assigns day-to-day responsibility for a contact, account, deal, or case. That user may be expected to correct selected values, but does not automatically have authority to redefine a field, change its source hierarchy, or accept a quality exception for every downstream consumer.

Assign ownership to a durable role with a named current occupant and escalation path. “RevOps” can be a stewardship team; it is not sufficient if nobody in that team has authority to settle a disputed definition.

Step 4: name the source, writer, and precedence separately

Source metadata answers several different questions that teams often compress into “source of truth”:

  • Record origin: which process first created the record?
  • Value writer: which user or process made this particular change?
  • Authoritative source: which system or evidence is allowed to settle the field’s value?
  • Source precedence: what happens when two permitted sources disagree?
  • Verification evidence: what supports treating the current value as usable now?

HubSpot’s Record Source properties can identify the tool or process that created a record and provide details such as the form, import, user, workflow, or integration context. Its property history can show past values, change time, and change source.

HubSpot exposes record-origin metadata and property-level change history. Those records can show how and when a write occurred, but the product history alone does not establish whether the source was authoritative or the value was verified. [S7], [S8]

That last distinction is critical. last_modified_at is not necessarily last_verified_at. A formatting workflow can touch a value without confirming that it still reflects reality. An import can be newer than a direct correction while carrying older source data.

For each field, write a precedence rule in plain language:

  1. Name the primary authoritative source for the stated use.
  2. List allowed secondary writers and the circumstances in which they may write.
  3. State whether a verified manual correction is protected from a later automated overwrite.
  4. Define the evidence and timestamp required to supersede the current value.
  5. Route unresolved conflicts to a named steward instead of silently selecting the newest write.

Consider an illustrative deal.stage field. The contract might permit an authorized seller or approved stage workflow to write it, prohibit enrichment and marketing automation from doing so, require the entry evidence defined for each stage, and send an invalid transition to the opportunity steward. That is a source rule. “Use the latest value” is merely a timestamp rule and can preserve the wrong write.

Step 5: define staleness at the field-and-use level

Staleness is not simply age. A value is stale when the contract no longer permits a named consumer to rely on it. Time can cause that state, but so can an invalidating event, a source conflict, a broken relationship, or a change in the rule itself.

Write six parts for each staleness rule:

Rule partWhat to record
Governed value and populationThe exact field, object, and eligible records to which the rule applies.
Named useThe workflow, decision, report, segment, or model that needs a current value.
Verification evidenceThe event or source that makes the value acceptable for that use.
Verification timeA dedicated evidence timestamp, not merely the last time any process touched the property.
Stale conditionA locally approved maximum age, an invalidating event, loss of source authority, or a combination.
Consequence and resolverThe block, warning, unknown state, exclusion, or repair queue, plus the role that resolves it.

Different field behaviors need different rules:

Field behaviorAppropriate staleness pattern
Stable identifierNo routine time expiry; investigate identity conflicts, merges, or authoritative corrections.
Event-state fieldRevalidate when a contradictory event occurs or required evidence no longer holds.
Volatile attributeReverify under a field-specific age limit tied to its use, and invalidate sooner when contradictory evidence arrives.
Derived fieldRecompute when an input, transformation, or model version changes; withhold use if a required input is stale.
Preference or restrictionApply the current authoritative state and the stricter failure behavior approved by the relevant privacy, security, or legal owner.
The UK Government framework defines timeliness in relation to the period represented and the intended use. It notes that some values remain stable while others change and recommends context-specific assessment rather than one-size-fits-all quality assurance. [S10]

A useful implementation can express the rule as a boolean condition—age limit breached, invalidating event observed, or source authority lost—but that is a local control, not an industry formula. Record the approved limit and reason beside the rule. “Refresh every quarter” without naming the field, use, and consequence is a calendar reminder, not a staleness contract.

Step 6: turn the contract into controls and evidence

Documentation changes behavior only when operating paths consume it. Implement the field contract in four layers:

Entry controls

correct object, type, controlled values, uniqueness where appropriate, conditional requirements, and clear error messages.

Write controls

field permissions, approved integration mappings, protected manual corrections, idempotent updates, and conflict handling.

Monitoring controls

missing, invalid, duplicate, conflicting, unused, and stale values assessed for a declared population.

Failure controls

blocking, quarantine, warning, exclusion, repair assignment, exception approval, and evidence of resolution.

The ODCS data-quality section shows how human-readable rules can become executable checks for null, missing, invalid, or duplicate values. HubSpot’s data-quality tools provide a product example: they surface duplicates, formatting issues, enrichment gaps, property use, fill rates, and anomalies.

Data-quality tools can expose structural and population-level defects, while contract rules can attach checks to particular fields. Neither capability supplies the business meaning, acceptable threshold, or failure consequence without a team decision. [S4], [S12]

Do not confuse a clean dashboard with a working contract. A field can be fully populated and consistently formatted while carrying the wrong meaning. It can be recently modified while based on old evidence. It can come from a known integration that was never authorized to overwrite it.

Test one field from capture to consequence

Use a synthetic record in a safe test environment and trace one decision-critical field through every important state. The test should prove:

  1. An approved source creates the field on the correct object with the expected source and verification metadata.
  2. Invalid types, values, or required-state omissions fail visibly.
  3. An unapproved user or integration cannot silently overwrite the value.
  4. A permitted secondary source follows the documented precedence rule when it disagrees.
  5. Property history or an equivalent log preserves the writer, time, and prior value.
  6. The field becomes stale under the declared event or age condition without a meaningless write resetting its verification time.
  7. Each downstream consumer applies the stated consequence rather than treating stale or conflicted data as current.
  8. The steward can find the failure, repair or escalate it, and show evidence of the outcome.

Run the trace again after changing a field option, workflow, integration mapping, or consumer. Configuration screenshots prove what a setting looked like; traces prove what the system did.

Change the contract before changing the field

A field change can break a workflow without deleting the field. Renaming an option, changing null semantics, replacing an authoritative source, shortening an allowed age, or moving responsibility can all alter downstream meaning.

For a material change:

  • identify every known producer and consumer;
  • state the old and new definition or behavior;
  • classify whether the change is additive, compatible, or breaking;
  • approve the migration, backfill, and exception treatment;
  • test both direct and exported behavior;
  • notify consumers before the switch; and
  • retain the decision and effective date with the contract version.

Where a platform fixes internal identifiers after creation, as HubSpot does, a label edit does not repair a poor technical name. A replacement field may require dual writes, backfill, consumer migration, and controlled retirement. Treat the field as an interface, not a cosmetic setting.

Inventory every active field, then deepen the critical ones first

You do need coverage for every active field, because an undocumented low-profile property can still overwrite a critical value or feed a forgotten export. You do not need equal ceremony for every field on the first pass.

Begin with fields that control identity, association, lifecycle or deal state, assignment, contactability, routing, financial interpretation, attribution, or automated action. Give those fields full definitions, source precedence, staleness rules, monitoring, and trace tests. For lower-consequence fields, establish the minimum row—meaning, owner, allowed source, freshness treatment, consumer, and change path—then deepen it when use or risk grows.

The practical standard is simple: no active CRM field without a shared meaning; no decision-bearing field without an accountable owner; no writable field without source authority and precedence; and no changeable field without a staleness rule and failure response. When those promises are written, configured, and traced, CRM data becomes dependable enough for a named decision—not “clean” in the abstract, but governed for actual work.

Sources

  1. Salesforce, “What Is a CRM Database? (A Comprehensive Guide)Supports: CRM databases can store contact information, communication history, purchase history, service requests, preferences, and lead status; The CRM database is the organized data layer within the broader CRM system. Checked 2026-08-24.Limitation: This is vendor-authored educational and marketing content. It supports the category definition and examples of stored information, not a universal CRM schema or performance claim.
  2. Bitol / LF AI & Data Foundation, “Open Data Contract StandardSupports: A data contract is an agreement between a data producer and consumers; The standard includes fundamentals, schema, references, data quality, team, roles, service levels, and infrastructure sections. Checked 2026-08-24.Limitation: ODCS is a general data-contract standard, not a CRM-specific prescription. This article adapts its concepts to a smaller operational field contract.
  3. Bitol / LF AI & Data Foundation, “Open Data Contract Standard: SchemaSupports: A contract schema can connect business and physical representations of data; Property metadata can include a stable ID, name, physical name and type, business name, description, required and unique rules, authoritative definitions, classification, and quality attributes. Checked 2026-08-24.Limitation: The ODCS property model is broader than most teams need for a first CRM contract, and the article does not claim every listed key is mandatory.
  4. Bitol / LF AI & Data Foundation, “Open Data Contract Standard: Data QualitySupports: Data-quality rules can be human-readable or executable; Property-level checks can cover null, missing, invalid, and duplicate values. Checked 2026-08-24.Limitation: These are general data-quality mechanisms. A CRM team must still choose fields, populations, tolerances, and consequences that fit its own uses.
  5. Bitol / LF AI & Data Foundation, “Open Data Contract Standard: Service-Level AgreementSupports: Service-level properties can be attached to specific data elements; The standard recognizes update frequency, latency, retention, and issue-detection or repair timing as service-level concerns. Checked 2026-08-24.Limitation: A formal dataset SLA is not automatically appropriate for every CRM property. The article uses the element-specific principle, not the example values in the standard.
  6. HubSpot Knowledge Base, “Understand the property editorSupports: HubSpot properties have labels, internal names, object types, descriptions, field types, rules, and view or edit access; A property's internal name and object type cannot be edited after creation even though its display label can change. Checked 2026-08-24.Limitation: This is HubSpot-specific product behavior. Other CRM products can expose different metadata, mutability, validation, and permission controls.
  7. HubSpot Knowledge Base, “View and use record source propertiesSupports: HubSpot Record Source identifies the tool or process that created a record; Record Source Detail can identify a more specific form, import, user, workflow, or integration context. Checked 2026-08-24.Limitation: Record-source behavior is HubSpot-specific, and origin metadata does not by itself establish that a value is correct or authoritative.
  8. HubSpot Knowledge Base, “View a record's property historySupports: HubSpot property history can show prior values, the date and time of a change, and its change source; Users can inspect history for one property or all properties on a record. Checked 2026-08-24.Limitation: History availability and restoration behavior are product-specific. A change log proves that a write occurred, not that the value was verified or permitted by the team's contract.
  9. Microsoft Learn, “Plan for data governance with Microsoft PurviewSupports: Data-governance planning should involve data owners, data stewards, business experts, technical teams, producers, and consumers; A domain owner is accountable for the domain while stewards curate business concepts and technical partners onboard sources and assets. Checked 2026-08-24.Limitation: This describes Microsoft Purview governance roles and workflow. The article derives a lightweight CRM responsibility split rather than prescribing Purview.
  10. UK Government Data Quality Hub, “The Government Data Quality FrameworkSupports: Data quality is fitness for purpose and required quality varies by intended use; Timeliness depends on whether values are current enough for their use; some values remain stable while others change; Quality dimensions are non-prescriptive, and organizations should establish baselines and assess quality over time. Checked 2026-08-24.Limitation: This framework is written for UK government use. Its fitness-for-purpose and timeliness principles are broadly useful, but it is not a CRM standard or a cross-industry benchmark.
  11. Salesforce, “CRM vs. CDP: What's the Difference?Supports: CRM systems focus on managing known customer relationships and direct interactions; CDPs are designed to collect and unify customer data from multiple sources into broader profiles. Checked 2026-08-24.Limitation: This is vendor-authored category guidance and Salesforce sells products in both categories. Product boundaries can overlap, so the distinction is directional rather than absolute.
  12. HubSpot Knowledge Base, “Use data quality toolsSupports: HubSpot data-quality tooling surfaces duplicate, formatting, enrichment, property-usage, fill-rate, and anomaly information; Monitoring and repair behavior depends on permissions, configuration, and the way later writes enter the system. Checked 2026-08-24.Limitation: This is product-specific functionality, some of which depends on subscription level. It does not test a team's business definitions or establish universal quality thresholds.

Continue the evidence path

Run your growth team from one screen.

Invite only