Skip to main content

Pricing Management

The Pricing Database is the company-wide catalog of rates for labor, equipment rentals, materials, and subcontractor services. Unlike bid-specific defaults, pricing items are looked up when creating estimation items, not copied.

info

This guide is for ADMIN and ESTIMATOR users. Pricing management requires appropriate role permissions.

Pricing Database Overview

The pricing database contains:

  • 111+ items imported from company rate sheets
  • 4 categories: Labor, Rental (Equipment), Materials, Subcontractor
  • Real-time pricing: Changes immediately affect new estimation items
  • Tax configuration: Different tax rates per item type

Accessing Pricing Database

1
Navigate to Pricing Database

Go to Admin Panel → Pricing Database (6th tab)

2
Select Category

Use the category filter to view:

  • Labor (8 items)
  • Rental (95+ equipment items)
  • Materials (15+ items)
  • Subcontractor (6 items)
3
Search and Filter

Use the search bar to find specific items by description, category, or subcategory.

Pricing Categories

Labor Rates

8 standardized labor roles with hourly rates:

RoleBase RateTax RateTotal Rate
Executive PM$65.00/hr5%$68.25/hr
Safety Manager$42.00/hr5%$44.10/hr
Labor Foreman$38.00/hr5%$39.90/hr
Equipment Operator$27.00/hr5%$28.35/hr
Skilled Labor$25.00/hr5%$26.25/hr
Concrete Finisher$24.00/hr5%$25.20/hr
Unskilled Labor$22.00/hr5%$23.10/hr
Testing Labor$20.00/hr5%$21.00/hr
tip

These rates are base labor rates. Burdened rates (with FICA/FUTA/SUTA) are calculated automatically in the Labor module.

Equipment Rentals

95+ equipment items with daily, weekly, and monthly rates:

Examples:

EquipmentUnitBase RateTaxTotal Rate
Dozer 650PDaily$829.6012.25%$931.23
Excavator MediumDaily$502.5012.25%$564.06
Wheel Loader 3.5ydDaily$650.0012.25%$729.63
Water Truck 4000galDaily$445.0012.25%$499.51
note

Equipment pricing includes Daily, Weekly, and Monthly rate variants. Select the appropriate unit when adding equipment to scopes.

Materials

15+ common construction materials:

MaterialUnitBase PriceTaxTotal Price
3000 PSI ConcreteCY$125.008.25%$135.31
4000 PSI ConcreteCY$135.008.25%$146.14
5000 PSI ConcreteCY$145.008.25%$156.96
#4 RebarLB$0.858.25%$0.92
6x6 Wire MeshSF$0.458.25%$0.49

Subcontractor Services

6 standard subcontractor services:

ServiceDescription
Concrete PumpingPump catalog with reach/rate configurations
Excavation & GradingEarthwork and site prep
Asphalt PavingPaving services
Storm Drain InstallationDrainage systems
Testing ServicesMaterial testing and inspection
Concrete FinishersFinishing labor

Managing Pricing Items

Editing Prices

1
Find the Item

Use the search bar or browse by category to locate the item.

2
Click Edit Icon

Click the edit icon (✏️) next to the item.

3
Update Fields

Edit any of the following:

FieldDescription
DescriptionItem name
SubcategoryOptional grouping
UnitUnit of measure (HR, DAY, WEEK, MONTH, CY, SF, LB)
Base PricePrice before tax
Tax RateTax percentage (decimal: 0.0825 = 8.25%)
Delivery FeeOne-time delivery charge (equipment)
Waste %Material waste factor
StatusActive/Inactive
4
Save Changes

Click save icon (💾) to update the item.

info

Total Price is auto-calculated as Base Price × (1 + Tax Rate) + Delivery Fee.

Adding New Items

1
Click Add Item

Click the "Add Item" button at the top of the pricing table.

2
Select Category

Choose category: Rental, Materials, Labor, or Subcontractor

The form adjusts based on category selection.

3
Fill Form Fields

For Equipment (Rental):

Description: Dozer 750 - Daily
Subcategory: (optional)
Unit: DAY
Base Price: $645.00
Tax Rate: 12.25%
Delivery Fee: $100.00

For Materials:

Description: Rebar #6
Subcategory: Rebar
Unit: LB
Base Price: $0.95
Tax Rate: 8.25%
Waste %: 5.0%

For Labor:

Description: Site Superintendent
Subcategory: Management
Unit: HR
Base Price: $55.00
Tax Rate: 5.00%
4
Save Item

Click "Save". Item is added to the pricing database and immediately available for use in bids.

Deleting Items

warning

Deleting pricing items affects future estimation items only. Existing bid items preserve their original pricing.

1
Select Items

Check the checkbox next to items you want to delete.

Use the header checkbox to select all visible items.

2
Click Delete Selected

Click "Delete Selected" in the bulk actions bar.

3
Confirm Deletion

Review the list of items being deleted.

Type confirmation if required.

Click "Delete X Items".

Bulk Operations

Select multiple pricing items to perform bulk actions:

ActionDescription
Bulk EditUpdate subcategory, unit, tax rate, waste %, or delivery fee for multiple items
Bulk DeleteRemove multiple items at once
Export CSVDownload selected items as CSV file

Bulk Edit Workflow

1
Select Items

Check items you want to edit.

2
Click Edit Selected

Click "Edit Selected" in the bulk actions bar.

