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.

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.