Runs on a schedule
Nightly, hourly, or more often — whatever the report needs and the source can handle.
Data warehousing + ETL
I build the pipelines that pull from your ERP, payroll, CRM and the spreadsheets around them on a schedule, land the data cleanly, keep its history, and model it for reporting — in a warehouse I stand up in your cloud, or the one you already have. A reporting solution can go on top, or the warehouse is handed to your own team and BI tools.
Last night’s loads
Ran 02:00 · next run 02:00 tomorrow
| Source | Rows | Status |
|---|---|---|
| ERP · job cost detail | 48,210 | Loaded |
| ERP · commitments & change orders | 3,904 | Loaded |
| Payroll · hours & labor cost | 12,677 | Loaded |
| CRM · accounts & opportunities | 1,138 | Loaded |
| Estimating workbook · SFTP drop | — | Late · alert sent |
Row counts, duplicates and job-cost totals reconciled to the source: passed
Sound familiar?
What I build
1 · Extract
Direct database access, vendor APIs, or scheduled exports — whichever your ERP or CRM allows. Incremental where the source supports it, so loads stay fast.
2 · Land
Every load is kept, so you can always answer “what did this look like last quarter?” — something the ERP itself usually can’t.
3 · Transform
One job, one cost code, one employee, one calendar — across the ERP, payroll and CRM. Business rules live here, documented and versioned, not in a macro.
4 · Serve
Wide, fast, understandable tables built for reports. Ready for a reporting solution from me, or for Power BI, Excel and anything else that speaks SQL.
Nightly, hourly, or more often — whatever the report needs and the source can handle.
You find out a load failed from an alert — not from a manager asking why the numbers look wrong.
Row counts, nulls, duplicates, and totals reconciled against the source after every load.
Sources
If a system has a database, an API or an export, I can get data out of it. The ones below I already have.
ERP
Jobs, cost codes, commitments, GL, AP/AR, equipment
ERP
Work orders, production, purchasing, stock
Payroll & HR
Timecards, crews, rates, burden
CRM
Accounts, opportunities, bids, support cases
Finance
Expense reports, budgets, actuals
Databases
Any application or custom system database
Files
Vendor feeds, estimating workbooks, legacy exports
APIs
The cloud tools that only talk over an API
Experience integrating data from
ERP
CRM / Other
Don’t see yours? If it has a database, an API or an export, I can pull from it.
Don’t have a warehouse?
A data warehouse for a construction or manufacturing business doesn’t need to be a platform project. I set up the database, its structure, the data feeds and who can access what, then start landing data — the whole build is 2–4 weeks. Already have a warehouse? The pipelines load into that instead.
The warehouse itself typically runs $30–$250 a month, billed by your cloud provider in your account — no platform fee on top.
Warehouse layout
raw
An exact copy of each source, every load kept
ERP · payroll · CRM · files
clean
Cleaned up, duplicates removed, matched across systems
jobs · cost codes · employees · dates
reporting
Wide tables built for the reports you asked for
job cost · WIP · production
Ways to start
On its own
For a team with its own BI tools or its own analysts. I build the warehouse and the ETL, document it, hand it over, and stop there — no reporting from me at all.
Before a reporting solution
The data isn’t in a warehouse yet and the report is the goal. The warehouse and pipelines come first; the reporting solution goes on top, so the warehouse proves its value in the same engagement.
Into the warehouse you have
You have a warehouse; you need the payroll system, the CRM, or the new division’s ERP in it too. I build the pipeline, the monitoring and the reporting tables for that source, and hand them over.
Warehouse and ETL work is fixed-scope: anything beyond it is a new statement of work. Ongoing support is its own agreement if you want it — or your team takes it over, since you own it. See all pricing
It shouldn’t. Loads are incremental where the source allows it and scheduled for quiet hours, and once the data is in the warehouse, the reports run against the warehouse — not the ERP.
Then I use what it does allow: the vendor’s API, or scheduled exports dropped somewhere the pipeline can pick them up. Which of those your system offers is one of the first things I confirm on the scoping call, and it is priced on that.
Not day to day. The loads run on a schedule, alert when one fails, and every table, pipeline and rule is documented and handed over. When a source changes — an ERP upgrade, a new company in the ledger — the pipeline has to change with it: your own team can do that from the documentation, or bring me back under a new or extended contract.
Yes. It is a standard database in your cloud: Power BI, Excel, Tableau and anything with a SQL connector can read the reporting tables, through read-only roles so nobody reports against the raw loads.
Yes. It is its own offering, not the first step of a bigger one. I build the warehouse and the pipelines that fill it, hand them over with the documentation, and stop there.
Aside from the data warehouse, hosting averages under $50 a month. The warehouse itself is somewhere from $30 to $250 a month, depending on the size and scope of the data. Both are billed by your cloud provider, in your account — there is no platform fee and no per-seat license on top.