When the model provider does not answer one page, Evidilo keeps the other pages’ rows, names the missing page and holds the file. You can ask for the page again, twice, or accept the statement without it. The balance check flags the gap when the statement prints its balances, and misses it when the missing rows add up to zero.
What happens when a page cannot be read
A conversion reads a statement page by page, and a page the model provider does not answer leaves the statement partially read. The rows from the pages that were read are kept, and the review screen shows them under a sentence that names the page and says it was not read because the provider did not answer, so its rows are not in the file. A statement with a page quietly absent is worse than one that says which page it lost.
What you can do about the page
- Ask for that page again. The second read covers only the pages the statement names, keeps the rows already taken, and checks the whole statement once afterwards. Two attempts are allowed, and each one tells you which pages are still unanswered.
- Accept the statement without the page. The rows that were read become available, and the decision is written to the audit log rather than assumed.
Until one of those happens, the file is held. You cannot download a statement that is still waiting on a page. A partial file that looks complete is the failure that rule prevents.
A page that failed is not a blank page
Evidilo treats a statement as having nothing to read only when every page carries no text layer, no picture and no content stream. A page that carries any of the three and gives no rows is a read that failed, and it is reported as one. Treating the two the same would either invent a failure or hide one.
What the balance check says about a missing page
On 26 October 2026 we generated twelve statements of three pages, removed one page of rows from each, and ran Evidilo’s own balance check over the rows that were left. Every value below comes from dataset.csv.
| Page removed, and what the statement prints | Check verdict | The row the check names |
|---|---|---|
| None removed (control) | balanced in 12 of 12 | none |
| Middle page, a balance beside every row | needs review in 12 of 12 | the first row after the gap in 12 of 12 |
| Middle page, opening and closing balance only | needs review in 12 of 12, at the closing balance | the last kept row in 12 of 12 |
| Middle page, no opening balance printed | cannot run: opening balance missing in 12 of 12 | no row in 12 of 12 |
| Last page, which carries the closing balance | cannot run: closing balance missing in 12 of 12 | no row in 12 of 12 |
| Middle page whose amounts add up to zero | balanced in 12 of 12 | none |
Where the statement prints a balance beside every row, the check stops at the first row after the missing page, a day the missing page does not cover. Look for the absent rows just before the row it names. Where only the opening and closing balances are printed, it can say that rows are absent but not where.
The last row is the limit to know about. A missing page whose deposits and withdrawals cancel out leaves the check balanced, and accepting such a statement moves it straight to ready, the same state a complete one reaches, with the page still named beside the rows. When the check does ask for review, the accepted statement waits in review instead. The check cannot tell you what was on the missing page, and a tied-out statement sets out what a balanced result proves.
When to ask again, and when to accept
Ask again first: a second read sends only the missing page back to the provider and keeps everything else. After two attempts the screen names the two ways left, accepting the statement without the page or uploading the file again. Accept without it when the page is unavailable, and say so in the working papers. That is the honest option for a statement the client cannot resupply, and the recorded decision is what makes it defensible later.
How was this checked?
On 26 October 2026 we generated twelve statements of three pages with Python 3.9, removed one page of rows from each under five conditions, and ran Evidilo’s balance check from packages/shared/src/chain.ts, with only its import paths rewritten, under Node v22.22. What the post says about the review screen, the second read, the held file and the accept route was read from the product’s source on the same date. The results are in dataset.csv, and check.py rebuilds the statements, re-runs the check and re-finds every quoted line of source.
Questions
What is the best way to handle a statement with one unreadable page?
Keep the pages that were read and deal with the one that failed explicitly. Evidilo holds the file, names the page, and offers a second read of that page before you accept the statement without it. Before you rely on a file from any converter, check what it does with a page it could not read.
How do I ask for the page again?
The review screen offers it beside the sentence that names the missing page. Evidilo reads only the pages that are still unanswered, keeps the rows already taken, and checks the whole statement once the second read returns. Two attempts are allowed, and the third is refused with the two remaining options named.
Is it safe to accept a statement without one of its pages?
The decision is recorded and the page stays named, but the file is not complete, and the gap belongs in the working papers. A balanced check after accepting does not prove the missing page was empty: in the measurement above, a page whose amounts add up to zero left the check balanced in 12 of 12. The security page says what is kept and for how long, which is the part a reviewer will ask about.
What is the difference between a page that failed and a blank page?
A blank page carries nothing to read, and a page that failed carries something the reader could not turn into rows. Evidilo calls a statement empty only when every page carries no text layer, no picture and no content stream, so a page with faint print is a failed read, not a blank one.
Can I still get a file for QuickBooks or Xero?
Yes, once you have accepted the statement without the page or the page has been read. Evidilo writes QBO, CSV, Excel, OFX, QFX, QIF and IIF files. The file covers the rows that were read, so the transactions on the missing page still have to come from somewhere.