এই ভলিউমে · ভলিউম 06
প্রতিবেদন
আর্থিক প্রতিবেদন
বাংলা সারসংক্ষেপ

রিপোর্ট: TB, P&L, BS, CF (indirect ডিফল্ট), AR/AP aging, Deferred Revenue roll-forward, FX exposure, Customer SoA, Audit packs। পুনরুৎপাদনযোগ্যতা গ্যারান্টি: closed period রিপোর্ট সবসময় একই—snapshot rates ব্যবহৃত।

Chapter 6.1 — Financial Reports

1. Purpose

This chapter defines travoBooks' financial reporting suite: the standard statements (Trial Balance, P&L, Balance Sheet, Cash Flow), the supplemental schedules (AR aging, AP aging, deferred revenue roll-forward, FX exposure), and the operational design that makes them reproducible, auditable, and exportable. Reports are not just visualisations — they are versioned financial artefacts.

2. Why it matters

Financial reports are the daily artefact business runs on. If a P&L is wrong on Monday it sets wrong expectations all week. If a Trial Balance fails to balance, the entire ledger is suspect. If reports are not reproducible — running the same report twice produces different numbers — the platform cannot be audited.

3. Report categories

Category Examples
Statutory statements Trial Balance, P&L, Balance Sheet, Cash Flow, Statement of Changes in Equity
AR / AP schedules Customer aging, Supplier aging, Customer statement of account
Revenue analysis Revenue by product, by supplier, by jurisdiction, by customer
Deferred revenue Roll-forward, contract balance, ageing
Tax VAT return, withholding tax report, tax breakdown
Commission Accrual report, settlement report, dispute report
FX Realised/unrealised gain/loss, exposure by currency
Operational-finance overlap Booking-to-cash report, refund analysis, no-show report
Audit packs Period audit pack, JE source-trace pack
Management dashboards Daily-cash, week-ahead-AR, monthly-margin

4. Standard statements

4.1 Trial Balance (TB)

Per partner, per period (or as-of date).

Column Notes
Account code
Account name
Account type Asset/Liability/Equity/Revenue/Expense
Opening debit
Opening credit
Period debits Sum of debit lines in period
Period credits Sum of credit lines in period
Closing debit
Closing credit

Invariant: Σ Closing Debit = Σ Closing Credit. If TB doesn't balance, the period cannot close.

Drill-down: clicking an account opens the GL detail (every JE line for that account in the period).

4.2 Profit & Loss (Income Statement)

By nature (default) or by function (configurable per partner):

By nature (Phase 1 default):

Revenue
  4011 Air Base Commission
  4012 Override Commission
  4021 Hotel Commission/Markup
  4022 Tour Revenue
  4031 Service Fee
  4041 Cancellation Fee
  4091 Realised FX Gain
  ...
Total Revenue                            X

Cost of Sales (principal only)
  5011 Air Supplier Cost
  5012 Hotel Supplier Cost
  ...
Gross Profit                             X

Operating Expenses
  5022 Office Rent
  5023 Salaries
  5026 Gateway Fees
  5031 ECL Expense
  5045 BSP Variance
  ...
Operating Profit                         X

Other Income / Expense
  7011 Interest Income
  6091 Unrealised FX Loss
  ...
Profit before Tax                        X
Tax                                      X
Net Profit                               X

Comparative columns: current period, prior period, current YTD, prior YTD, % change.

4.3 Balance Sheet

ASSETS
  Current Assets
    1001 Cash on Hand
    1013 Bank Accounts
    1101 AR — Customers (net of ECL)
    1109 Commission Receivable
    1161 VAT Input Receivable
    1191 Other Receivables
  Non-Current Assets (Phase 2 expansion)

LIABILITIES
  Current Liabilities
    2001 AP — Suppliers
    2011 BSP Payable
    2031–2035 Deferred Revenue (by product)
    2061 VAT Output Payable
    2071 WHT Payable
    2091 Customer Credit Balances
    2099 Refund Liability

EQUITY
  3001 Retained Earnings
  3009 Current Period Earnings (closes to 3001 at year-end)

4.4 Cash Flow Statement

Indirect method (default):

Operating Activities
  Net Profit
  Adjustments:
    + Increase in AP
    − Increase in AR
    − Increase in Deferred Revenue (cash already received)
    + Increase in Customer Credit Balances
    ...
  Net cash from operations         X

