> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> These docs describe Speckle as it works today, including everything released in 2026.9. Treat page content as current unless the page or section says it applies only to versions published before 2026.9.
> Content scoped to versions published before 2026.9 (the object graph and root object, Proxies, Receive2, operations.receive, object.children) applies only to model versions in that earlier data format. For versions published in 2026.9, answer from the Object model pages and the SDK migration guides.
> The What's new pages summarise what changed in 2026.9 and link to the page that documents each change. Answer from the linked page rather than from the summary. Legacy (v2) connectors are retired; send questions about them to the community help forum.
> Match guidance to the customer's deployment, model data format, connector, plan and permissions. Self-hosted servers on a release before 2026.9 and compatibility-mode workflows follow the Compatibility mode page. If an unknown version or data format changes the answer, ask one focused question; do not infer the deployment version from the date alone.

# Take off quantities and cost with Speckle Intelligence

> Ask Chat for a quantity takeoff and a priced estimate straight from the model, using your own rate card, instead of building a takeoff dashboard by hand.

A quantity takeoff and a priced estimate are usually two separate jobs: count elements in a
dashboard or export, then take that export somewhere else to apply rates. This page asks for both
in one conversation — a takeoff by category, priced against your own rate card, with anything it
can't price flagged instead of guessed.

<Note>
  On a self-hosted Speckle Enterprise Server, your server administrator turns on Intelligence and
  connects it to your organisation's AI provider. See [Enable
  Intelligence](/developers/server/deployment/enterprise-license#enable-intelligence).
</Note>

<Info>
  This is the Chat-driven route. For a dashboard you can pin, share, and keep open on a screen
  instead of asking for it each time, build a [quantity takeoff
  dashboard](/analytics/dashboards/common-workflows#run-a-quantity-takeoff) instead — the two
  approaches read the same published data.
</Info>

## What this workflow does

* **Take off** — count and total elements by category, level, or any other property, without
  building the breakdown in a dashboard first.
* **Price** — apply your own unit rates and cost codes instead of a generic estimate.
* **Flag gaps** — call out anything with no matching rate, rather than inventing a number.
* **Reuse** — pin the rate card once so every future takeoff on any project uses this year's
  prices.

## Walkthrough

<Steps>
  <Step title="Pin your rate card as Knowledge">
    In workspace **Settings → Skills**, create a skill and pin your rate card (a spreadsheet, or a
    live warehouse table if finance keeps it there) as
    [Knowledge](/analytics/intelligence-skills#what-you-can-attach). Write the unit rates and cost
    codes into the skill's instructions in your own language — elemental, package, or whatever your
    commercial team already calls them. See [Reuse organisation playbooks with Intelligence
    skills](/analytics/intelligence-skills).
  </Step>

  <Step title="Ask for the takeoff">
    In Chat, arm the skill with `/skill-name` and ask in plain language:

    > Give me a material takeoff, priced against our rate card.

    Intelligence reads quantities from the published model — the same [connected, queryable
    data](/analytics/intelligence#how-it-works) it uses for any other question — and matches each
    line against the pinned rate card.
  </Step>

  <Step title="Read the breakdown">
    The reply groups quantities the way your skill's instructions say to — by category, level, or
    package — with each line priced. Anything without a matching rate is called out separately
    instead of estimated, so a missing row is visible rather than silently averaged away.
  </Step>

  <Step title="Ask a what-if question">
    Keep going in the same conversation:

    > What's the impact on cost if steel goes up by 15%?

    Intelligence recalculates from the same quantities and the same pinned rates, so the answer
    reflects your actual take-off, not a generic assumption.
  </Step>
</Steps>

## Share it beyond the chat

Save the conversation as a [Report](/analytics/reports) if you want a shareable artefact — the
takeoff and its pricing stay live against the bound version rather than frozen at the moment you
asked. For a takeoff someone will keep open and re-filter by level or category on a screen, use
the dashboard route in [Run a quantity
takeoff](/analytics/dashboards/common-workflows#run-a-quantity-takeoff) instead; the **Elements
table** widget there also exports to CSV.

## FAQ

<AccordionGroup>
  <Accordion title="Does it use my company's units and rounding?">
    Only if you say so. Put your unit and rounding conventions in the skill's instructions —
    Intelligence does not know your commercial team's conventions unless you tell it once, in the
    skill.
  </Accordion>

  <Accordion title="What happens if an element has no matching rate?">
    It gets flagged as unmatched rather than priced by guesswork. Write that behaviour into the
    skill explicitly (see the [cost, carbon, and quantities skill
    catalogue](/analytics/intelligence-skills#cost-carbon-and-quantities)) if you want the flag to
    use a specific phrase your commercial team recognises.
  </Accordion>

  <Accordion title="Does this need a version in the 2026.9 data format?">
    Yes. Like every other Intelligence query, a takeoff needs a version in the data format
    introduced in 2026.9. Versions published before 2026.9 can't be queried; publish again with a
    2026.9 connector. See [Speckle's new data model](/workspaces/data-model-migration).
  </Accordion>

  <Accordion title="Can I get the same breakdown without a rate card?">
    Yes — just ask for the takeoff without pricing, for example "give me a material takeoff" or
    "give me a report of quantities by category and level." Pricing only kicks in once you've pinned
    a rate card in a skill.
  </Accordion>
</AccordionGroup>

## See also

* [Ask questions about your models with Speckle Intelligence](/analytics/intelligence)
* [Reuse organisation playbooks with Intelligence skills](/analytics/intelligence-skills)
* [Create and share Intelligence Reports](/analytics/reports)
* [Run a quantity takeoff](/analytics/dashboards/common-workflows#run-a-quantity-takeoff) — the
  dashboard-based route


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.