Skip to content

Find the money you already earned.

Main Revenue reads your change orders, pay apps and contracts together and shows what’s unbilled, under-billed or stuck.

Unbilled / under-billed revenue$45,285.503 findings
Record conflicts$55,160.004 findings
Commercial exposure$238,139.304 findings
Cash delayed$192,904.522 findings
Data as of Aug 31, 2026 · 13 files read · four kinds of money, never added together
  • Fulton & 9th Mixed-UseApproved CO-09 ($27,860.00) not found on the SOV or on 3 later pay applicationsStrong evidence$27,860.00
  • Eastbrook Middle School RenovationApproved CO-06 ($14,725.50) not found on the SOV or on 3 later pay applicationsStrong evidence$14,725.50
  • Cedar Point Biosciences Lab Fit-OutCO-03: CO log shows $21,940.00 but the SOV carries $19,240.00 (difference $2,700.00)Strong evidence$2,700.00

Shown: the action queue, run on the synthetic Northfield SAMPLE dataset; its top item is traced to CO_Log.csv · row 30. See the sample report

Every floor has money in it.

Five SAMPLE projects, 13 findings. The largest open item on each:

  1. Riverside Medical Office Building3 findings · job 24-118$38,416.00Approved change not billed
  2. Eastbrook Middle School Renovation2 findings · job 24-131$22,400.00Change order log and schedule of values disagree
  3. Logistics Center Building C - Warehouse1 finding · job 23-207$173,477.90Retainage held with no release request
  4. Fulton & 9th Mixed-Use4 findings · job 24-102$41,872.15Invoice past due
  5. Cedar Point Biosciences Lab Fit-Out3 findings · job 24-140$151,032.37Invoice past due

Main Revenue finds it before the pay app goes out.

SAMPLE Largest single finding per project; the five are different kinds of money and are never added together.

Your money lives in six places. Six exports, six versions of the truth.

Each one is right about its own column.

None of them sees the others.

The money falls between them.

Fulton & 9th Mixed-Use (job 24-102), six of the 13 SAMPLE exports.

CO_Log.csvSAMPLE
  • CO-06Approved$17,485.00
  • CO-07Approved$6,520.00
  • CO-08Approved$19,350.00
  • CO-09Approved$27,860.00
  • PCO-16Rejected$9,450.00
BillingPlatform_ChangeOrders.csvSAMPLE
  • CO-06Executed$17,485.00
  • CO-07Executed$6,520.00
  • CO-08Executed$19,350.00
  • CO-09Executed$27,860.00
  • PCO-16Rejected$9,450.00
SOV.csvSAMPLE
  • 28CO-05$38,960.00
  • 29CO-06$17,485.00
  • 30CO-07$6,520.00
  • 31CO-08$19,350.00
  • 32CO-10$8,180.00
PayApp_Summary.csvSAMPLE
  • 7May 31$1,454,585.00
  • 8Jun 30$1,789,163.00
  • 9Jul 31$2,509,336.00
  • 10Aug 31$2,944,261.00
WIP_Schedule.csvSAMPLE
  • 2026-0516.51%$1,454,585.00
  • 2026-0620.34%$1,789,163.00
  • 2026-0728.56%$2,509,336.00
  • 2026-0833.55%$2,944,261.00
AR_Invoice_Register.csvSAMPLE
  • 004415May 24$0.00
  • 004420Jun 24$41,872.15
  • 004426Jul 25$0.00
  • 004430Aug 23$648,155.70
  • 004434Sep 24$391,432.50

One line follows CO-09. Through every record it belongs in.

It is in the log. It is on the billing platform.

It is on no schedule line and on none of pay apps 8, 9 and 10.

CO_Log.csvSAMPLE
  • CO-06Approved$17,485.00
  • CO-07Approved$6,520.00
  • CO-08Approved$19,350.00
  • CO-09Approved$27,860.00
  • PCO-16Rejected$9,450.00
BillingPlatform_ChangeOrders.csvSAMPLE
  • CO-06Executed$17,485.00
  • CO-07Executed$6,520.00
  • CO-08Executed$19,350.00
  • CO-09Executed$27,860.00
  • PCO-16Rejected$9,450.00
SOV.csvSAMPLE
  • 29CO-06$17,485.00
  • 30CO-07$6,520.00
  • 31CO-08$19,350.00
  • CO-09 not found
  • 32CO-10$8,180.00
PayApp_Summary.csvSAMPLE
  • 7May 31Approved
  • App 8 · 31 lines · CO-09 not found
  • App 9 · 32 lines · CO-09 not found
  • App 10 · 32 lines · CO-09 not found
WIP_Schedule.csvSAMPLE
  • 2026-0516.51%$1,454,585.00
  • 2026-0620.34%$1,789,163.00
  • 2026-0728.56%$2,509,336.00
  • 2026-0833.55%$2,944,261.00
AR_Invoice_Register.csvSAMPLE
  • 004415May 24$0.00
  • 004420Jun 24$41,872.15
  • 004426Jul 25$0.00
  • 004430Aug 23$648,155.70
  • 004434Sep 24$391,432.50

Every dollar traced to the cell. A file, a row, a column.

