OCR overview

รายการเดินบัญชี

Reading a Thai bank statement

One long table where two of the amount columns are blank on almost every row, and the balance proves whether the reading held.

รายการเดินบัญชี lists the movements on one account over a period, each row carrying a date, a description, an amount in one of two columns, and the balance that results.

It is the longest document in this family and the one most often needed in bulk. Loan underwriting, rental checks, and bookkeeping all start with several months of statements at once.

The specimen#

This sheet is typeset from the document's real field list. Every name and figure on it is invented, and none of it comes from anyone's paperwork.

ธนาคารตัวอย่าง จำกัด (มหาชน)

สาขาพระราม ๙

รายการเดินบัญชี

STATEMENT OF ACCOUNT

สำเนา

ชื่อบัญชี
บริษัท กรุณาไทย จำกัด
เลขที่บัญชี
000-0-00000-0
ประเภทบัญชี
กระแสรายวัน
ระยะเวลา
๑ ถึง ๓๑ กรกฎาคม ๒๕๖๙

ยอดยกมา412,880.55

รายการเดินบัญชี
วันที่รายการถอนฝากคงเหลือ
๐๒/๐๗/๖๙โอนเข้า จากบริษัท ศตวรรษการค้า36,380.00449,260.55
๐๕/๐๗/๖๙ชำระค่าสาธารณูปโภค8,412.30440,848.25
๐๙/๐๗/๖๙เงินเดือนพนักงาน งวดกลางเดือน185,000.00255,848.25
๑๕/๐๗/๖๙รับชำระจากลูกค้า เลขที่ INV-2569-009874,900.00330,748.25
๒๒/๐๗/๖๙ค่าธรรมเนียมโอนเงินต่างธนาคาร35.00330,713.25
๒๘/๐๗/๖๙ถอนเงินสด สาขาพระราม ๙20,000.00310,713.25
๓๑/๐๗/๖๙ดอกเบี้ยรับ128.40310,841.65

ยอดยกไป310,841.65

จำนวนรายการ
รวมเงินเข้า
111,408.40
รวมเงินออก
213,447.30

What the model read#

paxa-ocr-lite-v1 · captured Aug 30, 2026 · unedited

The Markdown it returned

# ธนาคารตัวอย่าง จำกัด (มหาชน)
สาขาพระราม ๙

# รายการเดินบัญชี
STATEMENT OF ACCOUNT

สำเนา

| | | | |
| :--- | :--- | :--- | :--- |
| ชื่อบัญชี | บริษัท กรุณาไทย จำกัด | เลขที่บัญชี | 000-0-00000-0 |
| ประเภทบัญชี | กระแสรายวัน | ระยะเวลา | ๑ ถึง ๓๑ กรกฎาคม ๒๕๖๙ |

**ยอดยกมา** | **412,880.55**

| วันที่ | รายการ | ถอน | ฝาก | คงเหลือ |
| :--- | :--- | :--- | :--- | :--- |
| ๐๒/๐๗/๖๙ | โอนเข้า จากบริษัท ศตวรรษการค้า | | 36,380.00 | 449,260.55 |
| ๐๕/๐๗/๖๙ | ชำระค่าสาธารณูปโภค | 8,412.30 | | 440,848.25 |
| ๐๙/๐๗/๖๙ | เงินเดือนพนักงาน งวดกลางเดือน | 185,000.00 | | 255,848.25 |
| ๑๕/๐๗/๖๙ | รับชำระจากลูกค้า เลขที่ INV-2569-0098 | | 74,900.00 | 330,748.25 |
| ๒๒/๐๗/๖๙ | ค่าธรรมเนียมโอนเงินต่างธนาคาร | 35.00 | | 330,713.25 |
| ๒๘/๐๗/๖๙ | ถอนเงินสด สาขาพระราม ๙ | 20,000.00 | | 310,713.25 |
| ๓๐/๐๗/๖๙ | ดอกเบี้ยรับ | | 128.40 | 310,841.65 |

**ยอดยกไป** | **310,841.65**

