⚡

VoltFlow ERP

Built for electrical contractors

Don't have an account?

VoltFlow ERP  •  Built for electrical contractors
Questions? support@voltflow.app

⚡

VoltFlow ERP

ERP
No project loaded
Required for AI features. Get a free key at console.anthropic.com — saved in your browser only.
Project information
Upload blueprints & documents — any file type accepted
📂
Drop files here or click to upload
PDF · JPG · PNG · HEIC · TIFF · BMP · WebP · DOCX · XLSX · DWG · DXF · ZIP · RAR · any file
💡 Tag each sheet so the AI knows what it's reading. Non-image files are logged for reference but won't be AI-analyzed — describe their scope in the notes field above.
Labor rates & crew mix
Blended rate: —  |  Burdened: —
Markup, margins & fees
Unit labor hours (NECA-based)
Unit material costs
Total subcontractor cost $0.00
Total custom items $0.00
Define phases to break your bid into stages (Rough-In, Trim, Service) or areas (Floor 1, Floor 2, Parking). The AI will assign estimated percentages automatically. You can adjust manually.
📋
No estimate yet

Run an analysis from the New Estimate tab first.

Payment draw schedule
Total contract value—
Terms & conditions block
Click "Generate Terms" to build your standard T&C block.
Progress0 / 24
🛒

Run an estimate first to generate the material list.

Schedule projection
Your bid + competitors
Add / edit client
Saved clients

No clients saved yet.

New from field
0
Waiting on CM
0
Pending value
$0
Approved value
$0
Change orders
CO #JobTitleStatusHoursValue
Loading…
New job
Jobs
JobStatusProject manager(s)Foreman / foremenBudget
Loading jobs…
Enter actual costs when the job is complete to track your estimating accuracy over time. This helps you calibrate future bids.

No saved estimates yet.

📋 New hire packets
The Dempsey Electric employee packet — filled in on an iPad or phone, signed with a finger, printed on the original forms. SSNs and bank numbers stay private to Admin/Office.

Open HR to load packets.

Employee database
NameTradePhoneStatusSkillsAssigned toDocs
No employees added yet. Click "+ Add employee" to begin.
What does this jobsite need?
Active job assignments
EmployeeTradeAssigned toSinceProductivity avg
No assignments yet.
Total SKUs
0
Low stock items
0
Out of stock
0
Total value
$0
Add / update item
Inventory
SKUDescriptionCategoryQtyUOMMin QtyUnit $ValueLocationStatusActions
No items yet. Add your first inventory item above.
Open POs
0
Partial
0
Closed this month
0
Total open value
$0
New purchase order
SKU
Description
Qty
Unit
Unit $
PO log
Add vendor
Vendor list
CompanyAccount #RepPhoneEmailLead timeSpecialty
No vendors yet.
Saved bids

No manual bids yet.

Record a transfer
Transfer history
Date / TimeSKU / ItemQtyFromToMoved byNotes
No transfers logged yet.
⚠ Running in offline mode. Data is stored locally in this browser only. Complete the steps below to enable cloud sync.
Step 1 — Create a free Firebase project (5 minutes)
  1. Go to console.firebase.google.com
  2. Click Create a project → name it voltflow-erp
  3. Disable Google Analytics (not needed) → click Create project
  4. Click Firestore Database in the left menu → Create database
  5. Choose Start in test mode → select your region → Enable
  6. Click the gear icon → Project settings → scroll to Your apps
  7. Click the </> (web) button → register app as voltflow-erp
  8. Copy the firebaseConfig object — you'll paste it below
Step 2 — Enter your Firebase config

Paste the values from your Firebase project settings. These are safe to store — they identify your project but do not grant admin access.

Step 3 — Set Firestore security rules

