Skip to content

For electrical, mechanical, plumbing and fire-protection subcontractors and their finance teams

Are you receiving every dollar your projects are entitled to?

Main independently checks your change-order log, schedule of values, pay apps, WIP and A/R against each other — and shows you, row by row, exactly where they disagree.

Start onlineRequest an assessment

Shown: Main’s findings view, run on the synthetic Northfield SAMPLE dataset. See the sample report

The problem

Your project finances live across different systems

An approved change lives in one system, the schedule of values in another, the pay app in a third and the receivable in the ERP. Each record is right on its own. Here is one SAMPLE project — Fulton & 9th Mixed-Use — as six exports see it.

What falls between them

  1. 01Approved changes that never reach a payment application
  2. 02Changes billed for less than their approved value, or billed twice
  3. 03Payment applications whose arithmetic or carry-forward does not tie
  4. 04Invoices and retainage aging past what your terms allow
  5. 05Two systems that disagree about the same contract value
Change-order logCO_Log.csv · row 30

CO-09 · Approved$27,860.00

Relocate (3) transformers and associated feeders per ASI-14

Billing platformLedgerline Billing Platform (SAMPLE)

Contract value$8,752,000.00

CO-09 reported$27,860.00

Schedule of valuesSOV export

No line references CO-09

No line matches its amount or description.

Payment applicationsPayApp_Summary.csv
  • Pay app 8 · to 2026-06-3031 lines
  • Pay app 9 · to 2026-07-3132 lines
  • Pay app 10 · to 2026-08-3132 lines
WIP scheduleunder billings · 2026-08
  1. 2026-05$4,000.00
  2. 2026-06$13,500.00
  3. 2026-07$24,500.00
  4. 2026-08$36,000.00
A/R aginginvoice 4420

Open$41,872.15

68 days past its Jun 24, 2026 due date

Works from exports of

  • Procore
  • Sage
  • QuickBooks
  • Viewpoint
  • Excel
  • Siteline
  • Clearstory

No integration and no new system. The panes above are real rows from the SAMPLE exports.

The control

Main independently checks them

Main gives each change one identity and follows it from approval to the schedule of values, each payment application, WIP and the receivable. Deterministic rules mark every comparison — including what agrees, and what the data cannot tell.

Main control layerFulton & 9th Mixed-Use · CO-09 · as of Aug 31, 2026Sample
  • CO log ↔ billing platformCO-09 at $27,860.00 in bothAgrees
  • CO log ↔ schedule of valuesNo SOV line references CO-09, and none matches its amount or descriptionMismatch
  • CO log ↔ pay apps 8, 9, 10Not on 3 later payment applications$27,860.00Mismatch
  • Contract value across records$8,752,000.00 in the billing platform vs $8,725,000.00 elsewhereMismatch
  • WIP under billings · 2026-08$2,980,261.00 earned − $2,944,261.00 billed = $36,000.00: CO-09’s earned share explains $9,346.58, CO-11’s earned share (a timing difference) explains $3,770.84, and $22,882.58 is not explained by the supplied records$36,000.00Requires review
  • Work performedWhether the work has been performed yet — not in the supplied dataCannot determine

ResultCO-09 · $27,860.00 Fulton & 9th Mixed-Use

Strong evidenceRequires confirmation

PassMismatchRequires reviewCannot assessVerified resolvedEvery state carries an icon and a label, never colour alone.

One finding, start to finish

A difference you can trace to the cell

A real item from the SAMPLE report. Main re-adds the payment application’s own columns in code, shows the difference, and says plainly what it knows and what it cannot determine.

Pay app 6 · period to Jul 31, 2026 · line 6

“Branch Rough-In - Level 2” does not add up

Riverside Medical Office Building

Strong evidenceRequires confirmation

  1. 1Source

    PayApp_Lines.csv · row 52

    Line
    6 · Branch Rough-In - Level 2
    Scheduled Value
    385,785.00
    Previously Billed
    120,323.00
    This Period
    73,066.00
    Stored Materials
    0.00
    Completed to Date
    198,789.00
  2. 2Calculation by code, not a model

    Previously billed

    + This period

    + Stored

    = Computed

    Completed to date

  3. 3Difference

    Hover, focus or tap any figure to see where it comes from.

What Main knows

