Symphony · Finance

Guide

100%

The Pricing Tool replaces the shared Excel workbook. You log in, open New Deal, build the project plan, and the app computes revenue and gross margin live — pulling salaries and rates straight from the central salary sheet, so the numbers are always current. When you’re happy, you send it for approval in one click.

Example · Acme Robotics — “Platform Rebuild”
We’ll follow one deal throughout: a 6-month Time & Materials engagement in EUR, with two engineers and a solution architect. You’ll see it go from a blank draft to an approved, frozen deal.

Pending upgrades — coming soon

A few connections are in the works that will make the tool even more useful:

Planned
Actual P&L per client
A live connection to actuals so each client's forecast can be matched against real P&L — see plan vs. actual side by side.
Planned
CoreTool connection
Sync deals and resourcing with CoreTool so the plan and the delivery system stay aligned.

What's new — and why it helps

A handful of upgrades landed recently. If you’ve used the tool before, these are the ones worth knowing.

HubSpot
HubSpot deal picker
The Opportunity field searches HubSpot directly — pick a deal and the opportunity name and HubSpot ID fill in automatically.
Clients
Managed client list
Pick the client from an approved list; request a new one and an admin validates it. Keeps client names consistent everywhere.
Stay signed in
No more login bounces
The app refreshes your session silently, so you're not kicked to the login screen while you work.
Never lose work
Draft recovery
If your session times out mid-edit, your changes are saved and offered back the moment you log in again.
Faster
Quicker save & open
Salary data is fetched in one batched read and cached, so saving and opening deals is noticeably snappier.
Approvals
Smart approval emails
Approvers get the client, HubSpot opportunity & ID, and the GM with its rating — and a button straight to the summary.
Approvals
@mention by email
Tag a colleague in a comment and they get an email with your note and a direct link back to the deal.
Approvals
Approval locks the deal
Approving locks the deal in one step — only Clone remains. Admins are emailed to update the HubSpot deal.
Clarity
Margin rating
Every GM carries a plain-language grade so health reads at a glance.

Getting started

Log in with your Symphony email (first time in, set a password from the invite link). The left sidebar is your map: Guide (this page), Overview for headline numbers, New Deal to price, Pricings for everything you can see, and Rate Card for the current rates.

💡Signed out unexpectedly while editing? Just log back in and open the deal — you’ll be offered your unsaved changes to Restore.

Create a deal

Click New Deal and fill the attributes at the top — they identify the deal and drive the currency maths:

  • Client and Opportunity name — the client and the HubSpot deal name.
  • HubSpot ID — ties the deal to your CRM (it appears in the approval email too).
  • Quote type — Time & Materials, T&M Capped, Fixed scope / fixed price, or Fixed price fee.
  • Deal currency (USD or EUR) and the FX rate — Finance sets the rate per deal.
Example · Acme Robotics — “Platform Rebuild”
Client Acme Robotics, Opportunity Platform Rebuild, HubSpot ID HS-48213, Quote type Time & Materials, Currency EUR. The deal starts as a draft — yours to edit freely.

Choosing the client

The Client field is a picker — start typing and choose from the approved client list, so names stay consistent across deals and reports.

If the client you need isn’t there yet, type it and choose “+ Request … as a new client”. That does three things: emails the admins to validate it, lets you carry on and save the deal, and shows an orange note that the client is waiting for validation. Once an admin approves it, the note clears and the name joins the list for everyone.

🏢Admins manage the list under Clients (in the sidebar) — validating requests, adding, or removing clients.

Build the project plan

Add a resource row per person or role, then allocate hours across the months. The app fills in the numbers as you go — rates from the rate card, cost from the salary sheet, totals and per-line GM1 live.

Let the Plan Assistant build the rows for you

Instead of adding rows by hand, you can describe the team in plain English and the Plan Assistant (the input box above the plan) creates the rows for you. It works out the role and seniority, sets the duration, and prefills the monthly hours (about 151 h per fully-allocated month, edge months pro-rated) — always showing a confirmation note so you can check it.

  • Say the role, a seniority (junior / medior / senior / principal), and a duration (“for 6 months”). You can add a discount too.
  • List several people in one go, separated by commas.
  • Made a mistake? Each request can be undone — it removes exactly the rows it added.
