# `Codat.Lending.DataIntegrity`
[🔗](https://github.com/iamkanishka/codat.git/blob/v1.0.0/lib/codat/lending/lending.ex#L346)

Data integrity checks — cross-reference accounting and banking data.

Codat's data integrity feature cross-references records from accounting and
banking sources to identify discrepancies (e.g., unmatched transactions).
Use this to assess the reliability of financial data before making credit decisions.

## Statuses

| Status       | Meaning                                                      |
|--------------|--------------------------------------------------------------|
| `Matched`    | Record found in both accounting and banking sources          |
| `Unmatched`  | Record found in only one source                             |
| `Partial`    | Record found in both sources but with discrepancies          |
| `DoesNotExist` | Record in accounting but not in banking (or vice versa)   |

# `details`

```elixir
@spec details(
  Codat.Client.t() | String.t(),
  String.t(),
  String.t() | keyword(),
  keyword()
) ::
  {:ok, Codat.Pagination.t()} | {:error, Codat.Error.t()}
```

Returns detailed data integrity records for a specific data type and match status.

## Options

- `:query` — filter by match status, e.g. `"status=Unmatched"`
- `:page`, `:page_size` — pagination

## Example

    {:ok, page} = Codat.Lending.DataIntegrity.details(
      client, company_id, "invoices", query: "status=Unmatched"
    )

# `status`

```elixir
@spec status(Codat.Client.t() | String.t(), String.t() | keyword()) ::
  {:ok, map()} | {:error, Codat.Error.t()}
```

Returns the data integrity status summary for a company.

## Example

    {:ok, status} = Codat.Lending.DataIntegrity.status(client, company_id)
    status["invoices"]["statusInfo"]["currentStatus"]  # => "Complete"

# `summaries`

```elixir
@spec summaries(Codat.Client.t() | String.t(), String.t(), String.t() | keyword()) ::
  {:ok, map()} | {:error, Codat.Error.t()}
```

Returns data integrity summaries for a specific data type.

## Parameters

- `data_type` — e.g., `"invoices"`, `"bankTransactions"`

## Example

    {:ok, summary} = Codat.Lending.DataIntegrity.summaries(client, company_id, "invoices")

---

*Consult [api-reference.md](api-reference.md) for complete listing*
