Skip to main content

Quantity & Unit Logic — The Complete Guide

The total guide to converting captured measurements into the quantities you need to display, price, or order. Includes a decision matrix, syntax reference, and worked examples.

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
(Line as Wall Surface, Area as Volume)

ArcSite already supports the math you need natively.

Vapor Barrier (length × height = area)
Mulch (area × depth = volume)

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)
Sod (always SqFt → SqYd)

Bundle-level component calculation

The same Product needs different math in different Bundles.

Pickets per LF varies by fence style
Posts per LF varies by spacing

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:

  1. Description — internal-only label so you'll remember what this conversion does. Doesn't appear in the field app.

  2. Output unit name — what the user will see in the field app and on output documents (e.g., "Rolls," "Sections," "Boards").

  3. Operation — multiply or divide.

  4. 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.

  1. In Testing Product Items, enter a sample INPUT value (the base measurement you'd normally draw).

  2. Review the calculated Quantity. The Test Panel also shows how the quantity was calculated, step by step.

  3. 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.

  4. If the output isn't right, close the Test Panel, adjust the modifier(s), and re-test.

  5. 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

  1. Go to the Products page on the User Site.

  2. Open an existing Bundle for editing, or create a new one.

  3. Click Test Calculation in the bottom-left corner of the editing panel.

  4. 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.

  5. To modify a component's calculation directly from preview mode, hover over the component and click the calculation button.

  6. 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 + 5

  • 10 / 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

abs(x)

Absolute value

ceil(x)

Round up

floor(x)

Round down

round(x)

Round to nearest integer

pow(x, y)

x to the power of y

sqrt(x)

Square root

max(x, y)

Maximum of two values

min(x, y)

Minimum of two values

sin(x) cos(x) tan(x)

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) / 2

  • Nearest quarter: round(INPUT * 4) / 4

  • Nearest tenth: round(INPUT * 10) / 10

  • Round 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.

Did this answer your question?