Reference
Role & Permissions

Role & Permissions — การจัดการสิทธิ์ใน ERPNext Accounting

ภาพรวมระบบ Permission ของ ERPNext

ERPNext ใช้ Role-Based Access Control (RBAC) — กำหนด permission ที่ Role ไม่ใช่ที่ User โดยตรง
User 1 คนสามารถมีได้หลาย Role และระบบจะรวม permission จากทุก Role ให้อัตโนมัติ

Permission แต่ละอย่างมี 3 ระดับ:

  • Role Level — Role นี้ทำอะไรกับ DocType นี้ได้บ้าง
  • Document Level — User เห็นเฉพาะ document ที่ตัวเองเกี่ยวข้องหรือไม่
  • Field Level — Field บางอย่างใน document ซ่อนหรือล็อกตาม Role

Roles หลักที่ใช้ใน Accounting Module

1. Accounts Manager

คือใคร: หัวหน้าฝ่ายบัญชี / CFO / ผู้จัดการการเงิน

สิทธิ์ทำได้
Read / Write / CreateSales Invoice, Purchase Invoice, Payment Entry, Journal Entry ทั้งหมด
Submit / Cancel / Amendทุก Accounting document
SetupChart of Accounts, Tax Config, Payment Terms, Company Settings
Reportsรายงานการเงินทั้งหมด — GL, P&L, Balance Sheet, AR/AP Aging
WHTWHT Certificate, Tax Withholding Category
Period Closingสามารถทำ Period Closing Voucher
⚠️

Role นี้เห็นและแก้ไขได้ทุกอย่าง — ควรให้แค่ผู้จัดการขึ้นไปเท่านั้น

2. Accounts User

คือใคร: เจ้าหน้าที่บัญชี ที่ทำ transaction รายวัน

DocumentReadWriteCreateSubmitCancel
Sales Invoice
Purchase Invoice
Payment Entry
Journal Entry
Chart of Accounts
Tax Configuration
WHT Certificate
Financial Reports

Cancel และ Amend — ต้องให้ Accounts Manager ทำเท่านั้น

3. Finance Manager

คือใคร: ผู้จัดการการเงิน ที่ approve payment แต่ไม่ได้ key ข้อมูลเอง

DocumentReadSubmitCancelหมายเหตุ
Payment Entryอนุมัติการจ่ายเงิน
Sales Invoiceดูได้อย่างเดียว
Purchase Invoiceดูได้อย่างเดียว
Financial Reportsรายงานทั้งหมด

4. Purchase User / Purchase Manager

คือใคร: ฝ่ายจัดซื้อ — ทำ PO แต่ไม่ได้ทำบัญชี

Documentสิทธิ์
Purchase OrderRead / Write / Create / Submit
Purchase ReceiptRead / Write / Create / Submit
Purchase InvoiceRead เท่านั้น — ไม่ Create
Payment Entry❌ ไม่มีสิทธิ์
Chart of Accounts

Accounts User จะ Create Purchase Invoice จาก PO ที่ Purchase User ทำไว้

5. Sales User / Sales Manager

คือใคร: ฝ่ายขาย — ทำ Quotation, Sales Order

Documentสิทธิ์
Quotation / Sales OrderRead / Write / Create / Submit
Delivery NoteRead / Write / Create / Submit
Sales InvoiceRead เท่านั้น — ไม่ Create
Payment Entry❌ ไม่มีสิทธิ์

Accounts User จะ Create Sales Invoice จาก Sales Order ที่ Sales User ทำไว้

6. Auditor

คือใคร: ผู้ตรวจสอบบัญชี ภายในหรือภายนอก

Documentสิทธิ์
ทุก Accounting DocumentRead เท่านั้น
Financial Reports✅ ดูได้ทั้งหมด
General Ledger
WHT CertificateRead เท่านั้น
🚫

ห้าม Write / Submit / Cancel ทุกกรณี

