Pricing Mode

Pricing mode lets you set up real-time price calculation for your product configurator. Add price blocks, link them to option blocks, and build formulas — the total price updates instantly as users change options.

Enable pricing first: Go to Project Settings > Display tab and enable "Show Price". Set the currency in Project Settings > Pricing tab. Without this, the pricing UI will not appear to end users.

Price Block Types

There are five types of price blocks. Each represents a different pricing concept. Unique Price appears only for Enterprise Modular projects.

1. Base Price

A single fixed starting price for the product. There can only be one Base Price block per project. This is the foundation that other blocks add to or multiply.

  1. 1Switch to Pricing mode in the editor.
  2. 2Click "Add Price Block" and choose "Base Price".
  3. 3Enter the base price value (e.g., 500).
  4. 4The base price appears as the minimum price before any options are selected.

2. Price Group

Links to one or more option blocks and assigns a price to each variant. When the user selects a variant, its price is added to the total. Also supports Modular option blocks — each placed module instance is priced individually — and Number Input option blocks — each numeral variant's price is multiplied by the runtime numeric value the end user enters.

  1. 1Click "Add Price Block" and choose "Price Group".
  2. 2Select the option block to link to (e.g., "Frame Finish", "Seat Material", a Modular block, or a Number Input block).
  3. 3For each variant (or module type, or numeral variant), enter a price value.
  4. 4Variants or module types without a price default to 0 (no additional cost).
  5. 5For Modular blocks, the price label shows "/ unit" — it is charged per placed module instance.
  6. 6For Number Input blocks, the price label shows "/ unit" — it is multiplied by the numeric value the end user enters for that variant: [number] × price.
Example (Standard): An option block "Wood Type" has variants Oak ($0), Walnut (+$120), and Teak (+$250). Create a Price Group linked to "Wood Type" and set the variant prices accordingly.
Example (Modular): A Modular block "System Components" has variants Shelf (€80/unit), Cabinet (€150/unit), and Drawer (€120/unit). Create a Price Group linked to it. The total increases as the user places modules: placing 2 Shelves + 1 Cabinet = €80 × 2 + €150 = €310.
Example (Number Input): A Number Input block "Sizes" has numeral variants Taglia S (€5), Taglia M (€8), Taglia L (€12), Taglia XL (€13), and Taglia XXL (€17). Create a Price Group linked to it. At runtime the end user enters a quantity per size; the contribution is Σ(quantity × per-unit price) — e.g., 2 S + 3 L = 2 × €5 + 3 × €12 = €46.

3. Price Table

A 2D matrix that cross-references two option blocks to determine a price. Useful when the price depends on the combination of two selections (e.g., size × material). Either axis can be a dropdown, select-material, checkbox, toggle, carousel, modular, or Number Input block.

  1. 1Click "Add Price Block" and choose "Price Table".
  2. 2Select the first option block for rows (e.g., "Size") and the second for columns (e.g., "Material").
  3. 3Fill in the price grid — each cell represents the price for that specific row × column combination.
  4. 4When the user selects a size and a material, the corresponding cell value is used.
  5. 5When an axis is a Number Input, the cell price is multiplied by the runtime numeric value for that variant; if both axes are Number Inputs, it is multiplied by both.
Example: A table configurator with sizes (S, M, L) and materials (Pine, Oak, Walnut). The Price Table has 9 cells (3×3), each with a specific price for that size-material combination.
Example (Number Input axis): Rows = Number Input "Size" with variants S, M, L (quantities entered at runtime). Columns = Dropdown "Material" with Cotton and Polyester. Fill each (Size, Material) cell with a unit price; the contribution is Σ(qty[size] × cellPrice(size, selectedMaterial)).

4. Unique Price

An Enterprise-only block for Modular projects. It prices one chosen module variant by the quantity placed by the consumer and one correspondent option selection, so configured quantity breaks can be unique while higher quantities extend with that column option's Default row value.

  1. 1Open an Enterprise Modular project and switch to Pricing mode.
  2. 2Click "Pricing" and choose "Unique Price".
  3. 3Select the modular block and exactly one module variant, such as "Connect Full Wall".
  4. 4Add quantity rows such as 1, 2, and 3 for the non-linear breakpoints you want to price directly.
  5. 5Select another option block for the columns, such as "Treatment Options".
  6. 6Fill the grid with exact total prices for each quantity and option variant.
  7. 7Fill the Default row with the per-extra fallback price for each option variant column.
Example: 1 Connect Full Wall with Natural untreated can be $249, while 2 Connect Full Walls can be $699. If the highest row is 3 at $949 and the Natural untreated Default row value is $399, quantity 4 resolves to $1,348. A different treatment column can use a different Default value.

5. Variable

A custom numeric variable that can either be a standalone slider/input or linked to an option block. Variables are referenced in formulas for dynamic calculations. When linked to a Modular option block, each placed module instance contributes its per-unit price — useful for module-count pricing inside formulas. When linked to a Number Input block, each variant's price is multiplied by the numeric value the end user enters.

  1. 1Click "Add Price Block" and choose "Variable".
  2. 2Name the variable (e.g., "Quantity", "Custom Width", "Discount %", "Modules Cost").
  3. 3Choose "Custom" for a standalone slider or "For Options" to link to an option block.
  4. 4For "For Options" mode: select the option block (can be a Modular or Number Input block) and set a price per variant.
  5. 5For "Custom" mode: set min, max, step, and default values for the slider.
  6. 6Use this variable in the price formula (see below).
