2. Identify the performance obligations in the contract.
3. Determine the transaction price.
4. Allocate the transaction price to performance obligations based on relative standalone selling prices.
5. Recognize revenue when (or as) performance obligations are satisfied.