Changelog
Current: v0.9.0
- Add per-estimate contact info fields (name, company, phone, email, address)
- Pull from Customer button auto-populates contact fields from customer record
- Contact info appears on customer PDF quotes with fallback to customer record
- Hoffman Petroleum branding on customer PDF with logo, address, and phone
- Company contact info in PDF footer
- Fix address autocomplete dropdown styling (suggestions now visible)
- Add drawing detail panel below map showing each line/polygon with measurements
- Add editable labels for drawings that display on the map
- Link drawings to materials - measurements auto-populate line item quantities
- Line drawings link to pipe, conduit, trench, fence, curbing materials (linear ft)
- Area drawings link to excavation, concrete, fill, fabric, paving materials (sq ft)
- Dragging drawings auto-updates linked material quantities
- Deleting a drawing or clearing all also removes linked materials
- Map pin icon in materials table shows which items are linked to drawings
- Backend cleanup removes orphaned materials when drawings are deleted
- Fix estimates list showing wrong data in columns (state_code parameter mismatch)
- Fix estimate copy feature
- Add custom/ad-hoc parts entry - enter parts not in ECI database
- Custom parts show 'Custom' badge to distinguish from catalog parts
- Add Tank Catalog and Material Pricing back to Settings page
- Add customizable concrete cap dimensions (length, width, thickness)
- Cap size now independent of tank hole dimensions
- Add lump sum option to customer quote PDF (single total vs categories)
- Add sales tax feature with configurable rates by state and category
- Configure tax exemptions (e.g., no tax on labor in Alabama)
- State selector on estimates for tax calculation
- Add Tax Rates settings page (admin only)
- Add Permits and Bonds to Misc expenses dropdown
- Fix address search - map now properly navigates to selected address
- Move site address to Project Info section with autocomplete
- Type-ahead address search with suggestions from Mapbox API
- Address selection automatically centers map on location
- Add Photo Gallery section to estimates
- Upload multiple photos (PNG, JPG, GIF, WebP up to 10MB each)
- View photos in lightbox with keyboard navigation
- Edit captions and delete photos
- Photos persist with estimate
- Add satellite map section to estimates for viewing project locations
- Address search with automatic geocoding via Mapbox
- Draw lines and polygons to measure distances and areas
- Auto-calculate total area (sq ft) and total length (ft)
- Drawings persist with estimate and copy to new estimates
- Add Mapbox API key configuration in Settings > Integrations
- Read-only map view for non-owners (no drawing tools)
- Add ownership-based access control for estimates
- Users can view all estimates but only edit their own
- Show 'Created By' column in estimates list
- Copy estimate to make editable changes to others' estimates
- View-only mode with read-only fields for non-owners
- Admins can edit all estimates
- Add Markup % column to ALL categories (Tanks, Equipment, Labor, Materials, Parts, Subcontractors, Misc)
- Add subtotal rows for each category showing cost, markup, and price totals
- Color-coded markup: green if above default, red if below default margin
- Hover over markup to see default markup percentage
- Bidirectional markup calculation: edit markup to change price, or edit price to change markup
- Add inline editing for all line items (click pencil icon to edit)
- Auto-calculate cost/price when editing line items
- Keyboard support: Enter to save, Escape to cancel edits
- Fix Parts section: search dropdown visibility, column alignment
- Add Markup % column to Parts with bidirectional calculation
- Add feedback widget with screenshot capture (html2canvas)
- Add GitLab integration for feedback/issue submission
- Add admin-only Integrations settings page
- Add Subcontractors section to estimates
- Add Misc Expenses section to estimates
- Expand Materials dropdown with 12 material types
- Expand Equipment with additional rental equipment types
- Expand Labor with crew-based categories (3-6 men crews)
- Add keyboard shortcuts Alt+S (Subcontractors), Alt+X (Misc)
- Add comprehensive estimating module with tanks, equipment, labor, and parts
- Add auto-calculation of fill materials for tank installations
- Add Settings module for labor categories, customers, and parts catalog
- Add Excel import for parts catalog
- Add PDF export for customer quotes (lump sum) and internal breakdown
- Add estimate copy functionality
- Add auto-save on estimate edit page
- Add FTS5 search for estimates and parts