---
tags: [reports, service]
module: Reports
---

# [Service]FinancialServices

## Connections
[[_Reports]] · [[[Controller]Controllers]] · [[[Service]UtilityServices]] · [[[Cross]CrossModuleDependencies]]

## Source
`Modules/Reports/Services/`

Core financial-statement services. All read from Accounting module repositories. All accept a request entity and return structured data arrays for views/exports. Comparison variants exist for Balance Sheet and Income Statement.

---

## Account Statement
| Service | Purpose |
|---|---|
| AccountStatementService | Paginated journal records for a single account; opening/closing balance by fiscal year or custom date range; cost-center permission filter applied |
| AccountStatementExportingService | Wraps AccountStatementService, adds company logo + cost center names for PDF/Excel |
| CalculatingAccountOpeningClosingBalanceCustomDurationService | Computes opening/closing balance for arbitrary date range; handles cost-center-specific variant |

**Key dependencies:** `JournalRecordsRepository` · `AccountingFiscalYearBalanceRepository` · `PreparingDataService` · `RetrievingSubCategoriesWithAccountsService` · `RetrievingTenantCurrencyService`

---

## Account Summary
| Service | Purpose |
|---|---|
| AccountSummaryIndexingService | Monthly breakdown of journal records for an account in a fiscal year; calculates opening balance per month |
| AccountSummaryExportingService | Wraps AccountSummaryIndexingService + adds logo |

**Key dependencies:** `JournalRecordsRepository` · `AccountingFiscalYearBalanceRepository` · `FiscalYearsRepository`

---

## Trial Balance
| Service | Purpose |
|---|---|
| TrialBalanceService | Account debit/credit totals for fiscal year or custom dates |
| SaudiTrialBalanceService | Saudi-specific variant (landscape PDF, different column structure) |
| SaudiTrialBalanceServiceWithJob | Variant that dispatches TrialBalanceJob for async processing |
| TrialBalanceExportingService | Wraps service + adds logo |

**Key dependencies:** `FiscalYearsRepository` · `AccountsRepository` · `AccountingFiscalYearBalanceRepository` · `RetrievingAccountsService`

---

## Balance Sheet
| Service | Purpose |
|---|---|
| BalanceSheetService | Assets / Liabilities / Equity grouped by accounting category |
| BalanceSheetComparisonService | Same but with side-by-side comparison period |
| BalanceSheetExportingService | Wraps BalanceSheetService/Comparison for PDF/Excel |

---

## Income Statement
| Service | Purpose |
|---|---|
| IncomeStatementService | Revenue, COGS, expenses grouped by category |
| IncomeStatementComparisonService | Side-by-side comparison variant |
| IncomeStatementExportingService | Wraps service for PDF/Excel |
| IncomeStatementExportingComparisonService | Wraps comparison service for PDF/Excel |

---

## General Ledger
| Service | Purpose |
|---|---|
| GeneralLedgerIndexingService | Paginated journal entries with records; DataTables sorting; cost-center + transaction-type filtering |
| GeneralLedgerIndexingExportingService | Flat-array variant for PDF/Excel (max 10,000 records enforced by controller) |

Extends `JournalReportAbstract` — inherits cost-center permission enforcement + fiscal year vs. date handling.

---

## Journal Report
| Service | Purpose |
|---|---|
| JournalReportService | Paginated journal entries grouped by entry; transaction type labels; DataTables pagination (extends JournalReportAbstract) |
| JournalReportExportingService | Flat-array variant for PDF/Excel; max 2,000 entries enforced by controller |
| JournalReportAbstract | Base class — builds, filters, paginates journal entries; handles cost center multiselect; enforces user permission filtering |
| SendingJournalReportToEmailService | Renders PDF (Snappy), saves file, sends email via SendingEmailService |
| SendingJournalReportToEmailWithExcelFormateService | Excel variant — exports and emails as .xlsx |

---

## Cash Flow
| Service | Purpose |
|---|---|
| CashFlowService | Indirect method — operating/investing/financing activities from account movements |
| CashFlowExportingService | Wraps CashFlowService for PDF/Excel |
| CashFlowDirectService | Direct method — cash receipts/payments by section (CashFlowDirectMainSectionsEnum) |
| CashFlowDirectExportingService | Wraps CashFlowDirectService; uses ExcelFlowChartDirectViewExport for formatted Excel |
