ใบแจ้งหนี้
Reading a Thai invoice
One call returns the whole page, as Markdown or as typed blocks, with the line-item table still a table.
ใบแจ้งหนี้ is a demand for payment. A seller issues it before any money moves, listing what is owed and when it falls due, and the buyer's accounts payable queue works from it.
Thai practice keeps three documents apart that English often collapses into one word. ใบแจ้งหนี้ asks for money, ใบกำกับภาษี is the VAT document the Revenue Code fixes, and ใบเสร็จรับเงิน records money already received. One printed sheet frequently serves as more than one of them, which is why the field list below runs longer than a bare invoice needs.
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.
บริษัท ศตวรรษการค้า จำกัด (สำนักงานใหญ่)
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
เลขประจำตัวผู้เสียภาษีอากร 0 1055 64078 12 3
โทร. ๐ ๒๐๐๐ ๐๐๐๐
ใบแจ้งหนี้
INVOICE
ต้นฉบับ
เลขที่ INV-2569-0107
วันที่ ๑๕ กรกฎาคม ๒๕๖๙
ครบกำหนดชำระ ๑๔ สิงหาคม ๒๕๖๙
- ชื่อผู้ซื้อ
- บริษัท กรุณาไทย จำกัด
- ที่อยู่
- ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
- เลขประจำตัวผู้เสียภาษี
- 0 1055 61045 67 8
- เลขที่ใบสั่งซื้อ
- PO-2569-0442
| ลำดับ | รายละเอียด | จำนวน | หน่วยละ | จำนวนเงิน |
|---|---|---|---|---|
| ๑ | ค่าบริการดูแลระบบรายเดือน กรกฎาคม ๒๕๖๙ | ๑ | 18,000.00 | 18,000.00 |
| ๒ | ค่าพื้นที่จัดเก็บข้อมูลส่วนเกิน | ๔ | 750.00 | 3,000.00 |
| ๓ | ค่าอบรมผู้ใช้งาน ณ สถานที่ลูกค้า | ๒ | 6,500.00 | 13,000.00 |
( สามหมื่นหกพันสามร้อยแปดสิบบาทถ้วน )
การชำระเงิน
- ธนาคาร
- ธนาคารตัวอย่าง สาขาพระราม ๙
- ชื่อบัญชี
- บริษัท ศตวรรษการค้า จำกัด
- เลขที่บัญชี
- 000-0-00000-0
กรุณาชำระภายในวันครบกำหนด และส่งหลักฐานการโอนกลับมาที่ฝ่ายบัญชี
What the model read#
paxa-ocr-lite-v1 · captured Aug 30, 2026 · unedited
The Markdown it returned
# บริษัท ศตวรรษการค้า จำกัด (สำนักงานใหญ่)
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
เลขประจำตัวผู้เสียภาษีอากร 0 1055 64078 12 3
โทร. ๐ ๒๐๐๐ ๐๐๐๐
# ใบแจ้งหนี้
INVOICE
ต้นฉบับ
เลขที่ INV-2569-0107
วันที่ ๑๕ กรกฎาคม ๒๕๖๙
ครบกำหนดชำระ ๑๔ สิงหาคม ๒๕๖๙
ชื่อผู้ซื้อ บริษัท กรุณาไทย จำกัด
ที่อยู่ ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
เลขประจำตัวผู้เสียภาษี 0 1055 61045 67 8
เลขที่ใบสั่งซื้อ PO-2569-0442
| ลำดับ | รายละเอียด | จำนวน | หน่วยละ | จำนวนเงิน |
| :--- | :--- | :--- | :--- | :--- |
| ๑ | ค่าบริการดูแลระบบรายเดือน กรกฎาคม ๒๕๖๙ | ๑ | 18,000.00 | 18,000.00 |
| ๒ | ค่าพื้นที่จัดเก็บข้อมูลส่วนเกิน | ๔ | 750.00 | 3,000.00 |
| ๓ | ค่าอบรมผู้ใช้งาน ณ สถานที่ลูกค้า | ๒ | 6,500.00 | 13,000.00 |
| | | |
| :--- | :--- | :--- |
| | รวมเป็นเงิน | 34,000.00 |
| | ภาษีมูลค่าเพิ่ม 7% | 2,380.00 |
| | จำนวนเงินรวมทั้งสิ้น | 36,380.00 |
( สามหมื่นหกพันสามร้อยแปดสิบบาทถ้วน )
การชำระเงิน
ธนาคาร ธนาคารตัวอย่าง สาขาพระราม ๙
ชื่อบัญชี บริษัท ศตวรรษการค้า จำกัด
เลขที่บัญชี 000-0-00000-0
กรุณาชำระภายในวันครบกำหนด และส่งหลักฐานการโอนกลับมาที่ฝ่ายบัญชีThe structured blocks, typeset back into a page
- headingL1
บริษัท ศตวรรษการค้า จำกัด (สำนักงานใหญ่)
- headingL1
ใบแจ้งหนี้
- paragraph
INVOICE
- paragraph
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
- paragraph
ต้นฉบับ
- paragraph
เลขประจำตัวผู้เสียภาษีอากร 0 1055 64078 12 3
- paragraph
เลขที่ INV-2569-0107
- paragraph
โทร. ๐ ๒๐๐๐ ๐๐๐๐
- paragraph
วันที่ ๑๕ กรกฎาคม ๒๕๖๙
- paragraph
ครบกำหนดชำระ ๑๔ สิงหาคม ๒๕๖๙
- paragraph
ชื่อผู้ซื้อ บริษัท กรุณาไทย จำกัด
- paragraph
ที่อยู่ ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
- paragraph
เลขประจำตัวผู้เสียภาษี 0 1055 61045 67 8
- paragraph
เลขที่ใบสั่งซื้อ PO-2569-0442
- table
The table the model reconstructed ลำดับ รายละเอียด จำนวน หน่วยละ จำนวนเงิน ๑ ค่าบริการดูแลระบบรายเดือน กรกฎาคม ๒๕๖๙ ๑ 18,000.00 18,000.00 ๒ ค่าพื้นที่จัดเก็บข้อมูลส่วนเกิน ๔ 750.00 3,000.00 ๓ ค่าอบรมผู้ใช้งาน ณ สถานที่ลูกค้า ๒ 6,500.00 13,000.00 - paragraph
รวมเป็นเงิน 34,000.00
- paragraph
ภาษีมูลค่าเพิ่ม 7% 2,380.00
- paragraph
จำนวนเงินรวมทั้งสิ้น 36,380.00
- paragraph
( สามหมื่นหกพันสามร้อยแปดสิบบาทถ้วน )
- paragraph
การชำระเงิน
- paragraph
ธนาคาร ธนาคารตัวอย่าง สาขาพระราม ๙
- paragraph
ชื่อบัญชี บริษัท ศตวรรษการค้า จำกัด
- paragraph
เลขที่บัญชี 000-0-00000-0
- paragraph
กรุณาชำระภายในวันครบกำหนด และส่งหลักฐานการโอนกลับมาที่ฝ่ายบัญชี
What is on this document#
Common commercial shape
- ชื่อและที่อยู่ผู้ขาย
- The issuing company, with its tax id under the address.
- เลขที่ใบแจ้งหนี้
- The running number the seller's own system assigns.
- วันที่
- Issue date, usually in Buddhist years.
- ครบกำหนดชำระ
- The due date, and the field a payables queue sorts on.
- ชื่อและที่อยู่ผู้ซื้อ
- The billed party, with its tax id where VAT applies.
- เลขที่ใบสั่งซื้อ
- The purchase order this invoice answers, where there is one.
- รายการ
- The line items, as a grid of quantity, unit price, and amount.
- ภาษีมูลค่าเพิ่ม
- VAT, printed separately from the value of the goods.
- จำนวนเงินรวมทั้งสิ้น
- The total payable.
- จำนวนเงินเป็นตัวอักษร
- The total spelled out in Thai words, written without spaces.
- บัญชีรับชำระ
- Bank, account name, and account number for the transfer.
No statute fixes this list. It is the shape Thai commercial practice settled on, and the fields move between vendors, which is the argument for reading the page as structure and pulling the values yourself.
Why this one is hard to read#
- The table is the document
- Everything that matters sits in the line-item grid. A reader working down pixel bands fuses those cells into strips, and the values survive while the structure disappears.
- Two numeral systems on one row
- Quantities often print in Thai digits while money prints in Arabic, side by side. Both have to come back as the numbers they are.
- The amount in words has no spaces
- Thai writes the spelled-out total as one unbroken string. Segmenting it and recognising it have to happen in the same pass.
From blocks to fields#
The response is the page in reading order. Ask for markdown when a person or a model reads next, and for structured blocks when your code does. From the blocks an invoice number is the text following its label, and the line items are one table block, which is a few lines of matching and no template to maintain.
- Rate
- 6.5 credits per page
- Per request
- 50 pages, 10 MB, PDF, PNG, JPEG, WEBP
- Free credits
- 100 credits, about 15 pages
Questions#
- How is ใบแจ้งหนี้ different from ใบกำกับภาษี?
- One asks for payment. The other is the VAT document whose particulars the Revenue Code fixes, and its own page covers what the statute requires. A single sheet often serves as both.
- Does it return the fields as JSON keys?
- It returns the page as typed blocks: headings, paragraphs, lists, and tables, in reading order. Field extraction stays yours, which is what keeps one endpoint working on an invoice layout it has never seen.
- What about a multi-page invoice?
- Each page comes back as its own entry, up to the model's ceiling of 50 pages per request. Billing counts pages. A two-page invoice costs twice a one-page invoice.
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.