CO_Log.csvrow 30 · CO AmountSAMPLE
Job #CO #GC CO #DescriptionStatusDate SubmittedDate ApprovedCO Amount
2724-102CO-06102-CO-08Roof-mounted PV conduit rough-inApproved3/26/20264/16/2026$17,485.00
2824-102CO-07102-CO-10Bike room and storage cage lightingApproved4/22/20265/7/2026$6,520.00
2924-102CO-08102-CO-11Pool equipment room power - amenity deckApproved5/13/20265/28/2026$19,350.00
3024-102CO-09102-CO-13Relocate (3) transformers and associated feeders per ASI-14Approved5/24/20266/12/2026$27,860.00
3124-102PCO-16Winter protection temporary heat powerRejected5/20/2026$9,450.00
$27,860.00

A finding is never a number someone typed. It is a file, a row and a column you can open yourself.

SAMPLE CO_Log.csv · row 30 · CO Amount

Five kinds of money. Each goes missing its own way.

Each one is a different check against a different record, so they are shown apart and never summed.

  • Unbilled changes
    $27,860.00

    CO-09 approved Jun 12, 2026, on no SOV line and none of the 3 pay apps since.

    SAMPLE Fulton & 9th Mixed-Use · Strong evidence
  • Pay-app math
    $5,400.00

    Pay app 6 line 6: billed to date adds up to $193,389.00, completed to date shows $198,789.00.

    SAMPLE Riverside Medical Office Building · Strong evidence
  • Retainage
    $173,477.90

    Held on Logistics Center Building C - Warehouse with no release information, billed 100% complete.

    SAMPLE Logistics Center Building C - Warehouse · Needs your input
  • Aging
    $151,032.37

    Invoice 4429, 37 days past its Jul 25, 2026 due date.

    SAMPLE Cedar Point Biosciences Lab Fit-Out · Strong evidence
  • Record conflicts
    $27,000.00

    Ledgerline Billing Platform (SAMPLE) shows $8,752,000.00; the contract elsewhere says $8,725,000.00.

    SAMPLE Fulton & 9th Mixed-Use · Strong evidence

Three steps. No integration.

  1. Upload exports

    Your change-order log, schedule of values, pay-app lines and A/R register, as CSV or Excel. Read-only: Main never logs into your systems.

  2. Reviewed findings

    Tested rules follow every change across every file. A person at Main checks each finding before it reaches you, within 5 business days of complete data.

  3. Get paid

    Each finding comes with a drafted next step you approve, and the next import verifies what was billed.

AI interpretsAI interprets · Code calculates · Rules control · Humans review
Code calculates
Rules control
Humans review

Built for financial data. The kind you cannot afford to leak.

  1. AI interprets

    Language models help read and map messy exports and write plain-English summaries. They never compute an amount.

  2. Code calculates

    Every amount, date, aging bucket and reconciliation result comes from tested code.

  3. Rules control

    Each finding names the rule that produced it and the rows it read. Nothing reaches you without both.

  4. Humans review

    A Main reviewer checks every finding before it reaches you. Main does not use customer data to train AI models.

One result. Four controls. Files are scanned for malware before anything reads them and encrypted with a key specific to your organization. How your data is handled

Start with proof. Continue if it pays.

  • Revenue Control Assessment
    $750one time

    Up to 5 projects and 90 days of supplied data. Every finding reviewed by a person. The fee applies to your first month of Starter or Growth only.

    Start your assessment

  • Starter
    $499/month

    Up to 10 active projects: monthly re-check, cutoff reminders, PM links, outcomes, retainage watch.

    Talk to us

  • Growth
    $999/month

    Up to 30 active projects, plus the WIP export and priority review.

    Talk to us

If the assessment doesn’t find at least $7,500 of verified recoverable value, full refund. Only reviewer-verified, previously unbilled work that can be billed now counts; ask within 30 days of delivery. Refund policy

CFO and CPA firms: $199 per client per month, wholesale. Partner pricing · Full pricing and questions

Your next pay app is coming. Know what’s missing first.

Run the free check

See it on your own data: free, one project, no account. Or book a demo and walk through the SAMPLE report with a person.

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

Four questions, answered.

Who can see our data?

Accounts are created only by ordering at /start or by invitation. A paid order at /start creates your organization and its owner account. Everyone else is invited by their organization’s owner or by Main. You sign in with email and password. Every account can also use sign-in codes from an authenticator app, Main staff included. You turn them on in Settings. A remembered device skips the code for a limited time. Sensitive actions ask for your password again. Each organization’s data is kept apart in the app and again in the database. This is tested on every release. Files are encrypted with a key that belongs to your organization alone. Main staff see your data only through a logged workspace session with a stated reason. An activity log records what happens, and entries can only be added, never changed. Main does not claim any security certification. A mutual NDA is available before you send anything.

Do you connect to our systems?

Main works from exports you already produce — from Procore, Sage, QuickBooks, Viewpoint, Excel, Siteline or Clearstory. No integration or new system is needed to start; read-only connections are optional and come later. Main sits above those tools and does not replace them or write back to them.

What are the four exports?

Send the exports you already produce. That means your change-order log, schedule of values and payment applications. Add your A/R aging or invoice register, payments and retainage ledger. Any CSV or Excel file works (.xlsx, no macros). Your column names don’t need to match; you confirm the mapping once. With just a change-order log and pay application lines, Main can already check whether approved changes reached billing. WIP and job-cost data are optional.

What happens if it finds nothing?

If the assessment doesn’t find at least $7,500 of verified recoverable value, the fee is refunded in full. Only approved work that was not billed, or billed short, counts. A person at Main must verify it, and you must be able to bill it now. Over-billing and invoices already sent do not count. Ask within 30 days of the report. The full policy is at /revenue/refund-policy.

More questions in the help library