Skip to main content
Approving a budget turns it into the fixed baseline MSPortal uses to compare planned costs with customer invoice spend. Approval also gives every line item a unique reference, so projects, purchases, licenses, labor and other costs can be traced back to the approved plan. Locking a budget from the editor needs the manage_budgets permission. Deciding individual lines needs the Approve budget items permission, described in Approve or reject budget lines. Approval is the client’s decision. A typical budget goes through three steps:
  1. Submit for review (optional): colleagues at the MSP check the draft.
  2. Submit for approval: the budget goes to the people at the client who decide it.
  3. Sign off: a client approver approves the budget, line by line or all at once, and signs it with their typed name.
Approval is permanent. You cannot edit an approved budget or return it to Draft. Review the budget carefully before it is approved.

Submit a budget for review

Ask colleagues at the MSP to check a draft before it goes to the client. The budget stays a Draft and you can keep editing it. Clients never see the review.
1

Open the budget

Open the Draft budget in View mode.
2

Click Submit for review

Click Submit for review in the Approval row.
3

Choose the reviewers

Under Reviewers, choose one or more MSP staff members. The list shows staff who can see budgets. Optionally add a message saying what they should check.
4

Send the request

Click Send for review. Each reviewer receives an email and an in-app notification. The Approval row shows who asked, when, and who the review is waiting on.
Reviewers open the budget, click Review in the Approval row and answer Looks good or Needs changes, optionally with a note. The person who asked receives an in-app notification, and each answer appears in the Approval row. A reviewer can change their answer until the budget is sent to the client. Click Change reviewers to ask different people (this clears the answers so far), or Cancel review to end the review. Submitting the budget for approval also ends the review; its answers stay in the history.

Submit a budget for approval

Send the budget to the people at the client who decide it. Approvers are always client users: people at the budget’s company, or at a parent company that manages it, who hold the Approve budget items permission. A parent company admin limited to selected child companies can approve only for those companies. MSP staff are not approvers; ask them for a review instead. MSPortal never sends the request to someone who cannot approve it.
1

Open the budget

Open the Draft budget in View mode. The Approval row in the budget summary shows that it has not been submitted yet.
2

Click Submit for approval

Click Submit for approval in the Approval row.
3

Choose the approvers

In the People at list, which names the client, choose one or more approvers. Under Company role, optionally choose a role: everyone at the client who holds that role and can approve budget items is asked too. Each role shows how many people would be asked; a role nobody can approve with is unavailable. People in the role who cannot approve budget items are not asked.
4

Add a message

Optionally add a message for the approvers, such as a deadline.
5

Send the request

Click Submit for approval. The budget moves to Pending Approval, lines still in Draft move to Pending, and each approver receives an email and an in-app notification linking to the budget. The Approval row shows who submitted the budget, when, and who it is waiting on.

Decide each line

Approvers open the budget from the email or notification and use each line’s status menu to approve or reject it, or Approve all pending to approve every pending line at once. Approvers who cannot edit budgets can decide lines only while the budget is Pending Approval.

Change approvers or withdraw

While the budget is Pending Approval, budget editors can:
  • Click Change approvers to choose different people or a different role. Everyone chosen receives the request again.
  • Click Withdraw to return the budget to Draft. The approvers receive an in-app notice that the budget no longer needs their review. Submit it again when it is ready.
A budget set to Pending Approval from the budget editor records who submitted it, but no approvers are notified. Click Choose approvers in the Approval row to send the request.

Sign off the budget

A client approver signs off the budget to approve and lock it. They can decide each line first, or sign off straight away to approve the whole budget: lines still pending are approved by the sign-off.
1

Review the lines

The Approval row shows how many lines are decided. Reject any line the client does not want; lines left pending are approved when you sign off.
2

Click Sign off

Click Sign off in the Approval row. The dialog shows the approved and rejected lines with their totals, how many pending lines the sign-off approves, and the budget’s fingerprint.
3

Agree and type your name

Read the statement, tick the box to agree, and type your full name. Your typed name is your signature.
4

Sign

Click Sign off budget. The budget becomes Approved and locked. The submitter and the other approvers receive an email and an in-app notification.
Approvers the request was sent to can sign off. If the request named nobody, any client approver can. MSP staff cannot sign off, and you cannot sign off while viewing MSPortal as another user. The sign-off records:
  • Your typed name, your account name and email
  • The date and time, your IP address and browser
  • The statement you agreed to, including how many pending lines it approved
  • The budget’s fingerprint: a SHA-256 hash of the budget exactly as you approved it
