How material prices get tracked

Materials is where Verinode reads what you actually pay for restoration materials, drywall, paint, fasteners, lumber, insulation, and the rest, and compares it to what operators like you pay. Befor…

10 min read·Updated July 13, 2026
On this page

What this article covers

Materials is where Verinode reads what you actually pay for restoration materials, drywall, paint, fasteners, lumber, insulation, and the rest, and compares it to what operators like you pay. Before any of that comparison can happen, a raw line on a supplier invoice has to travel through three steps: it has to arrive, it has to be matched to a real material, and its price has to be put in a common unit. This article walks through all three, plus how Verinode turns raw invoice text and database codes into the plain labels you see on screen. For what the numbers mean once they land, see how benchmarks work and reading a benchmark.

Where to find it

Open Materials from the sidebar at iq.verinode.ai/materials. The Add Data button in the page header (or Cmd+U / Ctrl+U anywhere in the app) opens the same universal capture window every section uses: Drop files, Snap a photo, Paste it, Tell me, or Forward. Any of those can carry a supplier invoice.

Where material data comes from

Verinode does not go out and collect your material prices. It reads them from documents that already exist in your business, the moment they flow in. There are three channels:

  1. 1Supplier invoices by email. Every operator has a private forwarding address. Open the Add Data window and select Forward to see and copy yours, or set up org-wide auto-forwarding once from the Connect page so every supplier invoice lands automatically without anyone forwarding it by hand. See forwarding documents for the full setup.
  2. 2Upload. Drop a PDF, photo, or scan of a supplier invoice straight into the Add Data window (the Drop files tab), or snap a photo of a paper invoice from your phone.
  3. 3QuickBooks. Once your accounting system is connected, bills and expense lines that look like material purchases flow in automatically alongside the rest of your financials. See connecting your data for how to link an accounting connection.

Whichever channel it arrives through, Verinode's extraction reads each invoice line into a common record: a description, a quantity, a unit, a unit price, a total price, and the invoice's document date. That record is what the rest of this article, and the Materials page, works from.

Note

The Most recent row at the bottom of the Materials page shows these lines exactly as extracted, description title-cased for readability but not otherwise altered. If you see an odd description or a blank unit there, that is what the invoice actually said, not a Verinode error. A canonicalization miss or a unit that cannot be converted will keep a line out of the benchmark comparisons described below, without dropping it from Most recent.

How a line becomes a "material"

An extracted invoice line by itself is just text: a description, maybe a unit, a price. To compare it against what other operators pay, Verinode has to first work out which material it actually is, drywall versus paint versus a fastener, regardless of how your supplier happened to word it on the invoice.

This matching runs against Verinode's canonical material catalog, a fixed list of named, unit-defined materials (for example, a specific drywall thickness, or an exterior paint category), each with a handful of known alternate names and codes. A line is matched to a canonical material in the first of these that fires, in order:

  1. Exact code. The line carries a supplier or price-list code that matches a known code for that material.
  2. Exact description. The line's description matches a known name for that material, word for word.
  3. Keyword. A known name or term for that material appears somewhere inside the line's description.

If none of the three matches, the line is not counted in the price comparisons, no material canonical is confident enough to be assigned. It still shows up in Most recent as a raw record; it just will not appear priced against peers until either the description is clearer on a future invoice or Verinode's catalog is extended to recognize it.

This matching happens automatically, every time Materials reads your data, not once at save time, so a change to the underlying catalog can improve what matches without you having to re-upload anything.

Getting to one price per unit: unit normalization

Suppliers price the same material in different units. One invoice prices drywall by the sheet, another by the pallet; one prices paint by the gallon, another by the pail. A number cannot be compared to a peer's number, or to your own last month's number, until everything is expressed in the same unit for that material.

Every canonical material has one base unit it is always compared in (for example, a sheet good is priced per sheet, a coating is priced per gallon). When a line comes in, Verinode converts its price into that base unit using a maintained conversion table:

  • If the invoice's unit already matches the material's base unit, the price is used as-is.
  • If the invoice's unit is different but a known conversion exists (a pallet-to-sheet factor, a pail-to-gallon factor), the price is converted.
  • If the invoice line has no unit at all, Verinode assumes it was priced in that material's most common purchase unit, since that is true for the large majority of invoice lines that omit one.
  • If none of the above holds, the price cannot be honestly converted, and the line is left out of the priced comparison rather than compared in the wrong unit.

That last rule matters: Verinode will never show you "underpaying" or "overpaying" on a price that was silently squeezed into the wrong unit. A line that cannot be converted cleanly is simply not counted, not guessed at.

Tip

If a material you buy often is not showing up in the Price vs Peers comparison, the two most common reasons are a description too far from any known name or code for Verinode to match confidently, or a unit that cannot yet be converted to that material's base unit. Neither is a data-quality problem on your end, it just means that specific line stays out of the comparison until the catalog or conversion table catches up. Your raw invoice data is never lost, it is still visible in Most recent.

Humanizing units and families

