Skip to main content

Tax Management

ForgeX provides sophisticated tax handling for construction materials and equipment rentals, supporting jurisdiction-specific rates and tax-exempt bids. Tax is calculated automatically at the item level and aggregates up through scopes to the bid total.

info

Tax rates are configured per item in the pricing database and can vary by jurisdiction, material type, and equipment category.


Tax Categories

ForgeX handles tax for two primary categories:

Applies to: Material items (lumber, rebar, concrete, etc.)

Default Rate: 8.25% (Texas state sales tax)

Calculation:

Material Cost = Quantity × Unit Cost × (1 + Waste %)
Tax Amount = Material Cost × Tax Rate
────────────────────────────────────────────
Total Cost = Material Cost + Tax Amount

Example:

Rebar: 1,000 LB @ $0.92/LB
Waste: 5%
Tax Rate: 8.25%

Material Cost: 1,000 × $0.92 × 1.05 = $966.00
Tax: $966.00 × 0.0825 = $79.70
────────────────────────────────────────────
Total: $1,045.70
note

On a tax-exempt bid, most materials drop to $0 tax — but the subcategories Blades, PPE, Safety, Small Tools, and Sprayer are always taxed (they're reusable tools/gear, not consumables). See Tax-Exempt Bids below.

note

Equipment is always taxed — equipment rentals are never exempt, even on a tax-exempt bid.

warning

Formwork Exception: Formwork rentals (plywood, scaffolding, etc.) have a 0% tax rate per Texas construction industry standards.


Default Tax Rates

ForgeX uses the following default rates (configurable via global variables):

CategoryDefault RateJurisdiction
Materials8.25%Texas state sales tax
Equipment Rentals12.25%Texas equipment rental tax
Formwork0%Texas formwork exemption
Rebar8.25%Texas state sales tax
note

These defaults apply to Texas-based projects. For out-of-state projects, update tax rates in the pricing database to match the jurisdiction.


Tax-Exempt Bids

ForgeX supports tax-exempt bids for government projects, non-profit organizations, or clients with a valid tax exemption certificate.

How Tax Exemption Works

Tax exemption applies only to consumable materials — things bought and consumed into the job site: concrete, rebar, and installed materials such as lumber, plywood, nails, vapor barrier, and grout.

When a bid is marked Tax Exempt:

  1. Consumable materials have their tax set to $0.
  2. Equipment is always taxed — rentals are never exempt, even on an exempt bid.
  3. A few material subcategories are always taxed too: Blades, PPE, Safety, Small Tools, and Sprayer.
  4. Labor and subcontractor items are unaffected (they're never taxed).
  5. The bid total drops by the consumable tax only — and checking, then unchecking, the toggle restores it exactly.
info

Why equipment and tools stay taxed: consumables are bought and consumed into the job; equipment is rented and returned; and blades, PPE, safety gear, small tools, and sprayers are reusable rather than consumed. Only consumables qualify for the exemption.

Material item — consumable:

Rebar: 1,000 LB @ $0.92/LB
Waste: 5%
Tax Rate: 8.25%

Material Cost: $966.00
Tax: $79.70
Total: $1,045.70

Equipment item:

Dozer: 5 days @ $931/day + Delivery $150 + Fuel $250
Tax Rate: 12.25%

Subtotal: $5,055.00
Tax: $619.24
Total: $5,674.24

Enabling Tax Exemption

1
Open the bid

Open the bid from the Dashboard. The Tax Exempt checkbox is in the bid header, next to Enable Per Diem.

2
Check Tax Exempt

Tick Tax Exempt — costs recalculate immediately (there's no separate Save step). The helper text under the toggles states the rule: tax-exempt bids zero sales tax on consumable materials (concrete, rebar, installed materials), while equipment, tools, PPE, and safety items stay taxed.

The Tax Exempt checkbox in the bid header, next to Enable Per Diem, with helper text confirming the consumables-only rule

3
Verify Costs

Review scope and bid totals to confirm the exemption applied correctly:

  • Consumable materials (concrete, rebar, lumber, etc.) show $0 tax
  • Equipment still shows tax — it's never exempt
  • Blades, PPE, Safety, Small Tools, and Sprayer materials still show tax
  • The bid total drops by the consumable tax only — and unchecking the box restores it exactly
warning

Always verify client tax-exempt status before marking a bid as tax-exempt. Request a copy of their tax exemption certificate for your records.


Per-Jurisdiction Tax Rates

Different states and municipalities have different tax rates. ForgeX supports per-item tax rate overrides in the pricing database.

Common Jurisdiction Rates

CategoryRateNotes
Materials8.25%State sales tax
Equipment12.25%Equipment rental tax
Formwork0%Exempt per construction rules
Rebar8.25%Standard materials tax
note

Out-of-state projects: When bidding projects outside Texas, update tax rates in the pricing database to match the project's jurisdiction.


Configuring Tax Rates

Tax rates are configured in two places:

1. Global Variables (Defaults)

Global variables set the default tax rates for new items:

1
Navigate to Admin Panel

Go to Admin → Global Variables.

2
Update Tax Variables

Find and update:

  • Materials_Tax (default: 0.0825 = 8.25%) — also applies to rebar items
  • Equipment_Tax (default: 0.1225 = 12.25%)

Formwork is tax-free via subcategory exclusion (no variable), and rebar is taxed at the Materials_Tax rate — there is no separate Formwork_Tax or Rebar_Tax variable.

3
Save Changes

Click "Save".

Note: This only affects new items created after the change. Existing items retain their original tax rates.

2. Pricing Database (Per-Item Overrides)

Each pricing item can have a custom tax rate that overrides the global default:

1
Navigate to Pricing Management

Go to Admin → Pricing Management.

2
Edit Pricing Item

Find the item (material or equipment) and click "Edit".

3
Update Tax Rate

Set the "Tax Rate" field:

  • Enter as decimal (e.g., 0.0825 for 8.25%)
  • Leave blank to use global default
  • Set to 0 for tax-exempt items (like formwork)
4
Save Item

Click "Save".

All new estimation items using this pricing item will use the custom tax rate.

warning

Existing items are not updated when you change pricing database tax rates. Only new items use the updated rate.


Tax Calculation Flow

Tax is calculated at multiple levels:

🔍 Click diagram to expand

Step-by-Step

  1. Pricing Database: Tax rate defined per item (e.g., 8.25% for rebar)
  2. Estimation Item Created: Tax rate copied from pricing item
  3. Exemption Check: If the bid is tax-exempt and the item is a consumable material, override its rate to 0%. Equipment and the always-taxed material subcategories (Blades, PPE, Safety, Small Tools, Sprayer) keep their rate.
  4. Calculate Tax: Tax = Base Cost × Tax Rate
  5. Item Total Cost: Base Cost + Tax
  6. Scope Aggregation: Sum all item costs (including tax)
  7. Bid Aggregation: Sum all scope costs
  8. Overhead & Profit: Applied to subtotal (post-tax)
info

Overhead and profit are calculated on the subtotal which includes tax. This is standard construction industry practice.


Tax Exemptions vs. Zero Tax

There's a difference between tax-exempt bids and zero-tax items:

ScenarioTax Exempt BidZero-Tax Item
Consumable materials (concrete, rebar, lumber…)Tax = $0Tax = $0
Equipment itemsTax unchanged (always taxed)Tax = $0
Blades / PPE / Safety / Small Tools / SprayerTax unchanged (always taxed)Tax = $0
Formwork itemsTax = $0Tax = $0 (always)
Labor itemsNo changeNo change
Subcontractor itemsNo changeNo change
note

Tax-exempt bids affect only exemption-eligible consumable materials — not equipment, and not the always-taxed material subcategories. Zero-tax items (like formwork) have a 0% tax rate by default, regardless of the bid's exempt status.


Historical Tax Rate Preservation

note

Important: When tax rates change globally, existing bids preserve their original rates. This ensures historical accuracy.

Example:

January 2025:
- Admin sets Materials_Tax = 8.25%
- User creates Bid A
- Material items in Bid A have 8.25% tax

March 2025:
- Admin changes Materials_Tax to 8.5%
- User creates Bid B
- Material items in Bid B have 8.5% tax

Result:
- Bid A items still have 8.25% tax (preserved)
- Bid B items have 8.5% tax (new default)

This ensures that submitted bids remain accurate even if tax rates change after submission.


Tax Reporting

Per-Bid Tax Summary

View total tax collected for a bid:

  1. Open the bid detail page
  2. View the Financial Summary card
  3. Tax breakdown shows:
    • Materials tax total
    • Equipment tax total
    • Total tax collected

API Endpoint for Tax Data

GET /api/bids/:bidId/tax-summary

Response:
{
"bidId": "bid-123",
"taxExempt": false,
"materialsTax": 3250.50,
"equipmentTax": 1875.75,
"totalTax": 5126.25,
"taxableItems": 42,
"exemptItems": 5
}

Best Practices

📍

Verify Jurisdiction

Always confirm the project's state/county before creating a bid. Update tax rates if outside Texas.

📜

Request Exemption Certificates

For tax-exempt bids, request and store a copy of the client's tax exemption certificate.

📅

Review Tax Rates Annually

Tax rates change annually. Review and update global variables each January.

📝

Document Tax Exemptions

Add notes to tax-exempt bids explaining the exemption (e.g., "Government project per cert #12345").


Common Scenarios

Government/Municipal Projects

Tax Status: Tax-exempt

Steps:

  1. Request tax exemption certificate from client
  2. Mark bid as "Tax Exempt"
  3. Add note: "Government project - tax exempt per cert #[number]"
  4. Save exemption certificate to bid attachments
Non-Profit Organizations

Tax Status: Usually tax-exempt (verify 501(c)(3) status)

Steps:

  1. Request IRS determination letter (501(c)(3) proof)
  2. Mark bid as "Tax Exempt"
  3. Add note: "Non-profit - tax exempt per IRS letter"
  4. Save determination letter to bid attachments
Out-of-State Projects

Tax Status: Taxable, but different rates

Steps:

  1. Research state/county tax rates for project location
  2. Update global variables OR create bid-specific pricing items
  3. Add note: "California project - 9.5% sales tax applied"
  4. Review all item tax rates before submitting bid
Owner-Furnished Materials

Tax Status: Not applicable (materials not included in bid)

Steps:

  1. Exclude material items from bid (or set quantity to 0)
  2. Add exclusion: "Materials provided by owner"
  3. Only include labor and equipment in scope

Troubleshooting

Common Issues

IssueCauseSolution
Tax not applying to itemsItem has 0% tax rateCheck pricing item tax rate
Wrong tax rateUsing old global variableUpdate pricing item manually
Tax still showing on exempt bidBid not marked tax-exemptEnable "Tax Exempt" in bid settings
Formwork has taxIncorrect pricing item setupSet formwork tax rate to 0%
Out-of-state rate wrongUsing Texas defaultsUpdate global variables or pricing items

Future Enhancements

note

Planned features for tax management:

  • Multi-jurisdiction support: Automatic tax rate lookup by ZIP code
  • Tax jurisdiction database: Pre-loaded rates for all US states/counties
  • Tax exemption certificate storage: Upload and link certificates to bids
  • Tax liability reports: Annual tax reporting for accounting
  • Resale certificate tracking: For tax-exempt material purchases

Next Steps