Quantity-based revenue recognition
With Quantity-based revenue recognition, you recognize the flat/fixed amount of a contract line item proportionate to the quantity of the item that is used or otherwise consumed during a given recognition period. The revenue schedule appears blank until a usage record is associated with the applicable contract line item.
How Intacct processes quantity-based revenue recognition
Intacct uses the following factors for quantity-based revenue recognition:
- Total flat/fixed amount
- Total revenue quantity
- Total recorded usage for a recognition period
Intacct calculates quantity-based revenue recognition as follows:
(Total revenue quantity / recorded usage) * flat/fixed amount
Examples
| Item | Flat/Fixed amount | Total Qty or Included Units | Recorded usage | Revenue for period |
|---|---|---|---|---|
| File downloads | 1,000.00 | 350 | 60 | (60/ 350 = 0.17143) * 1,000.00 = 171.43 |
| Data storage | 150.00 | 175000 | 44289 | (44289 / 175000 = 0.253) * 150.00 = 37.96 |
| User licenses | 10,000.00 | 10 | 12 |
(10 / 10 = 1.00) * 10,000.00 = 10,000.00 Intacct will handle the two units that exceed the total contracted quantity differently based on the selected billing method. |
| Text messages bundled in MEA | 100.00 | 1000 | 200 | (200 / 1000 = .2) * MEA revenue allocation = revenue for usage date |
Before you can use quantity-based revenue recognition
The following sections describe the setup tasks required for using quantity-based revenue recognition:
- Create a quantity-based revenue template.
- If Billing method = "Quantity-based" and Quantity type = "Variable": Add included units to items in the applicable billing price lists.
1. Create a quantity-based revenue template
Your company will only need one or two quantity-based revenue templates, so if you already have a quantity-based revenue template, you can skip this step. If you have two quantity-based revenue templates, the only difference between the two templates will be whether the Posting type is set to "Automatic" or "Manual".
To create a quantity-based revenue template:
-
Go to Contracts > Setup > Templates and select Add (circle) next to Revenue.
The Revenue Template page appears.
- In the Name field, enter a meaningful identifier for the revenue template. For example, "Quantity-based-Automatic".
- In the Description field, enter a meaningful description for the revenue template.
- Select Quantity-based as the Recognition method.
-
Select the desired Posting type.
If you select Automatic, Intacct will automatically post scheduled revenue journal entries on each scheduled posting date. If you select Manual, the user will manually post the scheduled revenue journal entries when desired.
-
Accept the default Status selection of "Active" or if you do not want the current template to be available for use yet, use the Status dropdown list to select "Inactive".
- Select Save.
2. Add included units to items in the billing price list
When the contract line Billing method = "Quantity-based" and Quantity type = "Variable", Intacct will use the Included units in the billing price list for the item's total revenue quantity. If there are no included units for a selected item, then any associated quantity-based revenue schedule will never be able to post. Update the applicable billing price lists with the applicable included units.
For example, say you’re charging a 1,000.00 flat amount for 200 widgets. When the 200 widgets have been consumed, you’ll charge 8.00 per widget. The 1,000.00 flat amount is recognized with quantity-based recognition as the widgets are consumed. All additional widgets are invoiced with quantity-based billing and so are recognized upon invoice.
You do not need to add included units to a billing price list entry when:
- The item will always be sold with Billing method = "Fixed price"
- The Quantity type = "Committed". In this scenario, included units in the associated billing price list entry must be 0.
Learn more about updating billing price list entries.
Set up a contract line for quantity-based revenue recognition
Intacct uses the value of the Total revenue quantity field on the contract line to calculate quantity-based revenue recognition. How the Total revenue quantity field is populated depends on the contract line's Billing method.
Add the total revenue quantity to a contract line item when Billing method = Fixed price
In this billing scenario, you enter the Total revenue quantity in the Revenue section of the contract line. You can only edit the Total revenue quantity field when:
- the Billing method = "Fixed price", AND
- the Recognition method of a selected revenue template = "Quantity-based"
For example, say you’re charging a fixed fee of 1,000.00 for 200 widgets. The 1,000.00 flat fee is recognized with quantity-based recognition as the widgets are consumed. When the 200 widgets have been consumed, the revenue schedule is completed. However, usage may still technically be recorded against this contract line. If this occurs, this type of usage is "Traced - Revenue", and it’s up to the user to determine how to process it. See What happens when usage exceeds the total contracted quantity? for more information.
To add the total revenue quantity to a fixed price contract line item:
-
Open an existing contract in Edit mode, and select the Add button located above the top-left corner of the Contract lines table.
The Contract line popup window appears.
- Select the desired Item.
- In the Billing method field, select Fixed price.
- Determine the applicable Flat/Fixed amount. There are multiple ways to do this, including the following examples:
- If the item has an entry in the selected billing price list, enter the contracted quantity in the Quantity field. Intacct will suggest a price based on the quantity and quantity rate from the price list. This quantity value is used to determine the billing amount and does not affect the percent completed calculation for quantity-based revenue recognition.
- Enter the applicable fixed amount directly in the Flat/Fixed amount field.
- Complete the Billing section as applicable. There are multiple ways to do this. See Billing examples for more information.
Quantity-based revenue recognition is not supported when Reset usage quantity = After each invoice and/or Usage quantity recurs = True.
- In the Revenue template 1 and/or Revenue template 2 field, select a quantity-based revenue template. Only one revenue template needs to be quantity-based.
The Total revenue quantity field appears in the Revenue section.

