Skip to main content

estimate-v1 — Cost Estimate

The Estimate schema defines a standardized format for construction cost estimates. It captures line-item costs (material, labor, equipment), summary totals, and overhead/profit calculations.

JSON Schema: spec/schemas/estimate-v1.json

Status: Defined. The schema structure is complete and implemented in the SDK.

Key Fields

FieldTypeDescription
projectIdstringUnique project identifier
tradestringTrade this estimate covers
csiDivisionstringPrimary CSI division
lineItemsarrayCost breakdown per BOM line item
summaryobjectTotals: material, labor, equipment, overhead, profit, grand total
metadataobjectGeneration metadata with confidence score

Line Item Fields

Each line item references a BOM item and adds cost data:

FieldTypeDescription
bomItemIdstringReference to the BOM line item ID
descriptionstringMaterial description
quantitynumberQuantity
unitstringUnit of measure
materialUnitCostnumberCost per unit (material)
materialTotalnumberTotal material cost
laborHoursnumberEstimated labor hours
laborRatenumberHourly labor rate
laborTotalnumberTotal labor cost
subtotalnumberLine item subtotal

Python SDK

from taco import EstimateV1

estimate = EstimateV1.model_validate(json_data)
print(estimate.summary.grand_total)
Contributing

This schema is defined. See the JSON Schema file for the full specification. Feedback and improvements welcome via GitHub Issues.