Before you start
- An Approved or Archived budget
- Permission to view the budget and invoices (your MSP admin sets this in your role)
- A connected ConnectWise Manage, Autotask PSA, or HaloPSA integration with invoice sync enabled
- The PSA company mapped to the same MSPortal company as the budget
Open Actuals
Open the budget
Select Actuals
Confirm the baseline
Read the summary
What Counts as Actual Spend
Actuals use tax-exclusive amounts that the MSP invoiced to the customer. Billed project work, licenses, services, and labor can contribute. Internal cost of goods sold, payroll, unbilled time, vendor bills, purchase commitments, and contract totals that have not been invoiced do not. Contract and project information can help match an invoice; they do not add spend on their own.- ConnectWise Manage contributes invoice totals
- Autotask PSA and HaloPSA contribute invoice-line detail when available, with any difference from the invoice total included as an invoice-level remainder to avoid double-counting
- Credits and refunds appear as signed amounts and reduce spend
- Only invoice dates inside the locked reconciliation period are included
- MSPortal does not convert currencies
Understand the summary
Review line outcomes
Each locked budget line shows its reference, category, approved amount, matched actual, variance, and outcome.Find a line outcome
Use the Reference or Budget line text filter, Category, numeric amount ranges, or Match outcome to narrow Line outcomes. Click a sortable column heading to change the order. Filters affect the line table, not the summary cards. Use Clear Filters to restore the line list. Matched evidence, Unmatched exceptions and Manual allocations use separate pagination, initially 25 rows with 10, 25 or 50 available. Use their Columns controls to show or hide fields. These three paginated tables currently have no table filtering or sorting. None of these tables offers a dedicated CSV export.Review matching evidence
Open a line's evidence
Confirm the source
Check the match method
Check source status
How matching works
MSPortal evaluates automatic methods in priority order:- Budget reference - an exact line reference found in PSA invoice, PO, project, contract, or related details
- Linked project - the invoice event is associated with a PSA project captured through the budget line’s linked Planner item
- Linked product - the synchronized invoice item points to the product captured on the budget line
- Product identity - the invoice-line SKU or product name matches the captured product identity
Common tasks
Investigate an over-budget result
- Confirm the total Actual spend and overall variance
- Sort Line outcomes by variance to find the largest negative values
- Click Review N events on those lines to inspect the supporting invoices
- Review Unallocated and the exception queue for spend not yet assigned to a line
Check whether invoice sync is current
Use Source coverage to compare the provider’s Latest event date with the most recent eligible invoice you expect in the locked period. This is an invoice date, not the last sync time. If an expected invoice is missing, review the PSA integration and invoice sync before changing reconciliation decisions.Improve future automatic matches
Copy the line’s short reference and add it to the PSA project, PO, invoice reference, or custom field that flows through to billing. For recurring services and licenses, keep synchronized product links and SKUs consistent.Troubleshooting
Best practices
- Review Source coverage before interpreting the totals
- Resolve exceptions regularly so line outcomes explain the overall spend
- Use matched evidence to support QBR and budget-review conversations
- Add a single budget reference to each project, purchase, or billed item
- Keep company mappings, product identities, and invoice currencies accurate in the PSA
- Preserve archived budgets as historical baselines
Frequently asked questions
Where do I compare a budget with invoice spending?
Where do I compare a budget with invoice spending?
Why does Actuals Budgeted differ from the Overview Total?
Why does Actuals Budgeted differ from the Overview Total?
Does overall Actual spend include only invoices matched to this budget?
Does overall Actual spend include only invoices matched to this budget?
Does Actuals include tax, unpaid invoices or internal costs?
Does Actuals include tax, unpaid invoices or internal costs?
What does a positive Variance mean?
What does a positive Variance mean?
Does Matched mean a project is finished or exactly on budget?
Does Matched mean a project is finished or exactly on budget?
Why can exceptions remain when Unallocated is zero?
Why can exceptions remain when Unallocated is zero?
Is Latest event the most recent synchronization time?
Is Latest event the most recent synchronization time?
Can I filter every Actuals table?
Can I filter every Actuals table?
How do I see invoices behind a line’s matched amount?
How do I see invoices behind a line’s matched amount?