Excel builder map

Drop in the Excel workbook your team quotes from to see its inputs, lookup tables, formula chains, macros and pricing gaps. The file is read in this browser and never uploaded.

PRIVATE

Your workbook is read in this browser and never uploaded. Its costs, margins, formulas and macros stay on your computer.

Drop your Excel builder hereor click to choose an .xlsx, .xlsm or .xls fileThe file is read in this browser and never uploaded.

What the map shows

An Excel builder is the workbook that sales engineers configure and price products from. Dropdown lists take the options, and formulas apply the plant's rules. Lookup tables hold the costs and times, and VBA macros often fill in the rest. The map lists each of those parts and how they connect.

How to map your Excel builder

  1. Drop the workbook on the box above, or click the box to choose it. The map reads .xlsx, .xlsm and .xls files up to 40 MB.
  2. Read the overview. It counts the parts and shows how the deepest output, usually the price, is built from the inputs.
  3. Open the other tabs to see the inputs, the tables and names, the outputs and chains, the gaps and the macros.
  4. Download the map as a PDF or HTML report to share it. Download the rules as a CSV to sort and filter them in a spreadsheet.

The CSV lists every formula with its cell, the label beside it, its saved value, its depth and its gaps. Each formula in the CSV starts with an apostrophe. Remove it before you paste a formula back into a workbook.

The gaps the map flags

A gap is a place where the workbook can produce a wrong price and still look correct. Check each one with the person who maintains the builder.

How the file is read

Your workbook is read in this browser and never uploaded. Microsoft's list of Excel file formats describes .xlsx and .xlsm as XML-based, and .xls as the Excel 97-2003 binary format, BIFF8. The Open XML formats store their XML with ZIP compression.

SheetJS, an open source spreadsheet reader, reads the cells, the formulas and the names. It runs in a background worker, so the page stays responsive while a large file is read. The map reads the dropdown lists, the form controls and the workbook links from the file's own XML.

Excel stores each formula's last calculated value in the file. The map shows those saved values, so it shows the price the workbook last calculated without recalculating anything.

Microsoft's list of formats says an .xlsx workbook cannot store VBA macro code, while an .xlsm workbook can. In a macro-enabled file, the macros sit in a VBA project part defined by the [MS-OVBA] specification. Its data is stored in a structured storage, and each module's source code is compressed with run length encoding. The map opens the storage, decompresses each module and lists its procedures.

The first time you use the map, your browser loads SheetJS from cdn.jsdelivr.net. The page counts how often the map is used, with the file type and size. It never records the file, its name or anything read from it, and the results are hidden from PostHog's session recordings.

What the map leaves out

Macros that run on their own matter as much as formulas. A Worksheet_Change procedure, for example, runs when cells on the sheet are changed, so it can rewrite a price after an input changes.

From a map to a quoting app

Excel's Trace Precedents and Trace Dependents commands draw tracer arrows between a formula and the cells it reads. The map lists the same relationships for the whole workbook, which is where moving the rules out of the file starts.

The guide to converting an Excel quoting workbook into a web app explains how a map becomes a tested app. Turning your Excel builder into a CPQ app describes what ThriveAI builds from it.

Questions

Is my workbook uploaded anywhere?
No. The workbook is read in this browser, and nothing from it is sent to a server. The first time you use the map, your browser loads the SheetJS reader from cdn.jsdelivr.net. The page counts how often the map is used, with the file type and size only.
Which Excel files does the map read?
It reads .xlsx, .xlsm and .xls workbooks up to 40 MB. It does not read .xlsb files, or workbooks protected with a password to open.
Why does my .xlsx file show no macros?
Microsoft's list of Excel file formats says an .xlsx workbook cannot store VBA macro code. A builder that runs macros is saved as .xlsm, or as .xls in the older binary format.
What counts as an input?
A cell with a dropdown list, from data validation or a form control, is an input. So is a typed value that a formula reads on its own or in a block of up to 20 cells. Larger blocks of typed values are listed as tables.
Does the map recalculate the workbook?
No. It shows the values Excel saved with the file, which are the results of the last calculation. To see the map with other values, change the inputs in Excel, save the file and map it again.
How is the depth of a chain counted?
A formula that reads only inputs and tables has a depth of 1. A formula that reads other formulas has a depth one higher than the deepest of them. The map shows the chain that reaches the greatest depth for each output.
Why does IFERROR around a lookup count as a gap?
IFERROR returns the value you give it for any error, including the #N/A that VLOOKUP returns when it cannot find an exact match. With 0 as that value, a part missing from the table prices at zero, and nothing on the sheet shows an error.
Can ThriveAI map the whole builder?
Yes. ThriveAI maps the whole builder at no charge and writes each rule in plain words. The AI CPQ offer page explains how to send the workbook, and ThriveAI can sign your confidentiality agreement first.

Send your builder to ThriveAI for the full map

The full map is free. It describes each rule in plain words and lists the inputs and tables behind every price. If you want a confidentiality agreement, ThriveAI can sign it before you send the file.

See the AI CPQ offer