# An export is missing rows

An export follows the view, not the sheet. Whatever the current filters, grouping and saved view exclude is left out of the export, and the grid is virtualised, so the rows on screen were never the whole set to begin with. Compare the export against the count for the view, not against what you scrolled past.

- **Status:** Available
- **Audience:** both
- **In the app:** #/data
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/troubleshooting/export-missing-rows/

## What an export is a copy of

The Data screen is a spreadsheet-like grid over 13 record sheets — companies, people, leads, prospects, follow-ups, deals, conversations, calls, cases, onboarding, knowledge, files and memory. It is a view over the records, not a second database: every change made in it goes through the service that owns the record. An export inherits that relationship, so it copies the view you are looking at.

**The sheet** — Which of the 13 record types you are exporting. Exporting people when you wanted leads produces a complete export of the wrong thing.
**The filters** — Every active filter narrows the export exactly as it narrows the screen.
**The saved view** — A saved view carries its own filters and columns. Opening one and forgetting it is the commonest cause of a short file.
**The columns** — A column hidden from the view is a column absent from the export, which reads as missing data rather than a missing column.
**Virtualisation** — The grid renders only what fits. Scrolling to the end of what is drawn is not scrolling to the end of the set.

## Causes, most likely first

1. **A filter or saved view is still applied.** Clear everything and compare the count before exporting again.
2. **The rows are in a different sheet.** Conversations and calls are separate sheets; people and leads are separate sheets. A record you think of as one thing may be represented in two.
3. **Deleted rows.** Records marked deleted stay in the database and out of lists, so they are legitimately absent from an export.
4. **A count computed from a page.** Where a headline number was derived from a slice of rows rather than from the whole set, the number was the wrong one, not the file. On a 540-contact workspace one such summary reported 500 organisations when there were 530.
5. **The wrong workspace.** Every record belongs to exactly one, and an export cannot cross that boundary even by accident.

## What Connect completed

The export contains every row in the view, in full, with the workspace boundary applied. Values that a spreadsheet would otherwise interpret as a formula are neutralised on the way out, so opening the file cannot execute anything that was typed into a cell by a customer, a form or an import. That neutralisation is why a handful of cells can look slightly different in the file from on the screen — the content is intact, its interpretation as a formula is not.

## What Connect did not complete

It did not export the whole sheet, and it did not tell you which filters were in force when it wrote the export. There is no manifest inside the export naming the view, the workspace or the time, so a file taken yesterday and a file taken today are not distinguishable from their contents alone. Record what you exported when you export it.

## What you can do

1. Clear filters, grouping and the saved view, then read the row count for the sheet.
   - Result: You now have the number the file should match. Comparing against what you remember scrolling past compares against nothing.
2. Export again and count the lines it holds.
   - Result: An export that matches the cleared count was always right, and the view was the difference.
3. If a specific record is missing, find it on its own screen first.
   - Result: A record that cannot be found anywhere is a different problem — start from the empty-screen checks instead of from the export.
4. Check the column set before assuming a value is missing.
   - Result: An absent column and an empty value look identical once it is open in a spreadsheet.

## What an administrator can do

- Check whether the missing rows carry a workspace stamp. A row without one is invisible to lists and exports alike rather than deleted.
- Check whether any headline number on that screen is computed from a page of rows rather than by the database. Where that pattern exists, the count is the thing to distrust before the export is.
- Confirm the rows are not soft-deleted. Deletion here generally marks the canonical row rather than removing it, so the record still exists while correctly staying out of it.

## When to escalate

Escalate when an export and a cleared count disagree, or when a record that can be opened and edited on its own screen never appears in an export of its own sheet. Both point at the export rather than at the view. Bring the sheet name, the workspace, the count you saw and the number of lines held by the file.

## Questions

### Does an export include deleted records?

No. Deletion marks the record and takes it out of lists; the export follows the same rule, so a deleted row is absent by design rather than lost.

### Some cells begin differently in the file than on screen. Is the data corrupted?

No. Content that a spreadsheet would treat as a formula is neutralised on export so that opening it cannot run it. The characters are the protection, and the underlying value is unchanged in Connect.

### Can I export everything in one file?

Each of the 13 sheets exports separately, because they are different record types with different columns. Exporting a person and their conversations means two files, joined afterwards on the identifiers they share.

## Related

- [Files and data in Connect](https://connectbyjbrh.com/docs/files-data/)
- [A spreadsheet view that is not a second database](https://connectbyjbrh.com/research/grid-over-services/)
- [Headline numbers that stop at the page size](https://connectbyjbrh.com/research/counting-past-the-limit/)
- [A screen is empty and should not be](https://connectbyjbrh.com/docs/troubleshooting/screen-empty/)
- [Troubleshooting](https://connectbyjbrh.com/docs/troubleshooting/)
- [Stable identifiers](https://connectbyjbrh.com/developers/entity-ids/)

## What this page is based on

- `docs-source/sources/GENERAL.md` §9, §11 — the grid, the export, the counting defects
- `backend/app/data_workspace.py`, `workspace_data_api.py` — the grid's services
- Connect capability registry (docs-source/facts.py)
