إنتقل إلى المحتوى الرئيسي

Data Model

Overview​

BayanCore data model is built on MariaDB with ERPNext as the foundation. This document defines the key entities and relationships.

Core Entities​

Organization​

  • Multi-tenant structure
  • Company, branches, departments
  • Settings and configurations

Users & Roles​

  • User profiles (linked to Clerk)
  • Role-based access control
  • Department assignments

Financial Entities​

  • Chart of Accounts
  • Invoices (Sales/Purchase)
  • Payments and Receipts
  • Tax records (VAT, WHT)

Workflow Entities​

  • Workflow definitions
  • Workflow instances
  • Approval chains
  • Audit trail entries

Compliance Entities​

  • ZATCA invoice records
  • PDPL consent records
  • Audit logs
  • Compliance reports

Relationships​

Organization
├── Users (many)
├── Departments (many)
│ └── Workflows (many)
├── Invoices (many)
│ ├── Line Items (many)
│ └── Payments (many)
└── Audit Logs (many)

Naming Conventions​

  • Tables: snake_case, plural (e.g., invoices, workflow_instances)
  • Columns: snake_case (e.g., created_at, organization_id)
  • Foreign keys: {table}_id (e.g., organization_id)