Intake readiness · deterministic

Document Intake Completeness Checker

Know whether a case has everything it needs to start — and never start one that's missing a non-negotiable. One verdict per case, against a checklist you define.

COMPLETE (cleared to start), CHASE (missing paperwork, but safe to begin), or HOLD INTAKE (a blocker is missing — hard stop).

one-time · workbook + Python engine + 2 playbooks · yours to keep

The problem

“Did we get everything?” is where intake quietly breaks.

Started on a thin packet

A case kicks off, then stalls two weeks in when someone notices the signed agreement was never returned.

Chasing the wrong things

Time spent hunting a nice-to-have while a genuine blocker sits unflagged. Not all gaps are equal.

A checkbox count lies

“90% complete” feels ready — but if the missing 10% is the consent or a valid ID, it isn't ready at all.

What's inside

A checklist with teeth, in a workbook and an engine.

A requirements checklist you define — items, required/optional, blocker flags, acceptance rules
A per-case grid with a live status for every item (OK / MISSING / EXPIRED / INVALID)
A blocker gate that holds any case missing a non-negotiable, regardless of completeness
A runnable Python engine for batch or automated intake queues
Two playbooks — an operating guide and a checklist-design guide

The standard

A blocker holds the case — completeness doesn't override it.

Deterministic

Every status is a fixed rule against the packet you enter — no model, no guessing. The same packet always returns the same verdict.

Blocker-gated

Mark the non-negotiables — a signed agreement, a consent, a valid ID. If one is missing, expired, or invalid, the case is HOLD INTAKE no matter how complete the rest is.

Chase ≠ hold

CHASE means missing paperwork you can chase while you start. HOLD INTAKE means a hard stop. Telling them apart is the point.

How it works

Try it — renew an expired ID, or clear a chase, and watch the verdict move.

Check an intake queue · live · deterministic
as of 2026-06-22
OKSigned services agreementblocker
EXPIREDGovernment photo ID (non-expired)blocker
OKSigned data-processing consentblocker
OKPrimary contact email
OKBilling W-9 / tax form
OKCompany EIN
OKBrand / logo assetsoptional

Held: a blocker item (Government photo ID (non-expired)) is expired. 83% complete doesn't override a missing non-negotiable.

Queue verdict
INTAKE BLOCKED

1 complete · 1 chasing · 1 held. A blocker holds a case no matter its completeness.

Blocker vs chase

CHASE = missing paperwork, safe to start. HOLD INTAKE = a non-negotiable is missing. Different actions, by design.

Intake queue (blocked): One case cleared, one to chase (missing W-9, malformed email), and one held on an expired ID — even though it's 83% complete.

Every status is a fixed check against the packet you enter — no model, no guessing. The workbook and the engine produce these exact verdicts. It checks your own packets against your own checklist; it does not score or rank people, and it is not legal advice.

Diagram of the Document Intake Completeness Checker: an intake queue rolled up to the worst case, a blocker gate, and the queue reading INTAKE BLOCKED on one expired ID.
Shareable diagram

How the gate works, in one image

How the Document Intake Completeness Checker scores every case in your intake queue and holds the batch on one blocker, whatever the average — the same math the demo runs, as a diagram you can share or embed anywhere.

View & embed the full diagram

The engine

Same verdicts, from the command line.

For a whole intake queue, the included Python engine prints the per-case verdicts and the queue rollup. It produces the same results as the workbook — verified on every build.

========================================================================
  DOCUMENT INTAKE COMPLETENESS  ·  as of 2026-06-22
========================================================================
  CASE                       COMPLETE   VERDICT       FAILED ITEMS
------------------------------------------------------------------------
  Acme Co onboarding             100%   COMPLETE      —
  Northwind onboarding            67%   CHASE         contact_email, billing_w9
  Globex onboarding               83%   HOLD INTAKE   government_id  [BLOCKER]
  Initech onboarding              83%   HOLD INTAKE   signed_agreement  [BLOCKER]
  Umbrella onboarding            100%   COMPLETE      —
------------------------------------------------------------------------
  COMPLETE 2   CHASE 1   HOLD INTAKE 2
------------------------------------------------------------------------
  QUEUE: INTAKE BLOCKED
========================================================================
  Checks your own packet against your own checklist. Not legal advice.
========================================================================

Checks your own intake packets against a checklist you define. It does not score or rank people, and it is not legal advice.

Who it's for

Any team that opens cases from a packet of documents.

Built for
  • Client onboarding and new-account intake
  • Loan, mortgage, and lending file checks
  • Vendor / supplier onboarding packets
  • Any required-document intake (permits, patient packets, enrollments)
Not for
  • Reading or judging a document's contents on its merits (a present document still needs a human read)
  • Validating one document's internal fields (that's a field validator)
  • Connecting to your CRM or drive (it's offline — you enter the packet)
  • Scoring or ranking people

Pairs well with

FAQ

Straight answers before you buy.

You define a requirements checklist for an intake type — a new-client packet, a loan file, a vendor onboarding bundle, a patient packet — marking each item required or optional, flagging the non-negotiables as blockers, and setting an acceptance rule (present, present-and-non-expired, or present-and-matches-format). For every case it gives each item a status (OK / MISSING / EXPIRED / INVALID) and the case one verdict: COMPLETE (start), CHASE (missing paperwork but safe to begin), or HOLD INTAKE (a blocker is missing — hard stop). It reads a packet you enter, not your systems, and it never scores or ranks people.

Start here

New to the document-ops line? Run the Document Processing Pipeline Diagnostic first — it scores your workflow across six stages and routes you to the exact drop that fixes your bottleneck.

Stop starting cases that aren't ready.

Define your checklist once. Every case gets a clear verdict — and the ones missing a non-negotiable get held before work begins.

Checks your own intake packets against a checklist you define. It does not score or rank people, and it is not legal advice.