Skip to content

Guides

Document processing

How FinCheckers accepts documents, extracts findings, and surfaces processing status.

  • Guides
  • 1 min read

Scope

This guide covers document intake and processing for verification cases: supported document kinds, processing status, and finding retrieval. Prerequisites: Verification concepts and Verification workflows.

Supported document kinds (examples)

Tenant configuration controls the exact set. Common kinds include:

| Kind | Typical verification type | | ------------------- | ------------------------- | | pay_stub | Income | | tax_form | Income | | employment_letter | Employment | | bank_statement | Bank statement analysis | | identity_document | Document verification |

Do not assume every kind is enabled for every tenant.

Upload and attach

  1. Obtain an upload handle through your organisation’s configured storage path.
  2. Attach the handle to a case with kind and contentType.
  3. Trigger or await processing.
await client.cases.attachDocument(caseId, {
  kind: 'bank_statement',
  contentType: 'application/pdf',
  uploadId: 'upload_bank_001',
})

await client.cases.process(caseId)

Processing status

| Status | Meaning | | ------------ | ----------------------------------------------------- | | accepted | Document attached; not yet processed | | processing | Extraction and checks in progress | | processed | Findings available | | failed | Processing failed; inspect error code for remediation |

Failed processing does not delete the original document. Re-upload or correct document kind as indicated by the error body.

Retrieve findings

const detail = await client.cases.get(caseId, {
  include: ['documents', 'findings'],
})

for (const finding of detail.findings ?? []) {
  console.log(finding.code, finding.severity)
}

Findings are structured and reviewable. They do not by themselves approve credit. See Decision review.

Related