How to Create a Fair Value Formula and Use It in a Fair Value Price in NetSuite

Calculate a support item's fair value as 18% of the other items in its revenue allocation group. Build the fair value formula, attach it to a fair value price with a range check, then confirm the result on the revenue arrangement.

The quick answer

Go to Setup > Accounting > Revenue > Fair Value Formulas > New and enter a formula in the Fair Value Formula field. For support priced at 18% of the other items in its revenue allocation group, that formula is GROUPSUM(Core_Platform,{discountedamount})*0.18. This sets the support item's fair value for revenue allocation. It does not change its price on the sales order. Then create a fair value price for the support item under Fair Value Price Lists, pick the formula as its Default Fair Value Formula, and save. The formula runs when revenue elements are created or updated, so run Update Revenue Arrangements and read the result in the arrangement's Allocation Detail.

The example is a sales order for three items, and the screenshots show sample data. The formula changes how NetSuite allocates the order's 16,240.00 of revenue among its elements. The rates, total, and billing on the sales order stay as they are. Person and operating-company names are fictional.

Before you start

This is Advanced Revenue Management with Revenue Allocation. You need a role that can create fair value formulas and fair value prices, and the items on the order need revenue recognition setup that lets the sales order create revenue elements.

The formula adds up other lines, so those lines need a shared Revenue Allocation Group. You set it on each item's Revenue Recognition / Amortization subtab, and NetSuite copies it to the revenue element when the arrangement is created. The group name allows only letters, numbers, and underscores, and the name in the formula has to match it exactly. In this example the group is Core_Platform. GROUPSUM also matches on the revenue elements' reference ID, so lines that come from a different source can be left out of the sum even when they share a group and an arrangement. That matters after merges and for arrangements with several source transactions. This example has a single sales order.

The Fair Value Range Checking Policy field only appears when the Enable Fair Value Range Checking accounting preference is on. It was on in this account. If you don't see the field, check that preference before you look anywhere else.

Saving a fair value price or formula doesn't recalculate revenue elements that already exist. NetSuite applies them when it creates or updates revenue elements. The order here has no arrangement yet, which is why the new formula takes effect. In your account, confirm under Related Records that no arrangement is listed before you run the update. If one is, don't assume the new setup will be applied to it.

This account is OneWorld, and the price record was saved with Subsidiary left at - Any -. If your price records are restricted by subsidiary, currency, dates, or other dimensions, a record that doesn't match the order can be skipped.

01. Check the order and its allocation group

Sales Order 1047 for Northgate Logistics has three lines: Implementation Services (4 at 450.00, so 1,800.00), Platform License (12,200.00), and Premium Support (2,240.00). The total is 16,240.00. Support has no fixed standalone price here. Its fair value is meant to be 18% of the implementation services and the license sold with it.

Sales Order 1047, total 16,240.00, with the three lines that will become revenue elements.

Open Related Records. It is empty, so no revenue arrangement exists yet and no fair value has been applied to these lines.

Related Records is empty, so the order has no revenue arrangement yet.

Now open the Platform License item and go to Revenue Recognition / Amortization. Revenue Allocation Group is Core_Platform. Implementation Services carries the same group. Premium Support has none, which is what you want, because the formula prices it from the other two.

Platform License is in the Core_Platform revenue allocation group.

02. Create the fair value formula

Go to Setup > Accounting > Revenue > Fair Value Formulas > New. Name and Fair Value Formula are required. Here the name is "Support at 18% of Core Platform", with a description saying what it prices.

Click into the Fair Value Formula field. NetSuite opens a Fair Value Formula window with Field, Function, and Formula boxes. Type GROUPSUM(Core_Platform, in Formula, choose Discounted Sales Amount in Field to insert {discountedamount}, then type )*0.18. Click Set to copy the formula back to the record.

GROUPSUM adds the discounted sales amount of every element in the same arrangement whose group is Core_Platform. The *0.18 takes 18% of that sum. The recording uses the discounted amount rather than Sales Amount because discounts on the group lines then flow through to the result. This example has no discounts, so both would give the same number.

The finished formula in the formula window, before you click Set.

Back on the record, click Save. The Fair Value Formulas list now shows the new formula next to the existing Base Fair Value x Quantity, with its formula text in the last column.

The new formula is saved as internal ID 2, next to Base Fair Value x Quantity.

03. Add the fair value price

Go to Setup > Accounting > Revenue > Fair Value Price Lists > New. Choose Item = Premium Support. Item Revenue Category fills in as Support here, because the item already has that category. Enter Base Fair Value = 2,600, choose Currency = US Dollar, and choose the new formula in Default Fair Value Formula.

Look at the percent fields before you go on. Low Value Percent and High Value Percent are greyed out because no range checking policy is selected yet.

Item, base fair value, currency, and the formula are set. The range fields are still greyed out.

Choose Fair Value Range Checking Policy = Fair Value. The low and high fields become editable and both percents are required. Enter Low Value Percent = 90. Low Value shows 2,340, which is 90% of 2,600. Enter High Value Percent = 110, and High Value shows 2,860. Click Save.

Choosing the policy turns on the low and high fields and makes both percents required.

NetSuite confirms Fair Value Price successfully Saved and shows the record with Base Fair Value 2,600, Low Value 2,340 at 90.0%, High Value 2,860 at 110.0%, and the formula as the default.

