> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beaconrevenue.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Data integrity rate

> The share of the records Beacon checked that pass every check — a plain ratio for the company as a whole, worked out daily, the Data integrity module's headline figure.

## What it is

`data_integrity_rate` is the share of the records Beacon checked that pass every check, as a ratio between 0 and 1. Higher is better. It is the headline figure of the [Data integrity module](/modules/data-integrity), which shows it as a percentage.

It describes your data, not your business. A rate of 0.998 says almost every record Beacon reads is complete and consistent enough to use. It says nothing about whether your revenue is good.

It is published for your company as a whole, on the [company and period object](/data-model/company-period).

## How it is calculated

Measured. A plain count — nothing is weighted and no customer is scored.

`data_integrity_rate` = records that pass every check ÷ records checked.

A record fails if any one check finds a problem with it, and it counts once however many checks find it. Only the checks that ran are counted. A check that needs a tool you have not connected does not run, and is never counted as passed.

If Beacon checks 5,948 records and one has a problem, the rate is 5,947 ÷ 5,948 = 0.99983.

The checks themselves — duplicates, billing matched to your CRM, key fields, short history, currency, sync delays and fields changed in your tools — are listed, with which ones run today, on the [Data integrity module page](/modules/data-integrity).

## Where it comes from

| Source | What it supplies | Required |
| - | - | - |
| Your billing system | Customers, subscriptions and invoices — the records every check starts from | Yes |
| Your CRM | Companies and deals: billing matched to your CRM, deal fields, and field changes | Adds checks |
| Your accounting and product usage tools | Further checks on invoices, refunds and usage | Not checked yet |

Connecting a tool adds the checks that need it. It never makes a check that already runs easier to pass.

| Where it is available | |
| - | - |
| Read interface | Yes, with an opt-in |
| MCP | Yes, with an opt-in |
| Events | Yes, with an opt-in |
| CRM property | Yes, with an opt-in |

<Note>
  No read interface or MCP tool serves this value yet. It is worked out every day and shown on the Data integrity page in Beacon; this table publishes its shape ahead of the doors.
</Note>

**Where the choice is made.** This value is not open by default on any door. The choice happens when a reader grant that reaches it is issued or widened, when you subscribe to events, or when you turn the CRM property on. Whoever makes it is shown who becomes able to see the value, and their yes is recorded.

## How fresh it is

Worked out once a day, after your tools have synced. The figure describes the records as Beacon held them at that check.

**Which day's figure stands for a period is not yet declared** — a period holds many daily checks, and the rule that picks one is still to be stated. Until it is, read the value with its own `computed_at`.

Both timestamps travel with it: the moment the value describes, and the moment Beacon last worked it out.

## Currency and rounding

Neither applies. It is a ratio of two counts of records, with no unit and no currency.

## What changes it

A problem fixed at source, which closes on the next daily check. A record emptied or changed in one of your tools so that a check finds it. New records arriving, which are checked like the rest.

**And connecting a tool, with nothing getting worse.** A new tool switches on the checks that need it. Problems those checks find were already there; the rate can fall the day you connect, because Beacon can now see them.

## What it is not

* **Not [`data_completeness_rate`](/definitions/data-completeness-rate).** That asks whether the records you have arrived. This asks whether the records that arrived pass the checks.
* **Not the [score for each record](/data-integrity).** That is a separate 0–100 measure per customer, designed and not calculated yet. This is one plain figure for the whole company.
* **Not a measure of whether a figure is right.** A record can pass every check and still describe a decision that turned out badly.
* **Not something you can set.** Beacon never fixes or changes a record in your tools, and no setting raises the rate.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.