If anyone changes the budget while you are reviewing it, the fingerprint no longer matches and the sign-off is refused. Review the updated budget and sign again. The exported PDF of a signed-off budget ends with a Sign-off certificate page listing these details. The signer’s email and IP address appear only in PDFs exported by MSP staff.

Review the approval history

Click History in the Approval row to see every step, newest first: internal reviews and their answers (MSP staff only), submission, approval requests, each line approved or rejected, edits that returned a line to Pending, sign-off, approval and archiving. Each entry shows who acted and when. Names stay in the history after a user is deleted. Each approved or rejected line also shows who decided it and when, below its status.
Changing anything that defines an approved or rejected line, such as its quantity, price, recurrence or category, returns it to Pending so it is decided again. Editing only its notes does not.

Before you lock a budget from the editor

  • The budget is Draft or Pending Approval, and it has no more than 500 lines.
  • You have the manage_budgets permission. Without it, Approved is missing from the Status list.
  • The budget has a company, fiscal year, currency and a complete set of lines.
  • Quantities, prices, recurrence, categories, line statuses and linked projects or products are final.
  • A supported PSA integration with invoice sync is on, if you plan to track actual spend.

Approve or reject budget lines

Each line has its own status: Pending, Approved, Rejected or Draft. Changing a line’s status needs the Approve budget items permission. In Settings > Users & Roles > Roles, it sits under Budgets in the role editor. Manage access to Budgets includes it. Write access does not, so a role can edit budgets without deciding lines, or decide lines without editing budgets. Approved and Archived budgets are locked, so nobody can change their line statuses.
1

Open the budget

In Budgets, click … then View on the budget’s row.
2

Change a line

On the Overview tab, open the … menu next to a line’s status and choose Approve, Reject, Mark as pending or Mark as draft. The menu lists only the statuses you can set. The change saves at once.
3

Approve every pending line

To approve all Pending lines together, click Approve all pending above the line table. It shows the number of Pending lines and appears only when there are some. The confirmation shows how many lines and what total will be approved. Click Approve N items to confirm. You can still change individual lines until the budget is approved.
4

Check the totals

The summary shows Total, Approved, Pending and Rejected. Pending includes Draft lines.
Approving every line does not approve or lock the budget. To lock it, a client approver signs it off, or someone with manage_budgets follows Approve a budget. You can also change line statuses in the budget editor’s Approval column, or for several lines at once with Update Statuses in the Budgets list row menu. See Add and edit budget line items.

Approve a budget

1

Review the budget

Click … then Edit on the budget’s row. Check the company, fiscal year, currency, period type, lines and totals. Rejected lines stay visible after approval. They are left out of the approved amount and cannot receive actual spend. Draft and Pending lines count toward the baseline.
2

Review matching links

For a project cost, open the Planner item and check that it links to the right PSA project under Relationships (Link to Project). For a recurring license or service cost, check the product link. MSPortal records the matching links it finds at the moment of approval.
3

Set the status to Approved

Click Budget Details to expand it if it is collapsed. Change Status to Approved. The Lock Budget After Approval? warning opens.
4

Confirm the lock

Read the warning and click Approve Budget. Click Cancel to back out.
Lock Budget After Approval warning explaining permanent locking, with Cancel and Approve Budget buttons.

The warning opens before you save. After you confirm it, you still need to click Save.

5

Save the approval

Click Save. The budget locks only when the save succeeds. If Your changes were saved, but the budget could not be approved. Reload the page and try again. appears, reload and approve again.
6

Open Actuals

Open the budget with View and click the Actuals tab. The approved period and the line references are ready.

What approval locks

The Actuals period is fixed at approval. It runs from January 1 to December 31 of the fiscal year. Choosing Quarterly or Monthly as the period type does not shorten it.
Budgets approved before actuals tracking existed keep their locked plan but have no references or matching links. Use manual allocations for them, or duplicate the budget and approve the copy to get references for future billing.

Use budget references in your PSA

Each approved line gets a short reference such as BR-26-1A2B3C4D5E. MSPortal looks for it in synced invoice, purchase order, project, contract and related details. It is an internal reference. It is not purchase-order approval or three-way matching. Only details your PSA integration imports can be searched. There is no custom-field mapping screen for references, so check that your chosen field reaches the synced invoice.
1

