ภาพรวมระบบผังบัญชี
ผังบัญชี (Chart of Accounts) คือโครงสร้างพื้นฐานของระบบบัญชี — เป็น "พจนานุกรม" ของรหัสบัญชีที่ใช้บันทึกรายการธุรกรรมทั้งหมด
หลักการออกแบบ
| หลักการ | รายละเอียด |
|---|---|
| มาตรฐาน Thai GAAP | ผังบัญชีสอดคล้องกับมาตรฐานการบัญชีไทย ตามที่สภาวิชาชีพบัญชีกำหนด |
| รหัส 4 หลัก | ใช้ระบบรหัส 4 หลัก แบ่งตามหมวดหมู่: 1xxx สินทรัพย์, 2xxx หนี้สิน, 3xxx ทุน, 4xxx รายได้, 5xxx-6xxx ค่าใช้จ่าย |
| Multi-tenant | แต่ละบริษัทมีผังบัญชีเป็นของตัวเอง (unique per companyId) พร้อม RLS |
| Hierarchical | รองรับบัญชี Header (isHeader) สำหรับจัดกลุ่ม และบัญชีลูก (child) สำหรับลงรายการจริง |
| Auto-post Compatible | รหัสบัญชีถูกใช้ใน Auto-posting engine เพื่อสร้าง Journal Entry อัตโนมัติจาก Bills, Invoices, Payroll |
| Tax Engine Integration | รหัสบัญชีถูกใช้ใน CIT Add-back Rules (12 rules) เพื่อตรวจจับรายการที่ต้องบวกกลับทางภาษี |
ระบบจัดกลุ่ม 2 ระดับ (2-Level Classification)
ผังบัญชีของ AccOS Pro ใช้ระบบจัดกลุ่ม 2 ระดับ คือ Account Category (5 หมวด) และ Account Sub-Category (11 กลุ่มย่อย)
Sub-Categories (กลุ่มย่อย 11 ประเภท)
| Sub-Category | ชื่อไทย | ชื่ออังกฤษ | หมวดหลัก | Normal Balance |
|---|---|---|---|---|
current_asset | สินทรัพย์หมุนเวียน | Current Assets | asset | Dr. |
fixed_asset | สินทรัพย์ถาวร | Fixed Assets | asset | Dr. |
other_asset | สินทรัพย์อื่น | Other Assets | asset | Dr. |
current_liability | หนี้สินหมุนเวียน | Current Liabilities | liability | Cr. |
long_term_liability | หนี้สินระยะยาว | Long-term Liabilities | liability | Cr. |
equity | ส่วนของผู้ถือหุ้น | Shareholders' Equity | equity | Cr. |
operating_revenue | รายได้จากการดำเนินงาน | Operating Revenue | revenue | Cr. |
other_revenue | รายได้อื่น | Other Income | revenue | Cr. |
cost_of_sales | ต้นทุนขาย | Cost of Goods Sold | expense | Dr. |
operating_expense | ค่าใช้จ่ายในการดำเนินงาน | Operating Expenses | expense | Dr. |
other_expense | ค่าใช้จ่ายอื่น | Other Expenses | expense | Dr. |
Debit (Dr.) = บวกทางซ้าย — สินทรัพย์และค่าใช้จ่ายเพิ่มเมื่อบวกเดบิต
Credit (Cr.) = บวกทางขวา — หนี้สิน ทุน และรายได้เพิ่มเมื่อบวกเครดิต
หมวดหลัก 5 หมวด
ผังบัญชีแบ่งเป็น 5 หมวดหลัก ตามหลักการบัญชีคู่ (Double-Entry)
สินทรัพย์ (Assets)
ทรัพย์สินที่บริษัทเป็นเจ้าของ — เงินสด ลูกหนี้ สินค้า อาคาร เครื่องจักร
1xxxหนี้สิน (Liabilities)
ภาระผูกพันที่ต้องชำระ — เจ้าหนี้ ภาษีค้างจ่าย เงินกู้
2xxxส่วนของผู้ถือหุ้น (Equity)
เงินลงทุนของเจ้าของ + กำไรสะสม
3xxxรายได้ (Revenue)
เงินที่ได้รับจากการขายสินค้า/บริการ
4xxxค่าใช้จ่าย (Expenses)
ต้นทุน ค่าใช้จ่ายในการดำเนินงาน
5xxxสินทรัพย์ (Assets — 1xxx)
ทรัพย์สินของบริษัท — แบ่งเป็นสินทรัพย์หมุนเวียน (เปลี่ยนเป็นเงินสดได้ภายใน 1 ปี), สินทรัพย์ถาวร (ใช้งานยาว), และสินทรัพย์อื่น
4.1 สินทรัพย์หมุนเวียน (Current Assets — 11xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน | สำคัญ |
|---|---|---|---|---|---|
| 1100 สินทรัพย์หมุนเวียน (Current Assets) — Header | |||||
| 1110 | เงินสดในมือ | Cash on Hand | Dr. | ขายเงินสด, จ่ายเงินสด, Quick Template sale_cash |
★ |
| 1120 | เงินฝากธนาคาร | Bank Deposits | Dr. | โอนเงินเข้า/ออก, Bank Reconciliation | ★ |
| 1130 | ลูกหนี้การค้า | Trade Receivables | Dr. | ขายเชื่อ (AR), Quick Template sale_credit, receive_payment |
★ |
| 1140 | ลูกหนี้อื่น | Other Receivables | Dr. | เงินทดรองจ่าย, Accrued Revenue | |
| 1150 | ภาษีซื้อ | Input VAT | Dr. | Bill ที่มี VAT 7% — นำไปหักภาษีขายใน PP30 | ★ |
| 1160 | ค่าใช้จ่ายจ่ายล่วงหน้า | Prepaid Expenses | Dr. | ค่าเช่า ค่าประกันที่จ่ายล่วงหน้า | |
| 1170 | สินค้าคงเหลือ | Inventory | Dr. | สินค้าในคลัง, Stock Movements | |
4.2 สินทรัพย์ถาวร (Fixed Assets — 15xx-17xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน |
|---|---|---|---|---|
| 1500 สินทรัพย์ถาวร (Fixed Assets) — Header | ||||
| 1610 | อาคารและสิ่งปลูกสร้าง | Buildings | Dr. | ค่าเสื่อมราคา, Fixed Asset Module |
| 1620 | เครื่องจักรและอุปกรณ์ | Machinery & Equipment | Dr. | ค่าเสื่อมราคา |
| 1630 | ยานพาหนะ | Vehicles | Dr. | ค่าเสื่อมราคา, ภาษีรถยนต์ |
| 1640 | เฟอร์นิเจอร์และอุปกรณ์ | Furniture & Fixtures | Dr. | ค่าเสื่อมราคา |
| 1650 | คอมพิวเตอร์และอุปกรณ์ IT | Computer & IT Equipment | Dr. | ค่าเสื่อมราคา |
| 1710 | ค่าเสื่อมราคาสะสม | Accumulated Depreciation | Cr. | Contra-asset — บันทึกค่าเสื่อมสะสม, Quick Template depreciation |
4.3 สินทรัพย์อื่น (Other Assets — 18xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน |
|---|---|---|---|---|
| 1800 สินทรัพย์อื่น (Other Assets) — Header | ||||
| 1810 | เงินมัดจำ | Deposits | Dr. | เงินมัดจำค่าเช่า ค่าสาธารณูปโภค |
หนี้สิน (Liabilities — 2xxx)
ภาระผูกพันทางการเงินของบริษัท — แบ่งเป็นหนี้สินหมุนเวียน (ครบกำหนดภายใน 1 ปี) และหนี้สินระยะยาว
5.1 หนี้สินหมุนเวียน (Current Liabilities — 21xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน | สำคัญ |
|---|---|---|---|---|---|
| 2100 หนี้สินหมุนเวียน (Current Liabilities) — Header | |||||
| 2110 | เจ้าหนี้การค้า | Trade Payables | Cr. | Bill ซื้อเชื่อ, Quick Template expense_credit, pay_bill |
★ |
| 2120 | ค่าใช้จ่ายค้างจ่าย | Accrued Expenses | Cr. | ค่าน้ำ ค่าไฟ ค่าแรง ค้างจ่าย (Period-End Adjustment) | ★ |
| 2130 | ภาษีเงินได้หัก ณ ที่จ่ายค้างนำส่ง | WHT Payable | Cr. | WHT จาก Bills + Payroll → ยื่น PND1/3/53 | ★ |
| 2140 | ภาษีขาย | Output VAT | Cr. | Invoice ขาย VAT 7% → ยื่น PP30 | ★ |
| 2150 | ภาษีเงินได้นิติบุคคลค้างจ่าย | CIT Payable | Cr. | ภาษีเงินได้นิติบุคคลค้างจ่าย (PP36/Por40) | |
| 2160 | เงินรับล่วงหน้า | Unearned Revenue | Cr. | เงินที่ลูกค้าจ่ายล่วงหน้า ยังไม่ได้ทำงาน | |
5.2 หนี้สินระยะยาว (Long-term Liabilities — 25xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน |
|---|---|---|---|---|
| 2500 หนี้สินระยะยาว (Long-term Liabilities) — Header | ||||
| 2510 | เงินกู้ยืมระยะยาว | Long-term Loans | Cr. | เงินกู้จากธนาคาร/สถาบันการเงิน → Cash Flow (Financing) |
ส่วนของผู้ถือหุ้น (Equity — 3xxx)
เงินลงทุนของเจ้าของ + กำไรสะสม — ยอดคงเหลือของบัญชี 3030 (กำไรสะสม) จะถูกปรับปรุงโดย Closing Entries
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | ใช้ใน |
|---|---|---|---|---|
| 3000 ส่วนของผู้ถือหุ้น (Shareholders' Equity) — Header | ||||
| 3010 | ทุนเรือนหุ้น | Share Capital | Cr. | ทุนจดทะเบียนบริษัท |
| 3020 | ส่วนเกินมูลค่าหุ้น | Share Premium | Cr. | ส่วนเกินจากการขายหุ้น |
| 3030 | กำไรสะสม | Retained Earnings | Cr. | กำไรที่สะสมจากปีก่อนๆ — ถูกปรับโดย Closing Entries (generateClosingEntries()) |
| 3040 | กำไร(ขาดทุน)สุทธิงวดนี้ | Current Period P&L | Cr. | ผลประกอบการงวดปัจจุบัน |
generateClosingEntries() ใน packages/shared/src/accounting/closing-engine.ts• ปิดรายได้: Dr. รายได้ทั้งหมด (4xxx) → Cr. กำไรสะสม (3030)
• ปิดค่าใช้จ่าย: Dr. กำไรสะสม (3030) → Cr. ค่าใช้จ่ายทั้งหมด (5xxx)
• ยอดคงเหลือใน 3030 = กำไรสุทธิของงวดนั้น
รายได้ (Revenue — 4xxx)
รายได้จากการขายสินค้า/บริการ — แบ่งเป็นรายได้จากการดำเนินงาน (operating) และรายได้อื่น (other)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Sub-Cat. | Normal Bal. | ใช้ใน |
|---|---|---|---|---|---|
| 4000 รายได้ (Revenue) — Header | |||||
| 4010 | รายได้จากการขายสินค้า | Sales Revenue | operating_revenue | Cr. | Quick Template sale_cash, Invoice ขายสินค้า VAT 7% |
| 4020 | รายได้ค่าบริการ | Service Revenue | operating_revenue | Cr. | Quick Template sale_credit, Invoice ค่าบริการ VAT 7% |
| 4900 รายได้อื่น (Other Income) — Header | |||||
| 4910 | ดอกเบี้ยรับ | Interest Income | other_revenue | Cr. | ดอกเบี้ยเงินฝาก, WHT 1% (ไม่มี VAT) |
| 4920 | กำไรจากการขายสินทรัพย์ | Gain on Asset Disposal | other_revenue | Cr. | กำไรจากการจำหน่ายสินทรัพย์ |
รายได้ = ผลรวมเครดิต (Credit) ของบัญชี 4xxx ลบ ผลรวมเดบิต (Debit) ในงวดนั้น
revenue = Σ(credit) − Σ(debit) ของ account.category === 'revenue'
ค่าใช้จ่าย (Expenses — 5xxx)
ต้นทุนขาย ค่าใช้จ่ายในการขาย ค่าใช้จ่ายในการบริหาร และค่าใช้จ่ายอื่น — เป็นหมวดที่ใหญ่ที่สุดในผังบัญชี
8.1 ต้นทุนขาย (Cost of Sales — 50xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | CIT Add-back? |
|---|---|---|---|---|
| 5000 ต้นทุนขาย (Cost of Goods Sold) — Header | ||||
| 5010 | ต้นทุนสินค้าที่ขาย | COGS | Dr. | — |
8.2 ค่าใช้จ่ายในการขาย (Selling Expenses — 51xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | CIT Add-back? |
|---|---|---|---|---|
| 5100 ค่าใช้จ่ายในการขาย (Selling Expenses) — Header | ||||
| 5110 | เงินเดือนและค่าแรง | Salaries & Wages | Dr. | — |
| 5120 | ค่าโฆษณาและการตลาด | Advertising & Marketing | Dr. | — |
| 5130 | ค่าขนส่ง | Delivery Expenses | Dr. | — |
8.3 ค่าใช้จ่ายในการบริหาร (Administrative Expenses — 52xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | CIT Add-back? |
|---|---|---|---|---|
| 5200 ค่าใช้จ่ายในการบริหาร (Administrative Expenses) — Header | ||||
| 5210 | ค่าเสื่อมราคา | Depreciation | Dr. | ใช่ — AB-DEP-EXCESS |
| 5220 | ค่าสาธารณูปโภค | Utilities | Dr. | — |
| 5230 | ค่าเช่าสำนักงาน | Office Rent | Dr. | — |
| 5240 | ค่าโทรศัพท์และอินเทอร์เน็ต | Telephone & Internet | Dr. | — |
| 5250 | ค่าวัสดุสิ้นเปลือง | Office Supplies | Dr. | — |
| 5260 | ค่าประกันภัย | Insurance | Dr. | — |
| 5270 | ค่าจ้างที่ปรึกษาและบริการ | Professional Fees | Dr. | — |
| 5280 | ค่ารับรอง | Entertainment | Dr. | ใช่ — AB-ENTERTAINMENT (หักได้ไม่เกิน 0.1% รายได้ หรือ 10 ล้าน) |
| 5290 | ค่าใช้จ่ายเบ็ดเตล็ด | Miscellaneous | Dr. | — |
8.4 ค่าใช้จ่ายอื่น (Other Expenses — 59xx)
| รหัส | ชื่อบัญชี | ชื่ออังกฤษ | Normal Bal. | CIT Add-back? |
|---|---|---|---|---|
| 5900 ค่าใช้จ่ายอื่น (Other Expenses) — Header | ||||
| 5910 | ดอกเบี้ยจ่าย | Interest Expense | Dr. | ใช่ — AB-INTEREST-EXCESS |
| 5920 | ขาดทุนจากการขายสินทรัพย์ | Loss on Asset Disposal | Dr. | ใช่ — AB-LOSS-SALE |
| 5930 | ภาษีเงินได้นิติบุคคล | Corporate Income Tax | Dr. | — |
ผังบัญชีกับงบการเงิน
รหัสบัญชีแต่ละตัวถูกนำไปใช้ในงบการเงินแต่ละฉบับอย่างไร — ขึ้นอยู่กับ Account Category และ Sub-Category
งบดุล (Balance Sheet)
| หมวดในงบ | Account Category | Account Sub-Category | รหัสบัญชี | สมการ |
|---|---|---|---|---|
| สินทรัพย์หมุนเวียน | asset | current_asset | 1110-1170 | Assets = Σ(Dr-Cr) |
| สินทรัพย์ถาวร | asset | fixed_asset | 1610-1710 | |
| สินทรัพย์อื่น | asset | other_asset | 1810 | |
| หนี้สินหมุนเวียน | liability | current_liability | 2110-2160 | Liabilities = Σ(Cr-Dr) |
| หนี้สินระยะยาว | liability | long_term_liability | 2510 | |
| ส่วนของผู้ถือหุ้น | equity | equity | 3010-3040 | Equity = Σ(Cr-Dr) |
งบกำไรขาดทุน (Income Statement / P&L)
| รายการในงบ | Account Category | Account Sub-Category | รหัสบัญชี | วิธีคำนวณ |
|---|---|---|---|---|
| รายได้ขายสินค้า | revenue | operating_revenue | 4010, 4020 | Cr − Dr |
| ต้นทุนขาย | expense | cost_of_sales | 5010 | Dr − Cr |
| กำไรขั้นต้น | — | — | — | รายได้ − ต้นทุนขาย |
| ค่าใช้จ่ายขาย | expense | operating_expense | 5110-5130 | Dr − Cr |
| ค่าใช้จ่ายบริหาร | expense | operating_expense | 5210-5290 | Dr − Cr |
| รายได้อื่น | revenue | other_revenue | 4910, 4920 | Cr − Dr |
| ค่าใช้จ่ายอื่น | expense | other_expense | 5910-5930 | Dr − Cr |
| กำไรสุทธิ | — | — | — | รายได้ทั้งหมด − ค่าใช้จ่ายทั้งหมด |
งบกระแสเงินสด (Cash Flow Statement)
| กิจกรรม | Account Sub-Category | ตัวอย่างบัญชี |
|---|---|---|
| กิจกรรมดำเนินงาน (Operating) | current_asset, current_liability, operating_revenue, operating_expense, cost_of_sales, other_revenue, other_expense | 1110-1170, 2110-2160, 4xxx, 5xxx |
| กิจกรรมลงทุน (Investing) | fixed_asset, other_asset | 1500-1810 (ซื้อ/ขายสินทรัพย์) |
| กิจกรรมจัดหาเงิน (Financing) | long_term_liability, equity | 2510 (เงินกู้), 3010 (ทุน) |
CIT Add-back Rules & รหัสบัญชี
กฎการบวกกลับสำหรับคำนวณกำไรทางภาษี (CIT) — ระบบตรวจจับอัตโนมัติจากรหัสบัญชีใน Journal Lines
| Rule ID | รายการ | รหัสบัญชีที่ตรวจจับ | Auto? | กฎหมาย |
|---|---|---|---|---|
AB-ENTERTAINMENT |
ค่ารับรอง/เลี้ยงรับรอง | 5280 ค่ารับรอง | ✅ Auto | มาตรา 65 ตรี (4) |
AB-PROVISIONS |
ค่าเผื่อ/เงินสำรอง | 5xxx (detect pattern) | ✅ Auto | มาตรา 65 |
AB-PENALTY |
ค่าปรับและเบี้ยปรับ | 5xxx (detect pattern) | ✅ Auto | มาตรา 65 ตรี (6) |
AB-LOSS-SALE |
ขาดทุนจากการขายสินทรัพย์ | 5920 ขาดทุนจากการขายสินทรัพย์ | ✅ Auto | มาตรา 18 ตรี |
AB-DEP-EXCESS |
ค่าเสื่อมราคาเกินอัตราที่กฎหมายกำหนด | 16xx + 5210 | Manual | มาตรา 18 ตรี |
AB-INTEREST-EXCESS |
ดอกเบี้ยจ่ายเกินอัตราส่วนทุน | 5910 ดอกเบี้ยจ่าย | Manual | มาตรา 65 ตรี (5) |
detectAdjustments(journalLineData) ใน cit-rules.ts เปรียบเทียบ account.code กับ accountPatterns ในแต่ละ Rule → ถ้า match → บวกกลับอัตโนมัติ
COA Presets — 10 แบบสำเร็จรูป
ผังบัญชีสำเร็จรูป 10 แบบ ตามประเภทธุรกิจ — แต่ละแบบรวม Base Accounts (บัญชีพื้นฐานที่ทุกธุรกิจต้องมี) + Industry Accounts (บัญชีเฉพาะทาง)
ธุรกิจทั่วไป
ค้าส่ง/ค้าปลีก
ผลิตสินค้า
ให้บริการ
ร้านอาหาร/เบเกอรี่
โรงแรม/รีสอร์ท
ก่อสร้าง/รับเหมา
อสังหาริมทรัพย์
เกษตรกรรม
ขนส่ง/โลจิสติกส์
เมื่อสร้างบริษัทใหม่ ระบบจะถามว่าเป็นธุรกิจประเภทไหน → เลือก preset → ระบบจะสร้างผังบัญชี Base Accounts (บัญชีพื้นฐาน 36 บัญชี) + Industry Accounts (บัญชีเฉพาะทาง) ให้อัตโนมัติ
Source: packages/shared/src/fixtures/coa-presets.ts — ALL_PRESETS
โครงสร้าง Database (Schema)
ตาราง accounts ใน PostgreSQL ผ่าน Drizzle ORM
company_id) ไม่สามารถเห็นบัญชีของบริษัทอื่นได้
Quick Reference — รหัสบัญชีที่ใช้บ่อย
สรุปรหัสบัญชีที่ใช้ในการทำธุรกรรมประจำวัน — อ้างอิงจาก Quick Templates และ Auto-posting
เงินสดและธนาคาร
| รหัส | ชื่อบัญชี | ใช้ทำอะไร | Quick Template |
|---|---|---|---|
| 1110 | เงินสดในมือ | รับเงินสด จ่ายเงินสด | sale_cash, expense_cash |
| 1120 | เงินฝากธนาคาร | โอนเงินเข้า/ออก, Bank Reconciliation | receive_payment, pay_bill |
ลูกหนี้และเจ้าหนี้
| รหัส | ชื่อบัญชี | ใช้ทำอะไร | Quick Template |
|---|---|---|---|
| 1130 | ลูกหนี้การค้า | ขายเชื่อ, ตัดลูกหนี้เมื่อรับเงิน | sale_credit, receive_payment |
| 2110 | เจ้าหนี้การค้า | ซื้อเชื่อ, ตัดเจ้าหนี้เมื่อจ่ายเงิน | expense_credit, pay_bill |
ภาษี
| รหัส | ชื่อบัญชี | ใช้ทำอะไร | แบบภาษี |
|---|---|---|---|
| 1150 | ภาษีซื้อ (Input VAT) | Bill ที่มี VAT 7% (ฝั่งซื้อ) | PP30 (หักออก) |
| 2140 | ภาษีขาย (Output VAT) | Invoice ที่มี VAT 7% (ฝั่งขาย) | PP30 (นำส่ง) |
| 2130 | ภาษีหัก ณ ที่จ่ายค้างนำส่ง | WHT จาก Bills + Payroll | PND1/3/53 |
| 2150 | ภาษีเงินได้นิติบุคคลค้างจ่าย | CIT จาก PP36/Por40 | PP36/Por40 |
รายได้และค่าใช้จ่ายหลัก
| รหัส | ชื่อบัญชี | ใช้ทำอะไร | Quick Template |
|---|---|---|---|
| 4010 | รายได้จากการขายสินค้า | บันทึกรายได้ขายสินค้า | sale_cash |
| 4020 | รายได้ค่าบริการ | บันทึกรายได้ค่าบริการ | sale_credit |
| 5110 | เงินเดือนและค่าแรง | บันทึกเงินเดือนพนักงาน | salary |
| 5230 | ค่าเช่าสำนักงาน | บันทึกค่าเช่า | rent |
| 5220 | ค่าสาธารณูปโภค | ค่าน้ำ ค่าไฟ | utility |
| 5280 | ค่ารับรอง | ค่าเลี้ยง ค่ารับรอง (CIT add-back!) | — |
| 5210 | ค่าเสื่อมราคา | ค่าเสื่อมสินทรัพย์ถาวร | depreciation |
| 5930 | ภาษีเงินได้นิติบุคคล | บันทึก CIT | — |