Document types
The 37 supported document types and their aliases.
Types are normalized automatically — bank-statement, Bank Statement, and bank_statement are all accepted. Common aliases like gis (→ general_information_sheet) and afs (→ audited_financial_statement) are also resolved.
| Category | Types |
|---|---|
| Consumer | bank_statement, bank_statement_summary (LDB: reducto-only summary + 3-tab workbook), bank_certificate, payslip, credit_card_statement, credit_report (extraction + fraud only), loan_statement, passbook (extraction + fraud only), remittance_slip, certificate_of_employment, tin_id |
| Business | audited_financial_statement / afs (multi-pass extraction: balance sheet, income statement, cash flow, notes/schedules, qualitative data, financial ratios, completeness scoring), general_information_sheet (multi-pass extraction: company info, capital structure, stockholders, directors, officers, beneficial owners, compliance, risk signals, completeness scoring), bill_of_lading, bir_2303, business_permit, business_registration_dti, business_registration_sec, certificate_of_registration, mayors_permit, purchase_order, sales_invoice, secretarys_certificate, certificate_of_incorporation |
| Government / Legal | bir_2307, government_id, income_tax_return, insurance_policy, land_title, loan_agreement, proof_of_billing, vehicle_registration |
| Other | receipt, bill, slik, other_document, general_document |
Bank Certificate Envelope
Type bank_certificate runs on the universal Qwen vision pipeline with Reducto disabled — single-page issuer-signed letters certifying an account. The envelope is nested under processed_data.bank_certificate_data:
Signal categories for stated_purpose_category: visa, credit_card, loan, employment, other.
Validators that fire on every cert (results in validation_flags[]):
field_presence— five core fields must be extracted (date issued, bank name, holder name, account number, balance).period_consistency— ADB window length within [30, 400] days; date opened before date issued; balance-as-of within 30 days of date issued.positive— account balance must be > 0.field_cross_check— Gemini 2.5 Flash re-reads account number, balance, ADB, and date issued from the page image and flags mismatches with Stage 1 Qwen.
Cross-document verification: when a bank_certificate shares a doc set with a payslip, bank_statement, passbook, government_id, or certificate_of_employment, the API emits cross_doc_flags[] on BOTH documents indicating whether the account holder name matches. Account-number match against bank_statement / passbook also runs when bank names align.