Copy the reference

Open Budget Details > Actuals. In Line outcomes, click the value in the Reference column to copy it.
2

Add it to the PSA

Paste it into the PSA field your team uses for that cost, such as a project PO, customer PO, invoice reference or a custom field that flows to the invoice.
3

Keep it with the billed work

Make the reference part of your project, purchasing or billing routine so it ends up on the synced invoice.
4

Check the result

After the invoice sync finishes, open Actuals and confirm the event matched the right line.
Use one budget reference per invoice event. If one event holds more than one reference, MSPortal cannot pick an exact match.

How automatic matching works

MSPortal records the identifiers on each line when you approve. It then matches actual spend in this order.
  1. Exact budget reference
  2. Linked project
  3. Linked product
  4. Product identity, such as SKU or product name
An exact reference wins over the other methods. If the best method points to more than one line, the event goes to Unmatched exceptions. A reference that does not name an eligible line in this budget also goes there. It does not fall back to a project or product match.

Archive a superseded budget

Archiving retires an approved budget and keeps its baseline and history. Only the planned baseline is frozen. Actuals still change when invoices sync or when authorized users change reconciliation decisions, even on an archived budget.
1

Open the approved budget

Click … then Edit. The budget is read-only and a banner reads Read-only - budget approved.
2

Click Archive

Click Archive in the banner. You need the manage_budgets permission.
3

Confirm

The dialog asks Archive Budget Title? and says the budget becomes read-only and shows as Archived. Click Archive. The status changes to Archived and the Actuals history stays.

Replace an approved budget

1

Duplicate it

Click … then Duplicate on the approved budget’s row. The Draft copy is created right away.
2

Review every line

Copied lines start Pending, including lines that were Rejected in the original. Check each line’s status.
3

Approve the copy

Follow the steps above on the copy.
4

Archive the original

Archive the old budget so both baselines stay for audit.

Prepare a line for matching

  • Project cost. Open the Planner item, link the correct PSA project under Relationships, and add the item to the budget before approval. After approval, copy the reference into a PSA field your integration imports.
  • License or service cost. Add it from the product catalog when you can. Check the product link, SKU, name, quantity, price and recurrence before approval. MSPortal uses the product link or identity when the invoice line has no reference.

Troubleshooting

Best practices

  • Treat approval as the handoff from planning to measuring.
  • Set line statuses before approval. Only Rejected lines are left out of the baseline.
  • Link projects and products before approval so MSPortal records stable matching keys.
  • Add the generated reference to the PSA early in the purchase or project workflow.
  • Pick one PSA field for budget references and train billing staff to keep it on invoices.
  • Duplicate and replace approved budgets. Do not delete old baselines.

Frequently asked questions

Open the budget with Edit, expand Budget Details, set Status to Approved, click Approve Budget in the warning, then click Save.
No. It only sets the status in the editor. You must click Save.
The company administrator label alone does not grant approval. To decide lines or sign off a budget sent to them, their MSP gives their role Approve budget items. To lock the whole budget from the editor, they need manage_budgets.
A sign-off records the signer’s typed name, account, time, IP address, browser and the exact budget they approved, identified by its fingerprint. Whether that meets the requirements of a particular contract or jurisdiction is for you and your client to decide.
Everyone at the client chosen by name, plus everyone at the client who holds the chosen company role and can approve budget items. The person who submits the budget is not notified about their own request.
Not through a sign-off: approval requests and sign-offs are for client users. Staff who manage budgets can still set a budget to Approved in the editor, for example after the client approved it outside MSPortal. That is recorded as staff approval, not a client sign-off.
Yes. An approver can sign off without deciding each line: every line still pending is approved by the sign-off. Reject any line the client does not want first.
No. The review, its answers and its history entries are visible to MSP staff only.
No. Line statuses and the budget status are separate. Only a client sign-off, or setting the budget’s Status to Approved, locks it.
No. Duplicate the budget, fix the Draft copy and approve it.
No. Actuals always uses January 1 to December 31 of the fiscal year.
No. Approval allows at most 500 lines. Remove lines or split the plan.
Reload, review the latest saved budget, and approve again only after you check it.
No. The planned baseline stays fixed. Invoices and reconciliation decisions can still change Actuals.
No. It only copies the code to your clipboard. Add it in your PSA yourself.