3
Modify Fields

Change only the fields you want to update.

Fields show "Leave unchanged" by default. Modified fields apply to all selected items.

4
Save Changes

Click "Save Changes" to update all selected items.

Tax Configuration

Different item types have different default tax rates:

Item TypeDefault Tax RateApplies To
Labor5%Labor burden (FICA, FUTA, SUTA)
Equipment12.25%Rental equipment sales tax
Materials8.25%Construction materials sales tax
SubcontractorVariesPer vendor/service
tip

Tax rates can be customized per item. Override the default when creating or editing items.

Price Lookup Flow

When estimators create items in bids:

🔍 Click diagram to expand

Key Points:

  1. Pricing items are looked up, not copied
  2. Changes to pricing database affect new items only
  3. Existing bid items preserve their original pricing
  4. Historical bids remain accurate even if prices change

Bid-Specific vs Global Pricing

Purpose: Company-wide rate catalog

When to use:

  • Equipment rental rates
  • Material unit costs
  • Labor hourly rates
  • Subcontractor services

Characteristics:

  • Looked up when creating items
  • Changes affect future items
  • Single source of truth

Audit Logging

All pricing database changes are logged:

ActionLogged Data
Item CreatedDescription, category, base price, tax rate
Item UpdatedChanged fields (delta logging)
Item DeletedFull snapshot for potential restoration
Bulk UpdateItem count, updated fields, user
Bulk DeleteItem count, deleted items list, user

View audit logs at Admin Panel → Audit Log tab.

API Endpoints

MethodEndpointDescriptionAuth
GET/api/pricingGet all pricing itemsADMIN, ESTIMATOR, PM
GET/api/pricing?category=LaborFilter by categoryADMIN, ESTIMATOR, PM
GET/api/pricing/search?query=dozerSearch pricingADMIN, ESTIMATOR, PM
GET/api/pricing/categoriesGet all categoriesADMIN, ESTIMATOR, PM
POST/api/pricingCreate pricing itemADMIN, ESTIMATOR
PUT/api/pricing/:idUpdate pricingADMIN, ESTIMATOR
DELETE/api/pricing/:idDelete pricingADMIN
PUT/api/pricing/bulkBulk updateADMIN, ESTIMATOR
DELETE/api/pricing/bulkBulk deleteADMIN

Best Practices

📅

Update Regularly

Review and update pricing database regularly to keep rates current with market conditions.

🏷️

Use Consistent Naming

Follow naming conventions for equipment variants (e.g., "Dozer 750 - Daily", "Dozer 750 - Weekly").

💰

Set Accurate Tax Rates

Verify tax rates are correct for your jurisdiction. Incorrect tax rates affect all new items.

🗑️

Review Before Deleting

Deleting pricing items cannot be undone. Verify items aren't needed before deleting.

Troubleshooting

Item not appearing in dropdown

Check:

  1. Item status is Active
  2. Category matches (e.g., Rental items only in Equipment module)
  3. Search filter isn't excluding the item
Total price showing as NaN

This happens when:

  • Base price is empty
  • Tax rate is invalid

Solution: Edit the item and ensure base price and tax rate are valid numbers.

Changes not reflected in existing bids

This is expected behavior. Pricing changes only affect new items. Existing bid items preserve their original pricing.

Service Definitions

Service Definitions are admin-managed templates that control what fields appear when estimators add subcontractor items to a scope, and how those items are costed.

1
Navigate to Service Definitions

Go to Admin Panel → Module Configuration → Subcontractor Services (sidebar).

2
Browse Definitions

The table shows all service definitions with columns:

  • Service Key — unique identifier used in subcontractor items (e.g., Joint Saw - Green)
  • Display Name — label shown to estimators
  • Compute Code — the cost function assigned (e.g., joint_saw_green)
  • Fields — number of field definitions attached
  • Active — whether the service is available to estimators
3
Add or Edit a Definition

Click Add or the row overflow menu (⋮) → Edit to open the definition sheet.

Required fields:

  • Name (unique service key)
  • Display Label
  • Compute Key (must match a key from the Compute Registry)

Optional fields: Sort Order, Active status

4
Manage Fields

Expand a service row to manage its field definitions. Each field has:

  • Key — input name used by the compute function
  • Label — displayed to estimators
  • Roleinput (estimator fills in) or rate (sourced from pricing database or variables)
  • Field Typenumber, select, checkbox, or text
  • Options — for select fields, the list of valid choices
warning

Deleting a service definition is a soft delete — existing subcontractor items referencing the service by name are not affected. The definition is hidden from new item creation but historical items are preserved.

Available Compute Keys

KeyService Type
simpleGeneric quantity × rate
joint_saw_greenGreen joint sawing with depth tiers and $550 minimum
joint_saw_demoDemo/removal sawing with depth tiers and $550 minimum
place_and_finishPlace and finish with complexity multiplier
pumpingConcrete pumping with volume + hourly + fuel surcharge
rodbustingRebar installation (per-LB or per-SQFT)
pier_drillingDrilled piers (per-pier, per-day, or lump sum)
lump_sumAny flat lump sum
hydro_excavationHydrovac excavation (per-LF or lump sum)
extruded_curbExtruded curb (per-LF or per-day)
monolithic_curbMonolithic curb (per-LF or per-day)

See Service Definitions API for full endpoint reference and field schemas.


Next Steps