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 close the deal — approval then happens in HubSpot, and the app imports the result automatically.
Newest in the app
The newest thing in the app. Everything else that changed recently was a specific piece of work for a specific deal or client, so it is described where it belongs rather than announced here — use the search above if you are looking for something particular.
What's new — and why it helps
What this app does that the pricing sheet we used before could not. If you priced deals the old way, these are the differences worth knowing.
Pending upgrades — coming soon
A few connections are in the works that will make the tool even more useful:
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, Compare to line several deals up side by side, and Rate Card for the current rates.
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 or Fixed price.
- Estimated start and end — these drive the plan: the hours grid spans exactly that window. Set them before building the plan.
- Deal currency (USD or EUR) and the FX rate — auto-filled daily from the ECB rate, overridable per deal.
- Management fee (3% by default) and Discount on fee — both applied on top of the plan revenue.
- Bill AI usage to the client? — answer Yes and a block appears under the Plan assistant where you charge either a % of revenue or a flat amount. It adds to revenue and to the client fee.
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.
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 — or an uplift (“with 10% uplift”) to bill above the rate card.
- List several people in one go, separated by commas.
- Made a mistake? Each request can be undone — it removes exactly the rows it added.
How a row’s effort works
Each row is driven by three fields, and it’s worth knowing which does what:
- Months (or weeks) allocated — how long the person is on the project. Fill this first; it prefills the hours.
- Allocation % — how much of their time per period. This drives the cost.
- Billability % — how much of that allocated time is billed. This drives the hours and revenue. It defaults to the allocation; lower it when not everything is billable.
| What you want | Allocation | Billability |
|---|---|---|
| Bill 8 h a day — full time on the project, all of it charged | 100% | 100% |
| Bill 4 h a day — half their day on the project, all of it charged | 50% | 100% |
| Bill 4 h a day, the other 4 h are a Symphony investment | 100% | 50% |
| Bill 2 h a day, another 2 h investment — half their day on the project | 50% | 50% |
Hours fill at 151 h per fully-allocated month (158 h for Colombia-based resources), starting at the estimated start date — a mid-month start is pro-rated. Switch the row between Monthly and Weekly at any time; the hours you already entered convert across.
Changing the dates later
The dates stay in charge of the plan, at any point while the deal is a draft:
- Move the start and the whole engagement moves with it — the end date and every row’s hours shift by the same offset, keeping each row’s effort and shape.
- Move the end and the grid follows: extending lengthens the plan, shortening drops the hours past the new end.
- Allocation % and billability % never change because of a date change — dates set the duration, nothing else.
Add contingencies
Contingencies are buffers applied on top of the raw plan — FX, staffing (salary increase, geography, seniority), effort, cost items (travel, hardware, licences), and service/referral fees. Each is a percentage or an absolute amount.
Some are filled in for you — all of them still need your confirmation
Three lines now propose a value from the standard rules and your project plan, updating as the plan changes:
- Geography cost factor — a location reservation based on how many resources are still unnamed: 1–3 → 2%, 4–6 → 3%, more than 6 → 4%. It clears once everyone is named.
- Staff seniority adjustment — 1% while the plan has no Senior / Staff / Director / Principal role; 0% as soon as one is planned.
- AI cost contingency — 5% pre-added on every deal so AI cost isn’t forgotten. It’s a placeholder that will be updated once the AI cost model is final. It’s measured on revenue but booked as a cost, because it’s money we pay out.
- FX contingency — set automatically on USD deals as a rate buffer, deducted from the EUR revenue.
The moment you type your own number in one of those rows, it stops following the rules and your value stands. Deals saved before a rule existed are never rewritten.
Billing AI to the client is the other side of the coin and lives in its own block near the top of the deal, not here — this row is our internal cost.
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:
Comparing several deals
The Compare section lines deals up against each other — for a client conversation, a portfolio review, or to see whether a new deal is priced like the ones before it.
- Choose the deals. Search by client or opportunity and tick up to twelve. The list is the same one the Pricings page shows you, so you can only compare what you can already open.
- Read the grid. One row per figure, one column per deal: revenue, total fee, GM2, cost, indirect costs, average monthly revenue, average salary per FTE, average rate, discount off SRC 2026, management fee, hours, people, FTE, duration, Support Factory. A green tick marks the better figure on the rows where better means something — higher revenue, GM2, rate and hours; lower cost and discount. Team size, FTE and duration carry no tick: they are the shape of a deal, not a contest.
- Open the team. Show team structure at the foot of the grid opens a row per role with headcount and billed hours, and a dash where a deal has nobody in that role — often the difference the money hides. It starts closed because it is a long read.
- Go head to head. Tick compare above two of the deal names and the panel above the grid becomes a direct comparison: both values, the gap in money, the gap as a percentage, and a plus or minus read from the first deal you ticked. Below it, Comments puts the same thing in words.
- Save it. Name the selection and Save view. Tick Share with everyoneand the team can open the same set; only you (or an admin) can change or delete a view you saved.
The four views
Inside any deal you can switch between four tabs without leaving the page:
| Deal | The full editor — attributes, project plan, contingencies. Where you build. |
| Executive Summary | The clean, presentation-ready view of revenue, margin, and key figures. Approval emails land here. |
| Compare | Put this deal side-by-side with another and see the key differences called out. |
| History | Every save, showing how GM, revenue (EUR), discount, billing rate, and headcount moved over time. |
Close a deal & send it to HubSpot
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.
- 1Close dealWhen the pricing is ready, click Close deal. A pop-up gives you the figures to copy into HubSpot — Revenue (EUR), Total fee, GM2, avg rate (€/h), discount — plus a link to the executive summary, with Copy all, Done, and Cancel (which reopens the deal as a draft). The approval itself still happens in HubSpot. Status becomes Closed — approval in HubSpot, and the deal stays editable.
- 2Paste into HubSpotPaste the link and figures onto the HubSpot deal. Approval happens in HubSpot — nobody approves inside the Pricing Tool. Anyone with the link (e.g. the approver) can open the executive summary to review it.
- 3Approval imports automaticallyWhen the HubSpot deal reaches the approved stage, the app imports it — the deal becomes Approved & locked and its numbers freeze. This runs automatically twice a day; to check right away, click Check HubSpot approval on the deal or from the Pricings list.
- 4Questions? Comment & @mentionUse 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.
- 5Iterate with CloneAn approved deal is read-only. Need a variant? Clone makes a fresh draft; the original stays as the record.
The Pricings list
The list shows every deal you can see. Click a column header to sort (client, opportunity, revenue, GM2, who made it, last updated), and use the filter boxes under Client, Opportunity and By to narrow it by typing. The tabs across the top jump straight to a status: Draft, Sent to approval, Approved, Won, Lost, Test.
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:
- All costs, salaries, per-line margins
- Nothing hidden
- No individual names
- Cost shown as the role average, not the person's salary
- 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.
The salaries, per-resource costs, margins and rates you can see in this tool are strictly confidential Symphony data. Access is granted to you personally, for your work only.
- Do not share, screenshot, copy, export or forward this data — to anyone, inside or outside Symphony.
- Do not discuss or comment on individual salaries, costs or margins — not in the deal comments, chat, email, or in person.
- Never show your screen or share your login. What you see is scoped to your role; others may not be entitled to it.
- If a deal shows you numbers you believe you shouldn’t see, don’t act on them — report it to Finance or an admin immediately.
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.
A client has its own agreed rates — where do I see and change them?
Settings → Clients, under Client rate cards (admins only). Click a client to open its card: every project position with its USD and EUR rate, editable in place — correct a rate, add a position, or remove one, then Save rate card. You no longer need to re-upload a spreadsheet to change one number. On that client’s deals, a resource line mapped to a position bills at this rate and its discount off SRC 2026 is derived from it; roles the card doesn’t list fall back to SRC 2026. Removing every position clears the card.
How do I compare several deals?
Open Compare in the sidebar — see Comparing several deals above for the walk-through. In short: tick the deals, read the grid, tick compare above two of them for a head-to-head, and Save view to keep the selection. A saved view re-reads every deal each time you open it, so it always shows current figures.
Someone isn’t in the salary base — a contractor, or a person we’d hire for this deal?
Type the name on the resource line, then tick which one — the cost field that opens depends on it, because the two are costed differently. A contractor is paid by the hour, so you enter an hourly cost and the line costs rate × billed hours. A potential employee is a hire you would make for the deal, so you enter a monthly Gross 2 salaryand the line costs salary × person-months — exactly how an employee’s salary from the salary sheet is applied. Either way the figure stays with the deal, and the cost follows the plan: change the hours, the allocation or the months and it is recalculated on the right basis. You can also ask an admin to add the person to the salary base with Request this resource.
Can I give one person a further discount on a client rate card?
Yes. On a deal for a client with a dedicated card, each resource line shows the card’s own discount and, next to it, an extra field for what was agreed for that person — a minus value is an uplift. Both are measured against the SRC 2026 rate, so they add up, and the line shows the total discountas one figure: that is what this person bills against the standard rate. The card’s share is fixed by the agreed rate and can’t be typed over; the extra is yours. Leave it at 0 and the line bills exactly the card rate.
A client’s card is priced per month, not per hour — what then?
Some clients (Dyno Nobel) agree a monthly rate per role, split by team: Core Team or Additional Headcount. On such a deal each resource line asks for the team first, then the project position — the same role can be priced differently in each team. You then set only allocation % and billability %: there is no hourly rate to negotiate, and the hours are filled in at 151 h per fully-billed month. Revenue per line is monthly rate × billability × months. The discount shown against the SRC 2026 rate is derived from the monthly rate ÷ 151 h — the hourly equivalent — which is also what the line bills at. The Symphony rate-card role still comes from the GJF role, exactly as on any other deal: the project position sets the billing rate and never changes the Symphony mapping. Mark a card monthly in Settings → Clients → Client rate cards(or put “monthly” in the rate column header when uploading), and add a Team column for the tiers.
Can I reopen or edit a deal after sending it?
A Closed — approval in HubSpot deal stays editable, and you can also reopen it to a draft. Once Approved & locked, it’s frozen — use Clone to make a new version.
What do Won and Lost mean?
They come from HubSpot. When the deal reaches Closed Won or Closed Lost there, the app imports it and that becomes the status here — overriding Approved & locked, so closed business is tracked on its own. A won deal is frozen to its numbers just like an approved one.
Can I delete a deal?
Only drafts can be deleted (from the Pricings list, by the creator or an admin). Once a deal is Closed — approval in HubSpot or Approved, it can’t be deleted — it stays as a record.
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.
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.