What the formula type does to your number
Why is my Formula (Percent) column showing a number 100 times too big?
Short answer
Because Formula (Percent) multiplies by 100 itself and appends a literal % sign. If your expression already computes a percentage, the column reports a hundred times the real figure with a plausible % on the end. Feed Percent the ratio and drop the *100.
Because Formula (Percent) multiplies the value by 100 on its own and appends a literal %. If your expression already computes a percentage, the multiplication happens twice and the column reports a hundred times the real figure, with a plausible looking percent sign on the end.
Minimal reproduction
The same expression in three formula types. Both expressions are constants, so nothing in the account's data can change the result.
expression 1/3
Formula (Numeric) -> .333333333333333333333333333333333333333
Formula (Currency) -> .333
Formula (Percent) -> 33.3333%
expression 1234567.891
Formula (Numeric) -> 1234567.891
Formula (Currency) -> 1234567.891
Formula (Percent) -> 123456789.1%
The second block is the whole problem in one line. Numeric and Currency print the number you asked for. Percent prints a different number, a hundred times larger, and dresses it with a symbol that makes it read as deliberate.
Where the doubling happens
Nobody writes 1/3 in a real search. They write the thing they were taught to write for a percentage, which already ends in * 100:
{amountpaid} / {amount} * 100
That expression is correct. Under Formula (Numeric) it returns the percentage. Under Formula (Percent) it returns the percentage multiplied by 100 again.
An illustrative case, with round invented numbers rather than measured ones: a ratio of 0.25 that your expression has already turned into 25 renders as 2500%. Nothing errors and nothing is flagged. A reviewer glancing at a column of numbers ending in % has no reason to look twice.
The fix
Decide which of the two things is doing the conversion, and let only one of them do it.
If you want the column to carry a percent sign, give Percent the raw ratio and delete the * 100:
Formula (Percent): {amountpaid} / {amount}
If you want a bare number that you can sum, format or hand to a script, keep the * 100 and choose Numeric:
Formula (Numeric): {amountpaid} / {amount} * 100
Both report the same figure. They differ in who does the multiplication, and in the rounding, which is the next section.
The percent sign is part of the value
33.3333% is what the column returned, sign included. That matters if anything downstream expects a number, because what came back is not a bare numeric value.
How far that goes is not established here. The run recorded what the Percent column renders, not what it exports as or what a SuiteScript variable receives from it. Formula (Numeric) was checked on that point and returns the raw value. Formula (Percent) was not, so check your own CSV before you assume the sign is stripped for you.
The rounding is a separate question
Percent rendered 1/3 as 33.3333%, four decimal places, where Numeric returned all 39 digits of the same division. Numeric and Currency behave differently again from each other. That is a different trap with a different fix, and it has its own page: see the answer on Formula (Numeric) and decimal places.
How to tell if you are affected
Two checks, both quick.
Open each saved search that has a Formula (Percent) column and read the expression. If it contains * 100, the column is wrong by a factor of a hundred, because Percent multiplies again on top of it.
Or read the output. A figure that describes a share of something and cannot legitimately exceed 100 percent, showing up in the hundreds or thousands with a percent sign, has been multiplied twice. The tell is that every value in the column is exactly a hundred times the figure you expected.
Scope: one sandbox account on NetSuite 2026.1, Administrator role. The searches were built and run ad hoc through the SuiteScript search engine, nlapiCreateSearch and runSearch, with nothing saved. Every expression quoted here is arithmetic on constants, so the account's own data does not enter into the result, but the run covers one NetSuite version and does not say whether an older or newer one formats a Percent column differently.
How this was established
1 probe run against one NetSuite 2026.1 sandbox account on the Administrator role, through the saved search UI and the SuiteScript search engine. Where this page draws a boundary around a finding, that boundary is the edge of what was actually run.
Related
- Why does my Formula (Numeric) column return 39 decimal places?
Because Formula (Numeric) does not round at all. It hands back the raw Oracle NUMBER, which is what reaches your CSV export or SuiteScript variable, so 1/3 comes back with 39 decimal places. Formula (Currency) is not the fix: it rounded to 3 dp on some values and 2 on another. Use ROUND(x,2) in the expression.
- Why does {today} - {trandate} return a decimal instead of a whole number of days?
Because {today} is a timestamp, not a date. It carries the time of day, so the subtraction leaves a fraction of a day on the end and the result is never a whole number. An equality test against a day count never matches, and a greater-than test moves during the working day. Use TRUNC({today}) - {trandate}, which returns an integer.
- Why does the Total row of my saved search CSV export fail to parse as a number?
The Total row formats that column differently from the rows above it, adding a thousands separator and a trailing .0, which forces CSV quoting. A parser gets integers for the body and a string for the total, so a cast returns NaN or a value silently truncated at the separator, on the total row only, with no warning.