Behind the scenes, materials and units are stored as short, plain-text codes (a unit code, a family code). You never see those codes on screen. Every one is translated to a plain label before it reaches the page:

  • Units. A unit code is shown as its full name: a gallon reads "Gallon," a sheet reads "Sheet," each reads "Each," a box reads "Box," a pound reads "Pound," a roll reads "Roll," square footage reads "Sq Ft," square yardage reads "Sq Yd," a roofing square reads "Square," linear footage reads "Linear Ft," a quart reads "Quart," a pail reads "Pail," a bag reads "Bag," a tube reads "Tube," a bundle reads "Bundle." Anything without a specific mapping still gets a readable label rather than a raw code.
  • Material families. Materials are grouped into families for the Explore and Take Action tiles, groups like Drywall & Finishing, Paint & Coatings, Fasteners, Lumber & Sheet Goods, Insulation, PPE, Fleet Build-out, Roofing & Exterior, Floor Coverings, Tile & Masonry, Site Protection, Cleaning Chemicals, and Restoration Consumables. A material with no assigned family is grouped under "Other Materials" rather than left blank.
  • Descriptions. The raw description on an invoice line is title-cased for display (so an all-caps OCR line does not shout at you), but the wording itself is left as the supplier wrote it, Verinode does not rewrite what a material is called.

What you see on the Materials page

The page opens on a hero panel, then a Take Action row, an Explore row, an occasional Market context row, and a Most recent row. What each one shows depends on how much of your own data has flowed in.

The hero panel

On your very first visit, before any material invoice has been successfully matched to the catalog, the hero leads with Market Reference: a count of common restoration materials Verinode already has a public reference price for, region-aware where available, with the note that "Your own prices appear here as supplier invoices arrive." This is deliberate, the section is never blank on day one, it leads with honest market context while it waits for your first invoice.

Once you have at least one matched material purchase, the hero switches to Material Prices, headlined by how many of your materials are tracked. If peer comparisons are unlocked and there is a real gap to close, the panel leads with the dollar opportunity: how many of your material groups you pay above operators like you on, out of how many total, and roughly what closing those gaps is worth per year. If peer comparisons are not yet unlocked, or there is no gap, the panel instead shows your tracked spend over the trailing 12 months, how many suppliers that spans, and how many of your materials have a market reference price.

Take Action

Two tiles always sit at the front of this row: one to bring an AI teammate into the Materials work, and one to unlock peer comparisons if they are not already open. After those, up to three tiles surface your biggest dollar opportunities: the material family, what you pay per unit versus what operators like you pay, and roughly what closing that one gap is worth per year at your volume. Each carries a small confidence label (Early signal, Indicative, Observed, or Verified) alongside how many operators are behind that specific comparison, so you can weigh a wide gap on thin data differently from a wide gap on a well-established one. Clicking any of these opens the Biggest Gaps view.

Explore

Five tiles open the same in-page detail view on five different angles of the same data, no separate navigation:

  • Price vs Peers, how many of your materials are priced against a peer cohort (or, before any cohort exists, how many of your own prices are tracked, or how many market references you have to start from).
  • Your Suppliers, how many materials you can see broken out by which supplier you bought them from.
  • Spend Mix, your tracked spend over the trailing 12 months.
  • Market Context, how many materials have a public reference price.
  • Biggest Gaps, the total yearly dollars at stake across every material where you pay above peers.

Every tile always shows something, even before your own data has caught up, so the angle is discoverable from day one; the caption underneath just tells you honestly what stage the data is at ("prices appear from invoices," "suppliers appear from invoices," and so on).

Market context

This row only appears while you have materials with a public reference price but no peer cohort behind them yet, up to six at a time. Each shows the material name, its regional market reference price per unit, and opens the Market Context view when clicked. As real peer cohorts form behind these materials, they graduate out of this row and into the priced comparisons above.

Most recent

The last row lists your most recent material purchases as extracted: a total price, the (title-cased) description, and the quantity and unit when known. Before any material invoice has come in, it reads: "Material purchases appear here as supplier invoices flow in by email, upload, or QuickBooks."

Best-practice example

Say your supplier's invoices come in with unusual pallet-level pricing your team has always eyeballed by dividing in a spreadsheet. Forward a batch of those invoices, by email or upload, and Verinode does the division for you: it matches each line to the right canonical material, converts the pallet price to the material's base unit (per sheet, per gallon), and lines it up against operators like you in the same unit. If a line does not show up in Price vs Peers after a few invoices, check Most recent first, if the description is there but oddly worded, or the unit column is blank, that is the invoice text speaking, and it is a signal to describe that item a little more plainly on future invoices rather than a sign anything is broken.

Data sources

Data sources

  1. 1.Your supplier invoices, by email forward, upload, or QuickBooks. Your business.
  2. 2.Verinode canonical material catalog and unit conversion table. Verinode reference data.
  3. 3.Regional material reference prices. Verinode reference data.
  4. 4.Anonymized peer material price cohorts. Verinode intelligence layer.
Was this helpful?