The line’s own columns cannot all be right: 120,323.00 + 73,066.00 + 0.00 is 193,389.00, but the line reports 198,789.00 completed to date.

What Main cannot determine

Which figure is correct (the arithmetic only shows that they cannot all be).

Recommended review

Review and correct the payment application — business confirmation required.

Four controls

One assessment, four questions about your money

Each section of the SAMPLE report answers one question on its own. The counts are never added together, and a section without data says “Not assessed”.

  1. 01

    Revenue Integrity

    Assessed10 findings in the SAMPLE

    Change orders, schedule of values and billing reconciled against each other.

    CO-03 · CO log$21,940.00

    CO-03 · SOV$19,240.00

    Difference$2,700.00

    Needs your inputCO-04 ($38,416.00) may be billed under SOV line 23 — Main cites the candidate and leaves the call to you.

  2. 02

    Margin Integrity

    Assessed7 findings in the SAMPLE

    The customer's WIP / job-cost schedule checked and explained as an independent control.

    1. 2026-0516.0%
    2. 2026-0616.0%
    3. 2026-0713.5%
    4. 2026-0811.1%

    Riverside Medical Office Building: margin fade $214,000.00. Main cannot determine why the estimate changed — PM explanation required.

  3. 03

    Cash Conversion

    Assessed3 findings in the SAMPLE

    Receivables and retainage: what is holding up cash.

    Invoice 4429 · Cedar Point Biosciences Lab Fit-Out$151,032.37

    37 days past due

    Retainage held · Logistics Center Building C - Warehouse$173,477.90

    Needs your input no release information in the supplied data

  4. 04

    Closeout Integrity

    Not assessed

    Closeout documents and final billing.

    Not assessed

    Not assessed — closeout data was not supplied for this assessment. Main says so instead of guessing.

Read all four sections in the sample report

How it works

One finding, from detection to proof

Follow the top SAMPLE item through four steps. Start with exports you already produce — no integration and no new system.

  1. 01Detect

    Every revenue item, checked against every record

    Main gives each change one identity and follows it from approval to the schedule of values, each payment application, the invoice and the cash. Deterministic rules flag the places where the records disagree.

    FindingEvidenceAmount

    Check · Approved change not billed

    • PayApp_Summary.csv · row 13pay app 8 (period to 2026-06-30)no CO-09
    • PayApp_Summary.csv · row 14pay app 9 (period to 2026-07-31)no CO-09
    • PayApp_Summary.csv · row 15pay app 10 (period to 2026-08-31)no CO-09

    Unreviewed

  2. 02Prove

    Each finding cites the rows behind it

    Evidence confidence comes from the engine, with the file and row behind every number. A Main reviewer checks every finding before you see it. When another line could explain the gap, it is marked “Needs your input” instead of overstated.

    FindingEvidenceAmount

    Evidence chain · CO-09

    • Change requested
    • Approved
    • Reported by Ledgerline Billing Platform (SAMPLE)
    • Not on the schedule of values or billed
    CO_Log.csv · row 30 = $27,860.00 — CO log: CO-09 approved 2026-06-12
    PayApp_Summary.csv · row 13 = 31 lines — pay app 8 (period to 2026-06-30) checked: no line references CO-09, none matches its amount or description
    PayApp_Summary.csv · row 14 = 32 lines — pay app 9 (period to 2026-07-31) checked: no line references CO-09, none matches its amount or description

    Strong evidenceRequires confirmation

  3. 03Resolve

    A draft you edit, approve and send

    Main prepares a draft from a template — a note to your billing team, or a message you may send to the GC. You decide. Main never contacts your GC or anyone else on your behalf.

    FindingEvidenceAmount

    Draft · internal note · collaborative

    Add change CO-09 to the next billing — Fulton & 9th Mixed-Use

    Change CO-09 (Relocate (3) transformers and associated feeders per ASI-14) was approved on June 12, 2026 for $27,860.00.

    We could not find it on the schedule of values or on payment applications after that date (3 checked).

    Before the next billing cutoff: confirm it was not billed under another line, then add it as its own line.

    Confirmed by your teamDraft awaiting your approval

  4. 04Verify

    The next import closes the loop

    Only when the next data shows the change — on the next payment application, or the invoice paid — is a finding marked verified resolved. Until then it stays open.

    FindingEvidenceAmount

    Next import · illustration

    1. Unreviewed
    2. Confirmed
    3. Resolved
    4. Verified resolved

    CO-09 appears as its own line on the next payment application. The SAMPLE data ends on Aug 31, 2026, so this step shows what the next import would do.

    Verified resolved

