# Interesting Features Extracted from Reference ERP PDFs

---

## 1. Basic ERP.pdf (نظام المخازن - Inventory/Stores System)

### Inventory & Item Management
- **Hierarchical item coding** with multi-segment codes (each segment built from previous segments)
- **Item grouping** into main groups, sub-groups, and detailed categories per warehouse
- **Multiple pricing levels** per item: purchase price (opening, current, average), selling price (retail, wholesale, branch, consumer, gifts)
- **Min/Max stock limits** with reorder point — auto alert when quantity crosses threshold
- **Item expiry date tracking** with near-expiry reports
- **Item color/variant tracking** as item attributes
- **Unit of measure relationships** (e.g., 1 box = 12 pieces) definable at item or group level
- **Sub-components (BOM)** — define what an item is made of (Bill of Materials)
- **Barcode integration** for fast data entry and stocktaking
- **Opening balances** entry for items (auto-carried to next fiscal year)
- **Item delivery period** tracking
- **Quantities under tracking**: on order, reserved, in purchase pipeline
- **Stagnant/dormant items** detection and reporting
- **Supplier linking** per item for traceability

### Warehouse Operations
- **Multi-warehouse** with types: main, sub-warehouse, production warehouse
- **15 configurable movement types**: purchase order, distribution order, receipt note, addition permit, purchase invoice, addition return, purchase return, transfer order, mfg services disbursement, intermediate product addition, mfg services return, intermediate product disbursement, finished product addition
- **Configurable movement specifications** — user defines per movement type: does it affect prices? quantities? apply discounts? linked to work order?
- **Multiple valuation methods**: FIFO, LIFO, weighted average, purchase price
- **Custody tracking** per contractor or individual (who has what items)
- **Link stock movements to work orders**
- **Movement branch selection** — each movement tied to a specific branch

### Customer/Supplier Management
- **Customer credit limits** — can't exceed defined monetary value
- **Customer-specific discounts** (general % and per-item %)
- **Supplier master** with currency and conversion rate
- **Sales representatives** with commission percentage and tax bracket
- **Contractor management** with linking to stock movements
- **Active/Inactive status** for customers, suppliers, entities

### Multi-dimensional Support
- **Multi-currency** with conversion rates per entity
- **Multi-branch** architecture with branch-specific movements
- **Bilingual** (Arabic + English) names for all master data

### Reporting
- Item card (quantity only, or with values/prices)
- Balance review (summary/detailed)
- Item balance with movement details
- Inventory valuation (summary)
- Items exceeding storage limits
- Items approaching expiry
- Stagnant/dormant items report
- All stock movements report
- Item custody report (summary)
- Price lists by user-chosen price level
- **Report export** to file (text/Word format)
- **Report filtering** by date range, item range, warehouse, branch

---

## 2. basic hr.pdf (نظام الأجور والمرتبات - Payroll & HR System)

### Salary Structure & Components
- **Fully configurable salary items (مفردات)** — each item defined with: nature (earning/deduction), calculation basis (fixed value, % of basic, % of total, % of comprehensive, % of contractual), taxability, insurance applicability, stamp duty applicability, absence impact, annual exemption limit
- **Salary items affect ordering** — display order configurable on payslip
- **Special salary items** — separate category for items appearing on separate sheets (bonuses, special payments)
- **Comprehensive wage calculation** — total compensation for overtime computation base
- **Secondment handling** — items that are/aren't paid to seconded employees
- **Sick leave impact** — configurable whether items are deducted during sick leave

### Tax Engine
- **Multi-bracket tax tables** (6 brackets with min/max/percentage per bracket)
- **Tax exemption percentage** against income earned
- **Personal exemption** (individual annual limit)
- **Family exemption** (family dependents annual limit — optionally prorated by service months)
- **Employee tax exemption ceiling** (overall cap)
- **Tax group management** — group salary items into tax groups with annual exemption per group
- **Stamp duty (دمغة)** — separate bracketed calculation with 6 levels, configurable deduction base

### Social Insurance Engine
- **Dual insurance structure**: fixed component and variable component, each with:
  - Min/max insurable salary limits
  - Company percentage share
  - Employee percentage share
- **Insurance subscription dates** (start/end) tracked per employee
- **Insurance number** per employee

### Overtime Rules
- **Multiple overtime types**: day shift, night shift, holiday, weekend
- **Per-type configuration**: rate per hour, rate per day, calculation method (% of comprehensive, % of basic, etc.)
- **Night shift timing** (from/to hours for night differential)
- **Maximum overtime cap** per type
- **Auto-calculation** based on attendance data

### Leave Management
- **Two leave categories**: periodic (accrued annually) and special (unconditional like Hajj leave)
- **Leave rules engine**: per leave type defines — entitlement days, required service months before eligibility, carryover allowed (yes/no), max carryover days, carryover target leave type
- **Leave balance carried forward** with configurable carryover rules
- **Leave balance opening date** for system initialization

### Attendance & Time Tracking
- **Time card numbers** linked to employees with validity dates
- **Multiple attendance machines** with configurable types (entry only, exit only, both)
- **Shift/rota definitions** (ورديات) with start time, end time, allowed tardiness minutes
- **Default shift** per organization with per-employee override
- **Employee shift history** with date-based assignment

### Violations & Penalties
- **Violation codes** with calculation basis (days of basic salary, etc.)
- **Violation rules engine** — configurable escalation: per violation type, define 1st-4th occurrence penalties differently
- **Penalty types**: salary deduction, warning, etc.
- **Late arrival penalty** — option to deduct tardiness time from salary
- **Default violation** per cause type (auto-assign on specific triggers)

### Performance Incentives
- **Bonus/allowance codes** with insurance applicability flag
- **Penalty/discipline codes** with description and auto-reset on re-registration

### Organizational Structure
- **Hierarchical structure**: Company → General Administration → Administration → Region → Department → Job Title
- **Job grade codes** with salary range (min/max) and annual increment value/percentage
- **Functional group/category** codes for classification
- **Cost center** assignment per employee (primary + secondary cost center)

### Employee Master Data
- **Comprehensive employee record**: personal info, employment dates (start, birth, end of service), marital status, tax code, insurance code/number, insurance subscription dates
- **Payment method**: cash (safe) or bank transfer with account number
- **Work schedule**: work days/month, work hours/day, work hours/month (configurable per employee)
- **Direct/indirect labor** classification
- **Salary at time of appointment** tracked separately from current
- **Non-taxable/non-insurable allowances** tracked separately

### Loan/Advance Management
- **Deduction entities (جهات الاستقطاع)** — define external parties that deduct from salary (employee loans, installment purchases, etc.)
- **Monthly installment deduction** auto-processed via payroll

### Payroll Processing
- **Bulk salary item application** — apply any item to a scope: all employees, specific employee, specific department, specific administration, specific marital status
- **Month-to-month rollover** with scheduling capability
- **Salary item cancellation** — remove previously applied items

### Sick Leave Brackets
- **Graduated sick pay**: configurable brackets (e.g., 0-90 days = 75%, 91-180 days = 85%, etc.)
- **Cumulative sick days tracking** across a configurable month window

---

## 3. basic_gl.pdf (نظام الحسابات العامة - General Ledger System)

### Chart of Accounts
- **Configurable hierarchy depth** — up to 10 levels, each level has configurable digit length (e.g., level 1=1 digit, level 2=2 digits, etc.)
- **Tree view** with drag-and-drop navigation and visual color-coded accounts
- **Account properties**: code, Arabic name, English name, nature (debit/credit), final posting category (balance sheet / trading / P&L / operating), currency, cost center linkage type (required / optional / not applicable)
- **Opening balance** entry per account at detail level
- **Transaction volume** auto-calculated (shows total movements on account)
- **Current balance** auto-calculated (opening + movements)
- **Account date** (creation date tracked)
- **"Last main account" flag** — marks a parent as the last grouping level so children are postable

### Cost Centers
- **Hierarchical cost center tree** (same tree-view approach as chart of accounts)
- **Cost center linkage to accounts** — define whether posting to an account requires, optionally takes, or never takes a cost center
- **Cost center opening balances** tracked separately
- **Cost center budget amounts** definable for variance analysis
- **Distribute journal entries across cost centers** at posting time

### System Configuration
- **Multi-company support** with consolidated balance sheet option
- **Fiscal year definition** with start/end dates
- **Prior year data linkage** — reference previous year's database for comparatives
- **Journal numbering**: annual sequential OR monthly sequential (reset each month)
- **Posting mode**: deferred (batch post) or immediate (real-time)
- **Date constraints**: min/max allowed entry dates to prevent backdated/future entries
- **Decimal precision** configurable
- **Journal style**: American (single entry per line) or Standard (compound entries)
- **Accounts disallowed from manual journal entry** — blacklist certain accounts from direct posting
- **Previous year profit account code** — auto-carry retained earnings
- **Recurring journals** — create template entries that auto-generate periodically
- **Project tree** — optional project-based accounting structure
- **Multi-currency with exchange rate** per journal entry line, adjustable at entry time
- **Analytical codes** — additional classification dimension for journal entries

### Journal Entries
- **Compound journal entries** — multiple debit/credit lines per entry
- **Per-line cost center allocation** — assign cost center per line item
- **Per-line description** — narrative per journal entry line
- **Balance validation** — system enforces debit = credit before saving (visual indicator shows imbalance)
- **Reference/document number** per entry for source document traceability
- **Journal type selection** per entry (links to pre-defined journal types)
- **Duplicate/copy journal** functionality
- **Currency conversion** per line with exchange rate

### Posting & Period Control
- **Batch posting** — post all unposted journals, or selective posting by entry number range, date range, or document range
- **Un-posting (reversal)** — cancel posting for individual or batch of entries
- **Lock from modification** — freeze posted entries from being edited (security feature)
- **Fiscal year close** — generates closing entries and carries opening balances to new year
- **Re-close previous year** — ability to reopen and re-close prior years if adjustments needed

### Budgeting
- **Budget amounts per account** (estimated values for the period)
- **Budget amounts per cost center**
- **Variance analysis** — actual vs. budget with deviation reports

### Financial Statements
- **Chart of accounts report** (full tree printout)
- **Journal entries report** (by date/number/type)
- **Trial balance** (monthly)
- **General ledger** (detailed account statement with running balance)
- **Graphical/chart reports** — bar charts, pie charts with interactive modifications (zoom, type change)
- **Financial statements in list format**: Trading account, Operating account, P&L, Balance Sheet
- **Financial statements in T-format**: same reports in classic T-account layout
- **Multi-level closing reports** — show up to 2 levels of detail in financial statements
- **Report export** to Word/text file format

---

## 4. final documantation for c# store.pdf (نظام المخازن - Web-based C# Inventory System)

### Web-Based Architecture
- **Browser-based UI** with grid views, pagination, AJAX-style refresh
- **Multi-user with per-user document isolation** — each user sees only their own documents
- **750+ built-in reports** (massive report library)
- **Auto journal entry generation** for all stock documents (GL integration automatic)
- **Previous year data comparison** available in reports

