{
  "generated": "2026-10-07",
  "label": "baseline: core.js before accuracy fixes",
  "tool": {
    "core_js_sha256_12": "c06325ddc5f3",
    "pdfjs_dist": "6.4.299",
    "options": "defaults (auto date order, auto decimal, auto year)"
  },
  "summary": {
    "samples": 17,
    "errors": 0,
    "by_outcome": {
      "needs-review": 11,
      "no-rows": 6
    },
    "by_kind": {
      "checking": 10,
      "credit_card": 6,
      "savings": 1
    },
    "verified_subset": {
      "samples": 5,
      "truthRows": 137,
      "extractedRows": 73,
      "matched": 49,
      "precision": 0.6712,
      "recall": 0.3577,
      "foundWithWrongAmount": 0,
      "signErrors": 0,
      "amountAccuracy": 1
    }
  },
  "samples": [
    {
      "id": "carson-bank-checking",
      "institution": "Carson Bank (Mulvane, Kansas)",
      "kind": "checking",
      "text_based": true,
      "pages": 6,
      "text_items": 696,
      "outcome": "needs-review",
      "rows": 36,
      "reconciliation": {
        "status": "needs-review",
        "message": "3 rows need review; the totals are off by 20,138.79 (opening balance + transactions = 20,138.79, statement says 0.00); 13 printed balances do not match the running total.",
        "rows_ok": 33,
        "rows_review": 3,
        "rows_unchecked": 0,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 393,
          "role": "ignore",
          "count": 13
        },
        {
          "x": 452,
          "role": "debit",
          "count": 2
        },
        {
          "x": 480,
          "role": "credit",
          "count": 34
        },
        {
          "x": 566,
          "role": "balance",
          "count": 49
        }
      ],
      "interpretation": {
        "source": "layout",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Date Description Debits Credits Balance",
      "period": {
        "start": "2019-07-31",
        "end": "2019-07-31"
      },
      "opening": 14365.21,
      "closing": 0,
      "warnings": [
        "Column roles were inferred (debit, credit, balance), not read from a header row."
      ],
      "runtime_ms": {
        "read_pdf": 314,
        "extract": 30
      },
      "truth": {
        "truthRows": 48,
        "extractedRows": 36,
        "matched": 34,
        "precision": 0.9444,
        "recall": 0.7083,
        "foundWithWrongAmount": 0,
        "signErrors": 0,
        "amountAccuracy": 1,
        "descriptionExact": 0.7353,
        "balanceAccuracy": 1,
        "missed": [
          {
            "date": "2019-07-01",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -21.7
          },
          {
            "date": "2019-07-03",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -714.56
          },
          {
            "date": "2019-07-15",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -1845.8
          },
          {
            "date": "2019-07-17",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -950.82
          },
          {
            "date": "2019-07-18",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -547.09
          },
          {
            "date": "2019-07-19",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -536.59
          },
          {
            "date": "2019-07-24",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -94.48
          },
          {
            "date": "2019-07-25",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -108.59
          },
          {
            "date": "2019-07-25",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -1073.01
          },
          {
            "date": "2019-07-29",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -213.69
          },
          {
            "date": "2019-07-31",
            "description": "C&J CLARK RETAIL ACH DEBIT SETTLEMENT STORE NBR 131",
            "amount": -995.9
          },
          {
            "date": "2019-07-31",
            "description": "SERVICE CHARGE",
            "amount": -10
          },
          {
            "date": "2019-07-31",
            "description": "PAPER STATEMENT CHARGE",
            "amount": -3
          },
          {
            "date": "2019-07-22",
            "description": "OVB LOAN PAYMENT",
            "amount": -26.08
          }
        ],
        "wrongAmount": [],
        "extra": [
          {
            "date": "2019-07-01",
            "description": "18.00000% 21",
            "amount": -926.18
          },
          {
            "date": "2019-07-22",
            "description": "18.00000% 10",
            "amount": -913.01
          }
        ]
      }
    },
    {
      "id": "bofa-how-to-read",
      "institution": "Bank of America",
      "kind": "checking",
      "text_based": true,
      "pages": 4,
      "text_items": 1195,
      "outcome": "needs-review",
      "rows": 5,
      "reconciliation": {
        "status": "needs-review",
        "message": "2 rows need review; 1 printed balance does not match the running total.",
        "rows_ok": 0,
        "rows_review": 2,
        "rows_unchecked": 3,
        "totals_ok": null
      },
      "columns": [
        {
          "x": 429,
          "role": "amount",
          "count": 5
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "DateLorem ipsum aut unt quo opta quaernatem experum con non cullorecto temTransaction description Amount",
      "period": {
        "start": "2013-05-01",
        "end": "2012-07-01"
      },
      "opening": null,
      "closing": 19.97,
      "warnings": [
        "No running balance column and no opening balance were found."
      ],
      "runtime_ms": {
        "read_pdf": 386,
        "extract": 12
      }
    },
    {
      "id": "associated-cu-statement",
      "institution": "Associated Credit Union (Georgia)",
      "kind": "checking",
      "text_based": true,
      "pages": 2,
      "text_items": 187,
      "outcome": "needs-review",
      "rows": 2,
      "reconciliation": {
        "status": "needs-review",
        "message": "2 rows need review; the totals are off by 300.00 (opening balance + transactions = -4,700.00, statement says -5,000.00).",
        "rows_ok": 0,
        "rows_review": 2,
        "rows_unchecked": 0,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 447,
          "role": "ignore",
          "count": 1
        },
        {
          "x": 479,
          "role": "ignore",
          "count": 1
        },
        {
          "x": 507,
          "role": "ignore",
          "count": 1
        },
        {
          "x": 532,
          "role": "amount",
          "count": 2
        },
        {
          "x": 567,
          "role": "balance",
          "count": 2
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Effective Date is printed at the end Date Transaction Description Amount- Balance-",
      "period": {
        "start": "2016-02-01",
        "end": "2016-02-29"
      },
      "opening": -4500,
      "closing": -5000,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 35,
        "extract": 3
      }
    },
    {
      "id": "scott-cu-statement",
      "institution": "Scott Credit Union (Illinois)",
      "kind": "checking",
      "text_based": true,
      "pages": 1,
      "text_items": 147,
      "outcome": "needs-review",
      "rows": 3,
      "reconciliation": {
        "status": "needs-review",
        "message": "2 rows need review; the totals are off by 1,956.54 (opening balance + transactions = -1,956.54, statement says 0.00).",
        "rows_ok": 1,
        "rows_review": 2,
        "rows_unchecked": 0,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 504,
          "role": "debit",
          "count": 2
        },
        {
          "x": 534,
          "role": "credit",
          "count": 1
        },
        {
          "x": 566,
          "role": "balance",
          "count": 3
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "reverse"
      },
      "header": "Date Transaction Description Withdrawal- Deposit Balance-",
      "period": {
        "start": "2025-01-01",
        "end": "2025-01-31"
      },
      "opening": -550.04,
      "closing": 0,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 33,
        "extract": 2
      }
    },
    {
      "id": "stpaul-grad-ready-bank",
      "institution": "City of Saint Paul, Parks and Recreation (Grad Ready; content by NorthStar Education Services)",
      "kind": "checking",
      "text_based": true,
      "pages": 1,
      "text_items": 109,
      "outcome": "needs-review",
      "rows": 3,
      "reconciliation": {
        "status": "needs-review",
        "message": "The totals are off by 494.10 (opening balance + transactions = 815.98, statement says 321.88).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 3,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 430,
          "role": "amount",
          "count": 3
        }
      ],
      "interpretation": {
        "source": "layout",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Check # Description Deposit",
      "period": {
        "start": "2013-01-31",
        "end": "2013-01-31"
      },
      "opening": 527.63,
      "closing": 321.88,
      "warnings": [
        "A header row was found but its column names were not recognized; column roles were inferred from the numbers.",
        "Column roles were inferred (amount), not read from a header row.",
        "Every amount is positive. If money out should be negative (for example on a card statement), use \"Flip signs\"."
      ],
      "runtime_ms": {
        "read_pdf": 32,
        "extract": 2
      }
    },
    {
      "id": "cfpb-credit-card-handout",
      "institution": "Consumer Financial Protection Bureau",
      "kind": "credit_card",
      "text_based": true,
      "pages": 1,
      "text_items": 64,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": null,
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 33,
        "extract": 1
      }
    },
    {
      "id": "uga-extension-credit-card",
      "institution": "University of Georgia, College of Family and Consumer Sciences (reproduces the Federal Reserve Board sample statement)",
      "kind": "credit_card",
      "text_based": false,
      "pages": 4,
      "text_items": 47,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": null,
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 39,
        "extract": 1
      }
    },
    {
      "id": "rbfcu-credit-card-lesson",
      "institution": "Randolph-Brooks Federal Credit Union (\"It's a Money Thing\" lesson by Currency Marketing)",
      "kind": "credit_card",
      "text_based": true,
      "pages": 1,
      "text_items": 158,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": null,
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 37,
        "extract": 1
      }
    },
    {
      "id": "caped-cu-credit-card-lesson",
      "institution": "CapEd Credit Union (Idaho; \"It's a Money Thing\" lesson by Currency Marketing)",
      "kind": "credit_card",
      "text_based": true,
      "pages": 8,
      "text_items": 540,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": null,
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 143,
        "extract": 5
      }
    },
    {
      "id": "money-mentors-credit-card",
      "institution": "Money Mentors (Alberta non-profit credit counselling)",
      "kind": "credit_card",
      "text_based": true,
      "pages": 5,
      "text_items": 299,
      "outcome": "needs-review",
      "rows": 1,
      "reconciliation": {
        "status": "needs-review",
        "message": "The totals are off by 45.79 (opening balance + transactions = 183.63, statement says 137.84).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 1,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 387,
          "role": "credit",
          "count": 1
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Previous statement balance $168.80 Credit Limit $1,500",
      "period": null,
      "opening": 168.8,
      "closing": 137.84,
      "warnings": [
        "No statement period was found, so dates without a year were assumed to be in 2026. Set the year if that is wrong."
      ],
      "runtime_ms": {
        "read_pdf": 76,
        "extract": 4
      },
      "truth": {
        "truthRows": 7,
        "extractedRows": 1,
        "matched": 1,
        "precision": 1,
        "recall": 0.1429,
        "foundWithWrongAmount": 0,
        "signErrors": 0,
        "amountAccuracy": 1,
        "descriptionExact": 1,
        "balanceAccuracy": null,
        "missed": [
          {
            "date": "XXXX-02-09",
            "description": "Italian restaurant",
            "amount": 30.55
          },
          {
            "date": "XXXX-02-13",
            "description": "Clothing store",
            "amount": 27.5
          },
          {
            "date": "XXXX-02-17",
            "description": "Museum gift shop",
            "amount": 12.26
          },
          {
            "date": "XXXX-02-24",
            "description": "Grocery store",
            "amount": 40.1
          },
          {
            "date": "XXXX-03-02",
            "description": "Payment received",
            "amount": -168.8
          },
          {
            "date": "XXXX-03-07",
            "description": "Toy store",
            "amount": 12.6
          }
        ],
        "wrongAmount": [],
        "extra": []
      }
    },
    {
      "id": "niagara-univ-savings",
      "institution": "Niagara University (international admissions)",
      "kind": "savings",
      "text_based": true,
      "pages": 2,
      "text_items": 355,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": {
        "start": {
          "y": 2019,
          "m": 11,
          "d": 1
        },
        "end": {
          "y": 2019,
          "m": 11,
          "d": 21
        }
      },
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 73,
        "extract": 2
      }
    },
    {
      "id": "cuanswers-black-bars",
      "institution": "CU*Answers (credit union service organization), \"Black Bars\" statement style",
      "kind": "checking",
      "text_based": true,
      "pages": 9,
      "text_items": 1006,
      "outcome": "needs-review",
      "rows": 9,
      "reconciliation": {
        "status": "needs-review",
        "message": "The statement's total deposits do not match the extracted rows.",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 9,
        "totals_ok": null
      },
      "columns": [
        {
          "x": 562,
          "role": "amount",
          "count": 9
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "POST TRANS TRANSACTION DESCRIPTION LOCATION OF ACTIVITY AMOUNT",
      "period": {
        "start": "2010-02-01",
        "end": "2020-04-01"
      },
      "opening": null,
      "closing": 21017.25,
      "warnings": [
        "No running balance column and no opening balance were found.",
        "Every amount is positive. If money out should be negative (for example on a card statement), use \"Flip signs\"."
      ],
      "runtime_ms": {
        "read_pdf": 125,
        "extract": 7
      },
      "truth": {
        "truthRows": 55,
        "extractedRows": 9,
        "matched": 9,
        "precision": 1,
        "recall": 0.1636,
        "foundWithWrongAmount": 0,
        "signErrors": 0,
        "amountAccuracy": 1,
        "descriptionExact": 1,
        "balanceAccuracy": null,
        "missed": [
          {
            "date": "2019-12-09",
            "description": "LOAN DISB, TRANSFER ID JZ Acct XXXXXXX93 690",
            "amount": 29960
          },
          {
            "date": "2019-12-11",
            "description": "WIRE OUT/W SAMPLE ID LC",
            "amount": -36613.85
          },
          {
            "date": "2019-12-11",
            "description": "WIRE FEE ID LC",
            "amount": -20
          },
          {
            "date": "2019-12-29",
            "description": "AUTO. FUNDS TRANSFER ID 99 Acct XXXXXXX93-690",
            "amount": -790.5
          },
          {
            "date": "2019-09-01",
            "description": "SHARE DIVIDEND (DIVIDEND)",
            "amount": 16.9
          },
          {
            "date": "2019-09-06",
            "description": "ACH/SUPERIOR PHARMAC DIRECT DEP (CURRENT YEAR CONTRIBUTION)",
            "amount": 37.5
          },
          {
            "date": "2019-09-20",
            "description": "ACH/SUPERIOR PHARMAC DIRECT DEP (CURRENT YEAR CONTRIBUTION)",
            "amount": 37.5
          },
          {
            "date": "2019-12-03",
            "description": "BPV/Chase MasterCard",
            "amount": -225
          },
          {
            "date": "2019-12-03",
            "description": "CHECK 00003967636 4177",
            "amount": -800
          },
          {
            "date": "2019-12-03",
            "description": "ACH/CITI CARD ONLINE PAYMENT",
            "amount": -415
          },
          {
            "date": "2019-12-04",
            "description": "ACH/SUNTRUST MC/VISA OLB PYMT",
            "amount": -305
          },
          {
            "date": "2019-12-04",
            "description": "ACH/SUNTRUST MC/VISA OLB PYMT",
            "amount": -340
          },
          {
            "date": "2019-12-09",
            "description": "ACH/BK OF AMER VISA ONLINE PMT",
            "amount": -25
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003983234 4180",
            "amount": -24.62
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003985164 4176",
            "amount": -25
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003985161 4178",
            "amount": -50
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003985162 4179",
            "amount": -50
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003985159 4174",
            "amount": -75
          },
          {
            "date": "2019-12-10",
            "description": "CHECK 00003985163 4175",
            "amount": -75
          },
          {
            "date": "2019-12-11",
            "description": "ACH/SSA TREAS 310 XXSOC SEC",
            "amount": 2228
          },
          {
            "date": "2019-12-11",
            "description": "ATM/WDR#004496 PUBLIX GRAND RAPIDS MI 3400 RALEIGH DR SE",
            "amount": -100
          },
          {
            "date": "2019-12-11",
            "description": "BPV/Kohl's",
            "amount": -100
          },
          {
            "date": "2019-12-11",
            "description": "BPV/Chase MasterCard",
            "amount": -110
          },
          {
            "date": "2019-12-11",
            "description": "BPV/Belk",
            "amount": -61.06
          },
          {
            "date": "2019-12-11",
            "description": "BPV/Costco Anywhere",
            "amount": -100
          },
          {
            "date": "2019-12-12",
            "description": "CHECK 00003990314 4181",
            "amount": -12.96
          },
          {
            "date": "2019-12-13",
            "description": "ACH/BK OF AMER VISA ONLINE PMT",
            "amount": -410
          },
          {
            "date": "2019-12-13",
            "description": "ACH/BK OF AMER VISA ONLINE PMT",
            "amount": -360
          },
          {
            "date": "2019-12-16",
            "description": "AUTO. FUNDS TRANSFER Acct XXXXXXX11-110 JANE A SAMPLE",
            "amount": -70
          },
          {
            "date": "2019-12-16",
            "description": "AUTO. FUNDS TRANSFER Acct XXXXXXX93-693",
            "amount": -110
          },
          {
            "date": "2019-12-18",
            "description": "ACH/*FIRST PENN LIFE PREMPAYMNT",
            "amount": -422.82
          },
          {
            "date": "2019-12-23",
            "description": "ACH/CITI CARD ONLINE PAYMENT",
            "amount": -110
          },
          {
            "date": "2019-12-24",
            "description": "CHECK 00003917545 4182",
            "amount": -50
          },
          {
            "date": "2019-12-24",
            "description": "CHECK 00003917546 4183",
            "amount": -50
          },
          {
            "date": "2019-12-01",
            "description": "SHARE DIVIDEND",
            "amount": 2.4
          },
          {
            "date": "2019-12-05",
            "description": "ACH/LIGHTHOUSE, INC. LH PAY",
            "amount": 120
          },
          {
            "date": "2019-12-19",
            "description": "ACH/LIGHTHOUSE, INC. LH PAY",
            "amount": 120
          },
          {
            "date": "2019-12-27",
            "description": "DIVIDEND EARNED",
            "amount": 6.91
          },
          {
            "date": "2019-12-27",
            "description": "CLUB BENEFIT EARNED",
            "amount": 1.2
          },
          {
            "date": "2019-12-01",
            "description": "DISABILITY INS",
            "amount": 14.79
          },
          {
            "date": "2019-12-01",
            "description": "SINGLE LIFE INS",
            "amount": 8.81
          },
          {
            "date": "2019-12-10",
            "description": "ACH/YOUR CU NAME PAYMENT",
            "amount": -482.3
          },
          {
            "date": "2010-01-01",
            "description": "CLUB BENEFIT PAYMENT",
            "amount": -2.7
          },
          {
            "date": "2019-12-03",
            "description": "OVERDRAFT TRANSFER Acct XXXXXXX93- 110",
            "amount": 11.29
          },
          {
            "date": "2019-12-29",
            "description": "AUTO. FUNDS TRANSFER Acct XXXXXXX93- 110",
            "amount": -15
          },
          {
            "date": "2019-12-20",
            "description": "PAYMENT VIA MAIL",
            "amount": -475
          }
        ],
        "wrongAmount": [],
        "extra": []
      }
    },
    {
      "id": "cuanswers-two-column",
      "institution": "CU*Answers (credit union service organization), \"Two-Column\" statement style",
      "kind": "checking",
      "text_based": true,
      "pages": 7,
      "text_items": 913,
      "outcome": "needs-review",
      "rows": 25,
      "reconciliation": {
        "status": "needs-review",
        "message": "9 rows need review; the totals are off by 46,663.21 (opening balance + transactions = 67,680.46, statement says 21,017.25); 4 printed balances do not match the running total.",
        "rows_ok": 5,
        "rows_review": 9,
        "rows_unchecked": 11,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 240,
          "role": "ignore",
          "count": 8
        },
        {
          "x": 294,
          "role": "ignore",
          "count": 8
        },
        {
          "x": 536,
          "role": "credit",
          "count": 12
        },
        {
          "x": 562,
          "role": "debit",
          "count": 10
        },
        {
          "x": 590,
          "role": "balance",
          "count": 10
        }
      ],
      "interpretation": {
        "source": "layout",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "PARTICIPATION! Date Description Amount Balance",
      "period": {
        "start": "2010-02-01",
        "end": "2020-04-01"
      },
      "opening": 66459.59,
      "closing": 21017.25,
      "warnings": [
        "Column roles were inferred (credit, debit, balance), not read from a header row."
      ],
      "runtime_ms": {
        "read_pdf": 109,
        "extract": 8
      }
    },
    {
      "id": "commerce-bank-checking",
      "institution": "Commerce Bank (Kansas City, Missouri)",
      "kind": "checking",
      "text_based": true,
      "pages": 1,
      "text_items": 80,
      "outcome": "no-rows",
      "rows": 0,
      "reconciliation": {
        "status": "unverified",
        "message": "No transaction rows were found (lines that start with a date and end with an amount).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [],
      "interpretation": null,
      "header": null,
      "period": {
        "start": {
          "y": 2003,
          "m": 5,
          "d": 3
        },
        "end": {
          "y": 2003,
          "m": 6,
          "d": 5
        }
      },
      "opening": null,
      "closing": null,
      "warnings": [],
      "runtime_ms": {
        "read_pdf": 17,
        "extract": 1
      }
    },
    {
      "id": "bac-bank-statement-example",
      "institution": "Boston Architectural College (international admissions)",
      "kind": "checking",
      "text_based": true,
      "pages": 1,
      "text_items": 91,
      "outcome": "needs-review",
      "rows": 11,
      "reconciliation": {
        "status": "needs-review",
        "message": "1 row needs review.",
        "rows_ok": 10,
        "rows_review": 1,
        "rows_unchecked": 0,
        "totals_ok": null
      },
      "columns": [
        {
          "x": 304,
          "role": "debit",
          "count": 6
        },
        {
          "x": 354,
          "role": "credit",
          "count": 3
        },
        {
          "x": 397,
          "role": "balance",
          "count": 9
        }
      ],
      "interpretation": {
        "source": "layout",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Date Description Balance",
      "period": {
        "start": "2019-03-01",
        "end": "2019-03-01"
      },
      "opening": 40000,
      "closing": null,
      "warnings": [
        "Column roles were inferred (debit, credit, balance), not read from a header row."
      ],
      "runtime_ms": {
        "read_pdf": 83,
        "extract": 2
      }
    },
    {
      "id": "ncua-money-basics",
      "institution": "National Credit Union Administration (MyCreditUnion.gov)",
      "kind": "checking",
      "text_based": true,
      "pages": 29,
      "text_items": 995,
      "outcome": "needs-review",
      "rows": 22,
      "reconciliation": {
        "status": "needs-review",
        "message": "3 rows need review.",
        "rows_ok": 18,
        "rows_review": 3,
        "rows_unchecked": 1,
        "totals_ok": null
      },
      "columns": [
        {
          "x": 434,
          "role": "amount",
          "count": 22
        },
        {
          "x": 494,
          "role": "balance",
          "count": 22
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Date Transaction Detail Transaction Details Amount($) Balance($)",
      "period": null,
      "opening": null,
      "closing": null,
      "warnings": [
        "No statement period was found, so dates without a year were assumed to be in 2026. Set the year if that is wrong."
      ],
      "runtime_ms": {
        "read_pdf": 271,
        "extract": 12
      },
      "truth": {
        "truthRows": 22,
        "extractedRows": 22,
        "matched": 0,
        "precision": 0,
        "recall": 0,
        "foundWithWrongAmount": 0,
        "signErrors": 0,
        "amountAccuracy": null,
        "descriptionExact": null,
        "balanceAccuracy": null,
        "missed": [
          {
            "date": "2022-11-22",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2022-11-23",
            "description": "Transfer to Mortgage",
            "amount": -1200
          },
          {
            "date": "2022-11-23",
            "description": "Transfer to Auto Loan",
            "amount": -300
          },
          {
            "date": "2022-11-26",
            "description": "Acme Water Co.",
            "amount": -75
          },
          {
            "date": "2022-11-30",
            "description": "Check Deposit",
            "amount": 2000
          },
          {
            "date": "2022-12-01",
            "description": "Monthly Maintenance Fee",
            "amount": -5
          },
          {
            "date": "2022-12-01",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2022-12-02",
            "description": "Internet Payment",
            "amount": -50
          },
          {
            "date": "2022-12-15",
            "description": "Phone Company",
            "amount": -40
          },
          {
            "date": "2022-12-16",
            "description": "Cable Co.",
            "amount": -90
          },
          {
            "date": "2022-12-17",
            "description": "Electric Co.",
            "amount": -80
          },
          {
            "date": "2022-11-22",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2022-11-23",
            "description": "Transfer to Mortgage",
            "amount": -1200
          },
          {
            "date": "2022-11-23",
            "description": "Transfer to Auto Loan",
            "amount": -300
          },
          {
            "date": "2022-11-26",
            "description": "Acme Water Co.",
            "amount": -75
          },
          {
            "date": "2022-11-30",
            "description": "Check Deposit",
            "amount": 2000
          },
          {
            "date": "2022-12-01",
            "description": "Monthly Maintenance Fee",
            "amount": -5
          },
          {
            "date": "2022-12-01",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2022-12-02",
            "description": "Internet Payment",
            "amount": -50
          },
          {
            "date": "2022-12-15",
            "description": "Phone Company",
            "amount": -40
          },
          {
            "date": "2022-12-16",
            "description": "Cable Co.",
            "amount": -90
          },
          {
            "date": "2022-12-17",
            "description": "Electric Co.",
            "amount": -80
          }
        ],
        "wrongAmount": [],
        "extra": [
          {
            "date": "2026-11-22",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2026-11-23",
            "description": "Transfer to Mortgage",
            "amount": -1200
          },
          {
            "date": "2026-11-23",
            "description": "Transfer to Auto Loan",
            "amount": -300
          },
          {
            "date": "2026-11-26",
            "description": "Acme Water Co.",
            "amount": -75
          },
          {
            "date": "2026-11-30",
            "description": "Check Deposit Transaction Summary/Account Acticvitiy",
            "amount": 2000
          },
          {
            "date": "2026-12-01",
            "description": "Monthly Maintenance Fee",
            "amount": -5
          },
          {
            "date": "2026-12-01",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2026-12-02",
            "description": "Internet Payment",
            "amount": -50
          },
          {
            "date": "2026-12-15",
            "description": "Phone Company",
            "amount": -40
          },
          {
            "date": "2026-12-16",
            "description": "Cable Co.",
            "amount": -90
          },
          {
            "date": "2026-12-17",
            "description": "Electric Co.",
            "amount": -80
          },
          {
            "date": "2026-11-22",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2026-11-23",
            "description": "Transfer to Mortgage",
            "amount": -1200
          },
          {
            "date": "2026-11-23",
            "description": "Transfer to Auto Loan",
            "amount": -300
          },
          {
            "date": "2026-11-26",
            "description": "Acme Water Co.",
            "amount": -75
          },
          {
            "date": "2026-11-30",
            "description": "Check Deposit",
            "amount": 2000
          },
          {
            "date": "2026-12-01",
            "description": "Monthly Maintenance Fee",
            "amount": -5
          },
          {
            "date": "2026-12-01",
            "description": "POS Debit",
            "amount": -20
          },
          {
            "date": "2026-12-02",
            "description": "Internet Payment",
            "amount": -50
          },
          {
            "date": "2026-12-15",
            "description": "Phone Company",
            "amount": -40
          },
          {
            "date": "2026-12-16",
            "description": "Cable Co.",
            "amount": -90
          },
          {
            "date": "2026-12-17",
            "description": "Electric Co.",
            "amount": -80
          }
        ]
      }
    },
    {
      "id": "stanford-fcu-credit-card",
      "institution": "Stanford Federal Credit Union",
      "kind": "credit_card",
      "text_based": true,
      "pages": 2,
      "text_items": 291,
      "outcome": "needs-review",
      "rows": 5,
      "reconciliation": {
        "status": "needs-review",
        "message": "The totals are off by 387.74 (opening balance + transactions = 783.58, statement says 395.84).",
        "rows_ok": 0,
        "rows_review": 0,
        "rows_unchecked": 5,
        "totals_ok": false
      },
      "columns": [
        {
          "x": 437,
          "role": "amount",
          "count": 5
        }
      ],
      "interpretation": {
        "source": "header",
        "signMode": "signed",
        "order": "forward"
      },
      "header": "Date Date Description Number Amount",
      "period": {
        "start": "2023-04-02",
        "end": "2023-04-27"
      },
      "opening": 395.84,
      "closing": 395.84,
      "warnings": [
        "Every amount is positive. If money out should be negative (for example on a card statement), use \"Flip signs\"."
      ],
      "runtime_ms": {
        "read_pdf": 78,
        "extract": 2
      },
      "truth": {
        "truthRows": 5,
        "extractedRows": 5,
        "matched": 5,
        "precision": 1,
        "recall": 1,
        "foundWithWrongAmount": 0,
        "signErrors": 0,
        "amountAccuracy": 1,
        "descriptionExact": 0,
        "balanceAccuracy": null,
        "missed": [],
        "wrongAmount": [],
        "extra": []
      }
    }
  ]
}
