بصفتي مستخدم الأعمال، أريد تحويل السجل المعتمد في فواتير المستفيدين إلى المعاملة التالية مع نقل البيانات بأمان، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: المستفيدون والفواتير
فتح سريع للقصة
Actor: Procurement Officer
طبقًا للمصدر الأساسي ERP_SRS: · As a Procurement Officer, I want to convert payee bills to purchase invoices, so that procurement flow continues.
· As a Procurement Officer, I want to convert payee bills to purchase invoices, so that procurement flow continues.
Acceptance Criteria (2)
· Route: GET /payees/payee-bills/convert-bills-to-purchase (toPurchase_PayeeBill).
· Accepts ids[] query; opens bills.create view with prepared data.
PayeeBill-ToExpense-011
المالية والحسابات · فواتير المستفيدين
بصفتي مستخدم الأعمال، أريد تحويل السجل المعتمد في فواتير المستفيدين إلى المعاملة التالية مع نقل البيانات بأمان، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة Supplier Invoice Management
فتح سريع للقصة
Actor: Procurement Officer
طبقًا للمصدر الأساسي ERP_SRS: · As a Procurement Officer, I want to convert payee bills to expenses, so that service costs are booked.
· As a Procurement Officer, I want to convert payee bills to expenses, so that service costs are booked.
Acceptance Criteria (2)
· Route: GET /payees/payee-bills/convert-bills-to-expense (toExpense_PayeeBill).
· Opens company_expenses.edit with converted bill data.
PayeeBill-Show-012
المالية والحسابات · فواتير المستفيدين
بصفتي مستخدم الأعمال، أريد عرض ومتابعة سجلات فواتير المستفيدين مع الفلاتر والإجماليات المسموح بها، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة Supplier Invoice Management
فتح سريع للقصة
Actor: Procurement Officer
طبقًا للمصدر الأساسي ERP_SRS: · As a Procurement Officer, I want to view payee bill details, so that I can review billing breakdown.
· As a Procurement Officer, I want to view payee bill details, so that I can review billing breakdown.
Acceptance Criteria (5)
· Route: GET /payees/payee-bills/{bill_id} via show action (implicit route binding in controller).
· PayeeBillController@show with optional deserved flag.
· View: payee_bills.show.
ERP-CoreModules -SRS
ERP - CoreModules - SRS
IMP-FinancialCustody-001
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to download and upload a finance custody template, so that I can create multiple custodies at once.
As a Finance User, I want to download and upload a finance custody template, so that I can create multiple custodies at once.
Acceptance Criteria (8)
All fields are required except Attachment URL.
Users must be active and safe must be valid with available balance greater than zero and not related to credit cards.
Dates must be valid and start date must be before or equal to end date.
After successful import, is_reserved = 1 and reserved amount equals amount multiplied by exchange rate “Reserved amount = amount × exchange_rate”.
Safe balance decreases and reserved balance increases.
Invalid rows are rejected with clear row-level error messages.
Template Structure
Impact on Safe
IMP-CustodyExpenses-002
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Custody Owner or permitted Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Custody Owner or permitted Finance User, I want to import custody expenses, so that many expense lines can be created in one action.
As a Custody Owner or permitted Finance User, I want to import custody expenses, so that many expense lines can be created in one action.
Acceptance Criteria (7)
Financial Custody must be In Progress or Extended.
Date must fall within the custody period using extend_end_date when available.
Taxable Yes requires taxes; Taxable No ignores taxes.
Custody owner can only import pending status; any other status returns validation error.
Expenses do not affect safe balance, only custody totals.
Invalid rows are rejected with clear messages.
Template Structure
IMP-CompanyExpense-CustodyExpenses-003
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import company expenses from approved custody expenses, so that I can create expenses in bulk with correct financial behavior.
As a Finance User, I want to import company expenses from approved custody expenses, so that I can create expenses in bulk with correct financial behavior.
Acceptance Criteria (12)
Only approved, unpaid, type Expense custody expenses are allowed.
Data is auto-mapped from custody expenses: value, discount, taxable, taxes, note, currency, exchange rate, safe, payment type.
Status depends on a chart of accounts and flexible payment approval rules.
Safe is not affected directly for custody-related records.
Import may create accounting entries based on configuration.
Changes on Excel button inside company expense page
Add new option called “Company expense for Custody Expense template”
Rename the old option that called “download template” to “ Company expense directly template”
Add icon download before each template on this dropdown
Template Structure
Data Mapping from Custody Expense to use on create company expense when importing
Business Logic
IMP-PurchaseInvoice-CustodyExpenses-004
المشتريات والمخزون والتشغيل · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import purchase invoices from approved custody expenses, so that I can create purchase invoices in bulk with correct financial behavior.
As a Finance User, I want to import purchase invoices from approved custody expenses, so that I can create purchase invoices in bulk with correct financial behavior.
Acceptance Criteria (12)
Only approved, unpaid, type Purchase custody expenses are allowed.
Invoice type must be General and type must be Immediately.
Data mapping includes value, discount, taxable, taxes, note, currency, exchange rate, safe, payment type.
Status depends on a chart of accounts and flexible payment approval rules.
Safe is not affected directly for custody-related records.
Changes on Excel button inside purchase invoice page
Add new option called “Purchase Invoice for Custody Expense template”
Rename the old option that called “download template” to “ Purchase Invoice directly template”
Add icon download before each template on this dropdown
Template Structure:
Data Mapping from Custody Expense to use on create company expense when importing :
Business Logic
IMP-Payment-005
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم الأعمال، أريد مراجعة واعتماد أو رفض العملية في محرك الاستيراد حسب الصلاحية، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Business / System User
طبقًا للمصدر الأساسي ERP_SRS: I want to control whether payment completion depends on GA approval or only on journal entry creation
I want to control whether payment completion depends on GA approval or only on journal entry creation
Acceptance Criteria (12)
Case 1 — Skip GA Approval = No (Default Behavior)
- Status = Pending by GA
- System creates accrual journal entry
- Paid Date is ignored
- Appears in Non Cash Management after GA approval
- Payment is blocked until GA approval
Case 2 — Skip GA Approval = Yes (New Behavior)
System creates payment journal entry immediately
- Paid Date is required and saved
- Payment is completed without waiting for GA approval
- Status becomes Closed (Paid) or Paid - JE Pending Approval,will the new status “Paid - JE Pending Approval” on each purchase invoice and company expense statues
Business Logic
IMP-BILL-CompanyExpense-006
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import company expenses from Online Account bills or Payee Bills, so that I can create expenses in bulk with valid source linking.
As a Finance User, I want to import company expenses from Online Account bills or Payee Bills, so that I can create expenses in bulk with valid source linking.
Acceptance Criteria (12)
Source Type must be Online Account or Payee Bill.
If Online Account, Online Account Bills field is required and Payee Bills is ignored.
If Payee Bill, Payee Bills field is required and Online Account Bills is ignored.
Online Account bills must be unpaid, deserved, and bill date less than or equal to today.
Payee bills must be unpaid, deserved, type in both/service, and bill date less than or equal to today while considering payment_deadline_date.
Paid Date must be greater than or equal to selected bill start date.
Safe must have an available balance greater than zero.
Data mapping uses bill names, amount, currency, exchange rate, and payee when applicable.
If Payee Bill: Paid Date ≥ bill start date
If Online Account: Paid Date ≥ public bill start date
Changes on Excel button inside company expense page
Add new option called “Company Expenses from Online Accounts (Public Bills) /Payee Bills template”
IMP-BILL-PurchaseInvoice-007
المشتريات والمخزون والتشغيل · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import Purchase Invoices from Payee Bills, so that I can create purchase invoices in bulk with correct financial behavior.
As a Finance User, I want to import Purchase Invoices from Payee Bills, so that I can create purchase invoices in bulk with correct financial behavior.
Acceptance Criteria (12)
Payee Bill must be unpaid, deserved, type in both/product, and bill date less than or equal to today while considering payment_deadline_date.
Template includes Payee Bills, Criteria, Paid Date, Safe, Serial Number, Attachment URL.
Paid Date must be greater than or equal to bill start date.
Safe must have an available balance greater than zero.
Data mapping uses bill name_en, name_ar, amount, currency, exchange_rate, and payee.
Invoice type must be General.
Business logic follows a chart of account and flexible payment approval rules.
Changes on Excel button inside purchase invoice page
Add new option called “purchase invoice from Payee Bills template”
Add icon download before each template on this dropdown
Source Data Rules:
If Source Type = Payee Bill:
IMP-Safe-008
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import safes from Excel, so that I can create multiple safes at once.
As a Finance User, I want to import safes from Excel, so that I can create multiple safes at once.
Acceptance Criteria (8)
Valid rows are created and invalid rows are rejected with clear messages.
Name English, name Arabic, type, payment type, currency, start date, company, and status are required.
Credit Card safe rows must include required credit card fields.
Duplicate safe names are rejected according to the company/branch uniqueness rule.
Imported safes do not create financial transactions unless opening balance import is explicitly supported.
Safe serial numbers are generated automatically during import using the Serial Number Configuration rules.
A responsible person is required and will be used for safe notification routing.
Template Structure
IMP-Currency-009
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import currencies from Excel, so that I can create multiple currencies at once.
As a Finance User, I want to import currencies from Excel, so that I can create multiple currencies at once.
Acceptance Criteria (4)
Valid rows are created and invalid rows are rejected with clear messages.
Currency code must be unique.
Only one base currency can be imported as base unless configuration allows otherwise.
Template Structure
IMP-CashReservation-010
المنصة والحوكمة · محرك الاستيراد
بصفتي مستخدم المالية، أريد إنشاء سجل جديد في محرك الاستيراد بعد التحقق من البيانات والقواعد، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Finance User
طبقًا للمصدر الأساسي ERP_SRS: As a Finance User, I want to import cash reservations from Excel, so that I can create multiple reservations at once.
As a Finance User, I want to import cash reservations from Excel, so that I can create multiple reservations at once.
Acceptance Criteria (8)
Invalid rows are rejected with clear row-level messages.
Valid rows are created.
The system validates category, cash account, currency, amount, due date, and available balance.
If a category requires approval, imported reservation becomes Pending Approval.
If a category does not require approval, imported reservation becomes Active.
Active imported reservations affect available balance.
Import must not create journal entries by default.
Template Structure
ImportLog-0011
المنصة والحوكمة · سجل الاستيراد
بصفتي مسؤول النظام، أريد عرض ومتابعة سجلات سجل الاستيراد مع الفلاتر والإجماليات المسموح بها، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: دورة الاستيراد
فتح سريع للقصة
Actor: Admin
طبقًا للمصدر الأساسي ERP_SRS: As an Admin, I want to review import logs, so that failed rows can be corrected and re-imported.
As an Admin, I want to review import logs, so that failed rows can be corrected and re-imported.
Acceptance Criteria (2)
Import Log link opens shared import files view filtered by type for each module.
بصفتي مسؤول النظام، أريد عرض ومتابعة سجلات إعداد التسلسل الرقمي مع الفلاتر والإجماليات المسموح بها، حتى تكتمل العملية بنتيجة صحيحة وقابلة للتتبع.
دورة العمل: إعداد التسلسل الرقمي
فتح سريع للقصة
Actor: Admin
طبقًا للمصدر الأساسي ERP_SRS: As an Admin, I want to list serial number configurations, so that I can monitor numbering rules per module and model.
As an Admin, I want to list serial number configurations, so that I can monitor numbering rules per module and model.
Acceptance Criteria (4)
Filter by module, model, status, reset type, and date range.
Show columns including module, model, prefix, includes year, includes month, number of zeros, reset type, next number preview, status, and actions.
Inactive configurations remain visible for audit but cannot be used for new serial generation.
The list must display dynamic summary cards such as active configurations, inactive configurations, yearly reset configurations, and monthly reset configurations based on selected filters.