Example · Acme Robotics — “Platform Rebuild”
Type “2 software engineers senior for 6 months, 1 solution architect senior for 6 months with 5% discount” and the Assistant adds all three rows, prefilled and ready — then you fine-tune the hours if needed.
🔒Costs and salaries are only visible to people whose access allows it — see Who sees what below. Everyone else works from margin and revenue.

Add contingencies

Contingencies are buffers applied on top of the raw plan — FX, staffing (salary increase, geography, seniority), effort, cost items (travel, hardware, licenses), discount on fee, and service/referral fees. Each is a percentage or an absolute amount.

Example · Acme Robotics — “Platform Rebuild”
A 3% staffing contingency (salary drift over the 6 months) and a fixed €2,000 travel line. The summary folds these into the final revenue and GM automatically.
Fat-finger protection: percentages are capped at a sane range, so a stray “5000%” is rejected rather than silently wrecking the margin.

Read the margin

The app is the source of truth. As you edit it shows Revenue (EUR), GM1 (before contingencies & overheads), and GM2 (the headline margin after everything). Every GM2 carries a rating so you don’t have to memorize thresholds:

Excellent · 60%+On target · 55–60%Attention · 50–55%Below target · under 50%
Example · Acme Robotics — “Platform Rebuild”
Acme lands at GM2 57.4%On target. Good enough to send up for approval.

The four views

Inside any deal you can switch between four tabs without leaving the page:

DealThe full editor — attributes, project plan, contingencies. Where you build.
Executive SummaryThe clean, presentation-ready view of revenue, margin, and key figures. Approval emails land here.
ComparePut this deal side-by-side with another and see the key differences called out.
HistoryEvery save, showing how GM, revenue (EUR), discount, billing rate, and headcount moved over time.

Send a deal for approval

This is the part that changed most — the whole loop is designed to happen over email and land you exactly where you need to act.

  1. 1
    Finalize the pricing
    When the pricing is ready, click Finalize — approval in HubSpot. Status moves to finalized. The deal stays editable — approval happens in HubSpot, not here.
  2. 2
    Approval happens in HubSpot
    Your normal HubSpot approval process runs on the linked deal. Nobody approves inside the Pricing Tool.
  3. 3
    Import the approval
    Back on the deal, click Check HubSpot approval. The app reads the HubSpot deal's stage and shows it. When it's in an approved stage, the deal becomes approved · locked and its numbers are frozen.
  4. 4
    Questions? Comment & @mention
    Use the comment thread and @mention a colleague (who can see the deal) to ask something — they get an email with a link back to the same spot.
  5. 5
    Iterate with Clone
    An approved deal is read-only. Need a variant? Clone makes a fresh draft; the original stays as the record.
🔐Approval always happens inside the app (you must be logged in) — the email is a fast way in, never a one-click approve that could be forwarded.

Comments & @mentions

Every deal has a comment thread at the bottom. Type @ and pick a colleague from the list to tag them — that attaches their name so they’re actually notified. Mentioned people get both an in-app notification and an email with your comment and a direct link to the deal’s summary and thread.

📌Pick the name from the @ dropdown — don’t just type it — that’s what links a real person so the email fires.

Who sees what

Salary and cost detail is sensitive, so each person sees a deal at their own access level. Admins and Finance always see everything; others see one of these:

Full
Admin · Finance · full-access users
  • All costs, salaries, per-line margins
  • Nothing hidden
Average only
Assigned per user
  • No individual names
  • Cost shown as the role average, not the person's salary
Project GM only
Assigned per user
  • No per-line cost or GM
  • Only the overall project margin, and only when the team is large enough to stay anonymous

The same protection applies everywhere — the deal list, dashboard totals, and exports — so numbers never leak through a side door. Sharing a deal shows it to someone at their own level, never above it.

Handy to know

Where do the rates and salaries come from?

Live from the central salary Google Sheet, read only when the app calculates. Use Refresh on the Rate Card page for the latest. Once a deal is approved, its numbers are frozen — a later rate change won’t move an approved deal.

Can I reopen a submitted deal?

Yes, while it’s still submitted — reopen it to a draft to edit. Once approved, it’s locked; use Clone instead.

I don’t see costs on a deal — is something broken?

No — that’s your access level (Average or Project-GM). You’ll still see revenue and margin. Ask an admin if your role needs changing.