Skip to main content

What breaks when Sage Intacct project budget is treated as recognized revenue?

A Sage Intacct project's BUDGETAMOUNT is a planning ceiling, not a recognized-revenue figure. A report that sums project budgets and calls the total "revenue recognized" will drift from the real ASC 606 numbers in Sage Intacct's Contracts module — budgets don't move with recognition method, performance obligations, or modifications, and nothing keeps the two in sync automatically.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Last reviewed Editorial policy

Part of the finance integrations guide.

SymptomA revenue report built from project data doesn't tie to the recognized-revenue figure in the general ledger
Root causeProject BUDGETAMOUNT was treated as recognized revenue instead of the actual ASC 606 schedule in Sage Intacct's Contracts module
Where the two divergeBudget doesn't change when a contract is modified, terminated early, or recognized on a non-straight-line method
Where to checkThe project's linked contract's revenue recognition schedule directly, not the project record

Why the two numbers look similar but aren't

A project's BUDGETAMOUNT and a contract's recognized revenue can start out close, which is exactly what makes the substitution dangerous — it works well enough in month one to look correct. Sage Intacct's own documentation shows a revenue recognition schedule tracking status, a recognition method (straight-line, percent-complete, milestone), and individual period entries on a REVRECSCHEDULEENTRY object. None of that machinery touches the Project object at all. A budget is set once, at or near the start of a project, and generally only changes if someone edits it. A recognition schedule moves every period, on its own method, independent of the budget.

What actually causes the drift

Three common events break the assumption that budget tracks revenue: a contract modification that changes price or term without a matching edit to the linked project's budget; recognition on anything other than straight-line, where the period-by-period amounts simply don't match an even division of the budget; and a contract that's terminated or renewed, which changes what should be recognized going forward in a way a static budget figure has no way to reflect.

How to catch it before it reaches a report

Any dashboard or workflow that reports a revenue figure sourced from Sage Intacct project data should be labeled as budget or forecast in its own interface, not just in internal documentation — the label is what stops someone downstream from citing it as recognized revenue in a board deck or an audit request. For a number that has to actually tie to the books, go to Sage Intacct's Contracts and Revenue Management module directly rather than trusting a project total.

Next step

Map the finance workflow with the most exposure and prove the automation path.

Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.

Book a workflow review

Worked example

A $120,000 project budget vs. a $96,000 recognized-to-date figure

A 12-month services contract is set up in Sage Intacct with a $120,000 project budget and a matching $120,000 contract in the Contracts module, recognized straight-line. Month 8 should show $80,000 recognized (8/12 of $120,000) if nothing changed. But the contract was modified in month 5 — scope was reduced and the price dropped to $96,000 for the remaining term — and the linked project's BUDGETAMOUNT was never updated to match. A report built off project data still shows $120,000 as the "revenue" figure; the real recognized-to-date amount from the Contracts module, correctly reflecting the modification, is $76,000. The $44,000 gap isn't a data error — it's the predictable result of two fields that were never wired to move together in the first place.

Frequently Asked Questions

No — Sage Intacct's Contracts and Revenue Management module handles ASC 606 recognition correctly. The problem described here is specific to substituting Project budget data for it, which is a Loopfour integration scoping gap, not a Sage Intacct product issue.

There's no automatic flag for this today — it has to be caught by periodically comparing a sample of project budgets against their linked contracts' current terms, or by routing contract modifications through a process that updates both.

It's the fix available today, given Loopfour's integration doesn't yet reach the Contracts module. The durable fix is adding integration actions against CONTRACT and REVRECSCHEDULE so the real recognized figure is pulled directly instead of approximated.

Sources

Related