Knowledge Base Finance

Financial Statements Engine

Trial Balance, Income Statement, Balance Sheet and Cash Flow — generated in real time from a double-entry general ledger, auditable to every source transaction.

GLIFRSIAS 1IAS 7Trial BalanceP&LBalance SheetCash FlowDouble-Entry

Overview

The EIN 360 Financial Statements module produces four core reports from the General Ledger, generated in real time from posted journal entries. Every number is auditable back to its source transaction.

ReportStandardPurpose
Trial BalanceIAS 1 / IFRSVerifies debit-credit equality across all accounts
Income StatementIAS 1.81–105Revenue vs expenses over a period
Balance SheetIAS 1.54–80Financial position at a point in time
Cash FlowIAS 7Cash movements by activity category

Compliance framework

Follows IFRS as adopted by the UAE: IAS 1 (Presentation), IAS 7 (Cash Flows), IAS 16 (PP&E / Depreciation), IFRS 16 (Leases), and UAE Federal Decree-Law No. 47 of 2022 (Corporate Tax).

Architecture

Every financial transaction creates a balanced journal entry where total debits always equal total credits. This is enforced at the database constraint level.

gl_journal_entries (header)
  id, journal_date, source, description, status

gl_journal_lines (details)
  account_id → gl_accounts
  debit_amount  (always ≥ 0)
  credit_amount (always ≥ 0)

CONSTRAINT: SUM(debit) = SUM(credit)
Only 'Posted' entries appear in reports

Chart of accounts

Code rangeTypeNormal balanceIFRS class
1xxxAssetDebitFinancial Position
2xxxEquityCreditFinancial Position
3xxxLiabilityCreditFinancial Position
4xxxIncomeCreditProfit or Loss
5xxxExpenseDebitProfit or Loss

Automated journal sources

SourceTriggerDebitCredit
InvoiceInvoice issuedAccounts ReceivableRevenue + VAT Output
ReceiptPayment receivedBank / CashAccounts Receivable
Credit NoteCN issuedRevenueAccounts Receivable
PayrollPayroll postedSalary ExpenseSalary Payable
DepreciationMonthly runDepreciation ExpenseAccumulated Depreciation
Store SalePOS saleCash + COGSRevenue + Inventory

Trial Balance

Lists all GL accounts with aggregate debit and credit totals. If total debits ≠ credits, there is a system error. EIN 360 enforces balance at the journal level, so the Trial Balance always balances.

  • Balanced check: SUM(debits) = SUM(credits)
  • Positive net = debit balance (Assets, Expenses)
  • Negative net = credit balance (Liabilities, Equity, Income)
  • Optional asOf date filter for point-in-time snapshots

Income Statement (P&L)

Measures financial performance over a period.

Revenue — for Income accounts: Credit Total − Debit Total. Income accounts have a credit normal balance.

Expenses — for Expense accounts: Debit Total − Credit Total. Expense accounts have a debit normal balance.

Net Income = Total Revenue − Total Expenses

Revenue is recognized at invoice issuance following IFRS 15’s five-step model: identify contract → identify obligations → determine price → allocate → recognize.

Balance Sheet

Shows financial position at a point in time. It must satisfy:

Assets = Liabilities + Equity

EIN 360 programmatically verifies this equation and displays a pass/fail indicator.

Contra-assets — Accumulated Depreciation accounts have a credit normal balance, creating negative amounts that reduce total assets.

Retained earnings — auto-calculated by running the P&L from inception to the balance sheet date. No manual period-end closing needed — the system performs a virtual close in real time.

Cash Flow Statement

Uses the Indirect Method (IAS 7.18b) — starts with net profit, then adjusts for non-cash items and working-capital changes.

Operating Activities:
  Net Profit + Depreciation
  ± Working Capital Changes (AR, Inventory, AP, Payables)

Investing Activities:
  − Purchase of PP&E, Vehicles, Computers

Financing Activities:
  + Capital Contributions ± Loans ± Lease Payments

Opening Cash + Net Change = Closing Cash

Data Integrity

SafeguardHow it works
Posted-onlyOnly journals with status = ‘Posted’ appear
ImmutableDB triggers prevent modification of posted entries
Multi-tenant RLSPostgreSQL Row-Level Security isolates data
Real-timeNo pre-aggregated tables — computed from source
Audit trailEvery journal records timestamp, user, source