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.
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:
- Materials Tax
- Equipment Tax
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
Applies to: Equipment rentals (dozers, excavators, pumps, etc.)
Default Rate: 12.25% (Texas equipment rental tax)
Calculation:
Rental Cost = Quantity × Duration × Rate
+ Delivery Fee + Fuel Charge
Tax Amount = (Rental Cost + Delivery + Fuel) × Tax Rate
────────────────────────────────────────────
Total Cost = Rental Cost + Delivery + Fuel + Tax
Example:
Dozer: 1 unit × 5 days @ $931/day
Delivery: $150
Fuel: 5 days × $50 = $250
Tax Rate: 12.25%
Rental Cost: $4,655
Delivery: $150
Fuel: $250
Subtotal: $5,055
Tax: $5,055 × 0.1225 = $619.24
────────────────────────────────────────────
Total: $5,674.24
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):
| Category | Default Rate | Jurisdiction |
|---|---|---|
| Materials | 8.25% | Texas state sales tax |
| Equipment Rentals | 12.25% | Texas equipment rental tax |
| Formwork | 0% | Texas formwork exemption |
| Rebar | 8.25% | Texas state sales tax |
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 tax exemption certificates.
How Tax Exemption Works
When a bid is marked Tax Exempt:
- All taxable items (materials, equipment) have $0 tax
- Item costs exclude tax from calculations
- Scope totals reflect tax-exempt pricing
- Bid total is reduced by the total tax amount
- Normal (Taxable)
- Tax Exempt
Material Item:
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
Tax: $619.24
────────────────────────────────────────────
Total: $5,674.24
Bid Total:
Subtotal: $60,000
Overhead (10%): $6,000
Profit (5%): $3,300
────────────────────────────────────────────
Total: $69,300
Material Item:
Rebar: 1,000 LB @ $0.92/LB
Waste: 5%
Tax Rate: 0% (exempt)
Material Cost: $966.00
Tax: $0.00
────────────────────────────────────────────
Total: $966.00
Equipment Item:
Dozer: 5 days @ $931/day
Delivery: $150
Fuel: $250
Tax Rate: 0% (exempt)
Subtotal: $5,055
Tax: $0.00
────────────────────────────────────────────
Total: $5,055.00
Bid Total:
Subtotal: $59,301 (no tax included)
Overhead (10%): $5,930
Profit (5%): $3,262
────────────────────────────────────────────
Total: $68,493
Savings: $807 in total tax ($69,300 - $68,493)
Enabling Tax Exemption
Navigate to the bid and click the gear icon (Settings).
Check the "Tax Exempt" checkbox.
Click "Save".
All items recalculate automatically with tax set to $0.
Review scope and bid totals to confirm tax has been removed:
- Material items show $0 tax
- Equipment items show $0 tax
- Bid total is reduced by total tax amount
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
- Texas
- California
- Florida
- New York
| Category | Rate | Notes |
|---|---|---|
| Materials | 8.25% | State sales tax |
| Equipment | 12.25% | Equipment rental tax |
| Formwork | 0% | Exempt per construction rules |
| Rebar | 8.25% | Standard materials tax |
| Category | Rate | Notes |
|---|---|---|
| Materials | 7.25% - 10.5% | Varies by county |
| Equipment | 7.25% - 10.5% | Same as materials |
| Formwork | Varies | Check local rules |
| Rebar | 7.25% - 10.5% | Standard materials tax |
| Category | Rate | Notes |
|---|---|---|
| Materials | 6% | State sales tax |
| Equipment | 6% | Same as materials |
| Formwork | 6% | No exemption |
| Rebar | 6% | Standard materials tax |
| Category | Rate | Notes |
|---|---|---|
| Materials | 4% - 8.875% | Varies by locality |
| Equipment | 4% - 8.875% | Same as materials |
| Formwork | Varies | Check local rules |
| Rebar | 4% - 8.875% | Standard materials tax |
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:
Go to Admin → Global Variables.
Find and update:
Materials_Tax(default: 0.0825 = 8.25%)Equipment_Tax(default: 0.1225 = 12.25%)Formwork_Tax(default: 0 = 0%)Rebar_Tax(default: 0.0825 = 8.25%)
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:
Go to Admin → Pricing Management.
Find the item (material or equipment) and click "Edit".
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)
Click "Save".
All new estimation items using this pricing item will use the custom tax rate.
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:
Step-by-Step
- Pricing Database: Tax rate defined per item (e.g., 8.25% for rebar)
- Estimation Item Created: Tax rate copied from pricing item
- Tax Exempt Check: If bid is tax-exempt, override rate to 0%
- Calculate Tax: Tax = Base Cost × Tax Rate
- Item Total Cost: Base Cost + Tax
- Scope Aggregation: Sum all item costs (including tax)
- Bid Aggregation: Sum all scope costs
- Overhead & Profit: Applied to subtotal (post-tax)
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:
| Scenario | Tax Exempt Bid | Zero-Tax Item |
|---|---|---|
| Material items | Tax = $0 | Tax = $0 |
| Equipment items | Tax = $0 | Tax = $0 |
| Formwork items | Tax = $0 | Tax = $0 (always) |
| Labor items | No change | No change |
| Subcontractor items | No change | No change |
Tax-exempt bids affect ALL taxable items. Zero-tax items (like formwork) have 0% tax rate by default, regardless of bid tax-exempt status.
Historical Tax Rate Preservation
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:
- Open the bid detail page
- View the Financial Summary card
- 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:
- Request tax exemption certificate from client
- Mark bid as "Tax Exempt"
- Add note: "Government project - tax exempt per cert #[number]"
- Save exemption certificate to bid attachments
Non-Profit Organizations
Tax Status: Usually tax-exempt (verify 501(c)(3) status)
Steps:
- Request IRS determination letter (501(c)(3) proof)
- Mark bid as "Tax Exempt"
- Add note: "Non-profit - tax exempt per IRS letter"
- Save determination letter to bid attachments
Out-of-State Projects
Tax Status: Taxable, but different rates
Steps:
- Research state/county tax rates for project location
- Update global variables OR create bid-specific pricing items
- Add note: "California project - 9.5% sales tax applied"
- Review all item tax rates before submitting bid
Owner-Furnished Materials
Tax Status: Not applicable (materials not included in bid)
Steps:
- Exclude material items from bid (or set quantity to 0)
- Add exclusion: "Materials provided by owner"
- Only include labor and equipment in scope
Troubleshooting
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| Tax not applying to items | Item has 0% tax rate | Check pricing item tax rate |
| Wrong tax rate | Using old global variable | Update pricing item manually |
| Tax still showing on exempt bid | Bid not marked tax-exempt | Enable "Tax Exempt" in bid settings |
| Formwork has tax | Incorrect pricing item setup | Set formwork tax rate to 0% |
| Out-of-state rate wrong | Using Texas defaults | Update global variables or pricing items |
Future Enhancements
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