In the Firebase console, go to Firestore → (default) → Rules, replace everything with these rules, and click Publish.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    // Company data: any signed-in team member
    match /tenants/{tenantId}/{document=**} {
      allow read, write: if request.auth != null;
    }
    // User profiles (name, role, company)
    match /users/{userId} {
      allow read, write: if request.auth != null;
    }
    // Team invites: the invited person can read their own invite
    match /invites/{email} {
      allow read: if request.auth != null
        && request.auth.token.email.lower() == email;
      allow write: if request.auth != null;
    }
    // Connectivity check
    match /_ping/{doc} {
      allow read: if true;
      allow write: if false;
    }
  }
}
These rules require sign-in for everything, which is fine while only your company uses VoltFlow. Before other contractor companies sign up, the rules should be tightened so each company can read only its own data.
Step 4 — Migrate existing data to cloud

After connecting, push all locally stored data to the cloud in one click.

Current connection status
Total invoiced
$0
Outstanding
$0
Overdue
$0
Paid this month
$0
Invoices
Invoice #ClientProjectDateDueAmountStatusActions
No invoices yet.
How it works: Generate a unique approval link for any change order or invoice. Send it to your client. They click the link, review the document, and sign/approve directly from their phone or computer. You get notified instantly.
Generate approval links
Pending approvals

No pending approvals.

Completed approvals

No completed approvals yet.

QuickBooks IIF format (Desktop) and CSV import (Online) are both supported. Choose the format that matches your QuickBooks version.
Export invoices to QuickBooks
Export timesheets / payroll to QuickBooks
Export purchase orders / expenses
QuickBooks import instructions
QuickBooks Online: Go to Settings → Import Data → Invoices → upload the CSV file
QuickBooks Desktop: Go to File → Utilities → Import → IIF Files → select the .iif file
Timesheets: Go to Employees → Enter Time → Import, or use the Payroll module CSV import
Email service setup
VoltFlow uses EmailJS — a free service (200 emails/month free) that sends email directly from the browser with no backend required. Get free account ↗
Notification recipients
Notification triggers
Daily foreman report submitted
Email office when a foreman saves a daily log
Change order approved by client
Email office when a client approves via portal
Invoice overdue
Alert when an invoice passes its due date unpaid
Low stock alert
Email when warehouse item hits minimum threshold
New RFI submitted from field
Email office when a foreman submits an RFI
New material request from foreman
Email warehouse/PM when materials are requested
Notification log

No notifications sent yet.

Upload file
📂
Click to upload or drag file here
CSV or Excel (.xlsx, .xls) — up to 5,000 rows
Filters
TimestampUserActionEntityIDDetails
No audit entries yet.
Add / update COI
COI records
Customer / GCCarrierTypeCoverage limitEffectiveExpiresStatus
No COI records yet.
Export by entity
👥 Workers
All employee records, skills, and history
🏢 Customers
All GC and customer records
🏪 Vendors
All supplier and vendor records
✏️ Bids & Estimates
All manual bids and versions
🔄 Change Orders
All change orders with lineage
🕐 Time Entries
All timesheets and attendance
📦 Materials
Warehouse inventory and transfers
💰 Invoices
All invoices and payment status
🔍 Audit Log
Complete system audit trail
📦 Full Backup
Everything in one JSON file — workers, customers, bids, jobs, invoices, audit log, and schema metadata. Restore anytime.
Seats in use
Invite a team member

Foreman portal for their assigned job only: crew, hours, materials, logs. Never sees dollar amounts.

Your team
NameEmailRoleStatusJobsLast sign-in
Loading team…

Changing someone's role asks you to type CHANGE ROLE to confirm. Changes take effect the next time they open VoltFlow, or within 5 minutes if they're already in.

Add / edit classification
Default: 1.5× base
Default: 2× base
Classifications
Name Category Base ($/hr) OT ($/hr) DT ($/hr) Per diem Employees Actions
No classifications yet. Add one above or load IBEW defaults.
Pay rate summary — all active employees

Overview of what each active employee is actually earning, including custom overrides.

Employee Classification Base rate OT rate DT rate Per diem Rate type vs. Class default
No employees yet.