Start with one project

Want proof before sharing a portfolio? Send one project’s exports with GC and project names replaced by tokens (GC-1, Project A). You keep the key; Main never sees the real names.

How it works in detail

Trust architecture

Four layers, and each knows its job

AI never calculates, and code never decides for you. Main is not a law firm, an accounting firm or a CPA firm, and does not provide legal, accounting or tax advice.

  1. 01

    AI interprets

    Suggestions, summaries, answers

    AI provider
    One: Anthropic (the Claude API), for column-mapping suggestions, plain-English summaries of findings and the Ask Main assistant.
    AI training
    Main does not use customer data to train AI models.
  2. 02

    Code calculates

    Every number

    120,323.00 + 73,066.00 + 0.00 = 193,389.00

    Calculations
    Every amount, date, aging bucket and reconciliation result comes from tested code. No model computes one.
  3. 03

    Rules control

    What is flagged, and how strongly

    • Approved change not billed
    • Change order log and schedule of values disagree
    • Contract value differs between records
    • Pay app math does not add up
    • Two systems disagree
    • Change request waiting for an answer
    Deterministic rules
    Evidence confidence comes from the engine, with the file and row behind every number. When another line could explain a gap, it is marked “Needs your input”.
    Exchanging files today
    Accounts, encrypted file storage and the analysis run in production. You upload your exports in your workspace; every customer file is scanned for malware before anything reads it. Please don’t email files.
    Platform controls
    Running in production: accounts created only by ordering at /start or by invitation, and files encrypted with a key specific to your organization.
  4. 04

    Humans review

    Every decision

    Before you see it
    A Main reviewer checks every finding before it reaches you.
    Your GC
    Main prepares drafts; you decide what is sent. Main never contacts your GC, never files anything and never collects money for you.

How your data is handled

Who it is for

Commercial specialty subcontractors with dedicated finance or project-accounting staff, where project financial truth spans more than one system.

Who it is not for

Companies that already run billing and change orders in one fully integrated platform, or that want a replacement for their ERP, pay-application or change-order software. Main sits above those tools; it does not replace them.

Pricing

One fixed price to start

Start with an assessment of your own projects. Continue with Revenue Control only if it earns it.

Full pricing and questions

Start hereOne time

Revenue Control Assessment

$2,500one time

Up to five projects and 90 days of supplied data. Report in 5 business days after your data is marked complete.

What’s included

  • Change-order reconciliation
  • Billing and schedule-of-values checks
  • Receivable checks
  • Retainage reconciliation
  • A report where every finding links to its source file and row
  • Every finding reviewed by a person before delivery
Additional projects
$500 each
Online
Up to 10 projects; more than 10, talk to us

100% of the assessment fee is credited toward a qualifying pilot or annual Revenue Control agreement started within 30 days.

Start onlineRequest an assessment

Monthly

Revenue Control

from$3,500/month

Ongoing reconciliation, finding monitoring and resolution workflows, as a Managed Revenue Control engagement.

  • Ongoing reconciliation
  • Finding monitoring
  • Resolution workflows: drafts you approve and send
  • Set up with a person at Main

Usually continued after an assessment. It is set up with a person at Main rather than bought online.

Talk to us

Portfolio

Enterprise

Contact us

Larger portfolios, multiple offices, complex systems.

  • More than 10 projects: a portfolio assessment
  • A mutual NDA before you send anything
  • Scope and price agreed with a person at Main

Contact us

Refund (draft, pending legal review): If the assessment produces no financially relevant reconciliation exceptions that you confirm require correction, follow-up, or further investigation, we will refund the assessment fee. Refund and cancellation policy

See it on your own data

A Revenue Control Assessment covers up to five projects from your exports and ends with a report written for your controller.

Start onlineRequest an assessment

Not ready? See the sample report first.

Advise subcontractors? Main works with construction CPAs, outsourced accountants and fractional CFOs.

Built by Mahruf Hossain, Brooklyn, NY. About Main