Investing Activities
  Equipment, etc. (Phase 2)

Financing Activities
  Capital, distributions (manual entries Phase 1)

Net change in cash                  X
Opening cash                        X
Closing cash                        X

Direct method available Phase 2.

5. Supplemental schedules

5.1 AR Aging

Customer 0-30 31-60 61-90 91-120 >120 Total Credit limit Status

Computed from customer_balances materialised view + per-invoice ages.

5.2 AP Aging

Symmetric to AR aging for suppliers.

5.3 Deferred Revenue Roll-forward

Account Opening Issuance (additions) Recognition (releases) Refund reversal Closing

Required IFRS 15 disclosure.

5.4 FX Exposure

By currency: monetary asset balances vs monetary liability balances; net exposure; period gain/loss; unrealised buckets.

5.5 Customer Statement of Account

Per customer per period: - Opening balance - Per-invoice transactions (date, ref, amount) - Per-payment receipts - Per-credit-note adjustments - Closing balance - Aging summary

Exportable as PDF; sent to customer on demand or by schedule.

6. Report generation pipeline

flowchart LR A[User selects report + parameters] --> B[Validate permissions] B --> C[Build query against ledger + materialised views] C --> D[Read from read-replica when applicable] D --> E[Apply currency translation if reporting currency differs] E --> F[Format output: HTML / CSV / PDF / Excel] F --> G[Audit log: who ran, what params, when] G --> H[Deliver to user] H -.optionally.-> I[Email / Schedule / S3]

7. Reproducibility guarantees

A report run against a closed period must produce identical output every time. The platform guarantees this by: - Reading only from immutable ledger (closed periods). - Using snapshot rates (recorded FX rates per JE line; never re-translating at current rate). - Including period-snapshot data when reports are run against a previously-closed period. - Versioning report templates: a saved report references the template version that generated it.

A report run against an open period carries a "preliminary" watermark and timestamp.

8. Performance

Large reports use: - Pre-aggregated materialised views (mv_customer_balances, mv_ledger_period_summary). - Read replicas. - Async generation for large reports (>30s); user gets a "report ready" notification. - PDF generation in a separate worker pool.

9. Permissions

Permission Allows
report.read.partner View standard reports
report.read_sensitive.partner View reports with PII/sensitive (customer SoA)
report.export.partner CSV/Excel/PDF export
report.schedule.partner Schedule recurring reports
report.run_custom.partner Build custom report (Phase 2 - report builder)
report.audit_pack.partner Generate audit pack

Row-level scoping by branch / department is supported via partner_user.scope_filter.

10. Output formats

  • HTML — interactive in-platform.
  • PDF — formal copy (with letterhead, signatures).
  • CSV — for spreadsheet workflow.
  • Excel (.xlsx) — formatted with formulas where applicable.
  • JSON — for API/integration use.

11. Audit packs

A period audit pack bundles: - Trial Balance + P&L + Balance Sheet + Cash Flow (PDFs). - Underlying journals export (CSV with all dimensions). - AR/AP aging snapshots. - Bank reconciliations. - BSP/ARC reconciliations. - Commission reconciliation. - Tax returns + payment proofs. - Period close evidence (gate checklist screenshots). - Subsequent events log.

Generated as a zip archive saved to S3 with retention per partner policy (typically 10+ years).

12. Scheduled reports

Partners can configure recurring report deliveries: - Daily cash position to controller at 09:00. - Weekly AR aging to credit team Mondays. - Monthly P&L to management on Day 6. - Quarterly customer statement of account to all corporate customers.

Delivered via email, SFTP, or webhook.

13. Database tables touched

Table Role
journal_entries / _lines Primary source
chart_of_accounts Account metadata
mv_* views Aggregation
period_snapshots Closed-period frozen reports
report_runs Audit of every report execution
report_schedules Scheduled deliveries

14. Common pitfalls

  • ⚠️ Running reports across the close boundary. Period state matters; mixing closed + open periods is fine for trend reports but disclose.
  • ⚠️ Currency translation mistakes. Snapshot rates for closed periods; current rates for open.
  • ⚠️ Hot-path reporting against primary DB. Always replica for reports.
  • ⚠️ Custom reports not version-controlled. Templates must be versioned to support reproducibility.
  • 🔒 PII in exported reports — customer SoA exports must be encrypted; access logged.