The saved price: 2,600 base, range 2,340 to 2,860, formula as the default.

The policy compares the element's discounted sales amount to this range. Inside it, NetSuite uses the discounted sales amount. Outside it, Fair Value uses the formula result, Boundary uses whichever of the low or high value is nearer, and High and Low use those values directly. This example uses Fair Value.

04. Check the fair value price list

Click List. The Fair Value Price List has one record per item. The account already had records for Implementation Services (a base fair value of 450) and Platform License (12,200). Your new record for Premium Support shows 2,600.

Premium Support is the third price record, with a base fair value of 2,600.

Scroll right. The first two items use the existing Base Fair Value x Quantity formula and have no range policy. Premium Support has policy Fair Value, Low Value 2,340, High Value 2,860, and the new formula.

Only the support price uses the new formula and a range policy.

05. Update revenue arrangements

Fair value is looked up when revenue elements are created, so the arrangement has to be created after the price and formula exist. Go to Transactions > Financial > Update Revenue Arrangements and Revenue Plans. Menu labels vary by role and account, so search for the page name if you don't see it there. Click Update Revenue Arrangements. NetSuite queues its submissions as Pending. Click Refresh until they read Complete.

Both submissions are Complete with 0 errors.

06. Find the formula's inputs

Reopen Sales Order 1047 and check Related Records. It now lists a Revenue Arrangement, document 418, for 16,240.00. Click it.

Related Records now lists Revenue Arrangement 418.

On the Revenue Element sublist, Implementation Services and Platform License both show Revenue Allocation Group Core_Platform, with Discounted Sales Amount 1,800.00 and 12,200.00. That sums to 14,000.00, and 18% of it is 2,520.00. Premium Support has no group and a discounted sales amount of 2,240.00.

The two Core_Platform lines add up to 14,000.00. Premium Support has no group.

07. Confirm the fair value and the allocation

Open the Allocation Detail sublist. Each row shows the fair value price record it used, its Base Fair Value, and its Fair Value Formula. Premium Support uses the new formula with a base fair value of 2,600.00.

Premium Support is the row using the new formula.

Scroll right for the range check. On the Premium Support row, Pre-Range Checking Calculated Amount is 2,520.00, Range Policy is Fair Value, Low Value is 2,340.00, and High Value is 2,860.00. Its Discounted Sales Amount of 2,240.00 is below the low value, so the policy uses the formula result and Calculated Fair Value Amount is 2,520.00. The other two rows have no range policy, so Base Fair Value x Quantity gives 1,800.00 and 12,200.00.

2,240.00 is below the 2,340.00 low value, so the formula's 2,520.00 becomes the fair value.

Go back to Revenue Element for the allocation. The calculated fair values total 16,520.00, so Revenue Allocation Ratio reads 10.9%, 73.8%, and 15.3%. They allocate the 16,240.00 as Revenue Amount 1,769.49, 11,993.22, and 2,477.29.

Revenue Amounts of 1,769.49, 11,993.22, and 2,477.29 allocate the full 16,240.00.

Check the result

  1. Premium Support shows Calculated Fair Value Amount 2,520.00, which is 18% of the 14,000.00 group total.
  2. The Revenue Amounts 1,769.49, 11,993.22, and 2,477.29 add up to the 16,240.00 transaction total.
  3. Premium Support is allocated 2,477.29 against its 2,240.00 price. The order's rates and total don't change. Only the revenue allocation does.

Common questions

Why use {discountedamount} in GROUPSUM instead of {amount}?

Discounts on the group lines then carry into the result. GROUPSUM(Core_Platform,{discountedamount}) adds up the discounted sales amount of the elements in the Core_Platform group. This order has no discounts, so both fields give 14,000.00 and the formula returns 2,520.00. With discounts, {amount} would overstate the group.

Why are Low Value Percent and High Value Percent greyed out?

They stay disabled until you choose a Fair Value Range Checking Policy. Once you pick one, both percents become required. In the example, 90 and 110 percent of the 2,600 base fair value give a low value of 2,340 and a high value of 2,860.

What do the Boundary, Fair Value, High, and Low policies do?

All four start the same way. If the element's discounted sales amount is inside the range, NetSuite uses it. The policy decides what happens outside the range. Boundary uses whichever of the low or high value is nearer. Fair Value uses the formula result. High uses the high value and Low uses the low value. This example uses Fair Value, and the recording only shows that one. Support's 2,240.00 is below the 2,340 low value, so the formula's 2,520.00 became its fair value.

Where do I see the calculated fair value?

Open the revenue arrangement and go to Allocation Detail. The Premium Support row shows Pre-Range Checking Calculated Amount and Calculated Fair Value Amount, both 2,520.00 here. Back on Revenue Element, the Revenue Allocation Ratio and Revenue Amount columns show what each element received.

Why didn't my new fair value price change an existing arrangement?

NetSuite applies fair value prices and formulas when it creates or updates revenue elements. Saving or editing a price record doesn't recalculate elements that already exist. The recording used an order with no arrangement, so it doesn't show what happens when you update an existing one. Test that on one arrangement before you rely on it.

Does the fair value formula change the price on the sales order?

No. The sales order keeps its rates and its 16,240.00 total. The formula only affects how NetSuite allocates that revenue among the elements. Premium Support is sold for 2,240.00 and is allocated 2,477.29.