Your Contracts configuration may use one or two sets of revenue journals. The field labels for Revenue template 1 and Revenue template 2 will display the journal symbols selected in the Configure Contracts page for Revenue journal 1 and Revenue journal 2.
- Enter the total contracted quantity in the Total revenue quantity field. Intacct will use this amount to determine the percentage of the fixed amount to recognize each applicable recognition period.
- Complete additional fields as desired. See the contract line field table for more information.
- Select Save.
Add the total revenue quantity to a contract line item when Billing method = Quantity-based
Intacct automatically populates the total revenue quantity when the Billing method = Quantity-based, but it uses different values based on whether the Quantity type is "Variable" or "Committed".
- For variable quantity billing, Intacct uses the number of included units for the item from the selected billing price list as the Total revenue quantity. If the item you select does not have included units, you will not be able to save the contract line with a Quantity-based revenue template. See Add included units to items in the billing price list for more information.
- For committed quantity billing, Intacct uses the Committed qty value from the contract line calculator as the Total revenue quantity.
For example with variable quantity billing, say you’re charging a 1,000.00 flat amount that includes 200 widgets. When the 200 widgets have been consumed, you’ll charge 8.00 per widget. The 1,000.00 flat amount is recognized with quantity-based recognition as the 200 widgets are consumed. Any additional widgets are recognized upon invoice.
To add the total revenue quantity to a quantity-based contract line item:
- Open an existing contract in Edit mode, and select the Add button above the top-left corner of the Contract lines table.
The Contract line popup window appears.
- Select the desired Item.
- In the Billing method field, select Quantity based.
- Select the applicable Quantity type and then do one of the following:
- If you selected Variable, accept the suggested Flat/Fixed amount from the billing price list or enter the desired amount in this field. Quantity-based revenue recognition is not supported when Reset usage quantity = After each invoice and/or Usage quantity recurs = True.
- If you selected Committed, enter the applicable Committed qty and Rate values in the calculator.
- If you selected Variable, accept the suggested Flat/Fixed amount from the billing price list or enter the desired amount in this field.
- Complete the remaining fields in the Billing section as applicable. There are multiple ways to do this. See Billing examples for more information.
- In the Revenue template 1 and/or Revenue template 2 field, select the quantity-based revenue template. Only one revenue template needs to be quantity-based.
The Total revenue quantity field appears in the Revenue section and displays either the included units for the item from the billing price list or the Committed qty. You can't edit this field. If you want the Total revenue quantity to be different, you need to edit the billing price list entry for the selected item or change the Committed qty value.

