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

# Build your materials catalog with accurate pricing

> Add, import, and maintain a central database of materials with unit costs and supplier links that power AI suggestions across all your estimates.

Your materials catalog is the foundation of accurate estimating. Every material you add — with its unit, cost, and supplier — becomes available across all your estimates, so your team is always pricing from a single source of truth.

## Add materials manually

<Steps>
  <Step title="Open the Materials catalog">
    In the sidebar, go to **Costs > Materials**.
  </Step>

  <Step title="Create a new material">
    Click **New Material** to open the entry form.
  </Step>

  <Step title="Fill in the details">
    Enter the following fields:

    * **Name** — A descriptive name that will appear in estimate autocomplete (e.g., `1/2" Drywall Sheet 4×8`)
    * **Unit** — How the material is measured (`EA`, `LF`, `SF`, `CY`, `LB`, etc.)
    * **Unit cost** — Your current price per unit
    * **Category** — Organizes the material for browsing and reporting (e.g., `Drywall`, `Lumber`)
    * **Supplier** — The vendor you purchase this material from (optional, but recommended)
  </Step>

  <Step title="Save">
    Click **Save**. The material is immediately available for use in estimates.
  </Step>
</Steps>

## Import from Excel or CSV

If you already maintain a materials list in a spreadsheet, you can import it directly rather than entering each item by hand.

<Steps>
  <Step title="Click Import">
    On the Materials page, click **Import**.
  </Step>

  <Step title="Upload your file">
    Upload your `.xlsx` or `.csv` file. Files must have a header row.
  </Step>

  <Step title="Map columns">
    Match your spreadsheet columns to the Name, Unit, Unit Cost, Category, and Supplier fields. Any column you don't map is skipped.
  </Step>

  <Step title="Review and confirm">
    Preview the first several rows to catch mismatches, then click **Confirm Import**.
  </Step>
</Steps>

<Tip>
  See [Importing data](/getting-started/importing-data) for file formatting requirements and column name conventions that make mapping faster.
</Tip>

## Search and filter the catalog

Use the search bar at the top of the Materials page to find items by name or keyword. You can also filter by:

* **Category** — Narrow to a specific material group
* **Supplier** — Show only materials from a given vendor
* **Last updated** — Sort to surface the oldest pricing so you can review it first

Save any combination of filters as a **custom view** to access it quickly later.

## Use materials in estimates

When you add a line item to an estimate, the description field offers autocomplete suggestions from your catalog. Start typing a material name and matching results appear instantly.

Selecting a suggestion auto-fills the **unit**, **unit cost**, and **supplier** for that line item. You can override any of these values for the specific estimate without affecting the catalog entry.

<Note>
  The autocomplete search is AI-assisted. If you type a description that doesn't match an exact name in your catalog, Contractor Co-Pilot will suggest the closest match based on meaning, not just spelling.
</Note>

## Keep prices current

Material costs change. A few ways to stay accurate:

* **Edit a single material** — Click any row to open its detail panel and update the unit cost.
* **Bulk import updated pricing** — Re-import a CSV with revised costs. Existing records are matched by name and updated in place.
* **Sort by Last Updated** — Find materials that haven't been reviewed recently and update them before sending a new estimate.

<Warning>
  Updating a material's unit cost in the catalog does not retroactively change line items on existing estimates. Those line items store a snapshot of the cost at the time they were created.
</Warning>

## Organize with categories

Categories let you browse the catalog by material type and filter reports by cost group. The default categories include:

<CardGroup cols={2}>
  <Card title="Structural" icon="layers">
    Lumber, Concrete & Masonry, Steel
  </Card>

  <Card title="Enclosure" icon="home">
    Drywall, Insulation, Roofing
  </Card>

  <Card title="Mechanical" icon="zap">
    Electrical, Plumbing, HVAC
  </Card>

  <Card title="Finishes" icon="paintbrush">
    Paint & Finishes, Hardware, Flooring
  </Card>
</CardGroup>

You can create custom categories to match your trade or workflow — just type a new category name when adding or editing a material.

## Division-level pricing overrides

If your organization uses divisions, each division can maintain its own unit costs for the same material. A division-level price takes precedence over the organization default when estimating within that division.

To set a division override, open a material's detail panel, select the **Division pricing** tab, and enter the cost for each division that needs a different rate.

<Info>
  Division pricing is available on the Growth plan and above. See [Divisions](/organization/divisions) for setup instructions.
</Info>

## Next steps

<CardGroup cols={2}>
  <Card title="Cost profiles" icon="percent" href="/costs/cost-profiles">
    Apply markup rules to your material costs when building estimates.
  </Card>

  <Card title="Suppliers" icon="truck" href="/suppliers/index">
    Manage the vendors linked to your materials.
  </Card>

  <Card title="Estimates" icon="file-text" href="/estimating/estimates">
    See how materials flow into line items and totals.
  </Card>

  <Card title="Takeoffs" icon="ruler" href="/estimating/takeoffs">
    Match takeoff measurements to catalog materials automatically.
  </Card>
</CardGroup>