Modular example: Link a Variable to a Modular block "System Components" and set a price per module type. Then use it in a formula like [Base Price] + [Modules Cost]. As modules are placed or removed, the total updates in real time.
Number Input example: Link a Variable to a Number Input block "Sizes" with variants Taglia S (€5), Taglia M (€8), Taglia L (€12), Taglia XL (€13), Taglia XXL (€17). The block contributes Σ(quantity × per-unit price) live as the end user updates the size quantities in the Preview modal and the Share view.

6. SKUs on Priced Variants (Enterprise Modular)

On Modular projects with an Enterprise plan, every priced variant or cell in Price Group, Variable (For Options), Price Table, and Unique Price blocks can carry an SKU. SKUs are persisted alongside prices and travel with the configuration through the live breakdown, quote/form submissions, and Shopify draft orders — typically used to map configurator output to ERP / inventory codes.

  1. 1Open an Enterprise Modular project and switch to Pricing mode.
  2. 2Open a Price Group or Variable (For Options) block — a small SKU input appears under each variant's price field. Type the SKU (max 64 chars) and it persists automatically.
  3. 3Open a Price Table or Unique Price editor modal — click the "Show SKUs" button in the toolbar. Each cell now stacks a SKU input below its price. The toggle re-opens automatically next time if any SKU has been authored.
  4. 4Empty SKU fields are not persisted (no empty strings in the saved project).
  5. 5Verify in the Share preview: open the price breakdown details — the matching SKU appears in muted monospace next to each line item.
Where SKUs flow: the pricingBreakdown array sent to the Shopify draft-order endpoint includes a sku field on each line. The SDK exposes the same fields on the pricing block payload (variantSkus, tableCellSkus, uniquePriceCellSkus, uniquePriceDefaultCellSkus, variableOptionSkus) so headless integrations can reconcile against ERP/inventory.
Why Enterprise + Modular only: SKUs are most useful when configurator output maps to discrete inventory items (modules), and Enterprise is the plan that ships against ERP / inventory systems. Starter and Pro plans hide the SKU UI to keep the pricing editor uncluttered.

Price Formula

The price formula defines how all price blocks combine into a final total. Simplio3D uses a visual token-based formula editor — you build formulas by clicking to insert block references, operators, numbers, and parentheses.

Formula Tokens

Token TypeDescriptionExample
Block ReferenceInserts the current value of a price block. Click to browse and select.[Base Price], [Wood Type], [Size × Material]
NumberA literal numeric constant.100, 0.15, 2.5
OperatorArithmetic operators.+ (add), − (subtract), × (multiply), ÷ (divide)
ParenthesesGroup expressions to control evaluation order.( [Base] + [Material] ) × [Quantity]

Formula Examples

// Simple additive pricing

[Base Price] + [Frame Finish] + [Seat Material] + [Add-ons]

// Quantity-based pricing

( [Base Price] + [Material Upgrade] ) × [Quantity]

// Size-material matrix with discount

[Size × Material Table] × ( 1 − [Discount %] ÷ 100 )

Setting Up Pricing: Step by Step

  1. 1Go to Project Settings > Pricing tab. Set the currency symbol, prefix/suffix, and tax settings.
  2. 2Go to Project Settings > Display tab. Enable "Show Price".
  3. 3Switch to Pricing mode in the editor.
  4. 4Add a Base Price block and set the starting price.
  5. 5Add Price Group blocks for each option block that affects the price — enter variant prices.
  6. 6Add Price Tables for any two-dimensional pricing (size × material combos).
  7. 7For Enterprise Modular projects, add Unique Price blocks when one module type needs non-linear quantity pricing with per-column Default row fallback prices.
  8. 8Add Variables for dynamic inputs like quantity or custom dimensions.
  9. 9Open the Formula editor. Build the formula by clicking to insert block references and operators.
  10. 10Test pricing in the Share preview. Change options and verify the total updates correctly.

Pricing Settings (Project Settings > Pricing Tab)

SettingDescription
Currency SymbolThe currency symbol displayed (e.g., $, €, £, kr, ¥).
Currency PositionPrefix ($100) or Suffix (100€).
Decimal PlacesNumber of decimal places shown (0, 1, or 2).
Thousand SeparatorComma, dot, space, or none.
Tax RateOptional tax percentage applied to the total.
Tax LabelLabel displayed next to the tax amount (e.g., "VAT", "Tax", "GST").
Show Tax BreakdownShow the tax amount separately below the total.
Debugging prices: If the total seems wrong, check: (1) each Price Group, Unique Price, or Variable is linked to the correct option block, (2) variant prices are set for all variants and module types, (3) Unique Price has the intended quantity break rows and Default row values, (4) the formula references the correct block names, and (5) parentheses are balanced. For Modular projects, place modules in the Preview modal to verify the total updates correctly.

More in Projects