จำนวนรายการ | ๗
รวมเงินเข้า | 111,408.40
รวมเงินออก | 213,447.30

The structured blocks, typeset back into a page

  1. headingL1

    ธนาคารตัวอย่าง จำกัด (มหาชน)

  2. paragraph

    สาขาพระราม ๙

  3. headingL1

    รายการเดินบัญชี

  4. paragraph

    STATEMENT OF ACCOUNT

  5. paragraph

    สำเนา

  6. table
    The table the model reconstructed
    ชื่อบัญชีบริษัท กรุณาไทย จำกัดเลขที่บัญชี000-0-00000-0
    ประเภทบัญชีกระแสรายวันระยะเวลา๑ ถึง ๓๑ กรกฎาคม ๒๕๖๙
  7. paragraph

    ยอดยกมา 412,880.55

  8. table
    The table the model reconstructed
    วันที่รายการถอนฝากคงเหลือ
    ๐๒/๐๗/๖๙โอนเข้า จากบริษัท ศตวรรษการค้า36,380.00449,260.55
    ๐๕/๐๗/๖๙ชำระค่าสาธารณูปโภค8,412.30440,848.25
    ๐๙/๐๗/๖๙เงินเดือนพนักงาน งวดกลางเดือน185,000.00255,848.25
    ๑๕/๐๗/๖๙รับชำระจากลูกค้า เลขที่ INV-2569-009874,900.00330,748.25
    ๒๒/๐๗/๖๙ค่าธรรมเนียมโอนเงินต่างธนาคาร35.00330,713.25
    ๒๘/๐๗/๖๙ถอนเงินสด สาขาพระราม ๙20,000.00310,713.25
    ๓๐/๐๗/๖๙ดอกเบี้ยรับ128.40310,841.65
  9. paragraph

    ยอดยกไป 310,841.65

  10. list
    • จำนวนรายการ ๗
    • รวมเงินเข้า 111,408.40
    • รวมเงินออก 213,447.30

The exact image the model read

What is on this document#

Common commercial shape

ชื่อบัญชีและเลขที่บัญชี
Whose account, and which one.
ประเภทบัญชี
Savings, current, or fixed.
ระยะเวลา
The period the statement covers.
ยอดยกมา
Opening balance.
วันที่
One per transaction row.
รายการ
The description, and the widest column.
ถอน และ ฝาก
Two amount columns, one filled per row.
คงเหลือ
The running balance after each row.
ยอดยกไป
Closing balance.

Every bank prints its own layout, column order included. What holds across all of them is a running balance, which is the property that makes a reading checkable.

Why this one is hard to read#

Sparse columns collapse
Withdrawals and deposits share a row and only one is ever filled. A reader working line by line pushes the filled amount into whichever column it meets first, and the sign of every transaction flips.
Statements run over pages
A quarter of activity is several pages of one continuous table. The header repeats, the rows do not, and each page has to come back as its own entry that still joins onto the last.
The balance is a proof
Each row's balance is the previous balance plus or minus that row's amount. This is the rare document that carries its own verification, and only a reading that keeps the columns apart can use it.

From blocks to fields#

The transaction table comes back as one table block per page, with blank cells preserved. Walking the balance column and checking each row against the one above is a few lines of code, and it turns a reading into a verified reading without a second call.

Rate
6.5 credits per page
Per request
50 pages, 10 MB, PDF, PNG, JPEG, WEBP
Free credits
100 credits, about 15 pages

See full pricing

Questions#

How many pages can one request take?
Up to 50, within 10 MB. Longer statements are split across requests, and billing counts pages either way.
Does the running balance let me check the reading?
That is the reason to read the columns separately. If every row's balance follows from the one above it, the amounts and their columns came back correctly, which no confidence score can tell you.
Do you support any particular bank's format?
There is no per-bank model and no template to select. One endpoint reads the page as it is laid out, which is what lets a statement from a bank we have never seen come back with its table intact.

Send it your own documents.

New accounts start with 100 free credits, enough for about 15 pages. Try it on a real file in the playground.