Changelog
Current: v0.16.3
- AI vision for plan drawings: PDF drawing pages rendered as images and sent to Claude vision
- Text-heavy PDF pages extracted as text, drawing pages rendered at 150 DPI for visual analysis
- Up to 20 drawing pages per document sent to Claude for dimension/layout extraction
- Field Crew role lockdown: field users can only access Projects
- Field users redirected to Projects on login
- Nav and home page simplified for field users (Projects only)
- Pipeline, Estimates, and Estimator routes blocked for field role
- Remove GitLab feedback widget and issue tracker integration
- Simplify integrations settings page (Mapbox, Claude AI, Email only)
- Project tracking: create and manage construction projects with milestones, timeline, photos, documents, and team members
- Auto-create project when pipeline opportunity moves to Won stage
- UST Installation milestone template with 12 standard milestones (Permits through Closeout)
- Milestone progress tracking with status toggles and target dates
- Project activity timeline: comments, photo uploads, milestone updates, status changes
- Project photo gallery with camera capture support for mobile
- Project document management with type tagging (permit, plan, spec, contract, report)
- Team management with role-based access (PM, Member, Field)
- Field user role: can view assigned projects, post comments and upload photos
- PWA support: installable on iOS/Android with offline fallback, service worker caching
- Email notifications: configurable SMTP for project update alerts to team members
- Projects nav item and home page card
- View Project button on won opportunities
- Multi-turn AI conversation: chat with Claude about your documents before building the estimate
- AI model selection: choose between Claude Sonnet 4, Opus 4, or Haiku 4.5 in Settings > Integrations
- Customizable AI system prompt with reset-to-default button
- User context input: provide project context before AI analysis for better results
- 4-phase AI modal on edit page: Upload > Chat > Build > Review
- Inline chat UI in estimate wizard step 2
- Session-based document storage for multi-turn conversations (30-min expiry)
- New API endpoints: extract-documents, ai-chat for multi-turn flow
- AI-powered document parsing: upload SOWs, vendor quotes, and invoices to auto-extract estimate line items using Claude AI
- Estimate creation wizard: guided 4-step flow (project info, document upload, AI review, create)
- Claude AI integration settings: configure Anthropic API key in Settings > Integrations
- Settings admin lockdown: all settings pages require admin role, Settings nav hidden for non-admins
- AI Parse button on estimate edit page for existing estimates
- Editable review tables: adjust AI-extracted line items before applying
- Split 'New Estimate' button: Wizard (guided) or Quick Create
- Customer API endpoints accessible to all users for estimate creation
- Add Pipedrive deal import CLI command (flask import-pipedrive)
- Import 159 deals with stage mapping, owner/customer auto-creation, and won/lost tracking
- Stage-based probabilities: win probability auto-set from pipeline stage (Lead=10%, Proposal=25%, Negotiation=50%, Won=100%, Lost=0%)
- Probability updates automatically when moving opportunities between stages
- Owner filter on pipeline view: filter Kanban and list by project manager
- File attachments on opportunities: upload proposals, contracts, specs, permits
- Quarter-based project dates: default Q1-Q4 picker with toggle for specific dates
- PDF pipeline report: printable status report grouped by project manager
- Pipeline report respects owner filter for PM-specific reports
- Add CRM & Pipeline module with Kanban board and list views
- Track opportunities through Lead, Proposal, Negotiation, Won, Lost stages
- Drag-and-drop opportunities between pipeline stages
- Company contacts management (multiple contacts per customer)
- Activity logging (calls, emails, meetings, notes) with auto-tracked stage changes
- Follow-up task system with due dates and assignment
- Create estimates directly from opportunities with pre-filled customer/contact info
- Pipeline dashboard with weighted value, win rate, and deal summary stats
- Enhanced customer detail pages with contacts, opportunities, activity, and estimates tabs
- Customer list with search and opportunity counts
- My Tasks page with overdue highlighting
- User roles (Sales, Estimator, PM, Admin) with role-based access
- Extended customer fields (website, industry, city, state, zip code)
- FTS5 search for opportunities and contacts
- Fix address typeahead search (upgrade from deprecated Mapbox Geocoding v5 to v6)
- Fix image scraping from morbros.com (domain redirect, wrong image selection, timeout)
- Run image scraping in background with progress bar
- Show product images in parts catalog and estimate parts search
- Add file attachments to estimates (SOWs, plans, specs, permits)
- Upload PDF, DOCX, XLSX, images, and text files (up to 25MB each)
- Tag files by type with color-coded badges (SOW, Plan, Spec, Permit, Other)
- Edit file descriptions and tags, download or delete attachments
- All users can view/download files; only owner/admin can upload/edit/delete
- Pre-seed Morrison Bros Co. as default distributor (30% discount)
- Advanced parts search with expandable filter panel
- Filter parts by source (In Stock / distributor), product group, size, and price range
- Active filter count badge on Advanced Search toggle
- Browse parts catalog with filters only (no text query required)
- Add distributor management system for parts suppliers
- Import parts from distributor PDF price lists (Morrison Bros Co.)
- Automatic cost calculation: List Price x (1 - Discount %)
- Source badges in estimate parts search: In Stock (green), Distributor (blue), Custom (yellow)
- Source badges in parts table rows on estimates
- Parts catalog filter by source/distributor
- Source column in parts catalog with badges
- Product image scraping from morbros.com
- Distributors settings page with CRUD, PDF import, and image scraping
- 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