IFRS 15 (revenue), IAS 21 (FX), IFRS 9 (ECL), IAS 37 (provisions), IAS 1 (presentation)। আংশিকভাবে: IFRS 16, hedge, IAS 19 (Phase 2)। ডিসক্লোজার প্যাক স্বয়ংক্রিয়ভাবে IFRS-ফরম্যাটে।
Chapter 12.1 — IFRS Compliance
1. Purpose
This chapter maps travoBooks' accounting model to the International Financial Reporting Standards (IFRS) most relevant to travel-agency operations. It is the document an auditor opens first; it shows where each standard's requirements are operationalised in the platform.
2. Standards in scope
| Standard | Title | Relevance |
|---|---|---|
| IFRS 15 | Revenue from Contracts with Customers | Core — recognition of commission, service fee, principal revenue |
| IFRS 9 | Financial Instruments | Receivable impairment, gateway tokens, FX hedges |
| IFRS 16 | Leases | Office leases; not platform-financial |
| IAS 1 | Presentation of Financial Statements | Reporting layout |
| IAS 7 | Statement of Cash Flows | Direct/indirect method |
| IAS 8 | Accounting Policies, Changes in Estimates & Errors | Restatement vs prior-period adjustments |
| IAS 10 | Events after Reporting Period | Post-close adjustments |
| IAS 12 | Income Taxes | Current + deferred tax |
| IAS 21 | Effects of Changes in FX Rates | Multi-currency core |
| IAS 36 | Impairment of Assets | Receivables impairment per IFRS 9 |
| IAS 37 | Provisions, Contingent Liabilities, Contingent Assets | Memo provisions, dispute provisions |
The standards covered in depth below are IFRS 15, IAS 21, IFRS 9, IAS 37, and IAS 1.
3. IFRS 15 — five-step model
Step 1: Identify the contract
In travoBooks, a booking is treated as the contract. Contract creation = booking issuance (state = ISSUED). The platform identifies the contract through:
- Customer record (customer_id on booking)
- Performance obligations (segments / room nights / tour days / policy period)
- Payment terms (customer.payment_terms_days)
- Cancellation rights (fare rules + partner policy)
Step 2: Identify performance obligations
For each booking, the platform decomposes the bundle into distinct performance obligations:
| Product | Performance obligation(s) |
|---|---|
| One-way air ticket | Carriage from origin to destination on flight date |
| Round-trip air ticket | Two obligations (outbound, return) |
| Multi-segment air ticket | One per segment (or one bundled obligation per policy) |
| Hotel | Provision of room for the booked nights |
| Tour package | Each distinct component (transport + lodging + activities) |
| Insurance | Coverage over the policy period |
| Service fee | Arranging the transaction (satisfied at issuance) |
Principal vs agent (per IFRS 15 §B34–38) is captured at supplier level (suppliers.principal_or_agent):
- Agent — performance obligation is arranging the supplier's service; revenue is the commission/markup.
- Principal — performance obligation is providing the service itself; revenue is gross, supplier cost is COGS.
Step 3: Determine the transaction price
The transaction price is the net amount the partner expects to be entitled to, considering: - Variable consideration (refunds, override commissions, volume bonuses) - Non-cash consideration (rare in travel) - Significant financing components (typically not material; payment terms < 1 year)
Constraint on variable consideration (§56–58): only recognise to the extent highly probable not to reverse. travoBooks implements this through: - Conservative override accrual rates with quarterly true-up - Refund liability provisioning based on historical refund rates
Step 4: Allocate the price to performance obligations
The platform's partner_recognition_policies table holds allocation rules:
- 50/50 by direction for round-trip
- Pro-rata by per-segment fare for multi-segment
- Stand-alone selling price method for bundled tours (Phase 2 — currently uses partner-config defaults)
Step 5: Recognise revenue when (or as) obligation is satisfied
- Point-in-time obligations (flight flown, hotel checkout, tour start) recognise on the trigger date.
- Over-time obligations (insurance coverage, multi-day tour pro-rata) recognise pro-rata over the period.
Recognition is automated via the nightly run (Chapter 5.7). Recognition is independent of cash receipt — a credit customer's invoice recognises revenue at service-date regardless of payment status.
Disclosures
The platform supports the IFRS 15 disclosure requirements (§110–129):
- Disaggregation of revenue by product type, supplier type, jurisdiction (revenue_disaggregation report).
- Contract balances: opening + closing deferred revenue, refund liabilities.
- Performance obligations: aggregate transaction price for unsatisfied obligations (deferred-revenue balance at period end).
- Significant judgements: principal/agent classification per supplier, variable-consideration estimation methodology.
4. IAS 21 — Foreign exchange
Covered in detail in Chapter 5.6. Compliance highlights:
| IAS 21 requirement | Platform implementation |
|---|---|
| Functional currency identification | Per-partner functional_currency field |
| Initial recognition at spot rate | FX rate captured on every JE line in non-functional currency |
| Subsequent measurement — monetary at closing rate | Period-end revaluation run |
| Non-monetary at historical rate | Property/inventory not held by platform in Phase 1 |
| FX differences in P&L | 4091 Realised FX Gain, 5091 Realised FX Loss, 4099 / 6099 unrealised |
| Translation of foreign operations | Reporting currency translation (Phase 2 for cross-partner consolidation) |
5. IFRS 9 — Financial instruments
| Instrument | Classification | Measurement |
|---|---|---|
| Trade AR | Amortised cost | Expected credit loss provision |
| Cash & equivalents | Amortised cost | At carrying |
| Bank deposits | Amortised cost | At carrying |
| Customer credit balances (we owe) | Amortised cost (liability) | At carrying |
| Trade AP | Amortised cost | At carrying |
| FX-forward contracts (Phase 2 hedge) | FVTPL or hedge-accounted | Per hedge designation |
Expected Credit Loss (ECL) for trade AR (§5.5):
- Phase 1 implementation: simplified approach for trade receivables — lifetime ECL based on aging buckets and partner-configured loss-rate matrix.
- Provision posted monthly: Debit 5031 ECL Expense / Credit 1109 AR Loss Provision (contra).
- Periodic write-off when receivable is uncollectible.
6. IAS 37 — Provisions
Provisions arise from: - Disputed ADMs — provisioned at expected outcome until dispute settles. - Commission dispute provisions — when expected commission won't be received. - Refund provisions — for not-yet-requested refunds based on historical rate (relevant for some non-refundable products). - Onerous contracts — rare in travel.
The platform's provisions table tracks:
- Description, recognition basis, amount, currency, recognition date.
- Movements: increase / decrease / utilise / release.
- Each movement is a JE.
7. IAS 1 — Presentation
travoBooks generates the four statements per IAS 1 layout: - Statement of Financial Position (Balance Sheet) — assets / liabilities / equity with current/non-current classification. - Statement of Profit or Loss — by nature or by function (partner-config). - Statement of Cash Flows — direct or indirect (partner-config). - Statement of Changes in Equity — equity movements.
Plus notes that disclose: - Significant accounting policies - Critical judgements (per-supplier principal/agent rationale) - Estimation uncertainties (override accrual, ECL) - Related-party transactions (inter-branch / inter-partner)
8. Period-end IFRS checklist
The platform's period-close gate (Chapter 5.10) includes IFRS-specific checks:
| Check | Standard |
|---|---|
| Revenue recognition run executed | IFRS 15 |
| FX revaluation of monetary balances | IAS 21 |
| ECL provision updated | IFRS 9 |
| Dispute provisions reviewed | IAS 37 |
| Deferred revenue balance disclosed | IFRS 15 §120 |
| Subsequent events review | IAS 10 |
9. Disclosure pack
At each reporting period (typically quarterly + annual), the platform produces a disclosure pack containing: - Statements per IAS 1. - Revenue disaggregation per IFRS 15. - Contract-balance roll-forward. - AR aging + ECL workings. - FX rates used. - Significant transactions / related-party. - Subsequent events.
Audit firms can be granted scoped read access to the disclosure pack period.
10. Audit support
Audit support features built into the platform: - Sample-extractable: any JE/booking/customer can be exported with full audit trail. - Reproducible reports — any period's reports can be regenerated identically; if regenerated post-close shows a difference, the system flags it (indicates underlying data changed and triggers reopen review). - Drill-down everywhere — from P&L total back to individual JE line back to source booking and supplier transaction. - Walkthrough documentation — this entire documentation suite serves as control-narrative documentation.
11. Departures from full IFRS
Areas where Phase 1 is not yet fully IFRS-compliant and partner finance teams may need to overlay manual treatment:
| Area | Phase 1 state |
|---|---|
| Lease accounting (IFRS 16) | Out of scope — partners handle outside platform |
| Hedge accounting | Out of scope Phase 1 |
| Share-based payment (IFRS 2) | Out of scope |
| Pension / employee benefits (IAS 19) | Out of scope |
| Cash flow direct-method | Indirect method default; direct method Phase 2 |
| Segment reporting (IFRS 8) | Multi-branch reporting yes; full IFRS 8 disclosure Phase 2 |
12. Mapping table — Standard → Platform location
| Standard | Where in platform |
|---|---|
| IFRS 15 §5-step model | Chapter 5.7 + JE Engine |
| IFRS 15 disclosures | Reporting Volume 6 |
| IFRS 9 ECL | ar_ecl_provisions table + monthly run |
| IFRS 9 financial-instrument classification | chart_of_accounts.financial_instrument_category |
| IAS 21 FX | Chapter 5.6 + FX revaluation run |
| IAS 37 provisions | provisions table + reporting |
| IAS 1 statements | Reporting Volume 6 |
| IAS 7 cash flow | Reporting Volume 6 |
| IAS 8 prior-period | Period-Close with reopen audit trail |
| IAS 10 subsequent events | Period-Close manual disclosure |
| IAS 12 tax | Out of scope Phase 1 — manual overlay |
13. Common pitfalls
- ⚠️ Recognising gross when partner is agent. Top IFRS 15 violation in travel; the platform's
principal_or_agentflag is the safeguard but must be set correctly per supplier. - ⚠️ Override accrual without "highly probable" basis. Document and review the estimation methodology quarterly.
- ⚠️ Skipping FX revaluation at period-end. Monetary balances must be at closing rate per IAS 21.
- ⚠️ Disputed memos not provisioned. They are contingent liabilities under IAS 37.
- ⚠️ Deferred-revenue balance not disclosed. Required by IFRS 15.
- 🔒 Estimation changes must be disclosed (IAS 8) — don't quietly change override accrual rates without disclosure.