First-run default account: nimda — change the password immediately after signing in.
QuickBooks Web Connector setup
One-time install on the Windows box that runs QuickBooks Desktop.
Download ROAR.qwc below and copy it to the Windows box.
On the Windows box, double-click ROAR.qwc. QuickBooks Web Connector launches and asks you to authorize the app — click OK, then Yes, whenever this QuickBooks company file is open.
QBWC will prompt for a password — paste the one shown below.
Check the box next to ROAR in QBWC, click Update Selected. The first run pulls history from earlier years to today — can take a few minutes. Subsequent runs are incremental.
Connection details
SOAP endpoint
—
QBWC username
—
QBWC password
—
Keep the password private — anyone with it can pull data from QuickBooks via this server. Rotate it via the QBWC_PASSWORD env var if it leaks.
Change password
Pick a new password (8+ characters).
Upload to server
Pick a report type to upload, or download a blank template to hand to your finance person.
Financial Projection Tool
⬤ Server offline·
Stored reports
Loading...
Drop a file here or click to uploadCSV or Excel (.xlsx) — columns: Date, Revenue, Expenses | Or click "Load Demo Data"
AI Summary
Anomaly Detection
Reporting Period
Set period above
Data sources
Upload this week's hours export from BambooHR and open jobs from Call Service Pro. Add clarification notes after uploading so the tool knows how to interpret the data.
BambooHR — Hours report
Export: Time Tracking → Hours by Division → CSV Columns: Division, Hours, Pay Period / Date
No data loaded
Data clarification
Billable hours tracked?
Data quality
Adjustment factor
100%
Scale hours up or down if this week was atypical. 100% = use as-is.
Flag any circumstances affecting this data:
Additional notes about this data
Call Service Pro — Open jobs
Export: Jobs → Open / In Progress → CSV Columns: Job ID, Division, Status, Est. Value, Date opened
No data loaded
Data clarification
Job values are
Pipeline completeness
Close probability adjustment
85%
Expected close rate for In Progress jobs. Default 85%. Adjust if your current pipeline is stronger or weaker than usual.
Flag any circumstances affecting this data:
Additional notes about this data
How projections work: The tool applies your flags and adjustment factors before calculating projections. A holiday week flag reduces the hour multiplier. A large one-time job flag excludes that job from the baseline. Notes are logged alongside the data for audit trail.
Division rate overrides
Auto-populated from QB history. Override if rates have changed for 2026.
Upload log & clarifications
No data uploaded yet. Uploads and clarifications will be logged here for reference.
Early warning signals
Projected vs historical revenue by division
Historical avgProjected (this month)
Open pipeline by division
Open jobs valueIn progress value
Division-level projection detail
Headcount & utilization
⚠
2025 ran at a net loss. Revenue — against expenses — — a deficit of —. Every forward-looking decision needs this context.
Track revenue, expenses, and net income over time. Use this to spot whether costs are growing faster than revenue and identify seasonal patterns.
Month progress
Set week and month above
Projected month-end: —
Historical avg: —
Tracking: —
RevenueExpensesNet income
Model where the business is headed. Exclude outlier months from the baseline, add manual data points, and build multiple scenarios side by side.
Baseline data
Include / exclude months from baseline (uncheck to exclude outliers)
Load QB data to see months
Manual data points — add one-time items, future known revenue, or corrections
Label
Type
Amount
Month
Apply to
Scenarios — compare different growth assumptions side by side
Adjust operational drivers per division. Revenue = headcount × hourly rate × 160 hrs × utilization. Compare driver model output against current actuals to identify gaps.
Current actualsDriver model output
Compare budget projections against actual performance month by month. Green = favorable variance. Red = unfavorable. Load a budget file or use the demo budget.
Model cash runway based on current net income rate. Adjust reserve buffer and burn rate to stress-test different scenarios. Per-division runway bars show which divisions are most at risk.
Reserve buffer $500k
Burn adjustment 0%
Basin Safety divisions D0–D8. D0 is a cost center. D8 is a new department currently ramping. Locations: Williston, ND and Dickinson, ND.
Model a new division or evaluate an existing one. Enter revenue, cost structure, and startup investment to see breakeven timeline, 12-month and 36-month cumulative cash flow.
Division name
Monthly revenue ($)
Monthly fixed costs ($)
Monthly variable costs ($)
Startup / equipment cost ($)
Monthly revenue growth (%)
Identified cost savings opportunities based on expense trend analysis. Estimates are conservative — achievable without structural changes to the business.
Build your own cost reduction plan. Add any initiative — enter a name, category, reduction type, and target amount. The tool calculates total projected savings and net income impact against your loaded data in real time.
InitiativeCategoryTypeTarget
Strategy notes
Compare performance across years by month, by quarter, or by department. Upload a second year of data to enable side-by-side comparison.
Summary
Annotate your financial timeline with outside events that affected performance — oil price swings, client wins or losses, weather, regulatory changes, equipment failures, or market shifts. Color-coded by impact.
Date / PeriodCategoryDescriptionImpact
Timeline
Add circumstances above to build your annotated timeline.
Report builder
Select audience, pick sections, and generate. Use browser Print (Ctrl+P) to save as PDF or print.
Audience
Sections to include
Report details
Report title
Prepared by
Notes / context (optional)
Preview
Generates from current loaded data
Click "Generate report" to preview
Reconcile field tickets from Call Service Pro against invoices in QuickBooks. Identifies unbilled work, overbilling, and discrepancies by division or department. Upload your QB invoice export alongside your CSP ticket data.
QuickBooks invoice export
Reports → Sales → Invoices → export CSV or Excel Columns needed: Invoice #, Customer, Division/Class, Amount, Date, Status (Paid/Open)
No QB invoice data loaded
Call Service Pro — completed tickets
Export: Jobs → Completed → CSV or Excel Columns needed: Ticket #, Division, Employee, Billed amount, Date completed
No ticket data loaded — or uses open jobs from Leading Indicators tab
Audit period
From
To
Audit summary
Total tickets value
—
Total invoiced (QB)
—
Unbilled gap
—
Discrepancy count
—
What this catches: Work that was ticketed in Call Service Pro but never invoiced in QuickBooks (revenue leak), invoices in QB with no matching ticket (billing error or missing ticket), and value mismatches between what was quoted on the ticket vs what was invoiced.
Division reconciliation
Division
Tickets (CSP)
Invoiced (QB)
Gap
Gap %
Status
Load QB invoices and ticket data above to run reconciliation
Ticket-level detail
All tickets with mismatches, missing invoices, or value discrepancies flagged below.
Division Budget Builder
Build Basin Safety's operating budget division by division. Set revenue targets and expense budgets, then load QB actuals to see where each division is tracking. This becomes your accountability tool for division leads.
Total budgeted revenue
—
Actual revenue (QB)
—
Revenue variance
—
Total budgeted expenses
—
Actual expenses (QB)
—
How to use: Set the annual revenue target and expense budget for each division. The tool spreads it evenly across 12 months — override individual months in the Monthly view. When QB data is loaded, the Budget vs Actual view shows how each division is tracking.
Check a row to select it for duplicate/remove
Division
Annual Rev Target
Monthly Rev
Annual Exp Budget
Monthly Exp
Target Margin
HC
Rev/Head
Hours Target/mo
TOTAL
—
—
—
—
—
—
—
—
Expense category breakdown (company-wide)
Allocate total budgeted expenses across cost categories. Percentages auto-fill from QB historical data when available.
Override individual months for seasonality. The Bakken typically runs slower Jan–Feb and strongest Jun–Sep.
Division:(adjusts monthly targets for typical Bakken seasonal patterns)
Month
Rev target
Exp budget
Net target
Margin target
Hours target
Actual rev (QB)
Actual exp (QB)
Load QB P&L by Class data to see actuals vs budget by division. Use the Divisions tab upload or the Data Foundation page.
Division
Budget Rev
Actual Rev
Rev Var $
Rev Var %
Budget Exp
Actual Exp
Exp Var $
Budget Net
Actual Net
Decision
Revenue budget by division
Budget vs actual (when QB loaded)
Monthly revenue target trend
Revenue targetExpense budgetActual revenue (QB)
What customers owe Basin Safety and how old those balances are. Over-90-day balances are cash flow risk — any customer in that bucket warrants a call before you do more work for them. Upload your QB A/R Aging Summary export.
Total outstanding
—
Current
—
31–90 days
—
Over 90 days
—
No data loaded
Customer
Current
1–30
31–60
61–90
>90
Total
Risk
Upload AR Aging export from QuickBooks → Customers & Receivables → A/R Aging Summary
What Basin Safety owes vendors and when. Helps manage cash flow timing and vendor relationships. Uploaded by your Controller from QB.
Total payable
—
Current
—
31–90 days
—
Over 90 days
—
No data loaded
Vendor ↕
Current ↕
1–30 ↕
31–60 ↕
61–90 ↕
>90 ↕
Total ↑
Upload AP Aging export from QuickBooks → Vendors & Payables → A/P Aging Summary
About this tool
This tool was built for Basin Safety leadership to move financial analysis out of spreadsheets and into a single structured workspace. Each section is designed to answer a specific business question. Below is a plain-English explanation of what each section does and why it exists.
Trends
Why it exists
The trends tab is your baseline. Before you can make decisions about the future, you need to understand what has actually happened. This section shows revenue, expenses, and net income over time so you can spot whether the business is growing, contracting, or holding steady — and whether costs are tracking proportionally with revenue or drifting ahead of it.
Projection
Why it exists
The projection tab answers the question: if current conditions continue — or if we change something — where does the business end up? You control three variables: the annual growth rate you expect, how far out you want to project, and how much you plan to reduce costs. This is the section to use when presenting a growth case to the board.
Drivers
Why it exists
Standard financial data tells you what happened in dollars. The drivers tab tells you why — by connecting financial outcomes to the operational decisions that created them. Revenue is modeled as headcount x hourly rate x utilization x 160 hours. When you adjust a slider, you're asking: what if we added a person, raised our rate, or improved utilization?
Budget vs Actuals
Why it exists
Planning is only useful if you track whether you're hitting the plan. This tab compares what you said would happen against what actually happened, month by month. Green means you beat the target. Red means you missed it. The gap between projection and reality is where management attention should go.
Cash Runway
Why it exists
Net income and cash position are not the same thing. A profitable business can still run out of operating cash. The runway tab models how long Basin Safety can sustain operations given a reserve buffer and current net income rate. Stress-test scenarios here before any major capital decision.
Divisions D0–D8
Why it exists
Not all revenue is equal. The departments tab breaks down performance by division so you can see which parts of the business are carrying the company and which are dragging it. Strong / Watch / At Risk ratings give a fast read on where leadership attention is needed.
New Division
Why it exists
Before you invest in a new service line or department, you need to know whether it can stand on its own. The simulator shows breakeven month, 12-month cumulative position, and 36-month outlook. New division decisions should be made with financial modeling in hand, not on gut feel alone.
Cost Savings
Why it exists
This section surfaces opportunities already visible in your expense data. It identifies months where costs spiked and estimates the impact of standard efficiency improvements. Every number shown is achievable without structural changes — a shortlist of quick wins to improve net margin without touching revenue.
Cost Reduction Strategy
Why it exists
The cost savings tab shows what the data suggests. This tab is where you take ownership of the plan. You define the initiatives, assign dollar targets or percentage cuts, and add context. The tool calculates cumulative impact against your expense base. This turns cost reduction from a concept into a trackable plan with numbers attached.
Year over Year
Why it exists
Single-year data tells you what happened. Year over year comparison tells you whether the business is improving. This tab stacks the same months across different years so you can see whether margins are expanding or compressing, and whether growth is accelerating or plateauing.
External Circumstances
Why it exists
Numbers without context are just numbers. This tab lets you annotate your financial timeline with outside events — oil price swings, client changes, weather events, regulatory shifts. When a stakeholder sees a revenue spike or expense surge, this tab explains why it happened.