CMA Final Paper 19 study materials
CMA Final Paper 19 study resources

Vantix Systems: Allocating and Modifying a Bundled Software Contract

CMA Final Paper 19 · Put your knowledge to work in context.

All case studies

Vantix Systems: Allocating and Modifying a Bundled Software Contract

On 1 January 20X5 Vantix Systems, an enterprise software vendor, signed a contract with a logistics group. The contract transfers a perpetual licence to Vantix's warehouse-management software, includes a ten-week implementation covering data migration and standard configuration, and provides three years of telephone and patch support. Vantix regularly sells each element separately: the licence for $800,000, implementation for $200,000 and support for $300,000 over three years. The negotiated contract price is a fixed $1,150,000, payable 40% on signature and the balance in three annual instalments. The contract includes service-level credits: if availability falls below 99.5% in any year the customer receives a credit, and Vantix's experience with comparable contracts is that credits averaging $50,000 over the term are probable. Other vendors perform similar implementations without modifying the software. On 1 January 20X6 the customer added a new analytics module and extended support by two years for a single additional payment of $260,000. The module's stand-alone price is $240,000 and two further years of support would normally sell for $200,000.

1. Determine the transaction price, allocate it to the performance obligations, and state when each element is recognised. Justify your conclusion on whether implementation is distinct.

Read the worked answer

Step 1 - Identify the performance obligations. The licence is distinct: the customer can benefit from it together with the implementation, and it is separately identifiable. Implementation is distinct: it is routine data migration and standard configuration, other vendors perform it without modifying the software, and it does not significantly modify or customise functionality. Support is a series of distinct daily services transferred over time.

Step 2 - Transaction price. Fixed $1,150,000 less expected service-level credits. The credits are variable consideration; the expected-value method gives $50,000, and the constraint does not bite because the estimate is derived from comparable contracts and reversal risk is low. Transaction price = $1,100,000.

Step 3 - Allocate on relative stand-alone prices (all directly observable, total $1,300,000):

Obligation Stand-alone Allocation Amount
Licence $800,000 800/1,300 x $1,100,000 $676,923
Implementation $200,000 200/1,300 x $1,100,000 $169,231
Support $300,000 300/1,300 x $1,100,000 $253,846

The $150,000 discount is spread pro rata because no observable evidence supports allocating it to specific obligations.

Step 4 - Recognition. Licence: point in time, when control passes on delivery/acceptance - $676,923. Implementation: over the ten weeks as the customer receives the benefit - $169,231. Support: straight line over 36 months, $7,051 a month, $84,615 for a full year.

Step 5 - Consequence. The 40% receipt on signature is not revenue; it is a contract liability. At 31 December 20X5 the contract liability should be exactly the unrecognised support, $169,231. Had the implementation significantly customised the software, it would be combined with the licence and recognised over time - the judgement turns on whether the customer can benefit from the implementation only together with the licence.

2. Account for the 1 January 20X6 modification. Show the amounts recognised in 20X6 for the module and for support, and explain why the separate-contract route is unavailable.

Read the worked answer

Why it is not a separate contract. The additional consideration is $260,000 against stand-alone prices of $440,000 ($240,000 module + $200,000 for two years' support). The module and the extra support are distinct from the existing goods and services, but they are not priced at their stand-alone selling prices, so IFRS 15 paragraph 20(b) is not met. Under paragraph 21(b) the modification terminates the existing contract and creates a new one.

Step 1 - Remaining consideration. Unrecognised original consideration at 1 January 20X6 = $253,846 x 24/36 = $169,231 (year-1 support already recognised). Add the new $260,000 = $429,231.

Step 2 - Remaining stand-alone prices. Module $240,000 + four years of support $400,000 = $640,000. The remaining original support and the two-year extension are the same service and are combined into one allocation pool.

Step 3 - Allocation ratio. $429,231 / $640,000 = 67.07%.

  • Module: $240,000 x 67.07% = $160,962, recognised when control transfers.
  • Support: $400,000 x 67.07% = $268,269 over 48 months = $5,589 a month; $67,067 for 20X6.

20X6 revenue from the contract = $160,962 + $67,067 = $228,029, against $84,615 had the contract run unchanged. Prior-year figures are not restated - the modification is prospective. The remaining contract liability at 31 December 20X6 is $268,269 - $67,067 = $201,202.

The 20X5 pattern checks: $676,923 + $169,231 + $84,615 = $930,769 recognised, leaving $169,231.

3. Suppose instead the module had been sold for $240,000 and the two-year support extension for $200,000, both at stand-alone prices. How would the accounting differ and what revenue would be recognised in 20X6? What control does this comparison suggest?

Read the worked answer

Different route. Selling at stand-alone prices satisfies paragraph 20(a): the scope increases by distinct goods and services and the price increases by the stand-alone selling price of that additional scope. The modification is therefore a separate contract and does not disturb the original allocation.

Accounting. The original contract continues unchanged: support of $253,846 over 36 months, i.e. $84,615 in 20X6 (and the same in 20X7). The new contract is accounted for on its own terms: module revenue of $240,000 when control transfers, and support of $200,000 over 24 months = $100,000 for 20X6.

20X6 revenue = $240,000 + $100,000 + $84,615 = $424,615, against $228,029 under the termination route - a $196,586 difference in a single year on identical cash of $260,000. Over the full four remaining years the totals converge; only the timing differs.

Why this matters. The $180,000 discount to stand-alone prices is not a pricing detail; it is the lever that shifts revenue between periods, and it arises because the original support was itself sold at a discount. Two practical controls follow: (i) every contract modification must be re-priced against the published stand-alone price list before signature, with any discount separately approved; and (ii) the revenue team must document stand-alone selling prices at least annually, because the whole allocation - and therefore every subsequent modification - depends on those observable prices being defensible.