CONTROLQORE FOR TANK AND VESSEL CONTRACTORS.
Generic accounting software can't keep an API 650 new-build book separate from an API 653 inspection and repair book, cost a confined-space entry day, or tell you how much billing is stuck behind an incomplete weld dossier. ControlQore can.
ControlQore for tank and vessel contractors is set up as two books inside one company: API 650 new construction on project cost codes, and API 653 inspection, repair, and alteration work on recurring service codes. Cost posts by phase, meaning engineering and welder qualifications, shop fabrication, field erection, welding and NDE, hydrotest, coatings and linings, and punch. Confined-space entry days carry their own code, with attendants, monitoring, and ventilation attached to it. Billing milestones are configured to the documentation an owner will require before releasing money, and the WIP schedule is produced monthly from cost-to-cost percentage complete.
The two books are the whole argument. New construction runs project economics with fabrication, erection, and hydrotest gates. The 653 side is condition-triggered work that recurs because the standard mandates inspection intervals, which makes it closer to a service annuity than to a project. Tracked as one book, both get mispriced, because the project work looks like it carries the shop when the service work is paying for it, or the reverse. Two P&Ls inside one company, built on the same cost code spine, price each side honestly and show which one is funding the other.
THE NUMBERS GENERIC SOFTWARE MISSES.
WHAT IT IS.
ControlQore is a job costing and WIP platform for contractors that tracks cost by job and cost code, so a tank and vessel contractor can read cost by phase, meaning shop fabrication, field erection, welding and NDE, hydrotest, and coatings, with new construction reported separately from inspection and repair work.
WHERE IT GOES WRONG.
One Blended Book for Two Businesses
The trade splits along its standards. API 650 governs new welded-tank construction, meaning plate erection, weld examination, and hydrostatic testing, and it runs project economics. API 653 governs the in-service side, meaning mandated inspection intervals, evaluations, repairs, alterations, and reconstructions, which produces condition-triggered work that recurs. An operator tracking both as one book misprices both, and the recurring side is usually the stability the project side is borrowing against without anybody being able to prove it.
Payment Gated by a Dossier Nobody Costed
The paperwork is the paycheck. Welder qualifications have to be current under the ASME Section IX six-month continuity rule, weld maps and traceability packages gate acceptance, and NDE sampling has an economics of its own. Then there's the hydrotest, which on a tank means filling the structure with water: sourcing it, holding it, and disposing of it, a logistics event standing between substantial completion and the check. When none of that carries a cost code, the contractor can't say what an incomplete dossier is holding up.
Turnaround Windows Priced at Straight Time
Repair and alteration work often runs inside owner shutdowns and turnarounds. Every trade compresses into the same fixed window, premium-time and after-hours labor is the plan rather than the exception, and schedule overrun costs the owner enough that liquidated exposure and acceleration terms both sit in the contract. A bid priced at straight time in that window is a bid that pays the compression out of its own margin, and standby on a unit released late has no record behind it.
Confined-Space Days With No Cost Code
In-service work happens inside vessels. Permit-required confined-space entry brings a daily compliance class with it: entry permits, attendants, atmospheric monitoring, ventilation, and rescue provisions. Internal coatings and linings add surface work and cure windows that control the schedule for everybody else on the job. Carried explicitly per entry-day, it's a cost the bid recovers. Absorbed into general field labor, it's the margin, and no monthly statement will separate the two.
WHAT WE BUILD.
SPM configures API 650 new construction and API 653 inspection and repair as separate divisions in ControlQore, reporting on the same cost code spine so the two are comparable. Each division carries its own P&L, its own overhead allocation, and its own margin history, which shows which side is funding the shop. Tank and vessel contractors at $1M to $5M net 7 percent before taxes on the SPM 48-trade dataset against a CFOS target of 10.5 percent, and the gross margin and overhead benchmarks for this trade are derived from the nearest comparable trade rather than measured on tank builders, which is one more reason each division needs numbers of its own.
Cost codes follow the work: engineering and welder qualifications, plate procurement, shop fabrication and rolled shells, knock-down and freight, field erection, welding and NDE, hydrotest, coatings and linings, and punch. Labor, material, and subcontracted testing post to the phase that consumed them. The shop-fabrication and field-erection split then reports as two economies rather than one average, which is the same problem structural steel has and the same fix.
SPM configures billing milestones against the documentation an owner will release money for: qualifications current, weld maps complete, NDE records accepted, hydrotest passed. The hydro goes on the 13 week cash flow forecast as its own event, with water sourcing, hold time, and disposal scheduled, because it's the last thing between substantial completion and payment. Retainage to acceptance is tracked separately so nobody mistakes it for collectible receivables.
Turnaround work gets its own pricing class in ControlQore: premium-time and after-hours labor as the baseline rather than an add-on, acceleration terms read before signing, and a standby code for the days the unit isn't released when the schedule said it would be. Those standby hours get logged daily with the cause written down, at burdened cost. That record is what a compensable delay is built from, and it has to exist while the outage is still running.
A confined-space entry-day code carries the permits, attendants, monitoring, ventilation, and rescue provisions for every internal day, so the compliance class is priced in the next bid rather than discovered in the next P&L. The WIP schedule is produced monthly from cost-to-cost percentage complete by job and by division. Underbilled positions, meaning work performed but not yet billed, trigger a corrected pay app, and overbilled positions flag jobs where billing has outrun the documentation behind it.
FLAT MONTHLY FEE. NO SOFTWARE INVOICE.
Three tiers, priced by your trailing twelve month revenue. ControlQore comes with Strategic, and it never appears as its own line item on an SPM invoice. Which tier you're in depends on how much of the work you want off your desk.
Pricing
| Last 12 months revenue | Monthly fee |
|---|---|
| Up to $1M | $1,900 to $2,900 |
| $1M to $3.5M | $2,600 to $3,900 |
| $3.5M to $6.5M | $3,800 to $5,700 |
| $6.5M to $9.5M | $5,100 to $7,100 |
| $9.5M to $12.5M | $6,100 to $8,500 |
| $12.5M to $15.5M | $7,400 to $11,000 |
| $15.5M to $18.5M | $9,400 to $13,500 |
| $18.5M+ | Quoted individually |
Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.
You stop guessing.
You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.
Your bookkeeper keeps doing the books.
You stop touching the books.
Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.
We do the books. No payroll.
Every job shows its margin while it's still running.
Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.
We do the job costing.