Your Contracts configuration may use one or two sets of revenue journals. The field labels for Revenue template 1 and Revenue template 2 will display the journal symbols selected in the Configure Contracts page for Revenue journal 1 and Revenue journal 2.
- Complete additional fields as desired. See the contract line field table for more information.
- Select Save.
Post quantity-based revenue recognition
There are two types of revenue posting: Automatic and Manual.
If the revenue template has Posting type set to "Automatic", Intacct will automatically post Open scheduled revenue on the scheduled posting date. As quantity-based revenue recognition is based on usage, every time you enter a usage record Intacct schedules the associated revenue recognition to post on the usage date. The next time the scheduler runs, it will post the scheduled revenue. For example, if you add usage records daily for a particular contract line, Intacct will post quantity-based revenue daily.
If the revenue template has Posting type set to "Manual", you always post the revenue manually using the Manage Contract Schedules page. If your company is using two revenue journals, you post revenue separately for each journal.
See Post revenue or expense recognition manually for detailed instructions on how to post revenue.
Edit quantity-based revenue recognition
Suppose you entered a usage record for a contract line item and then posted the associated revenue. Later you learn that the usage quantity was incorrect, and you want to change the associated revenue recognition. The following procedure describes how to correct quantity-based revenue recognition.
To edit quantity-based revenue recognition:
- Clear the posted revenue recognition. This action rolls back the applicable account balances and resets the status of the row in the revenue schedule to Open. Learn how to clear posted revenue recognition.If the reporting period is closed, you will not be able to clear the posted revenue. In this scenario, you can either reopen the period and continue this procedure as outlined, or add a usage record to the current period that corrects the past usage quantity.
- Edit the applicable usage record to change the usage quantity. When you save the usage record, Intacct will update the revenue schedule with the corrected amount of revenue available to recognize. Learn how to edit a usage record.
- Post the modified revenue. Learn how to post revenue.
What happens when usage exceeds the total revenue quantity?
Intacct handles usage that exceeds the total revenue quantity differently based on the selected billing method.
What happens when Billing method = Quantity-based and Quantity type = Variable?
If you add a usage record that exceeds the total revenue quantity for a contract line, Intacct does the following:
- If applicable, creates a usage record for the remaining revenue quantity and assigns it a Usage type of "Revenue", indicating the usage record is used for quantity-based revenue recognition.
- Creates a usage record for the quantity that exceeds the total quantity and assigns it a Usage type of "Billing - variable", indicating that the usage record is used for billing and is recognized upon invoice.
The quantity-based revenue schedule is considered completed when the total revenue quantity has been consumed.
What happens when Billing method = Quantity-based and Quantity type = Committed?
The "If usage exceeds the committed quantity" option selected on the contract line determines how Intacct handles excess usage records.
Bill overage
If you add a usage record that exceeds the total revenue quantity for a contract line, Intacct does the following:
- If applicable, creates a usage record for the remaining revenue quantity and assigns it a Usage type of "Revenue", indicating the usage record is used for quantity-based revenue recognition.
- Creates a usage record for the quantity that exceeds the total quantity and assigns it a Usage type of "Billing - overage", indicating that the usage record is used for billing and is recognized upon invoice.
Don't allow
Intacct prevents you from adding a usage record that contains excess quantity.
For example, say the total revenue quantity for the contract line is 1,000. The current total used quantity is 900. We enter a usage record for 250. This would bring the total used quantity to 1,150. Intacct displays an error.
In this example, create a usage record for 100. If you want to bill and recognize the remaining 150 usage quantity, see How to process Tracked - Revenue usage.
Do nothing
If you add a usage record that exceeds the total revenue quantity for a contract line, the system does the following:
- If applicable, creates a usage record for the remaining revenue quantity and assigns it a Usage type of "Revenue", indicating the usage record is used for quantity-based revenue recognition.
- Creates a usage record for the quantity that exceeds the total quantity and assigns it a Usage type of "Tracked - Revenue", indicating that the usage record quantity exceeded the total revenue quantity specified for quantity-based revenue recognition. You can report on this type of usage, but you can't recognize or bill it.
What happens when Billing method = Fixed price?
If you add a usage record that exceeds the total revenue quantity for a contract line, Intacct does the following:
- If applicable, creates a usage record for the remaining total revenue quantity and assigns it a Usage type of "Revenue", indicating the usage record is used for quantity-based revenue recognition.
- Creates a usage record for the quantity that exceeds the total revenue quantity and assigns it a Usage type of "Tracked - revenue", indicating that the usage record quantity exceeded the total revenue quantity specified for quantity-based revenue recognition. You can report on this type of usage, but you can't recognize or bill it.
How to process Tracked - Revenue usage
Intacct does not have instructions on how to process the excess quantity because the flat/fixed amount has been invoiced, so it cannot be used for billing, and the revenue schedule is completed so it cannot be used for revenue recognition. In this scenario, the best practice is to create a new contract line to manage the excess usage.
For example, say the total revenue quantity for widgets is 1,000. The current total used quantity is 900. We enter a widget usage record for 250. This would bring the total used quantity to 1,150. Intacct splits the usage into two usage records: one for 100 with Usage type = "Revenue", and one for 150 with Usage type = "Tracked - revenue".
To resolve this situation, we add a new contract line for widgets to the contract, determine whether we want quantity-based or fixed price billing, and then add a usage record for 150 to the new contract line.
To process usage that exceeds the total contracted quantity:
- Determine the usage quantity that exceeds the total contracted quantity for a contract line. For example, you can filter the Usage Data record list to only display records where Usage type = "Tracked - revenue", you can create a custom report to show usage records where Usage type = "Tracked - revenue", and so on.
- Open the applicable contract in Edit mode and add a new contract line for the same item. If you want to bill for the excess quantity, set the Billing method to "Quantity-based". If you want to define another fixed quantity contract line, set the Billing method to "Fixed price". Complete the contract line Billing and Revenue information as applicable.
- Add a usage record to the new contract line for the usage quantity that exceeded the total contracted quantity of the old contract line.
- Record future usage against the new contract line as applicable.
How to recognize 100% of revenue when actual usage never reaches the total contracted quantity
You can continue to add usage records to contract lines after a contract line ends and Intacct will process the quantity-based revenue recognition as usual. However, there may be scenarios where there’s a time limit or other agreement in place in which a customer must use or consume the contracted quantity of an item or lose the ability to use the item. In these scenarios, the customer may not actually use the total revenue quantity.
There’s currently no functionality to force 100% recognition for quantity-based revenue recognition. In this situation, the best practice is to add a usage record for the remaining unused quantity using the contract line end date as the usage date, and post the revenue using the contract line end date as the posting date.
For example, say you contracted with a customer to allow the customer to use up to 200 widgets within a one-year time frame from January 1 through December 31. At the end of the year, the customer has only used 175 widgets and is no longer eligible to use widgets under the current agreement. To fully recognize the revenue for this contract line, add a usage record for 25 widgets using December 31 as the usage date and post the revenue using December 31 as the posting date.
Alternatively you could create manual journal entries to debit the applicable Unbilled, Billed, or Paid Deferred Revenue accounts and credit the applicable Unbilled, Billed, or Paid Sales Revenue accounts instead of creating a fictitious usage record. Although this corrects the applicable balances, the journal balances on the contract line will not reflect the adjusted balances and it will still appear as if revenue is open on the contract line.
MEAs and quantity-based revenue recognition
If an item with quantity-based revenue recognition is bundled in an MEA, Intacct performs the following calculation to determine the amount of revenue to recognize for a given usage date:
Revenue amount = (Recorded usage / Remaining quantity) * Remaining amount
Remaining quantity = Total contracted quantity - (sum of quantities from all usage records dated before the MEA effective date)
Remaining amount = MEA allocated amount - (sum of all scheduled amounts dated before the MEA effective date)
If you post revenue for usage records with usage dates that occur before the MEA allocation effective date, Intacct will create adjusting entries in either Unbilled AR and Unbilled Deferred Revenue or Billed AR and Billed Deferred Revenue, as applicable, for the difference between the flat/fixed amount and the reallocated revenue.
For example, say you have a contract line with a flat/fixed amount of 1,000.00 for 200 widgets. You added two usage records to the contract line in January and posted the revenue at the end of January. Your revenue schedule could look like the following:
On February 15, you bundled the widgets with a widget support contract line and reallocated the revenue between the contract lines. This resulted in 1,140.74 in total revenue allocated to the widgets. In this scenario, the contract line has not yet been invoiced, so Intacct posted an adjustment of 140.74 to the Unbilled AR and Unbilled Deferred Revenue accounts. This is displayed in the Transaction History tab on the contract line:
On February 17, you added a usage record to the widget contract line. The revenue schedule for the widgets shows the total revenue as 1,140.74 and uses that amount in the quantity-based revenue calculation, as in the following example: