A document didn't appear in any batch
A client says they sent in an invoice / receipt / bill, but it isn't showing up on any journal batch and there's no journal entry for it. This is almost always one of five things; work through them top to bottom.
1. The ingestion channel hasn't picked it up yet
Pull-based channels (Drive / SharePoint / Dropbox) sweep on a fixed interval — a document dropped after the most recent sweep won't be seen until the next one. Push-based channels (WhatsApp inbound, the manual upload button on the Documents tab) appear as soon as the platform receives them.
Check:
- Open the client → Ingestion channels tab.
- Find the channel the document was sent to. Look at Last polled and Status.
- If Last polled is older than the sweep interval (see Timing reference), the next sweep will pick it up.
- If Status is Inactive or Error, the channel stopped polling — the document will never arrive on its own.
Fix:
- If the channel is healthy but stale: click Sync now on the channel row to force an immediate pull.
- If the channel is Inactive: re-enable it on the channel detail page, then Sync now.
- If the channel is Error: read the error message in the channel's last-error panel — usually expired credentials or a renamed folder. Reconnect the channel, then Sync now.
2. OCR is queued but hasn't run yet
The document arrived — there's a row on the client's Documents tab — but it's still in OCR_PENDING and hasn't been classified yet. Under normal load this is a 30-second window; if the worker is backlogged it can stretch.
Check:
- Open the client → Documents tab.
- Filter by recent uploads. If the document is there with status
OCR_PENDING, OCR is the bottleneck. - Check the timestamp — if it's been less than 5 minutes, just wait.
Fix: Wait 5 minutes and refresh. If the document is still OCR_PENDING after that, the OCR pipeline is genuinely stuck and you need the OCR failing runbook — don't keep retrying from the UI.
3. OCR ran but failed
The document made it through ingestion but OCR could not extract usable fields — maybe the image was too low resolution, maybe it was an unsupported file type, maybe the document type was misidentified. The row exists with status OCR_FAILED and never produced a journal entry.
Check:
- Open the client → Documents tab.
- Filter by status
OCR_FAILED. - Open the failing row — the detail panel shows the failure reason.
Fix:
- If the failure is "unreadable" or "low quality": ask the client to re-send a clearer copy, then upload it manually via the Upload document button on the Documents tab.
- If the failure is "unsupported document type": the type hint was wrong. Re-upload manually and pick the correct Document type in the upload form.
- If the failure looks systemic (multiple unrelated documents failing at the same time): see OCR failing runbook.
4. The document was assigned to a different client
Multi-tenant Drive / SharePoint setups occasionally route a document to the wrong client folder, or a WhatsApp number is shared between two clients in the contacts master. The document was ingested, OCR'd, classified — but onto the wrong client.
Check: Open the Activity log in the staff dashboard sidebar, filter the date range to when the document was sent, and search for the file name. The audit log shows which client the document was attached to.
Fix: If it's on the wrong client, raise the misroute with the team and re-upload it manually onto the correct client via Upload document. The misrouted copy can be marked rejected on the wrong client's Documents tab so it doesn't pollute that client's books.
5. The entry is UNCLASSIFIED and you missed it on the batch
The document landed and was drafted, but the classifier couldn't map it to an account code — it's in the open journal batch as an UNCLASSIFIED entry rather than a normal classified one. The batch's default view often hides these or sorts them to the bottom.
Check:
- Open the client → Journal batches tab → the open batch for the period.
- Apply the Confidence: UNCLASSIFIED filter chip.
- Look for the entry by vendor name or amount.
Fix: If you find it, the document did arrive — it just couldn't be classified automatically. Open the entry, set the correct account code manually, and approve. If the same vendor keeps showing up unclassified, add it to the vendor master so future documents from them classify on first try.
Still not finding it?
If you've worked through all five and the document genuinely isn't anywhere on the client — not on Documents, not in any batch (including UNCLASSIFIED), not in the audit log — it never reached the platform. Confirm with the client:
- Which channel did they send it to (specific email address, specific WhatsApp number, specific Drive folder)?
- What time did they send it?
- Do they have a delivery confirmation (email "delivered" notification, WhatsApp double-tick, Drive sync indicator)?
If they sent it to a channel the client is not configured for, that's the cause. Reconfigure the channel (see Set up an ingestion channel) or have them resend through a configured one.
If they sent it to a configured channel and the platform never saw it, escalate via OCR failing runbook — the same on-call path covers ingestion-side failures.
Related
- When does each scheduled action fire? — including ingestion channel poll intervals
- Set up an ingestion channel
- Upload a document manually
- Add vendors to vendor master
- Vendor-master match isn't firing
- Bookkeeping SOP