Bid summary
Tender
Reference, submission date and status. Contract value, programme and terms are on page 02.
Revenue and cost by month
Bid price after deductions vs. total cost incl. overhead
Watch-list
Items that move the bid margin or breach a contract limit (plan basis)
Pricing
Cost per billed unit, the sell rate, the rate that reaches the target gross margin and the market range, line by line. Year-1 prices in each line's currency; escalation applies per contract year.
Rates by line
Sell rate and market range are editable; the other columns are calculated
Go / No-go
Weighted bid criteria scored 0–5. Margin vs target and Risk cover score themselves from the bid figures; the decision is yours.
Criteria
Weights are normalised to 100 for the score
Decision
Recommendation from the thresholds; final decision recorded by you
Dashboard
Revenue and cost by month
Invoiced revenue after deductions vs. total cost incl. overhead
Watch-list
Items that move margin or breach a contract limit
Margin walk
Potential revenue → revenue → gross margin → net margin · each step with its amount and % of revenue
Where the money goes
Cost and deduction components
Cumulative position
Revenue and cost S-curves, with cash position after payment terms
Deployment
Full-time equivalents by resource group
Revenue and cost by group
Staff revenue vs. employment cost
Basis of calculation
Every figure above follows from these inputs
Project & contract
Contract value, working calendar, billing terms, contractual caps and company overheads. Risk contingency is set on page 07.
Programme & extensions
Original period and value, plus time extensions and variations. Approved items count in every scenario; pending items only in scenarios that include them.
Project
Billing & payment terms
Working calendar & billability
Contractual caps & deductions
Overheads, fees & staff OH
Escalation
Exchange rates — converts lines entered in another currency into the project currency
Monthly working hours · hours per programme month, click a month to overwrite its default
Public holidays
Resources
Pick start and end months, or choose Profile to enter the deployment month by month (one line per position). Rates and costs are year-1 prices in each line's currency; escalation applies per contract year.
Billable resources
Billed to the client on each line's basis: hourly, daily, weekly or monthly
Non-billable resources
Support allocated to the project — cost only, not billed (e.g. HQ finance, contracts)
Actual hours
Actual hours replace the plan for that month; the plan is kept for comparison.
Other direct costs
Vehicles, accommodation, IT, travel and subcontracts. A billable line adds its monthly sell value to revenue. Amounts are in each line's currency.
Risks & contingency
Quantified risk register, Monte Carlo simulation (5,000 runs) and the contingency carried in the P&L. Changes here flow into every margin figure.
Contingency build-up
What the P&L carries as contingency cost
Risk exposure S-curve
Probability that total risk cost stays at or below each value
Risk register
Probability and three-point cost impact (min / most likely / max). Residual values apply after the response; blank residual = unchanged.
Heat map
Residual position of open risks
Top risks by EMV
Before and after response
Contingency drawdown log
Actual use of contingency, linked to the register
Scenarios
Adjustments applied on top of the project inputs. Leave KPI and contingency blank to use the project values.
Margin by scenario
Gross and net margin against the target
Sensitivity
Side-by-side comparison
Monthly P&L & cash
Forecast vs actual
Cash position
Cash flow
Receipts after payment terms, advance recovery and retention; payments in the month incurred
Invoicing
Invoice register — invoices, credit notes, accruals and forecast invoices, with due dates, payments and days late. Amounts are net of VAT.
Forecast, invoiced and received
Cumulative by month · forecast is the scenario in the title block
Receivables ageing
Outstanding invoices by days past the due date
Invoice register
AI analyst
Connecting…
Conversation
Try asking
Anthropic API key
This offline copy calls Claude with your own API key, billed to that key (console.anthropic.com).
What the analyst can do
Reports
Period P&L reports: current (inception to date), a single month, a calendar or contract year, or the whole project at completion. Budget is the Baseline scenario; forecast is the scenario in the title block; actuals come from imported cost and invoice lines.
Commentary
Data import
Bring resources, other costs, risks, drawdowns or actual costs and invoices in from Excel / CSV, PDF, Word, Primavera P6 (XER / XML) or Oracle ERP / Fusion exports. You see a preview and choose to append or replace.
1 · What was read
Pick the sheet or table and the row that holds the column headings
2 · Map columns
Columns are matched by heading; change any that are wrong
3 · Preview and import
Imported actuals
Help & how-to
How ASH P&L Suite works, page by page, and how every figure is calculated. Hover or tab to the i marks for field-level help.
Start here
Getting startedFirst steps, page by page
1 · Create the project
- New project starts a blank file; Duplicate project copies the one open.
- Live projects and the Pre-bid planner each have their own list.
2 · Project & contract (page 02)
- Start month, original duration, contract value, project currency.
- Working calendar and billability.
- Billing and payment terms, caps, overheads, escalation.
- Time extensions and variations, if any.
- Amounts shown as: full, with decimals, in thousands or in millions.
3 · Resources (page 03)
- Billable staff in the top table, non-billable support (e.g. HQ finance) below.
- One line per position: quantity, allocation, start / end month, basis, currency, monthly cost, sell rate.
- Deployment that changes month to month: choose Profile and enter each month (% or hours).
- Actual hours from timesheets: see Actual hours and timesheets.
4 · Invoices, costs and risks
- Page 04: record invoices as issued and paid, or Add forecast invoices.
- Page 05: vehicles, accommodation, IT, travel, subcontracts; tick Billable if the client pays.
- Page 07: risks with probability and min / most likely / max cost; choose how contingency is built.
5 · Read the results (page 01)
- Margin cards, margin status, billing and collection, watch-list, charts.
- Change the scenario in the title block.
- With actuals in, the cards show job to date and at completion beside the plan.
Handy controls
- Float on all pages: a slim margin strip on every page while you edit; click to expand, × to close.
- Freeze values: snapshot now; every figure then shows its change (green better, red worse) until Release.
- « at the top of the side menu collapses it; it collapses by itself below 1400 px.
- Save project file keeps a .json copy; Export gives Excel, PDF or a period report.
Live projects and the Pre-bid plannerThe two workspaces, pricing, go / no-go, Transfer to Live
The two tabs
- Live projects: awarded or running jobs, with invoices, timesheets, actual hours and actual costs.
- Pre-bid planner: bids being priced and evaluated.
- Each tab has its own project list and side menu; the last tab used is remembered.
- Same engine and file format. v1.9.x files open as live projects; a pre-bid file opens in the planner.
- A pre-bid keeps no live data (invoices, actual hours, timesheets, actual costs).
Pre-bid pages
- 01 Bid summary: tender ref, due date, status, headline cards, watch-list, Transfer to Live.
- 02 Bid & contract and 03 Staffing & cost: as pages 02 and 03 of a live project, without Actual hours.
- 04 Pricing: rates line by line against cost, target and market.
- 09 Go / No-go: weighted criteria, recommendation, your decision.
Pricing (page 04)
- Cost per billed unit =
monthly cost × (1 + OH %) ÷ billed units per month. - Rate at target GM =
sell rate × (1 + uniform rate change). - Cost-plus rate =
cost per billed unit ÷ (1 − target GM)(reference, before deductions). - Market low / high: your range; Position shows below / within / above.
- Apply target rates also moves billable other-cost sell values by the same %.
- Fit to market range clips each rate; Round rates rounds to 1, 5 or 10.
Go / No-go (page 09)
- Each criterion: weight and a score 0–5.
- Margin vs target and Risk cover score themselves from the bid.
- Score =
Σ weight × score ÷ 5, weights normalised to 100. - Go at or above the go threshold (70), Review at or above review (50), otherwise No go.
- No target GM set: Margin vs target is not scored and counts 0.
Transfer to Live
- Makes a new live project with the same staffing, costs, risks, terms and scenarios.
- Keeps the bid (Baseline scenario) as the baseline.
- The live dashboard shows a Bid baseline card: bid GM vs plan vs at completion.
- The pre-bid stays in the planner, marked Awarded.
What each page doesOne line per page (live project)
- 01 Dashboard: margin cards, billing and collection, watch-list, charts, basis of calculation.
- 02 Project & contract: programme, extensions, currency, calendar, billing terms, caps, overheads.
- 03 Resources: billable and non-billable staff; Actual hours panel.
- 04 Invoicing: invoice register, receivables ageing, days late, DSO.
- 05 Other costs: non-staff costs, recurring or one-off, any currency.
- 06 Monthly P&L & cash: month by month, actual vs forecast, cash and finance cost.
- 07 Risks & contingency: register, heat map, Monte Carlo, contingency, drawdown log.
- 08 Scenarios: adjustments, side-by-side comparison, sensitivity.
- 09 Reports: period reports to PDF or Excel.
- 10 AI analyst: questions answered with the same calculations.
- 11 Data import: Excel / CSV, PDF, Word, Primavera P6, ERP exports, timesheets.
How figures are calculated
How the numbers are worked outBillability, hours, revenue, cost, margins, cash
Billability
- From leave:
(working days − annual leave − holidays − sick − emergency) ÷ working days. - Or expected availability %, less known off-days %.
- Either way less any other non-billable %.
- Working days per year =
days per week × 52.
Monthly hours
- Flat:
days per week × 52 ÷ 12 × hours per dayevery month. - Calendar:
(days in month − weekly days off − holidays) × hours per day. - Example: Sep-26, Fridays off, National Day = 25 × 8 = 200 h.
- Load KSA official holidays adds 2024–2027; check Eid dates against your calendar.
- Calendar mode: billability no longer deducts holidays. No Ramadan reduction.
- Islamic holidays after 2030 are added by hand.
Revenue
- Hourly:
rate × month hours × billability. - Daily:
rate × working days × billability. - Weekly:
rate × 52/12 × billability. Monthly: the monthly rate. - All × quantity × allocation; sell escalation at each contract anniversary.
Allocation
- Full time = 100%.
- Part time = share of the person's time on this project.
- Days / month = days ÷ working days per month.
- Revenue and cost both follow the allocation.
Deductions
- KPI =
gross billing × expected %, never above the cap. - Localisation =
shortfall hours × deduction rate, per group or overall. - Rate: % of the group's average rate, or a fixed amount per hour per group (e.g. 78 / 55 / 38 / 26 SAR for A–D).
- Agreed concessions (page 02): months where local staff of some groups count full time. Empty = contract terms.
- Scenario Contract — terms only ignores concessions.
- Invoicing stops at the contract value when the ceiling is ticked.
Cost and margins
- Labour =
monthly cost × (1 + OH %) × quantity × allocation, escalated yearly. - Non-billable staff: cost only, no localisation hours.
- Gross margin =
revenue − fees − labour − other costs − insurance − contingency. - Net margin =
gross margin − company overhead; equals GM with no overhead. - Rate change to target: the uniform rate change that reaches the target GM.
Cash
- Invoiced at the invoicing frequency; paid after the payment terms.
- Less retention and advance recovery.
- Costs paid in the month incurred, or after the cost payment lag.
- Peak funding = the lowest point of cumulative cash.
- Finance cost =
annual rate ÷ 12 × negative cumulative cash, month by month.
Margin cardsAt completion, on contract value, job to date, plan
- At completion: revenue, cost incl. contingency, gross margin with status, net margin.
- On approved contract value: the same, with revenue = approved contract value.
- Job to date: actual revenue and cost to the data date; no contingency.
- Plan: the resource plan for the whole programme.
- Estimate at completion: actual to date + forecast to go; contingency at the forecast use %.
- Ticks above the cards show or hide a group; the choice is remembered.
- Billing & collection card: invoiced, collected, outstanding, overdue, not invoiced, accrued, balance.
Figure definitionsRaC, CaC, JTD, GM, NM, bid price, cost-plus …
Meaning of each figure, as the dashboard, reports and AI analyst use it.
CurrenciesProject currency and exchange rates
- Project currency (page 02): the currency of every total, chart and export.
- Each line can have its own currency (Ccy column), converted at the Exchange rates panel.
- Rates show both ways (1 EUR = … SAR and 1 SAR = … EUR); type either.
- Defaults: ECB reference rates of 16 Oct 2026; Gulf currencies at their US-dollar pegs.
- KWD, EGP and PKR have no default; enter them before use.
- Fetch latest rates needs an internet connection; Reset restores the defaults.
- Changing project currency: Convert (amounts converted) or Relabel only (no number changes).
- A currency with no rate is counted unconverted and flagged.
Programme, end date and extensionsDuration, revised value, extensions and variations
- Original end = start month + original duration; type either.
- Month fields: Mmm-yy (e.g. Apr-24).
- Revised value, end and duration = original + approved extensions (read-only).
- Approved items always count; Pending only in scenarios that include them.
- Extend resources: lines running to the current end are carried through the extension.
- Lines already entered beyond the end are never pushed further.
- Added value raises the contract ceiling by the same amount.
Billing and payment termsInvoicing frequency, payment days, advance, retention, finance cost
- Invoicing frequency: each invoice covers the months since the last one.
- Less frequent invoicing raises the funding need.
- Payment terms count from the date the invoice is submitted to the client.
- Due date =
submitted + payment terms. - Advance: % of the original or revised value, in the month you set.
- Advance recovery %: deducted from each invoice; blank = same as the advance.
- Retention: % held back, released the set months after completion.
- Cost payment lag: months between incurring and paying a cost (0 = same month).
- VAT is shown in the register only; it is not in the P&L or cash flow.
Risks and contingencyRegister, Monte Carlo, contingency build-up
Register
- Score =
probability band × impact band(1–5 each). - High ≥ 15, Medium 8–14, Low ≤ 7.
- Impact band: most-likely cost as a share of the contract value.
- EMV =
probability × mean of min / most likely / max. - Residual values apply after the response; blank = unchanged.
Simulation
- Monte Carlo, 5,000 runs.
- P50 / P80 / P90: cost not exceeded in 50 / 80 / 90 % of runs.
Contingency
- Contingency =
general + risk allowance + mitigation + management reserve. - Risk allowance: none, residual EMV, P50, P80 or P90.
- Expected use %: how much is charged in the forecast.
- Cover =
contingency held ÷ P80 risk cost. - Cover of 2 or more shows as a multiple (e.g. 34.1×): contingency far above the quantified risks; check the register.
- Confidence: chance risk costs stay within what is held.
Scenarios and margin statusScenario adjustments, comparison, margin codes
Scenarios
- Adjust billability, sell rate, cost, KPI %, contingency use, extra months, overhead, localisation.
- Blank KPI and contingency use the project values.
- Contract scope: approved position, original contract, or up to a named extension.
- A fixed contingency is pro-rated to the scope.
- Sensitivity: at-completion basis once actuals exist, plan before.
- Baseline cannot be deleted.
Margin status
- Healthy: GM at or above target.
- Marginal: up to 5 pp below.
- Action needed: more than 5 pp below.
- Loss-making: GM negative.
Live project records
Invoicing and billing & collectionInvoice register, due dates, receivables
Line types
- Invoice: issued to the client.
- Credit note: entered positive; reduces revenue.
- Accrual: work done, not yet invoiced; counts as actual revenue.
- Forecast: a planned invoice.
- Advance and Retention release: cash only, not revenue.
Dates
- Invoice date: issued by finance; invoiced revenue counts by it.
- Submitted: date given to the client.
- Due =
submitted + payment terms(automatic; italic until Submitted is entered). - An early payment does not change the due date.
- Days late =
paid date − due date, or status date − due date if unpaid.
Payments
- Tick Paid and enter the payment date.
- Paid amount: Full, or Partial with the amount received.
- Add invoice: next period after the latest, with its forecast amount.
- ⤴ on a forecast or accrual issues it as an invoice.
Billing figures
- Outstanding = invoiced, not yet paid. Overdue = past the due date.
- Not yet invoiced = closed periods' forecast revenue − invoiced for them.
- Remaining balance =
contract value − invoiced to date. - DSO =
outstanding ÷ last 90 days' invoices × 90. - Actual revenue in reports: from the register or imported actuals (set on page 04).
Actual hours and timesheetsAttended hours, leave codes, covers, names
Entering actual hours (page 03)
- Pick a month; type each line's attended hours (line total, not per person).
- Actuals replace the plan for that month in every figure; the plan stays beside them.
- Blank = no actual; 0 = not deployed. Clear month removes the month.
- Attendance % =
attended hours ÷ work hours. - Name and Role can be edited here; they update the resource line.
Importing a timesheet
- Import timesheet… (page 11 or page 03) reads .xlsx, .xls or .csv.
- Rows are matched to the resource line with that role in the month; check the preview, then Apply.
- Positions with (Interim), (Acting) or a note match their base position.
- Rows with 0 hours are skipped.
- A known person goes to their line; names only pick between lines of the same role.
- Source: TS Mmm-yy (imported) or Man. (typed); click TS to view the month.
Work hours and leave
- Work days / Work hours: the person's available time (default = month hours).
- Leave columns: WE weekly off, PH holiday, AL annual, SL sick, CL casual, ML maternity, CmpL compassionate, OL other / unpaid.
- Rest-day codes OFF, W/O, WO, W, R, RD count as WE.
- Unknown codes (UL, EL, absent …) count as OL.
Pay and billing rules
- Revenue follows attended hours.
- Salary follows work hours; paid leave is paid, not billed.
- 0 h with paid leave (AL, SL, CL, ML, CmpL) = month of paid leave: salary, no revenue.
- 0 h with only WE, PH or OL = not deployed.
- Hours above work hours show as overtime.
Covers by the other nationality
- Other nat. h: hours on a line worked by a person of the other nationality.
- They stay on the covered line for billing and cost.
- They count for localisation by the person who worked them.
Personal names
- Kept only in the project file and this browser.
- Never sent to the AI, logged, or written into Excel / PDF exports.
Importing dataExcel, CSV, PDF, Word, P6 and ERP exports
Excel / CSV
- Any layout: pick the sheet and header row, check the matches, append or replace.
- Download Excel template gives a sheet for every table.
PDF and Word
- PDF text is read line by line; 3+ columns become candidate tables.
- Tables split over two pages are offered joined.
- No clean table (e.g. a month-grid manning schedule): use AI: extract rows from text.
- Word (.docx): every table is offered; save .doc as .docx first.
Invoices
- Service period as text (“April to August 2024”) becomes from–to months.
- Amounts include VAT: tick it and the VAT is taken out.
- Existing invoice numbers are updated (e.g. receipt dates from a collections log).
- Drafts with no invoice date import as accruals.
Plans and ERP
- Primavera P6 (.xer / XML): assignments become average FTE and monthly cost; add sell rates after.
- Oracle ERP / Fusion: cost lines as Actuals; receivables as Invoices.
- Deployment by month (one column per month): one line per position with a profile; names are not imported.
- Old Load % columns are read as the allocation.
ReportsPeriod reports, PDF and Excel
- Current: inception to the as-of month. Month: one month. Year: calendar or contract year. End of project: all.
- Contents: margin cards, billing & collection, key figures, estimate at completion, charts, resources, risks, invoices, cash.
- Budget = Baseline; forecast = the title-block scenario; actual = register or imported actuals.
- Invoice status at: as on page 04 (today) or end of the as-of month.
- In the period card: actual revenue and cost inside the period, no contingency.
- Deployment & cash card: average FTE, receipts, cost, net cash, with forecast beside.
- A spread (lump-sum) cost line adds a footnote.
- PDF uses the ASH title block; Excel adds monthly detail and the margin table.
Files and AI
Saving, exporting and the AI analystProject files, exports, the AI analyst, privacy
Saving
- Projects are kept in this browser automatically; a warning shows if storage is full.
- Save project file: writes back to the file opened or last saved (Chrome / Edge).
- Save as…: choose folder and name; later Saves go there (Firefox / Safari: later Saves reuse the name).
- Firefox, Safari and the web copy cannot write back to a file: Save as asks for the file name and both save to the download folder.
- To choose the folder each time there, turn on “Always ask where to save files” in the browser settings.
- Reopening an open file asks Replace or Keep both.
Exports
- Excel: summary, inputs, resources, costs, risks, invoices, actuals, monthly P&L, cash, scenarios.
- Excel totals and margins are formulas, with a check column.
- Resources, Invoices, Actuals and Other costs re-import exactly as exported.
- PDF: title block, summary, charts, risks, billing, scenarios, monthly P&L, resources.
AI analyst and privacy
- Uses your Claude account (web copy) or your Anthropic API key (offline file).
- Runs what-ifs, rate solving and risk tests; never changes your inputs.
- Everything is calculated in your browser; imported files are not uploaded.
- Only text you ask the AI to read is sent; Fetch latest rates downloads public rates only.
Version history
What changed in v2.0ASH P&L Suite
- Two workspaces: Live projects and the Pre-bid planner.
- Pre-bid pages: Bid summary, Pricing, Go / No-go, Transfer to Live.
- Bid baseline card on the live dashboard.
- One list of figure definitions for Help and the AI analyst.
- Help in topics that open and close, with search (v2.0.1).
- Topic dropdown above the help, next to the search (v2.0.3).
What changed in v1.8 – v1.9.11ASH P&L Studio
- Grouped margin cards: at completion, on contract value, job to date, plan.
- Revised value, end and duration on page 02; Mmm-yy month fields.
- Scenario blocks: plan and at completion; scoped scenarios.
- Reports: period cards, Deployment & cash, invoice status date.
- Excel with formulas and check columns; round-trip re-import.
- Monte Carlo feeds contingency; deduction rates per group.
- Country calendars, actual hours, timesheet import, leave codes (v1.9.4 – v1.9.9).
- Cover hours (Other nat. h), paid-leave months, agreed concessions (v1.9.10 – v1.9.11).
No topic matches the search.