1. สร้างโทเคนในโปรแกรม
ผู้ดูแลสร้างโทเคน เลือกสิทธิ์อ่านอย่างเดียวหรืออ่าน-เขียน และระบุบริษัทที่เข้าถึงได้
สำหรับนักพัฒนา — REST API + MCP
ทุกฟังก์ชันในโปรแกรมมี REST API ให้ระบบของคุณเรียกใช้ และมี MCP endpoint สำหรับบัญชีแยกประเภทและสินทรัพย์ถาวร ให้ผู้ช่วย AI ที่รองรับ MCP ทำงานกับข้อมูลบัญชีได้ตามสิทธิ์ของโทเคนที่ผู้ดูแลกำหนด
เชื่อมผู้ช่วย AI กับข้อมูลบัญชีผ่าน MCP
ภาพรวมสำหรับเจ้าของกิจการและนักบัญชี: ผู้ช่วย AI ทำอะไรได้บ้าง การกำหนดสิทธิ์โทเคน และข้อจำกัดที่ควรรู้
gl_list ค้นรายการบัญชี สมุดรายวัน และข้อมูลหลัก (แบ่งหน้า)
gl_get เปิดดูรายการทีละรายการตาม ID
gl_report ดึงรายงาน เช่น งบทดลอง งบกำไรขาดทุน งบฐานะการเงิน
gl_command สั่งงานบัญชี (เฉพาะโทเคนอ่าน-เขียน)
MCP — เชื่อมผู้ช่วย AI
BC Ai Account มี MCP (Model Context Protocol) endpoint ให้ผู้ช่วย AI และเครื่องมือนักพัฒนาที่รองรับ MCP เรียกใช้เครื่องมือบัญชีแยกประเภทได้ โดยผู้ดูแลเป็นผู้สร้างโทเคนและกำหนดสิทธิ์ในโปรแกรม
ผู้ดูแลสร้างโทเคน เลือกสิทธิ์อ่านอย่างเดียวหรืออ่าน-เขียน และระบุบริษัทที่เข้าถึงได้
ใส่ที่อยู่ MCP endpoint และโทเคนในผู้ช่วย AI หรือเครื่องมือที่รองรับ MCP แบบเชื่อมผ่าน HTTP
"ขอดูงบทดลอง ณ สิ้นเดือน" "ลูกหนี้รายไหนยังค้างชำระ" — ผู้ช่วย AI เรียกได้เฉพาะเครื่องมือที่โทเคนอนุญาต
เจ้าของกิจการ / นักบัญชี
ถามยอดบัญชี เปิดดูรายการ และดึงงบทดลองหรืองบการเงินมาสรุปเป็นภาษาที่อ่านง่าย
สำหรับนักพัฒนา
ใช้ MCP ร่วมกับ REST API เพื่อสำรวจข้อมูลบัญชีและทดสอบการเชื่อมต่อระหว่างพัฒนา
แนะนำเริ่มต้น
ค้นรายการ เปิดดู และดึงรายงานได้ ขอข้อมูลหลายบริษัทพร้อมกันได้ โดยยอดแต่ละบริษัทแสดงแยกกัน ไม่รวมเป็นงบการเงินรวม
ควบคุมโดยผู้ดูแล
สั่งงานบัญชีได้ทีละบริษัท ทุกการบันทึกผ่านการตรวจความถูกต้องเดียวกับหน้าจอ เช่น เดบิตต้องเท่ากับเครดิต
เรียกเครื่องมือ gl_report (งบทดลอง) ของบริษัท A ณ วันที่ 30 ก.ย. แล้วสรุปให้
สิ่งที่ได้:
ตัวอย่างประกอบ — ผลลัพธ์จริงขึ้นกับข้อมูลในระบบและสิทธิ์ของโทเคน
ระบบที่เชื่อมต่อได้
ทุกฟังก์ชันในโปรแกรมมี REST API เลือกเชื่อมเฉพาะระบบงานที่ระบบของคุณต้องใช้
ผังบัญชี สมุดรายวัน งบการเงิน รายงานภาษี
บันทึกและผ่านรายการบัญชี ดึงงบทดลอง งบการเงิน รายงานภาษีซื้อ/ภาษีขาย และรายงานภาษีหัก ณ ที่จ่าย
ใบเสนอราคา ใบสั่งขาย ใบกำกับภาษี รับชำระ
สร้างเอกสารขายตั้งแต่ใบเสนอราคาถึงใบกำกับภาษี ออกใบวางบิลและใบเสร็จรับเงิน ติดตามยอดค้างชำระ
ใบเสนอซื้อ ใบสั่งซื้อ รับสินค้า จ่ายชำระ
เชื่อมขั้นตอนจัดซื้อตั้งแต่ใบเสนอซื้อ ใบสั่งซื้อ รับสินค้า ตั้งหนี้ จนถึงจ่ายชำระเจ้าหนี้
หลายคลัง รับเข้า เบิก รับคืน
ดูยอดคงเหลือตามสินค้าและคลัง บันทึกรับเข้า เบิกใช้ และรับคืน โดยสต็อกปรับยอดตามสินค้าและคลังพร้อมต้นทุนถัวเฉลี่ย
เช็ค บัตรเครดิต สมุดเงินฝาก เงินสดย่อย
บันทึกรับ-จ่ายเงิน วงจรเช็ครับ/เช็คจ่าย ฝาก ถอน โอนระหว่างบัญชี และวงเงินสดย่อย
ทะเบียนสินทรัพย์ ค่าเสื่อมราคา
จัดการทะเบียนสินทรัพย์ ประมวลผลค่าเสื่อมราคาและโอนเข้าบัญชีแยกประเภท ดูตารางค่าเสื่อมราคา
ตัวอย่างโค้ด
MCP ใช้ JSON-RPC ผ่าน HTTP — แทน MCP_URL ด้วยที่อยู่ MCP endpoint ของระบบคุณ และ MCP_TOKEN ด้วยโทเคนที่สร้างในโปรแกรม (เก็บโทเคนไว้ในตัวแปรสภาพแวดล้อม ไม่เขียนลงในโค้ด)
// ขอรายการเครื่องมือ MCP ที่โทเคนนี้ใช้ได้
const response = await fetch(process.env.MCP_URL, {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MCP_TOKEN}`,
'Content-Type': 'application/json',
'Accept': 'application/json, text/event-stream',
},
body: JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'tools/list' }),
});
const result = await response.json();
console.log(result.result.tools.map((tool) => tool.name));
// => [ 'gl_list', 'gl_get', 'gl_report' ] (โทเคนอ่านอย่างเดียว)
# ดึงงบทดลองของบริษัทเดียว ณ วันที่กำหนด
import os
import requests
response = requests.post(
os.environ["MCP_URL"],
headers={
"Authorization": f"Bearer {os.environ['MCP_TOKEN']}",
"Accept": "application/json, text/event-stream",
},
json={
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "gl_report",
"arguments": {
"companyCode": "รหัสบริษัท",
"report": "trialbalance",
"query": {"to": "2026-09-30"},
},
},
},
)
print(response.json()["result"])
<?php
// ทดสอบการเชื่อมต่อด้วยคำสั่ง initialize ของ MCP
$ch = curl_init(getenv('MCP_URL'));
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MCP_TOKEN'),
'Content-Type: application/json',
'Accept: application/json, text/event-stream',
],
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'initialize',
'params' => ['protocolVersion' => '2025-11-25'],
]),
]);
$result = json_decode(curl_exec($ch), true);
echo $result['result']['serverInfo']['name'];
ตัวอย่างผลลัพธ์ (ย่อ) — tools/list ด้วยโทเคนอ่านอย่างเดียว
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{ "name": "gl_list", "description": "…" },
{ "name": "gl_get", "description": "…" },
{ "name": "gl_report", "description": "…" }
]
}
}
MCP Tools — บัญชีแยกประเภท
เครื่องมือที่เห็นขึ้นกับสิทธิ์ของโทเคน: โทเคนอ่านอย่างเดียวเห็น gl_list, gl_get และ gl_report ส่วนโทเคนอ่าน-เขียนเห็น gl_command เพิ่ม
companyCode สำหรับบริษัทเดียว หรือ companyCodes เพื่ออ่านหลายบริษัท (เฉพาะโทเคนอ่านอย่างเดียว)Authorization: Bearer ตามด้วยโทเคนAccept ต้องมีทั้ง application/json และ text/event-stream{
"mcpServers": {
"bc-ai-account-gl": {
"type": "http",
"url": "MCP_URL",
"headers": {
"Authorization": "Bearer MCP_TOKEN"
}
}
}
}
โครงสร้างข้อมูล
ข้อมูลแยกตามกลุ่มกิจการ บริษัท และสาขา หน้าจอโปรแกรมรองรับภาษาไทยและภาษาอังกฤษ
ข้อมูลทั้งหมดอยู่ภายใต้กลุ่มกิจการ (Holding) ซึ่งมีได้หลายบริษัท และแต่ละบริษัทมีได้หลายสาขา
ผังบัญชีหลายระดับ กลุ่มผังบัญชี สมุดรายวันที่กำหนดเอง ปีบัญชี และงวดบัญชี
ทะเบียนลูกหนี้/เจ้าหนี้ เอกสารขาย เอกสารซื้อ และการรับ-จ่ายชำระ เชื่อมกับบัญชีแยกประเภท
ข้อมูลสินค้า บาร์โค้ดต่อสินค้า/หน่วย กลุ่ม ยี่ห้อ และหลายคลัง
Architecture & Reference
ระบบหลังบ้านพัฒนาด้วยภาษา Go และใช้ฐานข้อมูล PostgreSQL
การบันทึกบัญชีแต่ละครั้งสำเร็จทั้งชุดหรือไม่บันทึกเลย ไม่มีรายการค้างครึ่งทาง
สิทธิ์รายเมนูและขอบเขตบริษัท/สาขาถูกตรวจทุกครั้งที่เรียกใช้งาน ทั้งจากหน้าจอและ API
ระบบของคุณ / ผู้ช่วย AI → REST API หรือ MCP → ตรวจสิทธิ์ → ตรวจความถูกต้อง → บันทึกลงฐานข้อมูล
การบันทึกผ่าน MCP ใช้กฎตรวจความถูกต้องชุดเดียวกับหน้าจอ
| report | รายงาน |
|---|---|
ledger | บัญชีแยกประเภท |
trialbalance | งบทดลอง |
pnl | งบกำไรขาดทุน |
balancesheet | งบฐานะการเงิน |
ar-outstanding | ยอดคงค้างลูกหนี้ |
ap-outstanding | ยอดคงค้างเจ้าหนี้ |
bank-unmatched | รายการ Statement ธนาคารที่ยังไม่จับคู่ |
ระบุวันที่ ณ วันสิ้นสุดของรายงานด้วย query.to
| booktype | ความหมาย |
|---|---|
1 | สมุดรายวันทั่วไป |
2 | สมุดรายวันจ่าย |
3 | สมุดรายวันรับ |
4 | สมุดรายวันขาย |
5 | สมุดรายวันซื้อ |
6 | ยอดยกมา |
สมุดรายวันที่ถูกใช้แล้วลบไม่ได้ ให้ปิดใช้งานแทน และเปลี่ยนรหัสหรือประเภทไม่ได้
requestid แบบ UUID ที่ไม่ซ้ำversion ล่าสุด เพื่อกันเขียนทับข้อมูลที่ผู้อื่นแก้ไปแล้วsource_type, source_system และ source_record_id เพื่อกันนำเข้าเอกสารต้นทางซ้ำบรรทัดบัญชีของรายการที่ผ่านรายการแล้วแก้ทับไม่ได้
| ข้อมูล | ความยาวสูงสุด |
|---|---|
| เลขที่เอกสาร | 30 ตัวอักษร |
| รหัสบัญชี | 20 ตัวอักษร |
| รหัสสมุดรายวัน | 15 ตัวอักษร |
ใช้อักษรไทย สระ วรรณยุกต์ ตัวเลข และ _ . - / # ( ) : ได้ แต่ห้ามมีช่องว่าง
"1250.50" ไม่ใช้ตัวเลขทศนิยมแบบ floatทุกฟังก์ชันในโปรแกรมมี REST API ทั้งงานบัญชี ภาษี ซื้อ ขาย ลูกหนี้ เจ้าหนี้ เงินสดและธนาคาร คลังสินค้า และสินทรัพย์ถาวร
สอบถามเอกสาร API และวิธียืนยันตัวตนสำหรับระบบภายนอกได้จากทีมพัฒนา
ต้นทุนสินค้าคำนวณแบบถัวเฉลี่ย (weighted average) อย่างเดียว
REST API รับส่งข้อมูล JSON และ MCP ตามมาตรฐานเปิด ใช้ได้กับทุกภาษาโปรแกรม
รายการบัญชีที่ส่งผ่าน MCP ผ่านการตรวจความถูกต้องเดียวกับการบันทึกบนหน้าจอ
เริ่มด้วยโทเคนอ่านอย่างเดียว ระบุเฉพาะบริษัทที่ต้องใช้ แล้วค่อยขยายสิทธิ์เมื่อจำเป็น
ผู้ช่วย AI ที่รองรับ MCP ทำงานกับบัญชีแยกประเภทได้ตามสิทธิ์ของโทเคน
ตัวอย่างการใช้งาน
แนวทางเชื่อมระบบที่มีอยู่ของคุณกับ BC Ai Account ผ่าน REST API และ MCP
ส่งรายการบัญชีจากระบบเดิมเข้าเป็นรายการรายวัน ระบุแหล่งที่มากันนำเข้าซ้ำ แล้วให้นักบัญชีตรวจและผ่านรายการเอง
ผู้บริหารถามงบกำไรขาดทุนหรือยอดลูกหนี้ค้างชำระผ่านผู้ช่วย AI โดยใช้โทเคนอ่านอย่างเดียว
ดึงยอดคงเหลือตามสินค้าและคลังจาก BC Ai Account ไปแสดงในระบบภายในผ่าน REST API
สร้างหน้าจอของคุณเอง แล้วส่งเอกสารขายเข้า BC Ai Account ผ่าน REST API
สอบถามทีมพัฒนาเพื่อรับเอกสาร API ที่อยู่ MCP endpoint และคำแนะนำการตั้งสิทธิ์โทเคนสำหรับกิจการของคุณ