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.
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.
- 1Switch to Pricing mode in the editor.
- 2Click "Add Price Block" and choose "Base Price".
- 3Enter the base price value (e.g., 500).
- 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.
- 1Click "Add Price Block" and choose "Price Group".
- 2Select the option block to link to (e.g., "Frame Finish", "Seat Material", a Modular block, or a Number Input block).
- 3For each variant (or module type, or numeral variant), enter a price value.
- 4Variants or module types without a price default to 0 (no additional cost).
- 5For Modular blocks, the price label shows "/ unit" — it is charged per placed module instance.
- 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.
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.
- 1Click "Add Price Block" and choose "Price Table".
- 2Select the first option block for rows (e.g., "Size") and the second for columns (e.g., "Material").
- 3Fill in the price grid — each cell represents the price for that specific row × column combination.
- 4When the user selects a size and a material, the corresponding cell value is used.
- 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.
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.
- 1Open an Enterprise Modular project and switch to Pricing mode.
- 2Click "Pricing" and choose "Unique Price".
- 3Select the modular block and exactly one module variant, such as "Connect Full Wall".
- 4Add quantity rows such as 1, 2, and 3 for the non-linear breakpoints you want to price directly.
- 5Select another option block for the columns, such as "Treatment Options".
- 6Fill the grid with exact total prices for each quantity and option variant.
- 7Fill the Default row with the per-extra fallback price for each option variant column.
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.
- 1Click "Add Price Block" and choose "Variable".
- 2Name the variable (e.g., "Quantity", "Custom Width", "Discount %", "Modules Cost").
- 3Choose "Custom" for a standalone slider or "For Options" to link to an option block.
- 4For "For Options" mode: select the option block (can be a Modular or Number Input block) and set a price per variant.
- 5For "Custom" mode: set min, max, step, and default values for the slider.
- 6Use this variable in the price formula (see below).
[Base Price] + [Modules Cost]. As modules are placed or removed, the total updates in real time.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.
- 1Open an Enterprise Modular project and switch to Pricing mode.
- 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.
- 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.
- 4Empty SKU fields are not persisted (no empty strings in the saved project).
- 5Verify in the Share preview: open the price breakdown details — the matching SKU appears in muted monospace next to each line item.
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.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 Type | Description | Example |
|---|---|---|
| Block Reference | Inserts the current value of a price block. Click to browse and select. | [Base Price], [Wood Type], [Size × Material] |
| Number | A literal numeric constant. | 100, 0.15, 2.5 |
| Operator | Arithmetic operators. | + (add), − (subtract), × (multiply), ÷ (divide) |
| Parentheses | Group 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
- 1Go to Project Settings > Pricing tab. Set the currency symbol, prefix/suffix, and tax settings.
- 2Go to Project Settings > Display tab. Enable "Show Price".
- 3Switch to Pricing mode in the editor.
- 4Add a Base Price block and set the starting price.
- 5Add Price Group blocks for each option block that affects the price — enter variant prices.
- 6Add Price Tables for any two-dimensional pricing (size × material combos).
- 7For Enterprise Modular projects, add Unique Price blocks when one module type needs non-linear quantity pricing with per-column Default row fallback prices.
- 8Add Variables for dynamic inputs like quantity or custom dimensions.
- 9Open the Formula editor. Build the formula by clicking to insert block references and operators.
- 10Test pricing in the Share preview. Change options and verify the total updates correctly.
Pricing Settings (Project Settings > Pricing Tab)
| Setting | Description |
|---|---|
| Currency Symbol | The currency symbol displayed (e.g., $, €, £, kr, ¥). |
| Currency Position | Prefix ($100) or Suffix (100€). |
| Decimal Places | Number of decimal places shown (0, 1, or 2). |
| Thousand Separator | Comma, dot, space, or none. |
| Tax Rate | Optional tax percentage applied to the total. |
| Tax Label | Label displayed next to the tax amount (e.g., "VAT", "Tax", "GST"). |
| Show Tax Breakdown | Show the tax amount separately below the total. |
