Everything it checks, and how it decides when to speak
Nineteen deterministic rules in three families, a profile of the sheet before any of them run, evidence on every finding, and watching that records only what changed — and nothing written to your spreadsheet except a fix you approved.


First, it works out what the sheet is
Where the header row is, what each column means, what kind of sheet this is.
Before any rule runs, Lexora profiles the sheet. The header row is found by reading the rows, not assumed to be the first. Each column is given a meaning — price, cost, quantity, date, status, identifier, email — with a confidence, and the business rules run only where that confidence is high. Turkish and English headers are both read, including the dotted and dotless İ that most software gets wrong.
- A title block above the table does not confuse it; the header is found where it actually is.
- A catalogue, a transaction log, an inventory, a pipeline: rules declare which kinds they apply to.
- If a column is read wrongly, tell Lexora what it is. The correction is remembered for every later check.
Every formula, against its column
The cell that does something different is the one to look at.
Most of a calculated column follows one shape. Lexora normalises every formula and compares it with the rest: a cell that breaks the pattern, a number typed over a formula that has quietly stopped updating, or an error hiding inside a total further down. It also checks that a total does not count its own subtotal twice, that a fixed range still reaches the end of the data, and that every IMPORTRANGE link is alive. Where the column has one clear pattern, the fix is offered too: the column’s own formula moved to the odd row, shown before and after, written only when you apply it.
- Pattern deviation — the differing cells, the formula in each, and a real example of the expected shape.
- Hardcoded values — literals sitting in a column that is otherwise calculated, with the formula their neighbours use.
- Errors — #REF!, #DIV/0!, #N/A and the rest, grouped by type, with the formula that produced each.

The checks that run on any sheet at all
No knowledge of the subject needed. Structure is structure.
Seven rules read the shape of the data rather than its meaning, so they fire on any spreadsheet you connect: whole rows that repeat, an identifier that appears twice, a column that mixes text and numbers, one status spelt three ways, a number far outside its column, rows only half filled in, and a date outside the period the sheet is named for. They are the floor: whatever else Lexora recognises, it always has something true to say.
- Duplicate detection is strict on purpose: every filled cell must match, so a legitimate repeat order is never flagged.
- Only identifier, email and URL columns are checked for repeats. Prices and dates repeat by nature and are left alone.
- Inconsistent spellings are reported with each variant and its count, and the fix rewrites the minority to the spelling the column uses most — after you approve it.


Follow the money, with the total attached
Only when it is sure a column means what it thinks.
Six rules read meaning: items selling for less than they cost, with the total lost so far where units are recorded; open records whose last contact is weeks old; orders, leads or products missing a field every other row has; a discount far outside the rest of the list; a closing balance that does not carry forward; and, on Turkish sheets, KDV that does not add up. Each runs only when the profile is confident about the columns involved, which is why they stay quiet on a sheet they do not understand.
- Selling below cost shows price, cost, units and the loss per unit for every item, and adds it up.
- Confidence is bounded by how sure Lexora is about the columns, and printed on the finding when it is below 85 percent.
- No quantity column? The finding says the total cannot be calculated instead of inventing one.
Every finding carries its cells
Not a score. The addresses, the figures, and the arithmetic.
A rule cannot produce a finding without the cells it came from; the data model does not allow it. The claim sits on the left and the figures it rests on to the right, always visible. Show the math opens the row-by-row derivation, sorted by what costs the most and cut at twenty-five rows with a note saying so. Anything in monospace is lifted from your sheet as written.
- Severity carries shape and position as well as colour, so the list reads in greyscale and in print.
- Open the cell takes you straight to the address in Google Sheets.
- Mark a finding as not a problem and it stays dismissed in every later check of that sheet.


It keeps checking
Rechecked on a schedule. Only what changed is recorded.
On paid plans a sheet can be watched daily, every six hours, or weekly. Each check is compared with the previous one. A new finding, a new critical finding, or a sharp drop in the sheet’s health score is recorded; findings that were fixed are marked resolved and raise nothing. A check that finds nothing new writes one line to the history and stops.
- Findings keep their identity between runs, so an ongoing problem is never reported as a new one.
- Changes appear on your Watching page and in your inbox; Slack and webhooks on Team and Agency.
- Watching is paid outright: it is the recurring value that justifies a recurring price.
Only the files you pick, and nothing written unasked
The narrowest Google permissions that let it work.
You choose a spreadsheet with Google’s own picker, and Lexora is given access to that file alone; it cannot list or open anything else in your Drive. It reads values and formulas. The only writes are fixes you apply, each cell checked against what the audit saw and each fix undoable. The grid is fetched, checked and released; what is stored is the finding, with the cells it names and the few values needed to show it. The Google token is encrypted with AES-256-GCM before it reaches the database.
- We deliberately did not ask for the broader Drive permission that would let Lexora scan your whole Drive.
- Revoke access from your Google Account at any time and Lexora loses it at once.
- No analytics service, advertising network or third-party tracker runs on Lexora.


One sheet or a hundred
Priced by spreadsheets and rows, not by seats.
The free plan checks one sheet of up to five thousand rows, as often as you like, with all nineteen rules, and shows every finding in full. Pro covers five sheets with daily watching and one-click fixes. Team covers twenty-five sheets, six-hourly checks, five seats and Slack; Agency a hundred sheets with client workspaces and white-label reports. Prices are read live from the same place the app enforces them.
- The free plan shows every finding in full: cells, arithmetic and confidence, with no monthly cap on checks.
- Paid plans add watching, one-click fixes, more spreadsheets, longer history and team seats.
- Every paid plan starts with a 14-day trial, no card. Pay by card through Lemon Squeezy, monthly or yearly, and cancel at any time.
Connect a sheet. See what is wrong in a minute.
Pick a spreadsheet, and the first findings are waiting before you have finished reading this page.
Nineteen rules in three families, and what each one points at. No account needed to read it.
What Lexora can see, what it keeps, whether it changes your sheet, and what happens to false alarms.
Start free and stay free if one sheet is all you need. Paid plans add more sheets, watching, and one-click fixes.
