A contractor price book stores unit costs for materials, labor and assemblies so estimating becomes assembly rather than research. Structure it by trade and cost code, store cost and markup separately, build assemblies for repeated work, and refresh material costs at least quarterly.
An item is a single unit cost, such as a sheet of drywall. An assembly bundles items and labor into one sellable unit, such as 'hang, tape and finish per square foot'. Assemblies are what make estimating fast, because you price the way you sell.
Keep true cost in the price book and apply markup at estimate time. Baking markup into the stored cost destroys your ability to job cost and to adjust pricing per client or job type.
Use the same cost codes as your job costing so actuals compare to estimates. A price book with categories nobody else uses becomes an island.
Stale material costs are worse than no price book, because they create false confidence. Set a quarterly refresh at minimum, and update volatile categories such as lumber, copper and fuel more often. Live vendor pricing removes most of this maintenance.
WinkScope ships a price book with trade categories, supports custom items and assemblies, keeps cost and markup separate, and offers live vendor pricing lookups so material costs reflect current supplier pricing rather than your last manual update.
Quarterly as a baseline, and monthly for volatile materials. Any time a vendor quote differs materially from your stored cost, update it immediately.
Yes, as burdened hourly rates by role and as labor components inside assemblies, so a single assembly produces both material and labor cost.