All systems / SYS-001

SmartERP

ระบบวางแผนทรัพยากรองค์กร

system.yml

176 lines
# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-001.
# Core modules: • โมดูลบัญชี • โมดูลคลังสินค้า/สต็อก • โมดูลจัดซื้อ/คู่ค้า • โมดูลข้อมูลบุคลากร • โมดูลศูนย์กลางเชื่อมโยง (Integration Hub)
# TODO(sysforge): replace the default fields below with the real fields of each entity.
#                 Every field shown in a form needs a default or a placeholder (R-UI-1). Then run: sysforge validate

system:
  code: SYS-001
  name: SmartERP
  title: { th: "ระบบวางแผนทรัพยากรองค์กร", en: "Smart erp" }
  description: { th: "ระบบวางแผนทรัพยากรองค์กร" }
  domain: Enterprise & Business
  package: com.sysforge.smarterp
  version: 1.0.0
  locale: { default: th }
  timezone: Asia/Bangkok

database:
  targets: [sqlserver, oracle, mysql, postgresql]
  default: postgresql
  tablePrefix: sm_

theme: {}

roles:
  - code: ADMIN
    title: { th: ผู้ดูแลระบบ, en: Administrator }
    permissions: ["*"]
  - code: STAFF
    title: { th: เจ้าหน้าที่, en: Staff }
    permissions:
      - "ChartOfAccount:create"
      - "ChartOfAccount:read"
      - "ChartOfAccount:update"
      - "ChartOfAccount:export"
      - "JournalEntry:create"
      - "JournalEntry:read"
      - "JournalEntry:update"
      - "JournalEntry:export"
      - "Ledger:create"
      - "Ledger:read"
      - "Ledger:update"
      - "Ledger:export"
      - "FiscalPeriod:create"
      - "FiscalPeriod:read"
      - "FiscalPeriod:update"
      - "FiscalPeriod:export"
      - "Item:create"
      - "Item:read"
      - "Item:update"
      - "Item:export"
      - "Warehouse:create"
      - "Warehouse:read"
      - "Warehouse:update"
      - "Warehouse:export"
      - "StockTxn:create"
      - "StockTxn:read"
      - "StockTxn:update"
      - "StockTxn:export"
      - "Lot:create"
      - "Lot:read"
      - "Lot:update"
      - "Lot:export"
      - "StockBalance:create"
      - "StockBalance:read"
      - "StockBalance:update"
      - "StockBalance:export"
      - "Vendor:create"
      - "Vendor:read"
      - "Vendor:update"
      - "Vendor:export"

entities:
  - name: ChartOfAccount
    title: { th: "Chart of account", en: "Chart of account" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น COA-0001", en: "e.g. COA-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น ChartOfAccount", en: "e.g. Chart of account name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ ChartOfAccount
  - name: JournalEntry
    title: { th: "Journal entry", en: "Journal entry" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น JE-0001", en: "e.g. JE-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น JournalEntry", en: "e.g. Journal entry name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ JournalEntry
  - name: Ledger
    title: { th: "Ledger", en: "Ledger" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LE-0001", en: "e.g. LE-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Ledger", en: "e.g. Ledger name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Ledger
  - name: FiscalPeriod
    title: { th: "Fiscal period", en: "Fiscal period" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น FP-0001", en: "e.g. FP-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น FiscalPeriod", en: "e.g. Fiscal period name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ FiscalPeriod
  - name: Item
    title: { th: "Item", en: "Item" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น IT-0001", en: "e.g. IT-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Item", en: "e.g. Item name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Item
  - name: Warehouse
    title: { th: "Warehouse", en: "Warehouse" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น WA-0001", en: "e.g. WA-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Warehouse", en: "e.g. Warehouse name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Warehouse
  - name: StockTxn
    title: { th: "Stock txn", en: "Stock txn" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น ST-0001", en: "e.g. ST-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น StockTxn", en: "e.g. Stock txn name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ StockTxn
  - name: Lot
    title: { th: "Lot", en: "Lot" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LO-0001", en: "e.g. LO-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Lot", en: "e.g. Lot name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Lot
  - name: StockBalance
    title: { th: "Stock balance", en: "Stock balance" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น SB-0001", en: "e.g. SB-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น StockBalance", en: "e.g. Stock balance name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ StockBalance
  - name: Vendor
    title: { th: "Vendor", en: "Vendor" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น VE-0001", en: "e.g. VE-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Vendor", en: "e.g. Vendor name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Vendor

screens:
  - { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
  - { id: chart-of-accounts, type: crud, entity: ChartOfAccount, title: { th: "Chart of account", en: "Chart of account" }, defaultSort: { field: code, dir: asc } }
  - { id: journal-entries, type: crud, entity: JournalEntry, title: { th: "Journal entry", en: "Journal entry" }, defaultSort: { field: code, dir: asc } }
  - { id: ledgers, type: crud, entity: Ledger, title: { th: "Ledger", en: "Ledger" }, defaultSort: { field: code, dir: asc } }
  - { id: fiscal-periods, type: crud, entity: FiscalPeriod, title: { th: "Fiscal period", en: "Fiscal period" }, defaultSort: { field: code, dir: asc } }
  - { id: items, type: crud, entity: Item, title: { th: "Item", en: "Item" }, defaultSort: { field: code, dir: asc } }
  - { id: warehouses, type: crud, entity: Warehouse, title: { th: "Warehouse", en: "Warehouse" }, defaultSort: { field: code, dir: asc } }
  - { id: stock-txns, type: crud, entity: StockTxn, title: { th: "Stock txn", en: "Stock txn" }, defaultSort: { field: code, dir: asc } }
  - { id: lots, type: crud, entity: Lot, title: { th: "Lot", en: "Lot" }, defaultSort: { field: code, dir: asc } }
  - { id: stock-balances, type: crud, entity: StockBalance, title: { th: "Stock balance", en: "Stock balance" }, defaultSort: { field: code, dir: asc } }
  - { id: vendors, type: crud, entity: Vendor, title: { th: "Vendor", en: "Vendor" }, defaultSort: { field: code, dir: asc } }

Details

Code
SYS-001
Domain
Enterprise & Business
Entities
10
Source
Excel import
Status
Has TODO — generates fine, replace the default fields before real use
Description
ระบบวางแผนทรัพยากรองค์กร

Theme

Slate & Gold · Header + side menu · Brand colour menu · home page One page · Rounded corners · Comfortable

Registered in salt "sysforge-v1": regenerating keeps this look.

Remove