### Item Definition (Enhanced)
- **Multi-tab item definition**: item definition, units, opening balances per warehouse, purchase prices per branch
- **Item code composed from group segments** — code parts auto-build from hierarchy
- **Multiple pricing levels per item**: purchase price (first period), consumer selling price, wholesale price, branch price, retail price
- **Per-item discount percentage** and **VAT percentage** definable
- **Item stop/suspend flag** — mark items as inactive without deletion
- **Supplier linking** per item with add/delete supplier grid (multiple suppliers per item)
- **Bilingual names** (Arabic + English) plus short description in both languages
- **Bilingual notes** fields per item

### Unit of Measure (Enhanced)
- **Multiple units per item** with barcode per unit
- **Conversion rate** between units with base unit designation (checkbox)
- **Unit dropdown** with predefined list: كمية, كيلو, صندوق, عدد, هتر, كرتونة, شيكارة, لتر, طن

### Opening Balances per Warehouse
- **Per-warehouse opening balance** entry for each item with: warehouse selection (by form/shape), unit, opening quantity, first period purchase price, retail selling price, wholesale selling price
- **Min/Max/Reorder point** per item per warehouse
- **Total opening balance** auto-aggregated across warehouses

### Document Type Configuration (مواصفات المستندات المخزنية)
- **Fully configurable document types** — user defines each stock movement document with:
  - Document code, Arabic/English name
  - Document nature: incoming, outgoing, transfer, adjustment, discount, internal purchase request, price quote
  - From/To party configuration (mandatory or optional)
  - Sales representative code linkage
  - **Document number**: auto or manual, at branch level or global
  - **Book number** (الرقم الدفتري): auto or manual, at branch level or global
  - **Repetition across fiscal periods** option
  - **Item group restriction** — limit document to specific item group
  - **Barcode search** in items enabled/disabled per document
  - **Auto-create items** option during document entry
- **Per-document behavior flags**:
  - Affects item prices (yes/no)
  - Affects item balances (yes/no)
  - Affects financial balances (yes/no)
  - Cannot repeat data / expiry date validation
  - Certificate number tracking
  - Link sales rep to items
  - Mobile movement visibility
  - Manufacturing conditions
  - Item acceptance rules
- **Financial modifiers per document type**:
  - Discount (2 configurable discount fields with Arabic/English names and values)
  - Addition charges (3 configurable addition fields with Arabic/English names and values)
  - VAT applicability (yes/no/configurable)
  - Commercial tax on addition
  - Commercial tax on discount
  - Show expiry date selection
  - Show balance
  - Show price
  - Per-item discount
  - Per-item tax
  - Multi-transaction support
- **Logistics/Shipping options per document**:
  - Inspection committee
  - International trade terms
  - Payment method & delivery location
  - Arrival dates (document, actual, shipment)
  - Bill of lading (expected, arrival status)
  - Port/harbor
  - Shipping details (configurable: none, partial, full)
  - Warehouse state: all warehouses / specific
  - Reservation support
  - Immediate payment support
  - Multiple expenses flag
  - Work start/end dates, tolerance period dates
  - Account type, cost center type
  - Raw materials for production flag
  - **Approval workflow requirement** flag
- **Custom fields** — up to 10 additional bilingual note fields (Arabic/English) with values, configurable per document type
- **Print specifications** configurable per document type
- **Branch assignment** per document type

