Why it matters
SaaS engineering teams routinely split their time between building generic platform capability (an IAS 38 intangible asset if criteria are met) and delivering features to fulfil a specific customer contract (evaluated under IFRS 15's costs-to-fulfil guidance or expensed); because both categories can look identical on a sprint board, misallocating hours overstates the wrong asset, understates the wrong cost line, and can result in the same effort being capitalized twice under two different standards.
Diagnostic questions
Does the engineering output relate to generic platform capability usable by all customers (a potential IAS 38 asset), or to fulfilling one specific existing contract (a potential IFRS 15 contract cost)? Is time-tracking granular enough at the ticket or initiative level to support a defensible split between the two categories? Does each category independently meet the recognition criteria of its relevant standard, rather than being capitalized by default because the other portion qualifies?
Recognition
- For each significant development initiative, determine whether the output is a generic platform capability intended for use by, or sale to, customers beyond a single specific contract, or work performed to satisfy the specific requirements of one existing customer contract.
- For generic platform capability, apply the full IAS 38 six-criteria test (technical feasibility, intention, ability to use/sell, probable future economic benefit, resource availability, reliable measurement) before capitalizing any related cost.
- For work tied to fulfilling a specific existing contract, do not apply IAS 38; instead assess it under the IFRS 15 costs-to-fulfil criteria (the costs relate directly to an identifiable contract, generate or enhance resources used in satisfying performance obligations, and are expected to be recovered) or expense it if those criteria are not met.
- Where a single sprint mixes both types of work, allocate costs based on actual time-tracking or sprint-allocation records at the task or ticket level, not a blanket percentage applied without evidentiary support.
- Confirm no double-counting: hours capitalized as an IAS 38 intangible must not simultaneously be capitalized as an IFRS 15 contract cost asset or expensed twice.
- Reassess the classification if a feature built for one customer is later generalized into the core platform, ceasing capitalization under the original basis and starting fresh evaluation under the new one from that point.
Measurement
Measure capitalized IAS 38 costs at directly attributable expenditure (developer payroll and directly attributable overhead) incurred from the date all six criteria are first met, based on actual hours recorded against the generic-platform initiative. Measure IFRS 15 contract cost assets at the incremental cost directly attributable to fulfilling the specific contract. Use a consistent, auditable time-tracking methodology (sprint or ticket-level tagging) applied the same way period to period, and reconcile total capitalized hours plus expensed hours to total engineering payroll to catch any double-counting or gaps.
Presentation & disclosure
Disclose: accounting policy distinguishing internal-use/generic platform capitalized development from contract-related fulfilment costs; the basis (time-tracking methodology) used to split payroll and overhead between the two categories; amounts capitalized as IAS 38 intangibles versus IFRS 15 contract cost assets during the period; confirmation of controls preventing double-counting of the same hours; any reclassification between categories when a contract-specific feature is generalized into the core platform.
Common mistakes
- Capitalizing all engineering payroll as IAS 38 intangible assets regardless of whether the work relates to a specific customer contract or generic platform capability
- double-counting the same hours as both a capitalized IFRS 15 contract cost and an IAS 38 intangible asset
- relying on team or department labels ('
- platform team'
- versus '
- delivery team'
- ) rather than actual task content to classify costs, when engineers frequently move between both types of work
- applying a fixed historical percentage split without periodically validating it against actual time-tracking data
- failing to stop capitalizing under the original basis and reassess when a bespoke, contract-specific feature is later rolled out generically to all customers.
Simple example
An engineering team's SAR 300,000 monthly payroll is tracked at the ticket level: 60% (SAR 180,000) relates to a new multi-tenant search feature usable by all customers, where technical feasibility, intent, and resource availability were confirmed at the start of the month; 40% (SAR 120,000) relates to a bespoke integration required only to fulfil one enterprise contract, meeting the IFRS 15 costs-to-fulfil criteria. Journal entry for the generic platform capability: Dr Intangible asset - software under development (IAS 38) 180,000 Cr Cash / Accrued payroll 180,000 Journal entry for the contract-specific fulfilment cost: Dr Contract cost asset - costs to fulfil (IFRS 15) 120,000 Cr Cash / Accrued payroll 120,000 The two assets are tracked and amortized separately: the IAS 38 asset over the platform feature's useful life once available for use, and the contract cost asset over the period the specific contract's related goods or services are transferred.
Professional judgment
The internal-use-versus-contract-specific split is a recurring area of auditor challenge precisely because it depends heavily on how granularly work is tracked; teams organized around cross-functional squads rather than clean platform/delivery boundaries make it genuinely hard to draw a bright line, and the quality of the underlying time-tracking evidence (task-level tagging linked to a documented feasibility gate) is what separates a defensible allocation from an arbitrary one. A second judgment arises when a feature initially built to satisfy one contract's specific requirements is later generalized: the point of generalization should trigger a fresh IAS 38 assessment from that date rather than retroactively recharacterizing costs already capitalized as a contract cost asset.
Source basis
IAS 38 / IFRS 15 · Intangible Assets / Revenue from Contracts with Customers
Paragraph references
Verified against the official standard texts used in the IFRS Expert skill.
Related issues
- IAS 38Capitalization of internal software development costs
- IAS 38Cloud computing and SaaS arrangement costs (as customer)
- IFRS 15Subscription revenue recognized over time
- IFRS 15Multiple performance obligations and price allocation
- IFRS 15Discounts and variable consideration
- IFRS 15Contract modifications
Educational and navigation content only. Not professional advice. Does not reproduce official IFRS/IAS text. Consult the authoritative standards and qualified professionals; professional judgment may still be required.
