ERP kernel-v2 — เอกสารระบบ
ระบบ ERP สำหรับ SME ไทย บน Cloudflare Pages Functions + D1 — รองรับหลายบริษัท (multi-tenant), ปลอดภัยด้านการเงิน (ระบบบัญชีคู่/double-entry kernel), 16 โมดูล · 242 ตาราง · 442 API. เอกสารทั้งหมด สร้างจากโค้ดจริง (schema → ER, dispatch → รายการ API) และผังกระบวนการเขียนจากการอ่านโค้ดจริงทุกโมดูล.
diagram-as-code (แผนภาพจากโค้ด)
ทุกแผนภาพคือ Mermaid — เทียบความต่างใน git ได้, สร้างใหม่ได้อัตโนมัติ, ไม่ต้องลากมือ. รูปแสดงขนาดจริง: เลื่อนในกรอบเพื่ออ่าน · ปุ่ม ⛶ = เต็มจอ · ลากมุมล่างขวาปรับขนาด.
สถาปัตยกรรมระบบ
%%{init: {"theme":"base","themeVariables":{"darkMode":true,"background":"#1e1e1e","primaryColor":"#2d2d30","primaryBorderColor":"#569cd6","primaryTextColor":"#d4d4d4","lineColor":"#6796c6","secondaryColor":"#3a3d41","secondaryBorderColor":"#dcdcaa","tertiaryColor":"#252526","tertiaryBorderColor":"#569cd6","clusterBkg":"#252526","clusterBorder":"#569cd6","titleColor":"#569cd6"},"flowchart":{"useMaxWidth":false}}}%%
flowchart TB
CL["Client · POS · Web · Portal · Partner API"] --> GW["Pages Functions<br/>bolt_session JWT auth · company_id tenant scope"]
GW --> MOD["16 module Functions<br/>accounting · sales · purchasing · inventory · pos<br/>claims · crm · mfg · project · hr · marketing · fixed-assets"]
MOD --> K["Kernel — erp_document + erp_journal_entry<br/>atomic double-entry GL + stock subledger"]
MOD --> VA["Channel vault<br/>envelope encryption (per-tenant DEK)"]
VA --> EXT["Shopee · TikTok · Lazada · LINE OA<br/>GBPrimePay · Omise · 2C2P · PromptPay"]
K --> DB[("D1 · boltos-db<br/>242 tables")]
MOD --> DB
โมดูล
| โมดูล | ตาราง | หน้าที่ |
|---|---|---|
| บัญชี (Accounting) | 20 | บัญชีแยกประเภท · ลูกหนี้/เจ้าหนี้ · รับ-จ่ายเงิน · ปิดงวด · งบประมาณ · หัก ณ ที่จ่าย · อัตราแลกเปลี่ยน · กระทบยอดธนาคาร |
| ขาย (Sales) | 16 | ใบเสนอราคา → ใบสั่งขาย → ส่งของ → ใบกำกับ |
| จัดซื้อ (Purchasing) | 31 | ขอซื้อ → ใบสั่งซื้อ → รับของ → ตั้งหนี้ |
| คลังสินค้า (Inventory) | 12 | เคลื่อนไหวสต็อก · ยอดคงเหลือ · ต้นทุนเฉลี่ย · WMS |
| หน้าร้าน (POS) | 15 | กะขาย · ออเดอร์ · เงินสด · เครื่องขาย |
| ประกัน & เคลม (Claims) | 14 | ประกัน · เคลม · RMA · ซ่อม/เปลี่ยน · เคลมคืนผู้ผลิต |
| ลูกค้าสัมพันธ์ (CRM) | 17 | โอกาสขาย · pipeline · แต้มสะสม · ของรางวัล |
| การผลิต (Manufacturing) | 14 | สูตรผลิต (BOM) · ขั้นตอนผลิต · ใบสั่งผลิต · งานระหว่างทำ |
| โครงการ (Project) | 11 | โครงการ · งาน · ลงเวลา · วางบิล |
| บุคคล (HR) | 13 | พนักงาน · ลงเวลา · ลา · เงินเดือน |
| การตลาด (Marketing) | 13 | แคมเปญ · กลุ่มเป้าหมาย · attribution |
| สินทรัพย์ถาวร (Fixed Assets) | 3 | ทะเบียนสินทรัพย์ · ค่าเสื่อม · จำหน่าย |
| แกนกลาง (Core / Kernel) | 63 | บริษัท · คู่ค้า · สินค้า · เอกสาร · สมุดรายวัน · มิติ |
เอกสารนี้ตรงกับโค้ดได้อย่างไร
- แผนภาพ ER →
scripts/gen-erp-erd.mjsอ่านmigrations-v2/*.sql(242 ตาราง, 701 FK) → Mermaid + พจนานุกรมข้อมูล. schema เปลี่ยน = รูปเปลี่ยนเอง. - รายการ API → parse dispatch ของแต่ละโมดูล + ReDoc ฉบับเต็ม (442 ops).
- ผังกระบวนการ → เขียนจากการอ่านโค้ดจริง (dispatch + functions + status enums) และตรวจสอบกับโค้ดแล้ว.
- ธีม = VS Code Dark+; deploy = Cloudflare Pages (฿0).