SOC2

Process Bank Statement Extractor — Faster Underwriting

Loan processing requires reviewing dozens of documents per application. Manual review delays approvals and increases default risk.

77
Fields Extracted
300s
Max Processing

What This Template Does

AI-powered extraction using gemini-2.5-flash. Part of 113 production-ready templates.

Capabilities

  • Lending Extraction
  • Bank Statement Analysis
  • Asset Verification
  • Mortgage
  • Bank Statement

Output Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Bank Statement Extraction",
  "description": "Schema for extracted bank statement data for mortgage underwriting",
  "type": "object",
  "required": [
    "document_type",
    "statement_period",
    "account_info",
    "balances"
  ],
  "properties": {
    "document_type": {
      "type": "string",
      "const": "bank_statement",
      "description": "Document type"
    },
    "statement_period": {
      "type": "object",
  
...

Quick Start

$ pip install doclayer
$ doclayer process document.pdf --agent lending.bank-statement

See It In Action

Real extraction example showing input document and structured output.

Input Document
================================================================================
                         FIRST NATIONAL BANK
                       MONTHLY ACCOUNT STATEMENT
================================================================================

Bank Information:
First National Bank
Customer Service: 1-800-555-2345
Routing Number: 071000013

Account Holder:
CHRISTOPHER M. ANDERSON
LISA R. ANDERSON
1847 Meadowbrook Lane
Plano, TX 75024

=================================================
Extracted Data
{
  "document_type": "bank_statement",
  "statement_period": {
    "start_date": "2024-09-01",
    "end_date": "2024-09-30"
  },
  "bank_info": {
    "bank_name": "First National Bank",
    "phone": "1-800-555-2345",
    "routing_number": "071000013"
  },
  "account_holder": {
    "name": "CHRISTOPHER M. ANDERSON, LISA R. ANDERSON",
    "address": {
      "street": "1847 Meadowbrook Lane",
      "city": "Plano",
      "state": "TX",
      "zip": "75024"
    }
  },
  "account_info": {
    "account_number": "XXXX-XXXX-XXXX-4521",
    "account_number_last_4": "4521",
    "account_type": "checking",
    "ownership_type": "joint"
  },
  "balances": {
    "beginning_balance": "24567.89",
    "ending_balance": "26760.78",
    "average_balance": "25432.15",
    "lowest_balance": "18234.22"
  },
  "summary": {
    "total_deposits": "13425.00",
    "deposit_count": 5,
    "total_withdrawals": "11234.56",
    "withdrawal_count": 18,
    "total_fees": "0.00",
    "interest_earned": "2.45"
  },
  "deposits": [
    {
      "date": "2024-09-03",
      "description": "DIRECT DEPOSIT - TECH SOLUTIONS INC",
      "amount": "4875.00",
      "type": "direct_deposit",
      "source_identified": "Payroll - Tech Solutions Inc",
      "large_deposit": false
    },
    {
      "date": "2024-09-10",
      "description": "TRANSFER FROM SAVINGS XXXX7892",
      "amount": "2000.00",
      "type": "transfer",
      "source_identified": "Internal Transfer",
      "large_deposit": false
    },
    {
      "date": "2024-09-17",
      "description": "DIRECT DEPOSIT - TECH SOLUTIONS INC",
      "amount": "4875.00",
      "type": "direct_deposit",
      "source_identified": "Payroll - Tech Solutions Inc",
      "large_deposit": false
    },
    {
      "date": "2024-09-22",
      "description": "VENMO TRANSFER - J ANDERSON",
      "amount": "350.00",
      "type": "transfer",
      "large_deposit": false
    },
    {
      "date": "2024-09-25",
      "description": "CHECK DEPOSIT #1247",
      "amount": "1325.00",
      "type": "check",
      "large_deposit": false
    }
  ],
  "recurring_transactions": {
    "deposits": [
      {
        "description": "TECH SOLUTIONS INC",
        "typical_amount": "4875.00",
        "frequency": "biweekly",
        "source_type": "payroll"
      }
    ],
    "withdrawals": [
      {
        "description": "HOMEBANK MORTGAGE",
        "typical_amount": "2450.00",
        "frequency": "monthly",
        "payment_type": "mortgage"
      },
      {
        "description": "STATE FARM INSURANCE",
        "typical_amount": "245.00",
        "frequency": "monthly",
        "payment_type": "insurance"
      },
      {
        "description": "TOYOTA FINANCIAL",
        "typical_amount": "485.00",
        "frequency": "monthly",
        "payment_type": "auto"
      }
    ]
  },
  "large_deposits": [],
  "nsf_overdrafts": {
    "count": 0,
    "total_fees": "0.00",
    "pattern": "none"
  },
  "income_analysis": {
    "identifiable_income_deposits": "9750.00",
    "average_monthly_deposits": "13425.00",
    "primary_income_source": "Tech Solutions Inc"
  },
  "asset_verification": {
    "qualifying_balance": "26760.78",
    "seasoned": true,
    "large_deposits_requiring_source": "0.00"
  },
  "validation": {
    "statement_authentic": true,
    "all_pages_present": true,
    "account_holder_matches_borrower": true,
    "balances_reconcile": true,
    "dates_consecutive": true
  }
}

Joint bank account statement showing account summary and transaction history for married couple. Demonstrates extraction of asset verification data for loan underwriting qualification.

Frequently Asked Questions

What documents can Bank Statement Extractor process?

The Bank Statement Extractor template processes lending documents including various formats and layouts. See the instructions for specific document types supported.

How accurate is the Bank Statement Extractor extraction?

The Bank Statement Extractor template uses Gemini 2.5 Flash for high-accuracy extraction. Results include confidence scores for each field.

Can I customize the Bank Statement Extractor template?

Yes, you can modify the extraction schema, add custom fields, or adjust the instructions to match your specific requirements.

Start Extracting Data Today

Process your first document in under 5 minutes. No credit card required.