Permission Matrix สรุปภาพรวม

DocumentAccounts ManagerAccounts UserFinance ManagerPurchase UserSales UserAuditor
Chart of Accounts✅ Full👁 Read👁 Read👁 Read
Company Setting✅ Full
Tax Configuration✅ Full👁 Read👁 Read
Payment Terms✅ Full👁 Read
Sales Invoice✅ Full✍ Create/Submit👁 Read👁 Read👁 Read
Purchase Invoice✅ Full✍ Create/Submit👁 Read👁 Read👁 Read
Payment Entry✅ Full✍ Create/Submit✅ Full👁 Read
Journal Entry✅ Full✍ Create only👁 Read
WHT Certificate✅ Full✍ Create/Submit👁 Read👁 Read
Financial Reports✅ Full✅ Full✅ Full✅ Full
General Ledger✅ Full✅ Full✅ Full✅ Full

Legend: ✅ Full = Read/Write/Create/Submit/Cancel | ✍ = Create/Submit ไม่ Cancel | 👁 = Read only | ❌ = ไม่มีสิทธิ์

Role Profiles ที่แนะนำ

Profile NameRoles ที่รวมใช้กับใคร
Finance StaffAccounts User, Employeeเจ้าหน้าที่บัญชีทั่วไป
Finance LeadAccounts Manager, Accounts User, Employeeหัวหน้าบัญชี
Procurement StaffPurchase User, Employeeเจ้าหน้าที่จัดซื้อ
Procurement LeadPurchase Manager, Purchase User, Employeeหัวหน้าจัดซื้อ
Sales StaffSales User, Employeeพนักงานขาย
Sales LeadSales Manager, Sales User, Employeeหัวหน้าขาย
Read-Only AuditorAuditorผู้ตรวจสอบ

การตั้งค่า Permission ใน ERPNext

วิธี Assign Role ให้ User

  1. ไปที่ Settings > Users → เลือก User
  2. Tab Roles → Add Row → เลือก Role
  3. กด Save

วิธี Assign Role Profile

  1. เปิด User
  2. Tab Role Profiles → เลือก Profile
  3. ระบบ assign ทุก Role ใน Profile ให้อัตโนมัติ → Save

วิธีตรวจสอบ Permission ของ Role

  1. ไปที่ Settings > Users and Permissions > Role Permissions Manager
  2. เลือก Document Type (เช่น Payment Entry)
  3. ระบบแสดงทุก Role และสิทธิ์แต่ละอย่าง

Common Mistakes เรื่อง Permissions

ปัญหาสาเหตุวิธีแก้
User submit Invoice ไม่ได้Role ไม่มีสิทธิ์ Submitตรวจสอบ Role Permission Manager — เพิ่ม Submit ให้ Role นั้น
User เห็น Invoice ของคนอื่นไม่ได้User Permission ถูก restrictตรวจสอบ User Permissions — อาจมีการ restrict ตาม Company หรือ Cost Center
Cancel ไม่ได้ทั้งที่เป็น Accounts UserAccounts User ไม่มีสิทธิ์ Cancel โดย designให้ Accounts Manager Cancel ให้
ใช้ System Manager ทดสอบแล้วทุกอย่างผ่าน แต่ User จริงทำไม่ได้System Manager bypass ทุก permissionทดสอบด้วย User ที่มี Role จริงเสมอ — ห้ามใช้ System Manager ทดสอบ
Auditor แก้ไขข้อมูลได้ให้ Write permission เกินAuditor ต้อง Read only เท่านั้น — ตรวจสอบและ revoke Write/Submit

Workflow สามารถ override permission ได้ — ถ้ามี workflow Submit จะต้องผ่าน approval ก่อน ไม่ใช่แค่มี Submit permission
ทุกครั้งที่ตั้ง permission ใหม่ให้ทดสอบด้วย incognito / user account จริงก่อน go-live