### Document Approval Workflow (مواصفات الاعتماد)
- **Approval groups** — define groups of documents that depend on each other
- **Document dependency chain**: one document can depend on (be approved by) up to 4 other documents
- **Per-dependency configuration**:
  - Impact direction (positive/negative)
  - Fetch items from dependent document (yes/no)
  - Fetch "from" party (yes/no, and swap from↔to)
  - Fetch "to" party (yes/no, and swap from↔to)
  - Approval type: independent vs. mandatory
  - Aggregation on item (yes/no)
  - Filtering "from" party / "to" party
  - Quantity handling
  - Price inheritance from dependent document
  - Fetch shipping data
  - Fetch cost center (main and detail)
  - Fetch account (main and detail)
  - Fetch description/notes
  - Fetch sales representative
  - Fetch VAT
  - Fetch commercial tax
  - Add items outside approval (yes/no)
  - Auto-define (automatic document creation)
  - Single-document approval only (can't split)
  - Deduct document from dependent on payment
- **LC (Letter of Credit)** support flag
- **Goods document** flag
- **Show payment terms** option
- **Show required quantities** option
- **Show supply order status** option

### Stock Movements
- **17 predefined movement types**: requisition request, price quote, supply order, purchase invoice, purchase return, services invoice, direct purchase request, addition permit, warehouse return, disbursement request, disbursement permit, warehouse return (out), addition adjustment, deduction adjustment, warehouse transfer, and more
- **Movement creation screen** with: branch, movement number, book number, date (auto with override), from/to parties, notes, approval group selection
- **Item entry within movement**: item group filter, item code search, unit selection, quantity, price, total per item, grand total
- **Dependent document lookup** — when approval group assigned, shows popup with all qualifying prior documents to reference

### Physical Inventory (جرد المخزن)
- **Stock count session**: inventory record number, date, warehouse selection
- **Per-item count**: shows item, unit, actual qty, book qty, reservation, increase, item value
- **Auto-generate adjustment movements**: button to create addition/deduction adjustments from count variances
- **Transfer book balance to count quantity** — quick-fill feature

### Reporting Suite
- **Item card report (quantity only)** — movement history per item with from/to parties, running balance
- **Item card report (quantity + value)** — adds unit cost, average cost, balance value columns
- **Item balance report (quantity)** — summary across items: opening balance, incoming, outgoing, current balance; option to hide zero balances
- **Item balance report (quantity + value)** — adds monetary columns
- **Stock movement portfolio report** — all movements of a specific type with: movement number, book number, date, branch, from, to, code, name, sales rep, net value, total
- **Approval report** — documents depending on other documents (chain visibility)
- **Report filters**: branch, date range, movement number range, book number range, from/to party, item range, movement type, report type (summary/detailed)

---

## 5. final documantation for c#bank.pdf (نظام البنوك - Web-based C# Banking System)

### Bank & Safe Definition
- **Bank definition** with: code (hierarchical from code parts), Arabic/English name, opening balance (debit/credit indicator), other data tab, opening balance tab, GL account linkage tab
- **Safe/treasury (خزنة) definition** as a separate entity type alongside banks
- **Opening balance per bank** at beginning of period (debit or credit)

### Entity Type System (shared with stores module)
- **10 entity types**: Customer, Vendor, Agent, Store, Work Area, Department, Representative, Contractor, Person, Analysis Code
- **Each type** has: code, Arabic/English name, length (digit count), type classification (external/internal/store)
- **Code part categories** for hierarchical coding: project, investment type, building, floor, branch, activity field, case types, bank activity types, rental types, owning company, model, city, shipping companies, shipping methods, supplier type

### Currency Management
- **Multi-currency** with: Arabic/English name, short name, default currency flag
- **Currency unit names** in 4 plural forms (Arabic + English): singular, dual, plural, collective
- **Sub-currency (fraction) names** same 4 forms
- **Conversion rate** between currencies (exchange rate management)

### Movement Types (Financial)
- **Configurable movement types**: Cash Receipt (استلام نقدية), Check Receipt (استلام شيك), Cash Payment (صرف نقدية), Check Payment (صرف شيك), Creditor Settlement (تسوية دائنة), Debtor Settlement (تسوية مدينة), Supplier Invoice (فاتورة مورد), Cash Withdrawal (سحب نقدي), Contractor Running Account (مستخلص جاري المقاول), Cash Check (شيك نقدي)

### Movement Configuration (مواصفات الحركات)
- **4-tab movement configuration**: Basic Data, Financial Details, Movement Distributions, Print Specifications
- **Basic data per movement**:
  - Movement code, Arabic/English name
  - Movement nature (receipts/payments/settlement)
  - Cash/non-cash flag (enables check handling when non-cash)
  - Default purpose (payment, settlement, scheduling, custody, etc.)
  - Creditor party type (with configurable entity types and ordering 0-10-20)
  - Debtor party type (same)
  - Sales representative flag
  - Analysis code flag
  - Mandatory creditor/debtor party selection enforcement
  - Additional notes flag
  - **Approval requirement** flag
  - **Print after approval** flag
  - **Modification rights for approver** flag
  - **Protection date** — lock movement from changes on specific branch after date
- **Financial details per movement**:
  - Commercial tax (default %)
  - Addition tax (default %)
  - Sales tax (default %)
  - Other tax (default %)
  - Fine/penalty (default %)
  - Show tax data to agent flag
- **Movement distributions** — where the movement posts to:
  - Financial orders
  - Invoices (link to store module invoices)
  - General accounts (GL posting)
  - Sales/rental inquiry forms distribution
  - Individuals
  - Transport
  - Bills of lading
  - Driver custody settlement
  - Payment against claims
- **Print specifications** per movement:
  - Print debtor/creditor party labels (Arabic/English)
  - Print notes
  - Print distribution on invoices
  - Print distribution on general accounts
  - 3 configurable signature lines (name + title for each)
  - Report header/footer text

### Financial Movement Entry
- **Movement entry form** with tabs: Basic Data, GL Account Posting, Sales/Rental Distribution
- **Basic data fields**: movement nature (receipts/payments), movement name, branch, date (auto-populated, editable), book number, purpose (payment/settlement/scheduling/custody), description, creditor party (type + code + search), debtor party (type + code + search)
- **Dual currency handling**: movement currency + actual (real) currency, with conversion rate between them, and conversion rate to local currency
- **Auto-calculated fields**: gross value, net value (after taxes/fines), net in real currency, net in local currency
- **Tax deduction receipt printing** from source

### Financial Papers (Checks & Promissory Notes)
- **Paper types**: bank check (شيك بنكي), line check (شيك خطي), and others
- **Paper entry fields**: type, number, value, currency, conversion rate, maturity date, owner name, owner code, bank name (for receipts), beneficiary
- **Multiple papers per movement** — grid of papers with running total
- **Paper lifecycle tracking** through portfolio operations

### Portfolio Operations (حوافظ مالية)
- **Portfolio nature**: payments or receipts
- **Payment portfolio types**: Settlement (سداد), Return (ارتداد), Return to owner (مرتجع)
- **Receipt portfolio types**: Transfer (تحريك), Collection (تحصيل), Endorsement (تظهير), Return (ارتداد), Transfer after collection (مؤجل بعد التحصيل), Return to owner (ارجاع لصاحب الورقة), Cancel Rescheduled (إلغاء جدولة), Cancel (إلغاء), Edit Data (تعديل بيانات), Payment (سداد)
- **Portfolio operations**:
  - **Payment portfolio** — select papers from creditor (bank/customer) to mark as paid
  - **Return portfolio** — return papers that were issued as payments
  - **Return to owner** — return papers to their original owner
  - **Transfer portfolio** — move papers from one party to another (from → to)
  - **Collection portfolio** — collect papers from party (bank/customer)
  - **Endorsement portfolio** — endorse papers from one party to another
  - **Return (receipts)** — return received papers
  - **Cancel rescheduling** — undo scheduled paper rescheduling
- **Each portfolio** has: type, branch, period, number, date, description, from party, to party, paper list with search/add/delete

### Reporting Suite
- **Supplier account statement** (كشف حساب مورد): filter by currency, report state (general/cash/deferred), branch, date range, specific supplier; shows movement history with debit/credit/balance columns and transaction volume
- **Customer account statement** (كشف حساب عميل): same structure for customers
- **Safe/treasury account statement** (كشف حساب خزنة): same structure for cash safes, includes other party and book number columns
- **Bank account statement** (كشف حساب بنك): same structure for bank accounts
- **Supplier balances report** (أرصدة موردين): summary of all supplier balances, filterable by currency, date range, specific supplier range, hide zero balances option
- **Customer balances report**: same structure
- **All reports** support: currency filter, date range, branch filter, report state (cash/deferred/general), hide zero balances

---

## 6. final documantation for c#fixed assets.pdf (نظام الأصول الثابتة - Fixed Assets System)

### Depreciation Configuration
- **Depreciation type**: value-based OR percentage-based
- **Depreciation behavior**: fixed (same amount every period), increasing, or decreasing
- **Minimum depreciation period**: 2 months (Egyptian accounting standard enforcement)
- **Scrap/residual value** tracking — stops depreciation at scrap value

### Asset Hierarchy & Grouping
- **Multi-level asset coding** with configurable digit lengths per level (like chart of accounts)
- **Asset groups** with GL account integration — each group maps to 3 GL accounts:
  - Asset account (الأصل)
  - Accumulated depreciation account (مجمع الإهلاك)
  - Depreciation expense account (مصروف الإهلاك)
- **Depreciation rate inherited** from group but editable per individual asset
- **Location codes** — assign physical location to each asset

### Asset Definition & Fields
- **Core fields**: code, Arabic/English name, location code, group, purchase date, purchase value, invoice number, serial number (S/N), commissioning date, payment account code, depreciation rate, cost center, notes
- **Auto-calculated fields**: location name, group name, book value, depreciation type, last depreciation date, accumulated depreciation
- **"Asset produces income" flag** — special categorization for revenue-generating assets
- **Book value** auto-calculated: purchase value + additions - depreciation - depletions

### Asset Lifecycle Operations
- **Capital addition** (إضافة رأسمالية): addition number, asset number, addition date, addition value, payment account — increases asset value and adjusts future depreciation basis
- **Asset sale** (بيع أصل): sale number, asset name (auto), sale date, last depreciation date (auto), book value (auto), sale value, collection account, profit/loss account, notes; **auto-deletes asset from register** and posts GL entries for gain/loss
- **Asset depletion/write-off** (استنفاذ): depletion number, asset number, date, depletion value, book value (auto), account, reason, notes — partial or full write-off
- **Asset revaluation** (إعادة تقييم): revaluation number, asset number, revaluation date, estimated value, revaluation account, notes; **recalculates depreciation from revaluation date forward**

### Batch Depreciation Processing
- **Batch depreciation calculation**: select by group, asset range (from-to), calculate up to a specific date
- **Automatic GL posting**: creates journal entries for all calculated depreciation
- **Period validation**: enforces minimum 2-month gap between depreciation runs

### Reporting Suite
- **Detailed asset data report**: filters by group range, asset range, purchase date range, cost center range, invoice number, entry document number, value filter, show sold/unsold, show depleted/undepleted; columns: asset#, name, entry doc, location, purchase value, addition value, depletion value, depreciation %, last depreciation date, accumulated depreciation, commissioning date, book value, cost center, scrap value, notes
- **Asset group summary report**: by date range; columns: asset code/name, purchase value during period, additions, assets sold, ending balance (with additions), ending balance (with depreciation), depreciation during period, book value at period start, book value at period end
- **Movements on assets report**: filter by movement type (sale/addition/revaluation/depletion) and date range; columns: movement#, asset code, name, movement value, date, account, book value, notes
- **Assets on movements report**: filter by asset range and date range — shows all movements for selected assets
- **Asset movement statement** (كشف حركة أصل): consolidated totals for: asset sales, capital additions, revaluations, depletions, total asset value

---

## 7. final documentation for c#gl.pdf (نظام الحسابات - General Ledger System)

### Chart of Accounts
- **Hierarchical account tree** with configurable level depths (digit length per level)
- **Account fields**: code, Arabic name, English name, "is last main account" flag, final posting location/nature, account opening date, currency, conversion rate
- **Dimension linkage type** per account: mandatory, optional, or none — controls whether cost center is required when posting to this account
- **Expandable tree view** with (+) drill-down from top-level to leaf accounts
- **Search** by account code or name (Arabic/English) with inline grid editing

### Accounting Dimensions (الأبعاد المحاسبية)
- **Separate parallel tree** for cost centers/dimensions, independent from chart of accounts
- **Each dimension type** (e.g., cost centers, projects, branches) has its own hierarchical tree with configurable levels
- **Dimension levels** have their own digit-length configuration, separate from account levels
- **Per-dimension fields**: dimension type, code, Arabic/English name, is-last-account flag, currency, conversion rate
- **Mandatory/optional linkage** to accounts — forces or suggests cost center assignment during journal entry

### Configurable Journal Types (أكواد اليومية)
- **Multiple journal types** definable: general journal, treasury journal, etc.
- **Per-type configuration**: code, Arabic/English name, short name (Ar/En), entry number format (prefix + length), "starts with" character, monthly numbering reset option, auto vs manual entry, default journal flag
- **Monthly number reset**: entry numbers restart from 1 each month if enabled
- **Default journal**: one journal type can be marked as default for new entries

### Journal Entries
- **Multi-line entries** with per-line: account code, dimension code, currency, conversion rate, debit amount, credit amount, detailed description
- **Real-time balance validation**: shows total debit, total credit, difference, and balanced status — entry can only be saved when balanced (difference = 0)
- **Currency difference entries** (قيد فرق عملة): special flag for exchange rate difference entries
- **Posted flag** per entry — unposted entries don't affect reports
- **Copy entry** feature — duplicate an existing entry for similar transactions
- **Document number** field — links journal entry to source document

### Opening Entries (القيود الافتتاحية)
- **Separate screen** for opening/beginning balance entries — distinct from regular journal entries
- **Same structure** as regular entries but categorized differently for fiscal year opening

### Batch Journal Posting (ترحيل القيود)
- **Batch post** by: journal type + entry number range + date range + document number range
- **"Post all entries" checkbox** — post everything in one journal type at once
- **Un-post (reverse)** capability — can reverse posting for a batch of entries
- **Selective posting** — post only entries matching specific criteria without touching others

### Financial Reports
- **Account Ledger - Balance** (حساب أستاذ رصيد): running balance per account with filters for account code range, date range, currency, depth level, "specific level only" toggle, show/hide zero-balance accounts
- **Account Ledger - Debit/Credit** (حساب أستاذ مدين/دائن): same filters but shows separate debit/credit movement columns per currency section (EGP section, USD section, EUR section separately)
- **Trial Balance** (ميزان المراجعة): columns = prior period (debit/credit), current period movements (debit/credit), ending balance (debit/credit); filters by account range, date range, level, posted/all, period stage, show zero accounts
- **Balance Sheet** (الميزانية): hierarchical view with partial (جزئي) and total (كلي) columns for both debit/credit sides; shows net profit line; filter by date range, level depth, specific level only, show zero accounts
- **Income Statement** (قائمة الدخل): expenses vs revenues with partial/total columns, net profit calculation; same filter options as balance sheet
- **Dimensions Report** (تقرير الأبعاد المحاسبية): all entries for a specific cost center/dimension with running balance, date range filter
- **Dimensions Totals Report** (تقرير إجماليات الأبعاد المحاسبية): prior period + current period + ending balance per dimension; filter by dimension type, date range, level, specific level only, posted filter

### Multi-Currency Architecture
- **Per-line currency** on journal entries — each line item can use a different currency
- **Auto conversion rate** — changes automatically when currency is selected
- **Reports grouped by currency** — account ledger shows separate sections per currency (EGP movements, then USD movements, then EUR movements)
- **Currency difference entries** — dedicated entry type for exchange rate adjustments

### System-Wide Features
- **Multi-company support** — independent or consolidated financial statements across companies
- **Unlimited historical years** — can open any previous fiscal year for comparison queries
- **Logical error detection** — system validates entries and flags inconsistencies to users
- **Auto journal entries** from other modules — the system generates GL entries for all document movements in cost centers

---

## 8. دليل مستخدم الحضور و الأنصراف.pdf (Attendance & Departure System)

### Shift/Work Schedule Management
- **Multiple shifts** (ورديات) with different start/end times — day shift, night shift, etc.
- **Per-shift configuration**: code, name, start time, end time, allowed late minutes (grace period), default shift flag
- **Default shift** — applied to all employees who don't have a specific shift assigned
- **Employee-shift linking** with date ranges: can change an employee's shift for a specific period (start date → end date)

### Time Clock Integration
- **Multiple time clock machines** with type assignment: entry-only, exit-only, or entry+exit
- **Employee card number mapping** — each employee linked to a time clock card number with validity date range (from/to)
- **Data import** from time clock: reads from Excel files or any ODBC-compatible database
- **Manual entry/exit** recording — can add attendance manually with visual color-coding to distinguish manual vs machine entries
- **Bulk "add remaining employees"** — one click adds all employees who don't have a card mapping yet

### Violation & Penalty Rules
- **Configurable violation tiers** based on lateness duration (in minutes):
  - Example: 2-21 minutes → "late < ½ hour" penalty
  - 22-60 minutes → "late > 1 hour" penalty
  - 61-1440 minutes → "half day annual leave" penalty
- **Auto-link to payroll** — penalties are automatically applied in the payroll module
- **Violation settlement** — ability to override/waive a penalty on a per-instance basis

### Settlement Processes
- **Late arrival settlement** (تسوية التأخير): shows all late arrivals with shift info, actual arrival time, late duration, auto-assigned penalty — with ability to settle/waive each
- **Early departure settlement** (تسوية الانصراف المبكر): same for employees leaving before shift end — shows shift end time, actual departure, early departure duration, penalty
- **Overtime settlement** (تسوية الإضافي): shows overtime hours worked with distribution across day types (regular day, holiday, night, weekly off) — tracks before-shift and after-shift overtime separately
- **Absence settlement** (تسوية الغياب): shows absent days with "registered absence" checkbox and penalty type — can mark as regular absence, casual leave, annual leave, unpaid leave

### Reporting Suite
- **Attendance analysis report**: per-employee detailed view showing: date, day name, shift, shift value, first entry time, last exit time, late duration, early departure, overtime (distributed by type: regular/holiday/night/before/after), total work hours per day
- **Work hours analysis report**: raw fingerprint data analysis — first entry, last exit, tardiness, early departure, overtime, absence status per day
- **Employee attendance analysis report**: shows department, employee name, date, day name, attendance status (present/absent/leave type) — filterable by department
- **Incomplete signatures report**: employees who punched in but not out (or vice versa) — shows entry time, exit time, highlights missing punch; filterable by: entry-only missing, exit-only missing, or both
- **Daily attendance matrix report**: calendar-style grid view with letter codes per day:
  - T = on time
  - F = absent (no fingerprint)
  - D = late arrival
  - E = early departure
  - W = both late AND early departure
  - Legend shown at bottom of report

### Integration Features
- **Payroll integration** — all violations/penalties auto-feed to payroll system
- **Export to file** capability on all reports
- **Email reports** directly from the application
- **Filter by "only employees with time cards"** — exclude unlinked employees from reports

---

## 9. نظام الأجور.pdf (نظام الأجور والمرتبات - Payroll & Salary System)

### Organizational Hierarchy for Payroll
- **Region → General Department → Department → Job → Grade** multi-level structure
- Each level has code + Arabic/English name + parent reference
- **Job grades with salary ranges**: min salary and max salary per grade — prevents over/under-paying
- Jobs linked to departments, grades linked to jobs — enforces organizational policy

### Financial Integration Codes
- **Treasury codes** for cash salary disbursement (link employees to specific safes)
- **Bank codes** for check/transfer salary payout
- **Cost center codes** for GL posting — each employee's salary can post to a different cost center
- Enables automatic journal entry generation when payroll runs

### Social Insurance Configuration
- Configurable insurance types with: code, description, min insurable salary, max insurable salary
- **Split percentages**: company share % and employee share % (configurable per type)
- Display ordering for reports
- **Insurance subscription date** tracked per employee (separate from hire date)
- Fixed insurance base option — override calculated amount with manual value

### Tax Bracket Engine
- **Progressive tax brackets**: code, description, min threshold, max threshold, percentage rate
- **Income exemption percentage** per bracket
- **General exemption amount** (flat deduction before tax)
- **Marital status exemptions**: separate limits for single / married / married with dependents
- **Tax groups**: group code + annual exemption cap — when multiple taxable items share a group, total exemption is capped
- **Stamp duty (دمغة) brackets**: separate min/max/percentage table for stamp calculations
- Fixed tax base option — override auto-calculated taxable income

### Employee Master Data (Payroll-specific)
- Code, Arabic name, English name, gender, religion, marital status, DOB
- Hire date, termination date, insurance number
- **Permanent vs temporary flag** — different calculation rules
- **Tax type** and **insurance type** selection per employee
- Region, general department, department, job, grade assignments
- Bank, treasury, cost center assignments (determines how/where salary is paid and posted)
- **Salary status** field (active/suspended/terminated)
- **Basic salary breakdown**: insured portion + non-insured portion = total basic salary
- Sick days allowance, work days per month, daily work hours, monthly work hours
- Fixed insurance base override, fixed tax base override

### Salary Components Engine (مفردات المرتب)
- Each component: code, description, nature (entitlement/استحقاق vs deduction/استقطاع)
- **Taxable flag** — include in tax calculation or not
- **Insurable flag** — include in insurance calculation or not
- **Annual exemption limit** per component
- **Tax group assignment** — components sharing a group share the group's exemption cap
- **Flexible calculation basis** (most powerful feature):
  - Fixed value (flat amount)
  - Percentage of basic salary
  - Percentage of total entitlements
  - Number of days (daily rate × days)
  - Number of hours (hourly rate × hours)

### Special Components (مفردات خاصة)
- Separate category from regular salary components
- Appear in dedicated reports (not mixed with normal salary statement)
- Same apply/un-apply mechanism as regular components
- Useful for one-time bonuses, special allowances, project-based pay

### Component Application Scoping
- **Apply to all employees** — bulk assignment
- **Apply to specific employee** — individual override
- **Apply to specific department** — departmental allowances
- **Apply to specific marital status** — e.g., family allowance only for married
- **Un-apply** (remove) with same scoping options
- Checkbox "all employees" hides the employee dropdown when selected

### Overtime Rules (لائحة الإضافي)
- Per-type overtime configuration (holiday / night shift / regular day)
- **Hourly rate** and **daily rate** per type
- **Taxable flag** per overtime type
- Calculation method: by days or by hours
- Monthly overtime data entry: employee + holiday days/hours + daytime days/hours + nighttime days/hours
- Can integrate with attendance system (auto-pull) or standalone manual entry

### Balance-Based Deductions (استقطاعات ذات الأرصدة)
- **Installment tracking** for external party deductions (loan repayments, company purchases)
- Fields: employee, deduction entity, purchase date, first installment date, total amount, installment value
- System auto-deducts monthly until balance reaches zero
- **Per-entity reporting** — see all employees owing to a specific entity
- **Per-employee reporting** — see all deductions for a specific employee
- Delete/browse existing installment records

### Attendance Days Recording
- Monthly attendance days per employee (for absence deduction calculation)
- Fields: employee, month, year, attendance days count
- **Absence deduction basis**: configurable to deduct from basic salary OR from total entitlements
- Can integrate with attendance system or be entered standalone

### Sick Leave Calculation
- Record sick days per employee with health status/percentage
- **Sick pay percentage** based on health condition (e.g., 75% pay for extended illness)
- Integrates with HR leave system if purchased together

### Monthly Payroll Batch Processing
- **Insurance auto-calculation** — one-click batch compute for all employees
- **Tax auto-calculation** — review screen shows computed values before committing, with ability to adjust
- Tax calculation handles non-insured employees (substitutes insurance deduction with equivalent amount)
- **Monthly salary calculation** — master batch that combines all components, attendance, overtime, insurance, tax
- Specifies month, insurance calculation method (automatic/manual), then processes
- Progress messages during calculation
- Must run in sequence: insurance → tax → salary

### Payroll Reports Suite
- **Social insurance report** — all insured employees with insurance data
- **Tax report** — employee tax deductions and taxable income
- **Overtime statement (كشف الإضافي)** — monthly overtime details per employee
- **Overtime disbursement form (استمارة صرف الإضافي)** — payment voucher format
- **Component totals report (إجماليات مفرد)** — aggregate of each component across all employees
- **Employee components report (مفردات موظف)** — all components for a specific employee
- **Balance deductions per employee** — installment history and remaining balance
- **Balance deductions per entity** — all employees owing to a specific external party
- **Salary slip (شريط المرتب)** — individual employee pay stub
- **Salary statement (كشف المرتب)** — full payroll register for all employees
- **Annual income card (بطاقة الدخل)** — yearly income summary per employee
- **Special components reports** — dedicated reports for special/one-time items

### Report Infrastructure
- Print preview with zoom in/out
- Export to Word/Excel formats
- Page range selection for printing
- Multiple copies printing
- Printer setup and selection

---

## 10. نظام الأصول الثابتة.pdf (نظام الأصول الثابتة - Fixed Assets System, Arabic)

### Depreciation Type Configuration
- Code + name for each depreciation type
- **Type**: value-based (flat amount) vs percentage-based
- **Method**: fixed (straight-line) / declining (reducing balance) / increasing
- Default rate/amount per type — inherited by asset groups

### Asset Groups with GL Account Mapping
- Group code + name (e.g., vehicles, furniture, buildings)
- **Depreciation type** inherited from configured types
- **Three GL accounts per group**:
  - Asset account (balance sheet — cost of asset)
  - Accumulated depreciation account (contra-asset)
  - Depreciation expense account (income statement)
- All movements auto-post to these accounts

### Asset Location Registry
- Simple code + name tracking for physical locations
- Assigned per asset — enables location-based reporting and audits

### Asset Purchase Entry
- Unique asset code, name, location, group assignment
- Purchase date, purchase value, invoice number
- **Serial/piece number** (equipment serial number tracking)
- **Commissioning date** (separate from purchase date — depreciation starts here)
- Payment account code (how the purchase was funded — maps to GL)
- Depreciation rate auto-filled from group defaults (overridable per asset)
- **Auto-calculated fields**: book value, accumulated depreciation, last depreciation date

### Legacy/Existing Asset Import
- Dedicated screen for assets that existed before system go-live
- Enter current book value + last depreciation date (not purchase value)
- System auto-converts to "old asset" status after first depreciation run
- Enables mid-life system adoption without losing depreciation history

### Batch Depreciation Calculation
- **Filter by group** — depreciate all assets in a specific group
- **Asset range** (from asset X to asset Y) — partial batch processing
- **Up to date** — calculate depreciation through a specific date
- Monthly granularity (minimum period = 1 month)
- Follows Egyptian accounting convention (monthly periods)

### Capital Addition (إضافة على أصل)
- Sequential addition number (audit trail)
- Select existing asset — increases its recorded value
- Addition amount + payment account
- Affects future depreciation calculations (higher base value)

### Asset Sale with P&L Recognition
- Auto-shows book value and last depreciation date when asset selected
- Sale value + sale date + collection account (receivables/cash)
- **Profit/loss account** — system calculates gain/loss (sale price vs book value)
- Asset automatically removed from active register after sale

### Asset Depletion (استنفاد - Write-off)
- Partial or full value write-off for damaged/obsolete assets
- Depletion amount, date, reason text, expense account
- Book value auto-displayed for reference
- Separate from sale — no proceeds, pure loss recognition

### Asset Revaluation
- New estimated value + revaluation date
- Revaluation GL account (revaluation surplus/deficit)
- **Description/reason** field for audit purposes
- System recalculates future depreciation from the new base value and revaluation date

### Fixed Asset Reports
- Depreciation types listing
- Asset groups summary
- **Asset data report** — full asset register with all details
- **Depreciation report** — periodic depreciation charges with filters
- Additions report, Sales report, Depletions report, Revaluations report
- Export to HTML, Excel (SYLK), text, Word formats

---

## 11. نظام البنوك.pdf (نظام البنوك - Banking & Treasury System, Arabic)

### Master Data Entities
- **Suppliers**: code, name, responsible manager, address, fax, phone, email, currency, credit limit, cash receipts flag, allowed limit, opening balance (debit/credit), transaction volume, current balance
- **Customers**: same comprehensive fields as suppliers — complete mirroring
- **Safes/Treasuries (خزن)**: code, description, date, opening movement breakdown (cash debit/credit, checks debit/credit, total), opening balance (cash/checks/total)
- **Banks**: code, name, currency code, account open date, account number, account type, **dual balance tracking** — cash balance (opening + current + position) AND check balance (opening + current + position) tracked separately
- **Currencies**: code, date, Arabic name, English description, exchange rate, abbreviated name — **date-based exchange rate history** (rates tied to specific dates for historical accuracy)
- **Debtors (مدينين)**: code, name, address, phone, notes — separate register for third-party endorsement tracking

### System Specifications (مواصفات النظام)
- **Check validity days** — configurable (default: 360 days)
- **Days after which endorsed check is collected** — configurable (default: 90 days)
- **Days for promissory note collection** — configurable (default: 360 days)
- **Auto-collection toggle** — system can automatically collect notes at maturity
- **Pre-maturity alert days** — configurable warning before note matures (default: 5 days)
- **Returned note value threshold** — blocks client transactions when returned notes exceed threshold (e.g., 2,000,000)
- **Returned note count threshold** — blocks client when returned note count exceeds limit (e.g., 50)
- **Automatic client blocking** based on both thresholds — prevents new transactions with unreliable payers

### Financial Movement Specifications (مواصفات الحركة المالية)
- **Per-movement-type configuration**: code, description, debit/credit type, show to operator flag, last serial number, payment method (cash/installment/POS)
- **Party configuration per movement**: from parties flag, to parties flag (defines which entities can be source/destination)
- **Currency assignment** per movement type
- **Discount handling** — enable/disable discounts per movement type
- **Sales representative** linking per movement type
- **Invoice linkage** — connect movement to specific invoice
- **Tax configuration**: expense code, revenue code, commercial tax %, sales tax %
- **Cost center assignment** per movement type
- **Multi-disbursement mode** (letters of credit) — single movement can distribute across multiple parties
- **Auto GL journal creation** flag — automatically generates accounting entries

### Complete Document Cycle (دورة مستندية)
- **14 movement types** organized into categories:
  - **Receipts (8 types)**: cash receipt, notes receipt, deposit envelopes, collection from bank, date postponement, cancel receipt, withdrawal from bank, bounce from bank
  - **Payments (6 types)**: cash disbursement, payment notes, payment note collection, payment note bounce, bank check issuance, telex/wire transfer
  - **Endorsement (4 types)**: endorse received note, endorsed note collection, endorsed note bounce, cancel endorsement
  - **Settlement**: debit/credit settlement operations

### Receipt Operations (حركات القبض)
- **Cash receipt**: purpose (payment/rescheduling), from (customers/safes/banks/suppliers/entities), to (safes/banks), with statement description
- **Notes receipt**: receives checks/promissory notes with full details per note — serial, check number, bank name, maturity date, value, debtor name; multiple notes per receipt envelope
- **Deposit envelopes (حوافظ الإيداع)**: transfer notes from safe to bank — select notes by maturity date/debtor, generates deposit slip number, auto-calculates total value
- **Collection from bank (تحصيل من بنك)**: confirms collected notes, records bank charges, credit note number from bank
- **Date postponement (تأجيل أوراق)**: changes maturity date for notes in safe or bank — paper-level edit
- **Cancel receipt (إلغاء استلام)**: returns previously received notes from safe — reverses the receipt
- **Withdrawal from bank (سحب من بنك)**: withdraws notes deposited in bank back to safe
- **Bounce from bank (ارتداد من بنك)**: records bounced/returned notes, tracks discount deduction and bank charges applied

### Payment Operations (حركات الدفع)
- **Cash disbursement (صرف نقدية)**: from (safes/banks), to (customers/safes/banks/suppliers/entities), with purpose and statement
- **Payment notes (أوراق دفع)**: issue checks/promissory notes to suppliers — year, type, serial, check number, bank code, maturity date, value per note
- **Payment note collection**: records when issued payment notes are collected by beneficiary
- **Payment note bounce**: records when our issued notes bounce — liability tracking
- **Bank check issuance (إصدار شيك بنكي)**: beneficiary name, correspondent bank, beneficiary account number, bank charges — formal bank instrument issuance
- **Telex/wire transfer (تحويل تلكس)**: same fields as bank check — electronic fund transfer tracking

### Endorsement Operations (عمليات التظهير)
- **Endorse received note to supplier**: select notes from safe, assign to supplier — transfers liability
- **Endorsed note collection**: confirms the endorsed supplier collected successfully
- **Endorsed note bounce**: records when an endorsed note bounces — liability returns to us, discount deduction applied
- **Cancel endorsement (إلغاء تظهير)**: reverses endorsement, returns note back to our safe

### Note Lifecycle State Machine
- Notes tracked through states: **in safe → in bank → collected** (happy path)
- Alternative paths: in safe → endorsed → collected/bounced
- In bank → bounced → returned to safe
- Postponed (date changed) at any point
- Cancelled/withdrawn at specific points
- **Full audit trail** — every state transition recorded as a movement

### Settlement Operations (التسويات)
- **Debit/credit settlement**: handles bank commissions, bank charges, and other miscellaneous adjustments
- Fields: serial (auto/manual), date, purpose (payment/advance payment/settlement), statement description
- **Party types**: customers, suppliers, safes, banks — settle with any entity type
- **Party code** + cash amount per settlement entry

### Client Financial Position
- **Real-time financial position screen** showing all clients with: name, withdrawal limit, balance (debit/credit), allowed limit
- **Enquiry about notes** by multiple criteria: note type (check/promissory), status, location (safe/bank/endorsed)
- **Notes nearing maturity alert** — system flag on report menu: "أوراق بالخزنة قارب أو حان إستحقاقها" (notes in safe approaching or at maturity)
- **Client blocked warning** — system flag: "وقف التعامل مع عملاء بسبب مرتداتهم" (suspend dealings with clients due to returned notes)

### Reports Suite
- **Report categories**: Suppliers, Supplier Financial Data, Customers, Customer Financial Data, Receivable Notes Reports, Payable Notes Reports, Safe & Bank Reports, Debtors Reports
- **Supplier account statement (كشف حساب مورد)**: date range filter, shows serial, date, document, movement description, transaction volume (debit/credit), running balance (debit/credit), totals row
- **Customer account statement (كشف حساب عميل)**: same structure — summary and detailed versions available
- **Customer balances by movement (أرصدة العملاء بالحركة)**: shows all customers with name, movement totals (debit/credit), pending collection, final balance (debit/credit) — includes "show pending collection" option
- **Report view types**: summary (مختصر) vs detailed (تفصيلي) vs comparative (مقارن) — toggle per report
- **Report scope types**: financial/inventory (مالية/مخزنية) vs financial+inventory comparative (مالية/مخزنية مقارن)
- **Sort options**: by code or by name
- **Filter by code range** — from code to code
- **Export formats**: HTML Table, Powersoft Report, SQL, SYLK (Excel), Text, WKS, WK1

---

## 12. نظام الحسابات.pdf (نظام الحسابات العامة - General Ledger / Accounting System, Arabic Desktop)

### System Configuration (خيارات النظام)
- **Chart of accounts level configuration**: up to 10 hierarchical levels with configurable digit length per level (e.g., level 1 = 1 digit, level 2 = 2 digits, etc.), total code length auto-calculated
- **Cost center levels**: separate hierarchical configuration up to 4 levels, max 18-digit codes
- **Journal type numbering**: monthly reset (restart from 1 each month) or annual sequential — user choice
- **Posting mode**: immediate posting (real-time) vs deferred posting (batch) — configurable per install
- **Up to 99 journal types** (analytical journals) definable by user
- **Up to 99 analytical code types** for journal classification
- **Fiscal year start/end dates**: configurable, not restricted to calendar year (can start any month)
- **Multi-company support**: multiple companies under one installation with consolidated balance sheet option
- **Company group code** for consolidated reporting across companies
- **Date validation enforcement**: configurable min/max dates allowed for entry — prevents backdating or future-dating entries
- **Journal format**: American-style vs standard (عادية vs أمريكية) — user selectable
- **Show closing financial reports up to 2 levels** option
- **Auto-enter converted local currency amount** — auto-fills local currency equivalent
- **Opening balance entry method**: via opening journal entry OR direct entry — user selectable
- **Entry number format**: show month with entry number, show analytical number with entry number
- **Entry date validation modes**: 5 different validation behaviors for min/max date checking (e.g., min = fiscal year start with no review, max = today with review, etc.)
- **Previous year's profit/loss account code** — system auto-carries forward closing P&L into this account

### Chart of Accounts (الدليل المحاسبي)
- **Tree view** with expandable/collapsible nodes (color-coded: green for groups with sub-items)
- **Per-account fields**: code, Arabic name, English name, "is last main account in tree" flag, final posting destination (balance sheet / trading / P&L / operations), nature (debit/credit), account open date, currency code, conversion rate, cost center linkage type (mandatory/optional/none)
- **Quick-access buttons per account**: review chart of accounts for this account, review monthly balances, detailed sub-ledger for this account, print chart for this account, print screen
- **Real-time balance display**: opening balance + account movement = current balance (shown live on the account definition screen)
- **Drag-and-drop** accounts within the tree to reorganize hierarchy
- **4 search methods**: direct code entry, code helper popup, tree drill-down, drag-and-drop from tree

### Cost Centers (مراكز التكلفة)
- **Separate hierarchical tree** from chart of accounts (independent structure)
- **Per-center fields**: code, name (Arabic/English), "is last main center" flag, account open date, currency, conversion rate, opening balance, budget value (تقديري)
- **Quick-access buttons per center**: review cost center guide, cost center monthly trial balance, detailed sub-ledger, print cost center guide, print screen
- **Cost center budget values** — enter estimated/budgeted amounts for variance analysis

### Budget/Estimated Values (القيم التقديرية)
- **Budget per account** — enter estimated values for each GL account for the current period
- **Budget per cost center** — enter estimated values per cost center
- **Variance analysis reports** — compare actual vs budget with graphical charts (bar charts, color-coded: green = budget, red = actual)
- **Account balance distributed by month** — monthly budget allocation chart

### Previous Year Data (بيانات السنين السابقة)
- **Import previous year balances** via dedicated screen — select year, auto-populates chart of accounts structure
- **One-click "fill previous year codes"** — copies entire chart to the previous year structure automatically
- **Per-account previous year fields**: current balance (debit/credit) and previous year balance (debit/credit)
- **Used for comparative reports** — enables side-by-side current vs previous year reporting

### Multi-Currency Support
- **Currency definition**: code, date, Arabic name, English description, conversion rate to local currency, abbreviated name
- **Per-line currency on journal entries** — each line can use a different currency
- **Reports show amounts in original currency** with local equivalent column
- **Local currency conversion** for all multi-currency entries

### Journal Entry (يومية القيود المحاسبية)
- **Entry header**: entry number (auto or manual), document number (source reference), date, journal type, analytical number, currency, conversion rate, entry description
- **Entry detail lines**: account code (with tree search), cost center code, type (debit/credit), amount, detailed description per line
- **Real-time balance indicator**: total debit vs total credit displayed in cyan panel — entry saved only when balanced
- **Compound entries** — unlimited lines per entry, can mix multiple accounts
- **Buttons from entry screen**: review chart of accounts, review monthly balances, print journal entry, print detailed sub-ledger, print screen

### Detailed Daily Movements (الحركات اليومية التفصيلية)
- **Alternative to journal entries** for high-volume environments (receipts/payments journals)
- **Each movement** is a single-sided entry linked to a specific journal type
- **Auto-links to journal entry number** — movement posts to a specific journal entry
- **Useful for**: separate receipts journal, payments journal, purchases journal — each posts to its own analytical number
- **Consolidated journal entry creation** — batch-aggregates detailed movements into a single journal entry per period

### Consolidated Entry Creation (إنشاء القيود المجمعة)
- **Aggregation options**: by full month, by date range, update existing consolidated entry, delete existing consolidated entry
- **Auto-generates** from selected journal type's detailed movements
- **Date range control**: from date → to date, from movement number → to movement number
- **Result**: one journal entry summarizing all detailed movements for the period

### Journal Posting (ترحيل القيود)
- **Batch posting**: post all unposted entries, or post specific range (entry number range + date range)
- **Un-posting (reverse)**: can reverse posting for specific entries or range — enables correction
- **Only posted entries affect reports** — unposted entries are invisible to financial reports
- **Modification lock** (حفظ البيانات من التعديل): separate from posting — locks entries from editing by entry number range + date range, with unlock capability

### Fiscal Year Close (إقفال السنة المالية)
- **First-time close**: auto-transfers balance sheet balances as opening entries for new year, zeros out income/expense accounts, carries profit/loss to retained earnings account
- **Re-close previous year**: if adjustments needed after initial close — restores backup of previous year database, makes changes, re-runs close to update new year's opening balances
- **Backup requirement**: enforced backup before close (database profile copy)
- **Carry forward without manual opening entry** — system auto-creates opening entries
- **Work in parallel fiscal years** — can start new year before closing previous year

### Reports Suite (26 total reports)
- **Chart of Accounts report** (الدليل المحاسبي): code, name, tree hierarchy, final posting destination, nature (debit/credit), date, currency — for any level depth
- **Journal Entries report** (يومية القيود): entry-by-entry with line details — account code, name, cost center, debit, credit, document number, conversion rate; filterable by journal type, entry range, document range, date range, analytical number, account code, cost center, posted/unposted, balanced/unbalanced, show original currency amounts
- **Monthly Trial Balance** (ميزان المراجعة الشهري): columns = prior to selected month (debit/credit) + transaction volume during period (debit/credit) + balance in selected month (debit/credit); single month or multi-month range
- **Multi-month Trial Balance** (ميزان المراجعة عن مجموعة شهور): aggregate across selected months
- **Detailed Sub-Ledger** (كشف حساب أستاذ مساعد تفصيلي): per-account transaction history with running balance; filters: posted/unposted, balanced/unbalanced, show by currency, date range, entry range, document range, journal type, analytical number, cost center, sort order (date + journal type)
- **Detailed Daily Movement reports** (تقرير الحركات اليومية): same as sub-ledger but for detailed movement entries
- **Detailed Cost Center Sub-Ledger** (يومية أستاذ تفصيلية مركز تكلفة): same structure filtered by cost center
- **Cost Center Monthly Trial Balance** (موازين المراجعة الشهرية لمراكز التكلفة): trial balance scoped to cost centers
- **Cost Center Distribution on Accounts** (توزيع مراكز التكلفة على الحسابات): cross-tab showing how each cost center's amounts distribute across GL accounts
- **Account Balance Inquiry** (الاستعلام عن أرصدة الحسابات): quick lookup of current balance for any account

### Graphical/Chart Reports (تقارير التحليلات البيانية)
- **Account movement analysis over period** — bar/line charts showing movement trends
- **Standard deviation from budget** — visual comparison of actual vs estimated values (green = budget, red = actual)
- **Compare current balances with budget and previous year** — three-way comparison chart
- **Account balance distributed by month** — monthly breakdown visualization
- **Chart customization**: change chart type (bar/line/pie), change title, change colors, change spacing

### Financial Statements (التقارير الختامية)
- **Report generator for financial statements** — user-configurable closing reports:
  - Define report groups (account groupings)
  - Assign accounts to groups
  - Define result lines (subtotals, totals, net calculations like G1+G2)
  - Set display order and blank rows between sections
  - **Save report template** for reuse — design once, run every period
- **Statement types**:
  - Trading Account (كشف حسابات المتاجرة)
  - Operating Account (كشف حسابات التشغيل)
  - Profit & Loss Account (كشف الأرباح والخسائر)
  - Current Operations (كشف العمليات الجارية)
  - Balance Sheet / Financial Position (الميزانية العمومية)
  - Cash Flow Statement (قائمة التدفقات النقدية)
  - Income Statement (قائمة الدخل)
- **Two display formats**: List format (قائمة) and T-Account format (حرف T) — side-by-side debit/credit columns
- **Preview print layout** before generating — review groupings and order

### Technical/Administrative Features
- **Database backup** from within the application (Technical Assistance menu)
- **Delete previously entered data** — purge capability for old records
- **Replace account codes in entries and movements** — mass account code renaming
- **Delete cost center data** — purge cost center records
- **Convert American journal to standard journal** — format migration tool
- **Hijri date system** — toggle between Gregorian and Hijri calendar
- **Change date system** mid-operation
- **Password management** from Technical Assistance menu
- **Re-post all balances and entries** — recalculation utility
- **Review entries** — audit/validation check
- **Database compaction** — optimize database file size

---

## 13. نظام المبيعات.pdf (نظام العملاء والمبيعات - Customers & Sales System)

### Customer Management (العملاء)
- **Full customer profile**: code (multi-segment), name, responsible manager, definition date, phone, address, email, fax, currency
- **Credit limit system**: credit limit (حد الائتمان) + auto-calculated "allowed limit" (الحد المسموح به) = credit limit minus actual withdrawals (cash collections)
- **Opening balances**: debit and credit opening balances per customer
- **Transaction volume tracking**: auto-calculated total transaction volume (debit/credit) and current balance
- **Stop dealing flag** (وقف التعامل): on debtors — yes/no flag to block all transactions with a debtor

### Sales Segments & Commissions (شرائح المبيعات والعمولات)
- **Sales Representatives** (مندوبين): code, description, segment assignment, application date
- **Tiered commission structure**: multiple tiers based on achievement percentage (e.g., 80% → rate X, 90% → rate Y, 100% → rate Z)
- **Two calculation bases**: 
  - Percentage of total target value
  - Percentage of commission amount itself
- **Segment target types**: quantity-based, value-based, or both
- **Commission nature**: fixed amount or percentage
- **Segment duration** (عدد أيام الشريحة): time-limited target periods
- **Returns deduction**: option to deduct sales returns before calculating commission
- **Calculation basis options**: purchase price, selling price, or configurable
- **Per-item vs overall targets**: segment can target specific items individually (each with its own target) or overall total only
- **Batch commission preparation** (تجهيز العمولات): specify date range → system calculates all reps' commissions per defined segments

### Configurable Movement Specifications (مواصفات الحركات)
- **User-defined movement types**: number of movements is NOT fixed — user adds/removes movement types to match business needs
- **26 configurable parameters per movement**:
  1. Movement code and sequential numbering (configurable start number per type)
  2. Movement type: inbound/outbound/transfer/settlement
  3. Movement description (user-chosen display name)
  4. Affects item prices (yes/no) — controls whether movement recalculates item valuation
  5. Show price to user (yes/no) — hide prices for warehouse-only movements
  6. Affects item quantities (yes/no) — inventory impact control
  7. Item group filter — which items appear in this movement type
  8. Price basis: selling price, purchase price, etc.
  9. Transport cost field (yes/no)
  10. Work order link: internal/external job orders
  11. Immediate payment trigger (yes/no) — auto-create payment on save
  12. Financial impact flag — affects customer/supplier balances
  13. Document dependency — link to purchase order, customer order, etc.
  14. Sales tax / VAT configuration per movement
  15. Discount rules — percentage or value, applicable per item or overall
  16. Discount based on customer (yes/no) — per-customer discount rates
  17. Cost center assignment
  18. Auto-create journal entry on save (GL integration)
  19. Movement start serial number
  20. Purchase order number link
  21. From/To parties: warehouse, supplier, customer with code lookup
  22. Date of last movement (auto-tracked)
  23. Default "from" party (customer/supplier code)
  24. Use items in credit notes
  25. Depends on prior movement (e.g., credit invoice depends on customer order)
  26. Movement code for dependent movement

### Sales Document Types (حركات المبيعات)
- **Cash Sales Invoice** (فاتورة مبيعات نقدي):
  - Auto-sequential invoice number (configurable start)
  - Document date (defaults to today, editable)
  - Item group code (which catalog)
  - Sales rep code (who made the sale)
  - Description field
  - From warehouse → To customer
  - Line items: item code, quantity, unit price (auto-loaded from item card based on movement specs), discount (% or value), line total
  - Overall totals: subtotal, special discount, net total
  - Balance before/after movement shown per item
  - Immediate financial impact on customer account

- **Sales Return** (مرتجع مبيعات نقدي):
  - Same structure as cash invoice
  - Reference to original invoice (optional)
  - Reverses inventory and financial impact
  - Shows balance before/after per item

- **Customer Order** (طلبية عملاء):
  - Order number, document date
  - Expected delivery date per item (different dates per line item)
  - From warehouse to customer
  - Multi-item with individual delivery scheduling
  - Status tracking (pending/fulfilled)

- **Item Reservation** (حجز أصناف):
  - Reserve specific items for customer with pricing
  - Reservation date
  - Affects "reserved" quantity field in item card (separate from available stock)
  - Multi-item reservation in single document
  - Balance before/after shown

- **Credit Sales Invoice** (فاتورة مبيعات آجلة):
  - Same as cash but payment deferred
  - Payment due date (تاريخ أقساط الفورية)
  - Affects customer credit balance (not immediate cash)
  - Installment tracking capability
  - Can be linked to customer order (fulfillment)

### Financial Movements (الحركات المالية)
- **Cash Receipt** (استلام نقدية):
  - Sequential number, date, purpose (payment/settlement/other — user-selectable)
  - From party: customer/supplier/bank/safe (dropdown)
  - To party: safe/bank (dropdown)
  - Amount in cash
  - **Instant financial position inquiry** during entry — see customer's current balance while recording receipt
  - Cross-system: same screen exists in banking module for unified data entry

- **Notes Receipt** (استلام أوراق):
  - Receive checks or promissory notes (كمبيالات/شيكات)
  - Authorization value (total expected) vs individual note values (must match)
  - Auto-sequential internal serial per note
  - Per-note details: type (check/bill), bank name, due date, value, debit/credit
  - **Endorsed note tracking**: if note is third-party endorsed, identifies the debtor
  - Differentiation: receiving note in safe vs receiving in bank (different lifecycle)

- **Bank Deposit** (حافظة إيداع في بنك):
  - Deposit portfolio: number, date, safe code → bank code
  - Deposit slip details (optional)
  - Note type filter: receipt notes or payment notes
  - **Smart note selection**: standing on serial field shows all notes in safe → select which to deposit
  - Auto-populates note details from system records
  - Note data shown: serial, type, check number, bank, due date, value
  - Cross-module: same movement can be entered from Banking System

- **Note Collection** (تحصيل أوراق):
  - Record collected notes (successfully cashed checks/bills)
  - Source: from safe or from bank (wherever the note currently resides)
  - Collection date (actual collection date)
  - Addition notice number (bank's confirmation)
  - Bank collection charges (fees deducted)
  - Follows same note selection UI as deposit

- **Debit Settlement** (التسوية المدينة):
  - Adjust any party's balance on debit side
  - Parties: customer/supplier/bank/safe
  - Purpose field, description, amount
  - Cross-module integration with Banking System

- **Credit Settlement** (التسوية الدائنة):
  - Mirror of debit settlement for credit side
  - Same party options and cross-module behavior

### Reports Suite (30+ reports organized by category)

**Customer Financial Reports:**
- **Customer Account Statement** (كشف حساب عميل): detailed transaction history with running balance; modes: detailed/summary/financial/comparative; date range filter
- **Customer Movement Tracking** (متابعة حركة العملاء): balance before period (debit/credit), movements during period, balance after period — tracks debt accumulation over time
- **Customer Current Position** (الموقف الحالي للعملاء): snapshot of all customers with code, name, current balance, credit limit
- **Invoice Payment Report** (تقرير سداد فواتير العملاء): per-invoice payment tracking — invoice number, date, customer, amount, paid, remaining, status (paid/unpaid/partial), payment method (cash/check), last payment date
- **Customer Accounts Summary** (موقف حسابات العملاء إجمالي): opening balance + period movement + notes under collection; filter: debit-only/credit-only/zero/all balances, show notes value or not
- **Customer Accounts Detailed** (موقف حسابات العملاء تفصيلي): same but per-movement detail within each customer
- **Customer Period Balances** (أرصدة حسابات العملاء خلال فترة): all customer balances for a date range with credit limits
- **Credit Limit Exceeded** (أرصدة متجاوزة حد الائتمان): customers over credit limit — shows balance, limit, excess amount, % exceeded; filter by actual exceedance or near-limit
- **Customer Movement Analysis** (تحليل إجمالي حركات العملاء لفترة): breakdown of all movement types per customer (sales/returns/cash receipts/notes/collections/discounts) with debit/credit totals
- **Customer Balances & Limits** (أرصدة وحدود سماح العملاء): balance vs credit limit vs notes under collection

**Sales & Items Reports:**
- **Sales Rep Analysis** (تحليل مبيعات المندوبين)
- **Sales Rep Summary** (ملخص مبيعات المندوبين)
- **Customer-Item Analysis** (تحليل بيانات العملاء والأصناف)
- **Rep-Item Cross Reference** (المندوبين والأصناف)
- **Customer Sales Descending** (مبيعات العملاء تنازلياً) — ranked by sales volume
- **Monthly Sales** (المبيعات شهرياً)
- **Rep Collection Follow-up** (متابعة تحصيلات المندوبين) — track which reps collected what
- **Invoice Profit** (أرباح الفواتير) — profit per invoice
- **Item Profit** (أرباح الأصناف) — detailed or summary, per-item profitability
- **Reserved Items Balances** (أرصدة الأصناف المحجوزة)
- **Price List** (قائمة الأسعار)
- **Branch Sales Comparison** (تقرير مقارنة مبيعات الفروع) — compare sales across branches
- **Customer Order Analysis** (تحليل طلبيات العملاء والأصناف)
- **Order Balances** (أرصدة طلبيات العملاء)
- **Specific Order Balance** (رصيد طلبية محددة)
- **Orders Ranked by Items** (ترتيب الطلبيات تنازلياً طبقاً للأصناف)
- **Orders Ranked by Cash Total** (ترتيب الطلبيات تنازلياً طبقاً للإجمالي النقدي)
- **Item Sales Analysis** (تحليل مبيعات الأصناف) — per customer or per month
- **Sales Movement Portfolio** (حافظة حركات المبيعات)
- **Sales Tax Report** (تقرير ضريبة المبيعات)

**Graphical/Chart Reports:**
- **Monthly Customer Analysis** (التحليل الشهري للعملاء)
- **Item Chart by Customer/Month** (التحليل البياني للأصناف)
- **Customer Chart by Items** (التحليل البياني للعملاء على مستوى الأصناف)
- **Customer Financial Position Chart** (التحليل البياني لموقف العملاء المالي)

### Technical Assistance (مساعدات فنية)
- **Bulk price modification**: update wholesale/consumer/branch prices across all item cards
- **Retroactive price update in movements**: change prices inside historical movements (recalculates affected totals)
- **Item price limits per movement**: set min/max price boundaries to prevent entry errors
- **Discount allowance toggle**: enable/disable discount per item
- **Automatic movement issuance**: batch-create movements from templates or schedules
- **Re-posting movements**: recalculate all item balances from movement history (data integrity repair)
- **Recalculate customer financial position**: rebuild all customer balances from transaction history
- **Data deletion**: purge old movement/customer data
- **Period close** (إغلاق فترة): close fiscal year or current period — locks data from modification

### Item Master Data (الأصناف)
- **Multi-segment hierarchical item code**: each segment represents a classification level (category → subcategory → item)
- **Three purchase prices tracked**: first period price, current price, weighted average price
- **Stock limits per warehouse**: minimum (الحد الأدنى), maximum (الحد الأقصى), reorder point (حد الطلب) — reorder must be > minimum
- **Quantities under commitment**: order quantity (طلب), reserved quantity (حجز), purchase quantity (شراء) — separate from available stock
- **Multiple selling prices**: consumer price (سعر المستهلك), wholesale price (سعر جملة), branch price (سعر فرع)
- **Per-customer discount rate**: assignable at item level
- **Per-warehouse stock tracking**: each item shows balance per warehouse with opening and current quantities
- **Item definition date and last movement date**: automatic tracking
- **Multi-unit support**: weight, length, area, volume — receiving in one unit, dispensing in another

### Warehouses (المخازن)
- **Warehouse types**: store (مخزنة) and other configurable types
- **Multi-segment warehouse code**: hierarchical coding for warehouse classification
- **Bilingual names**: Arabic and English warehouse descriptions

---

## 14. نظام المخازن.pdf (نظام مراقبة المخزون - Inventory/Warehouse Control System)

### Item Sub-Components (المكونات الفرعية للأصناف)
- **Bill of Materials (BOM)**: define items as composed of other items (sub-components)
  - Example: "PC Computer" (code 0001) = Monitor + CPU + Mouse + Keyboard + Power Cable + Case + Mother Board + VGA Card + Processor + 2x HDD + FDD
  - Each sub-component has its own quantity
- **Cascading inventory impact**: when parent item is received (added), all sub-component quantities auto-increase; when parent is dispensed, sub-components auto-decrease
- **Integrity enforcement**: if any sub-component is dispensed individually, the parent item's available count decreases (it's no longer a complete unit)
- **Opening balance cascading**: setting opening balance for a composite item auto-sets opening balances for all sub-components

### Item Classification & Units System
- **Unit discrimination** (تمييز الأصناف): specific unit measures linked to item categories — e.g., weight unit → ton/kg/gram; length unit → km/meter; each discrimination has short name for display
- **Unit relationships** (العلاقة بين الوحدات): define conversion factors between units at item level or group level
  - Example: 1 weight = 5 length for item "حامر"; 1 weight = 2 length for item "عزق"
  - Conversion multiplier displayed in all movement screens automatically
- **Configurable item group properties** (مواصفات المجموعة الرئيسية): per-group flags for: has expiry date?, has colors?, has more than one unit?, etc.
- **Barcode integration**: can use barcode scanners for item entry in movements — speeds up data entry and stocktaking
- **FIFO/Average costing policy**: configurable per system — "first in first out" vs "weighted average purchase cost"

### Configurable Inventory Movements (الحركات المخزنية)
- **8 standard movement types** (user can add more):
  1. Goods Receipt (إذن إضافة مخازن) — from supplier to warehouse
  2. Goods Issue (إذن صرف مخزني) — from warehouse to customer/employee
  3. Purchase Return (إذن مرتجع إضافة) — return to supplier
  4. Issue Return (إذن مرتجع صرف) — return from customer/employee to warehouse
  5. Inter-warehouse Transfer (إذن تحويل مخزني) — warehouse to warehouse
  6. Positive Adjustment (إذن تسوية بالإضافة) — add stock from counting/reconciliation
  7. Negative Adjustment (إذن تسوية بالخصم) — reduce stock from counting/reconciliation
  8. Receipt Pricing (تسعير إذن إضافة) — post-receipt price assignment

- **Same configurable movement specification engine** as Sales module (26 parameters per movement type)
- **Movement linked to Purchase Order**: receipt movement can pull items from purchase order automatically
- **Movement linked to prior movement**: return movements can reference original issue/receipt for validation
- **Auto-create journal entry per movement**: GL integration configurable per movement type
- **Cost center assignment per movement**
- **Balance before/after shown per item** in all movement screens
- **Custody tracking** (عهد أفراد): issue items to specific employees — tracked as personal custody
  - Employee data imported from HR system ("نقل وتحديث بيانات الأفراد من نظام العاملين")
  - Custody return = return-from-issue movement referencing original issue

### Physical Inventory & Stocktaking (الجرد)
- **Stocktaking data preparation** (تجهيز بيانات الجرد): pre-populate inventory count sheets from system data
- **Print inventory count report** (طباعة تقرير جرد الأصناف): formatted sheets for physical counting
- **Reconciliation via adjustment movements**: use positive/negative adjustments to align system with physical count
- **Missing document numbers report** (أرقام المستندات المفقودة): detect gaps in sequential document numbering — potential data integrity issue
- **Unpriced documents report** (مستندات لم تسعر بعد): receipts that haven't been priced yet

### Reports Suite (20+ reports)

**Item Balance Reports:**
- **Opening Balances** (أرصدة الأصناف الافتتاحية): all item opening quantities/values
- **Current Balances Summary** (أرصدة الأصناف الحالية المختصر): per warehouse or all warehouses, filterable by item code range
- **Current Balances Detailed** (أرصدة الأصناف الحالية التفصيلي): includes all pricing details
- **Item Card — Quantity Only** (كارت أصناف كمية): movement-by-movement quantity history per item
- **Item Card — Quantity & Price** (كارت أصناف بالكمية والأسعار): full financial movement card
- **Item Balances with Movement Summary** (أرصدة الأصناف بالحركة المختصر): balance + inbound/outbound totals
- **Item Balances with Movement Detailed** (أرصدة الأصناف بالحركة التفصيلي): per-movement detail

**Valuation Reports:**
- **Inventory Valuation Summary** (تقييم المخزون المختصر): total value at current cost/price per item
- **Inventory Valuation Detailed** (تقييم المخزون التفصيلي): per-warehouse breakdown of valuation

**Alert/Exception Reports:**
- **Items Exceeding Storage Limits** (أصناف تجاوزت حدود التخزين): items above max or below min thresholds
- **Storage Limit Exceeded Percentage** (نسبة تجاوز حدود التخزين): percentage-based threshold report
- **Near Expiry Date** (قاربت على انتهاء تاريخ الصلاحية): items approaching expiration
- **Stagnant/Dead Stock** (أصناف راكدة): items with no movement for configurable period
- **Supplier Item Codes** (قائمة أكواد الأصناف لدي الموردين): cross-reference between internal codes and supplier codes

**Movement Reports:**
- **Inventory Movement Transactions** (حركات مخزنية): all movements by type, date range, warehouse
- **Work Order Reports** (تقارير أمر الشغل): movements linked to work/job orders
- **Custody Reports** (عهد): items issued to employees with outstanding balances
- **Missing Document Numbers** (أرقام المستندات المفقودة): audit trail integrity check
- **Unpriced Documents** (مستندات لم تسعر بعد): pending pricing receipts
- **Movement Reposting Status** (بيان إعتماد الحركات): which movements have been posted/approved

**Report Export:**
- Export to file (text format for word processing)
- Direct print with configurable printer, page selection, and copy count
- Print preview with zoom controls

### Contractors Support (المقاولين)
- **Dedicated contractor entity**: separate from customers/suppliers — for construction/project businesses
- **Contractor master data**: code, name, responsible manager, definition date, phone, fax, email
- **Movement parties can include contractors** as source/destination

### Key System Characteristics
- **Unlimited warehouses** with type classification (main store, production store, etc.)
- **Automatic low-stock alerts**: warning when item falls below minimum threshold
- **Supplier-to-item code mapping**: link supplier's part numbers to internal item codes for procurement
- **Expiry date tracking per item group**: configurable — some groups have expiry, others don't
- **Color/variant tracking per item group**: configurable attribute
- **Opening balances auto-carry-forward**: balances automatically transferred as opening entries for next fiscal year

---

## 15. نظام المشتريات.pdf (نظام المشتريات - Suppliers & Purchasing System)

### Supplier Master Data (تعريف الموردين)
- **Comprehensive supplier profile**: code, name, responsible manager, definition date, address, phone, fax, email
- **Multi-currency support per supplier**: each supplier linked to their preferred currency
- **Credit limit system (حد الائتمان)**: configurable credit ceiling per supplier
- **Cash payments tracking (التحصيلات النقدية)**: auto-calculated field showing total cash payments made to supplier
- **Auto-calculated allowed limit (الحد المسموح به)**: system computes remaining available credit = credit limit - cash payments
- **Opening balance (debit/credit)**: per supplier for period initialization
- **Transaction volume tracking**: auto-accumulated from all movements
- **Current balance**: real-time supplier balance computed from opening + movements
- **"Stop dealing" flag for debtors (إيقاف التعامل)**: yes/no flag to block transactions with specific debtors

### Procurement Document Cycle
- **Full procurement workflow**: Internal Purchase Request → Supplier Price Quote → Quote Evaluation → Purchase Order → Supplier Invoice → Payment
- **Each document links to previous**: supplier invoice references purchase order, purchase order references price quote, etc.
- **Auto-sequential numbering**: 7-digit auto-incrementing serial per document type, configurable starting number via movement specifications
- **Auto-date defaulting**: all documents default to today's date, editable by user
- **Item group classification**: each document scoped to an item group (مجموعة الأصناف)

### Purchase Order (أمر شراء)
- **Internal origin tracking**: purchase order specifies which warehouse/department needs the items
- **Movement description field**: free-text summary of the purchase reason
- **Source warehouse specification**: which store will receive the purchased items
- **Supplier selection with lookup**: supplier code with helper screen for browsing/searching
- **Line items with stock-before-and-after display**: shows item balance before and after the movement in real-time
- **Quantity and unit price entry**: per line item with auto-calculated total
- **Grand total and net total**: auto-computed with separation of gross and net amounts
- **Review supplier quotes from PO screen**: sidebar button to review related supplier price quotes directly

### Supplier Price Quote (عرض أسعار مورد)
- **Links to internal purchase request**: can auto-populate items from an existing internal purchase request
- **Compare across suppliers**: same items can have quotes from multiple suppliers
- **Auto-populate from purchase request**: when linked to internal request, items/quantities pre-fill from the request
- **Editable quantities**: user can adjust quantities in the quote vs. original request

### Quote Evaluation (تقييم عروض الأسعار)
- **Side-by-side supplier comparison**: displays all supplier quotes for the same purchase request on one screen
- **Per-item price comparison**: shows each item's price from each supplier for easy evaluation
- **"Issue Purchase Order" button**: after selecting winning supplier, directly generates PO from evaluation screen
- **Linked to purchase request number**: evaluation is always based on a specific purchase request

### Internal Purchase Request (طلب شراء داخلي)
- **Department-initiated requests**: requesting department code specified (from department master data)
- **Links forward to supplier quotes**: when specifications are configured, the request links to supplier price quotes
- **Same item entry as PO**: item code, quantity, with helper screens and stock-before/after display
- **Triggers quote solicitation workflow**: after request approved, system supports sending for supplier quotes

### Supplier Invoice (فاتورة مورد)
- **References purchase order**: invoice can be linked to an existing PO for validation
- **Dual-source specification**: both "from supplier" and "to warehouse" on same screen
- **Tax percentage field**: configurable tax rate per invoice
- **Discount percentage and value**: both percentage and absolute discount supported
- **Weight/unit tracking**: additional columns for weight and unit measure per line item
- **Auto-posts to GL**: supplier invoice automatically generates accounting journal entry
- **Item description field**: each line shows item's full stored description alongside code

### Financial Movements (الحركات المالية)

#### Cash Payments (صرف نقدية)
- **Multi-purpose payment types**: payment can be for "full settlement" (سداد), "installment/scheduling" (جدولة), or "adjustment" (تسوية)
- **Dual-party specification**: "from" party (safe/bank) and "to" party (supplier/other)
- **Helper screens for party lookup**: both source and destination have browse-able lookup helpers
- **Can be linked to specific invoice**: payment optionally references the supplier invoice being paid
- **Cash amount field**: direct cash payment value entry

#### Payment Notes / Checks (أوراق الدفع)
- **Check/promissory note distinction (ش/ك)**: each paper is classified as check or promissory note (كمبيالة)
- **Multiple papers per transaction**: a single payment movement can contain multiple checks/notes
- **Paper portfolio tracking**: papers grouped into portfolios (حافظات) with sequential numbering
- **Per-paper details**: issue year, paper serial within portfolio, check number, bank code, maturity date, value
- **Same purpose types as cash**: settlement, scheduling, or adjustment
- **Running totals**: bottom of screen shows count and total value of all papers in the movement

#### Payment Note Status Update (تحديث حالة ورق دفع)
- **Portfolio-based updates**: select portfolio type (collection/payment) then update papers within it
- **Bank-linked**: specify which bank the papers are deposited at
- **Paper selection from bank's papers**: system shows only papers currently held at selected bank/safe
- **Status lifecycle tracking**: papers move through states (issued → deposited → collected/bounced)
- **Bulk or individual update**: can update one paper or multiple in a single transaction

#### Debit/Credit Settlements (التسويات المدينة والدائنة)
- **Multi-party settlements**: can settle between suppliers, customers, banks, safes
- **Purpose-driven**: settlement for "payment" (سداد), "advance payment" (دفعة مقدمة), or "adjustment" (تسوية)
- **Cross-entity settlements**: settle a supplier balance against a customer balance, or bank vs. safe, etc.
- **Free-text description**: narrative field for explaining the nature of the settlement

#### Paper/Check Inquiry (الاستعلام عن أوراق)
- **Multi-criteria search**: search by paper serial, check number, bank, debtor, date (maturity or issue), recipient, payer
- **Filter by collection vs. payment**: separate inquiry for received papers vs. issued papers
- **Filter by paper type**: check only, promissory note only, or all
- **Results grid**: shows serial, check number, bank, value, maturity date, issue date, status, payment date, bank code

### Reports System (التقارير)

#### Supplier Financial Reports
- **Supplier account statement (كشف حساب مورد)**: detailed or summary, filterable by date range; shows serial, date, document, movement description, debit, credit, running balance
- **Report type toggle**: "financial/warehouse" vs "financial/warehouse comparative" view modes
- **Current supplier position (الموقف الحالي للموردين)**: all suppliers with opening balance (debit), current balance (debit), opening (credit), current (credit) — instant snapshot
- **Supplier movement tracking in period**: filter by entity type (supplier/customer/debtor), bank, issue date range, maturity date range — shows paper details (serial, check#, maturity, value, status, payment date, bank code)

#### Financial Reports
- **Payment notes portfolio tracking (متابعة أوراق دفع)**: all issued checks/notes with their current status
- **Payments movement statement (كشف حركة المدفوعات)**: date-filtered report showing serial, document type, document number, recipient, first installment value, cash amount
- **Payment notes analysis - summary (تحليل أوراق الدفع المختصر)**: breakdown into direct/indirect, checks vs. promissory notes, with count and value for each category

#### Purchasing Reports
- **PO balances per supplier (أرصدة أوامر الشراء لمورد)**: filter by item group, item code range, supplier, date range — shows item code, item name, PO number per supplier
- **PO balances all suppliers (أرصدة أوامر الشراء لجميع الموردين)**: same data across all suppliers for comparison
- **Specific PO balance (رصيد أمر شراء محدد)**: for a single PO, shows each item with: name, expected delivery date, quantity requested, quantity received, remaining under delivery, delivery percentage
- **Purchase movement portfolio (حافظة حركات المشتريات)**: from report menu
- **Print purchase movement**: individual movement document print
- **Cost center vs. items movement report**: shows expense allocation per cost center with linked items
- **Item purchases analysis (تحليل مشتريات الأصناف)**: item-level purchasing analytics
- **Daily item purchases analysis**: day-by-day purchasing breakdown
- **Debt aging report (أعمار الديون)**: supplier debt aging analysis
- **Discount model report**: discount patterns applied
- **Service follow-up (متابعة الخدمات)**: tracking services purchased
- **Items & suppliers cross-reference (متابعة الأصناف والموردين)**: which items from which suppliers
- **Movement approval status (بيان اعتماد الحركات)**: approval workflow tracking for purchasing movements
- **Items linked to suppliers report**: items with their primary/associated suppliers
- **Item purchases by supplier level**: analysis of purchases per item broken down by supplier
- **Items vs. budgets (الأصناف والموازنات)**: compare actual purchases against budget allocations
- **Item price monitoring (متابعة أسعار الصنف)**: track price changes over time
- **Item price deviation (انحراف أسعار الصنف)**: flag items where purchase price deviates from expected/standard price
- **Items & suppliers by quantity and value**: combined quantity + value analysis per item per supplier

#### Purchase Delays Reports (متأخرات المشتريات)
- **Overdue delivery tracking**: items not delivered by expected date
- **Purchase request follow-up (متابعة طلبات الشراء)**: track status of all purchase requests
- **Purchase request follow-up v2**: alternative format for purchase request tracking
- **Portfolio reports (تقرير الحوافظ)**: portfolio-level summaries

### Configurable Movement Specifications Engine
- **Same engine as Sales & Inventory modules**: 26+ configurable parameters per movement type
- **User-customizable movement types**: number and names of purchasing movements can be added/removed by user through specifications menu
- **Naming flexibility**: movement type labels can be renamed to match organization's terminology
- **Auto-numbering per movement type**: each movement type has its own sequential counter with configurable starting number

### Report Export & Printing
- **Multi-format export**: reports exportable to HTML Table, PowerSoft Report, SQL, SYLK, SYLK with headers, Text, Text with headers, WKS, WKS with headers, WK1
- **Print preview with zoom**: adjustable zoom percentage for print preview
- **Page setup controls**: paper size, orientation, margins all configurable
- **Direct print or to-file options**: print immediately to printer or save to file for later

---

