Overview
ArcSite captures measurements when you draw — feet for lines, square feet for areas, each for shapes. But the quantity you want to display, price, or order from a vendor is often something else: rolls, sections, boards, hours, truckloads. This article is the canonical guide to converting captured measurements into the quantities you actually need.
It covers:
A decision matrix for where to put a calculation (Product, Bundle, built-in, or Price Part)
How to apply calculations using Quantity Modifiers (Per Item vs. Total Quantity, Simple vs. Custom Expression)
How to preview and test calculations before saving
A complete syntax reference for custom expressions
A library of worked examples — common conversions and fence-specific recipes
If you're new to ArcSite calculations, read the decision matrix first, then jump to the example that matches what you're trying to do.
Decision matrix: Where should I put my calculation?
There are five places a calculation can live in ArcSite. Pick the right one and the rest gets easier. Pick the wrong one and you'll spend time fighting unexpected behavior.
Where | Use it when… | Examples |
Built-in Product Type | ArcSite already supports the math you need natively. | Vapor Barrier (length × height = area) |
Product-level Quantity Modifier | The conversion is the same every time this Product is used, no matter what Bundle it's in. | Turf rolls (always 50 LF per roll) |
Bundle-level component calculation | The same Product needs different math in different Bundles. | Pickets per LF varies by fence style |
Bundle-level Quantity Modifier | You need to convert the Bundle's total output (not a component within it). | Convert a Bundle's LF output to "number of fence sections" |
Price Part — Custom Quantity | The conversion is purely for pricing display. Requires a price. | Show "per panel" pricing instead of "per LF" on the proposal |
Rule of thumb. Start at the Product level. Move to Bundle level only when the math actually varies between Bundles. Use Price Parts only for pricing-display reasons.
The Per Item vs. Total Quantity choice
Independent of where you apply a Quantity Modifier, you must choose how it's applied:
Per Item — applies the calculation to each instance separately. Use when each placed item has its own measurement that needs converting (e.g., excavation holes where each hole has its own depth).
Total Quantity — sums all instances first, then applies the calculation once. Use when you only care about the totals (e.g., turf rolls — sum all the area, then divide by roll size).
This choice affects rounding behavior dramatically. Round-up "per item" on four 50-foot fence runs gives a different answer than round-up "total" on 200 feet.
Rounding example. 17 pickets per 8' section, fence is four runs of 50 LF. Per Item: 50/8 = 6.25 → ceil = 7 sections × 17 = 119 pickets per run × 4 runs = 476 pickets. Total: 200/8 = 25 sections × 17 = 425 pickets. Different answer. Choose deliberately.
Quantity Modifiers — Step-by-Step
Step 1 — Open the Advanced Quantity Settings dialog
During Product creation (or while editing an existing Product), tap Convert Quantity. The Advanced Quantity Settings dialog opens.
Step 2 — Choose Per Item or Total Quantity
Pick using the rule above. You can change this choice later if needed, but the consequences for existing drawings can be significant — test thoroughly.
Step 3 — Add Quantity Modifier(s)
Click Add Quantity Modifier. For each modifier, define:
Description — internal-only label so you'll remember what this conversion does. Doesn't appear in the field app.
Output unit name — what the user will see in the field app and on output documents (e.g., "Rolls," "Sections," "Boards").
Operation — multiply or divide.
Rounding — round up, round down, or no rounding.
You can chain multiple modifiers. For example, area → length (modifier 1) → number of rolls (modifier 2). Modifiers are applied in order.
Step 4 — Test before saving
Click Test Panel to validate the result before saving the Product.
In Testing Product Items, enter a sample INPUT value (the base measurement you'd normally draw).
Review the calculated Quantity. The Test Panel also shows how the quantity was calculated, step by step.
Click + More Testing Items to add additional inputs. This is especially important for Total Quantity modifiers — multiple items let you confirm both the subtotal behavior and the final converted result.
If the output isn't right, close the Test Panel, adjust the modifier(s), and re-test.
Click Done when verified.
Always use the Test Panel. The wrong calculation looks identical to the right one until a customer asks why their proposal shows 1.2 rolls of fabric.
Bundle Calculation Preview
When you're applying calculations at the Bundle level (component-level math or whole-Bundle modifiers), Bundles have their own preview tool — separate from the Product Test Panel above.
How to use the Bundle Calculation Preview
Go to the Products page on the User Site.
Open an existing Bundle for editing, or create a new one.
Click Test Calculation in the bottom-left corner of the editing panel.
In the calculation mode that opens, enter the Bundle quantity at the top of the screen. The Quantity Calculation column updates dynamically, showing the result for each component plus the calculation steps used.
To modify a component's calculation directly from preview mode, hover over the component and click the calculation button.
Click Exit in the top-right when done.
Use this when setting up complex Bundles with multiple calculated components — it eliminates the round-trip of saving the Bundle, opening the field app, and testing live.
Custom Expression Syntax
Quantity Modifiers can be Simple (just multiply/divide by a number) or Custom Expression (full math). Custom Expressions unlock the rest of this section.
The basics
Use any combination of arithmetic operators (+, -, *, /, %) and numbers. Examples:
3 * 2 + 510 / 4
INPUT — the captured measurement
Use the keyword INPUT to reference the source measurement (the LF, SqFt, or count from the drawing). Example: a tape product captured in linear feet that needs to convert to 25-foot rolls:
INPUT / 25
Functions
For more advanced math, ArcSite supports these functions:
Function | What it does |
| Absolute value |
| Round up |
| Round down |
| Round to nearest integer |
| x to the power of y |
| Square root |
| Maximum of two values |
| Minimum of two values |
| Trig functions (radians) |
Tape product rounded up to whole rolls: ceil(INPUT / 25)
Variables — collect data in the field
Define a variable to prompt the field user for a value at placement time. Place the variable name in the expression like a number. Example: an area-based product with a Depth variable to compute volume:
INPUT * Depth
Conditional expressions
Use the condition ? valueIfTrue : valueIfFalse syntax to apply different math based on a condition:
INPUT * (SomeVariable > 5 ? SomeVariable : 0)
Common rounding patterns
Nearest integer:
round(INPUT)Nearest half:
round(INPUT * 2) / 2Nearest quarter:
round(INPUT * 4) / 4Nearest tenth:
round(INPUT * 10) / 10Round up at midpoint of a range:
(INPUT % 10) > 5 ? ceil(INPUT / 10) : floor(INPUT / 10)
Common Use Cases
Change the display unit (no math)
When: Captured in one unit, displayed in another, but no actual conversion math is needed.
Example: Captured as Each, displayed as "Sections" or "Pumps."
Where: Product level — Convert Quantity option, or Price Part Custom Quantity.
Linear → number of sections, lengths, or rolls
When: Drawn as a line, but the catalog item is sold by the section/roll.
Example: Fence draws in LF but vendor sells in 8-foot sections; turf draws in LF but is ordered in rolls.
Where: Product level — Convert Quantity option.
Calculation: ceil(INPUT / sectionLength)
Area → number of yards, truckloads, or rolls
When: Drawn as an area, but ordered by yard, truckload, or other coarse unit.
Example: Sod from SqFt to SqYd, mulch from SqFt to truckloads.
Where: Product level — Convert Quantity option.
Calculation: e.g., SqFt → SqYd is INPUT / 9.
Volume from area + depth (mulch, fill dirt, gravel)
When: Material has a depth that's set per job.
Where: Built-in Area (as Volume) Product Type. The user enters depth at placement time and ArcSite computes volume automatically.
Wall area from a top-down line + height
When: The vertical surface is captured by drawing the wall's footprint and entering height.
Where: Built-in Line / Arc (as Wall Surface) Product Type.
Adjust quantity up or down (overage, waste)
When: You want the captured quantity plus or minus a buffer.
Example: Add 10% to lumber for waste; add 2 extra of an item per job.
Where: Product or Bundle — Quantity Modifier with multiplier (1.1 for +10%) or addition (INPUT + 2).
Override the captured quantity entirely
When: The drawing measurement isn't usable — too rough, intentionally not-to-scale, or the user wants to type the value directly.
Where: Product — Quantity Modifier with override capability.
Note: When using a Product to capture a price by overriding quantity, set the Product or output block to hide quantity so the proposal doesn't double-display.
Round up or down at a midpoint
When: Stocking material in fixed lengths, decision threshold partway through a unit.
Where: Product or Bundle — Custom Expression.
Calculation: (INPUT % 10) > 5 ? ceil(INPUT / 10) : floor(INPUT / 10)
Minimum charge plus per-quantity charge
When: You want a floor price plus per-LF/SqFt charges.
Example: Service call has a $2,000 minimum plus $10/LF.
Where: Build a 2-Product Bundle. Product 1 is the standard per-quantity charge. Product 2 is a No-Visual Product using the Minimum Total Price Price Part. Both at quantity 1 in the Bundle.
Fence Calculation Recipes
Fence is the vertical with the most diverse calculation needs. The recipes below are the ones most commonly requested.
Avoid line-post overcount
Problem: ArcSite auto-counts line posts, but end posts, terminal posts, and corner posts are placed manually — leading to overcounting.
Calculation: ceil(INPUT / 10) - 1
Where to apply: Bundle — Advanced Rule.
Chain link fabric — LF to rolls
For 50-foot rolls: simple modifier with divisor 50, round up.
Where to apply: Product — Modify Total Quantity.
Top rail — convert to section length
For 10-foot sections: simple modifier with 10, .5, round up.
Where to apply: Bundle — Simple Rule.
Top rail — number of 21-foot rails
Simple modifier: 21, 1, round up.
Where to apply: Bundle — Simple Rule.
Nails / screws — by box
Type 1 — Box of 300 from total LF: simple modifier, divisor 300. Where to apply: Product — Simple Rule.
Type 2 — Boxes calculated from picket count: ceil((INPUT / 8) * 18 * 4) (4 nails per picket, 18 pickets per 8' section). Where to apply: Bundle — Modify Total Quantity.
Tongue and groove boards
ceil((INPUT / 8) * 15) — 15 boards per 8' section.
Where to apply: Bundle — Advanced Rule.
U-channel
ceil(INPUT / 8) * 2 + 2
Where to apply: Bundle — Advanced Rule.
Concrete bags per post
ceil(INPUT / 10) - 1 * 2 — 2 bags per Chain Link Line Post.
Where to apply: Bundle — Advanced Rule.
Pickets per section
For 17 pickets per 8' wood fence section. Note rounding behavior: with Round Up at the per-instance level, the calc rounds each fence run, not the total. Four 50-foot runs round to 7 sections each (476 pickets) versus 25 sections at the total (425 pickets) — material difference. Choose deliberately.
Where to apply: Bundle — Simple Rule.
Tie wire
6½": Bundle Simple Rule, 2 per LF.
8¼": Bundle Advanced — ceil(INPUT / 10) - 1 * 4 (avoiding post overcount × 4 ties per post).
Applying Calculations in Bulk
If you have many Products that need similar calculations, you can copy a Quantity Modifier from one Product to others rather than configuring each by hand. The bulk-apply feature is in the User Site Products page; select multiple Products and apply the modifier from a source.
