{
 "meta": {
  "company": "Selmberg Consulting GmbH (fictional demonstration company)",
  "fictional": true,
  "jurisdiction": "Germany",
  "industry": "Professional services",
  "currency": "EUR",
  "last_actual_month": "2026-08-31",
  "scenario": "Base",
  "generated": "2026-09-23",
  "source_workbook": "Selmberg_Consulting_Professional_Services_Finance_Pack_Aug26_FICTIONAL.xlsx",
  "model_status": "OK",
  "formula_errors": 0,
  "formulas": 41071,
  "integrity_checks_passed": 39,
  "integrity_checks_failed": [],
  "formats": {
   "eur": "EUR, whole units",
   "eur2": "EUR, two decimals",
   "pct": "ratio (0.25 = 25%)",
   "int": "count",
   "num1": "number, one decimal",
   "num2": "number, two decimals",
   "num3": "number, three decimals",
   "x": "multiple",
   "date": "ISO date",
   "month": "month end, ISO date",
   "rate4": "exchange rate, units per EUR",
   "rate5": "exchange rate, units per EUR"
  },
  "notice": "Fictional demonstration prepared by BriQs Group. Every company, person, client, supplier, invoice and number is invented."
 },
 "scenarios": {
  "snapshot_run_date": "23-Sep-2026",
  "selected": "Base",
  "metrics": [
   {
    "key": "fy26_rev",
    "label": "FY2026 revenue (outlook)",
    "unit": "EUR",
    "base": 7663693.7924,
    "downside": 7274680.5797,
    "upside": 7748727.52,
    "live_selected": 7663693.7924,
    "check": 0
   },
   {
    "key": "fy27_rev",
    "label": "FY2027 revenue",
    "unit": "EUR",
    "base": 8138917.5737,
    "downside": 5365007.1201,
    "upside": 9575848.4328,
    "live_selected": 8138917.5737,
    "check": 0
   },
   {
    "key": "fy26_gpm",
    "label": "FY2026 gross margin %",
    "unit": "%",
    "base": 0.3688,
    "downside": 0.3529,
    "upside": 0.3727,
    "live_selected": 0.3688,
    "check": 0
   },
   {
    "key": "fy26_ebitda",
    "label": "FY2026 EBITDA",
    "unit": "EUR",
    "base": 912882.4844,
    "downside": 650541.411,
    "upside": 970026.3232,
    "live_selected": 912882.4844,
    "check": 0
   },
   {
    "key": "fy26_ebitdap",
    "label": "FY2026 EBITDA % of revenue",
    "unit": "%",
    "base": 0.1191,
    "downside": 0.0894,
    "upside": 0.1252,
    "live_selected": 0.1191,
    "check": 0
   },
   {
    "key": "fy26_np",
    "label": "FY2026 net profit",
    "unit": "EUR",
    "base": 528870.3509,
    "downside": 353226.1825,
    "upside": 567123.5248,
    "live_selected": 528870.3509,
    "check": 0
   },
   {
    "key": "fy27_gpm",
    "label": "FY2027 gross margin %",
    "unit": "%",
    "base": 0.3484,
    "downside": 0.2426,
    "upside": 0.422,
    "live_selected": 0.3484,
    "check": 0
   },
   {
    "key": "fy27_ebitda",
    "label": "FY2027 EBITDA",
    "unit": "EUR",
    "base": 981860.3661,
    "downside": -458595.0538,
    "upside": 2158256.6116,
    "live_selected": 981860.3661,
    "check": 0
   },
   {
    "key": "fy27_ebitdap",
    "label": "FY2027 EBITDA % of revenue",
    "unit": "%",
    "base": 0.1206,
    "downside": -0.0855,
    "upside": 0.2254,
    "live_selected": 0.1206,
    "check": 0
   },
   {
    "key": "fy27_np",
    "label": "FY2027 net profit",
    "unit": "EUR",
    "base": 566284.7499,
    "downside": -589067.9894,
    "upside": 1354456.7479,
    "live_selected": 566284.7499,
    "check": 0
   },
   {
    "key": "cash_dec26",
    "label": "Cash at 31-Dec-26",
    "unit": "EUR",
    "base": 967669.9383,
    "downside": 385787.169,
    "upside": 962132.9822,
    "live_selected": 967669.9383,
    "check": 0
   },
   {
    "key": "cash_dec27",
    "label": "Cash at 31-Dec-27",
    "unit": "EUR",
    "base": 1412060.209,
    "downside": 252875.0921,
    "upside": 2289943.6316,
    "live_selected": 1412060.209,
    "check": 0
   },
   {
    "key": "cash_min",
    "label": "Lowest month-end cash, Sep-26 to Dec-27",
    "unit": "EUR",
    "base": 703862.9423,
    "downside": 252875.0921,
    "upside": 706682.306,
    "live_selected": 703862.9423,
    "check": 0
   },
   {
    "key": "cash_min_m",
    "label": "Month of the lowest cash",
    "unit": "month",
    "base": "2026-10-31",
    "downside": "2027-12-31",
    "upside": "2026-10-31",
    "live_selected": "2026-10-31",
    "check": 0
   },
   {
    "key": "fund_need",
    "label": "Headroom at the lowest point vs the cash buffer (negative = shortfall)",
    "unit": "EUR",
    "base": 103862.9423,
    "downside": -347124.9079,
    "upside": 106682.306,
    "live_selected": 103862.9423,
    "check": 0
   },
   {
    "key": "util_fy27",
    "label": "FY2027 utilisation (own fee earners)",
    "unit": "%",
    "base": 0.6603,
    "downside": 0.5563,
    "upside": 0.755,
    "live_selected": 0.6603,
    "check": 0
   },
   {
    "key": "real_fy27",
    "label": "FY2027 realisation to fee revenue",
    "unit": "%",
    "base": 0.8841,
    "downside": 0.8778,
    "upside": 0.8923,
    "live_selected": 0.8841,
    "check": 0
   },
   {
    "key": "lock_dec27",
    "label": "Lock-up days at Dec-27",
    "unit": "number",
    "base": 76.7511,
    "downside": 94.1168,
    "upside": 75.911,
    "live_selected": 76.7511,
    "check": 0
   },
   {
    "key": "top1_fy27",
    "label": "FY2027 largest client share of revenue",
    "unit": "%",
    "base": 0.1942,
    "downside": 0.2169,
    "upside": 0.1978,
    "live_selected": 0.1942,
    "check": 0
   },
   {
    "key": "pipe_fy27",
    "label": "FY2027 fee revenue not yet won (share)",
    "unit": "%",
    "base": 0.8641,
    "downside": 0.7489,
    "upside": 0.8824,
    "live_selected": 0.8641,
    "check": 0
   },
   {
    "key": "fpfe_fy27",
    "label": "FY2027 fee revenue per fee earner",
    "unit": "EUR",
    "base": 209368.4386,
    "downside": 170704.5337,
    "upside": 244395.5014,
    "live_selected": 209368.4386,
    "check": 0
   },
   {
    "key": "hc_dec27",
    "label": "Headcount at Dec-27",
    "unit": "number",
    "base": 46.0088,
    "downside": 35.1653,
    "upside": 46.3503,
    "live_selected": 46.0088,
    "check": 0
   }
  ]
 },
 "checks": {
  "overall_status": "OK",
  "checks": [
   {
    "check": "Balance sheet balances in every month",
    "proves": "Total assets less liabilities and equity, all 24 months",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Cash flow: indirect method equals direct method every month",
    "proves": "P&L and balance sheet movements equal the sum of the schedule cash lines",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Closing cash on the cash flow equals balance sheet cash",
    "proves": "Link integrity",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Retained earnings roll: closing = opening + profit - dividends",
    "proves": "Equity roll-forward to Dec-27",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "EBITDA on the cash flow equals the P&L",
    "proves": "Add-backs complete",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Opening balance sheet at 31-Dec-25 balances",
    "proves": "FY2025 closing balances on Inputs_Actuals and the registers",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Fixed-fee and capped revenue in actual months equals the contract method",
    "proves": "Ledger revenue agrees with % complete (and the cap), every engagement, every actual month",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Hours by practice and grade equal hours booked to engagements, every month",
    "proves": "Timesheets by grade and by engagement agree; forecast demand by grade keeps every hour",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Staffing mixes sum to 100% for every profile",
    "proves": "No hours lost in the grade split",
    "value": 0,
    "tolerance": 0.0,
    "status": "OK"
   },
   {
    "check": "Milestone shares sum to 100%",
    "proves": "Every fixed fee is fully invoiced",
    "value": 0,
    "tolerance": 0.0,
    "status": "OK"
   },
   {
    "check": "Percentage complete stays between 0% and 100%",
    "proves": "No over-recognition",
    "value": 0,
    "tolerance": 0.0001,
    "status": "OK"
   },
   {
    "check": "Fixed fees completing within the horizon are fully invoiced by completion",
    "proves": "Milestone invoicing reaches the fee",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Capped engagements are never invoiced above the cap",
    "proves": "Fees invoiced to date never exceed the cap",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Client fee revenue equals the P&L, every month",
    "proves": "Client blocks and engagement totals agree",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Practice revenue equals the P&L, every month",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Practice contributions equal P&L gross profit, every month",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Allocated practice profits equal EBITDA, every month",
    "proves": "Central costs fully allocated",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Time to cash: standard value less discounts and write-downs equals fee revenue",
    "proves": "The realisation waterfall is complete",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "VAT balance equals the last two months net less the special prepayment held",
    "proves": "The one-month extension and the special prepayment are applied correctly",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "FY2026 tax charge equals the statutory rates on the annual taxable profit",
    "proves": "Year-to-date method is exact for the full year",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "FY2027 tax charge equals the statutory rates on the annual taxable profit",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AR aging: clients in germany tie to the ledger",
    "proves": "Item listing agrees with the balance at the last actual month",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AR aging: clients in austria and switzerland tie to the ledger",
    "proves": "Item listing agrees with the balance at the last actual month",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AR aging: insolvent client tie to the ledger",
    "proves": "Item listing agrees with the balance at the last actual month",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AP aging: subcontractors tie to the Payables schedule",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AP aging: travel and expenses tie to the Payables schedule",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "AP aging: overheads tie to the Payables schedule",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "13-week cash forecast reconciles to the monthly balance sheet at 31-Dec-26",
    "proves": "Weekly phasing distributes exactly the monthly cash lines",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Scenario snapshots are current for the selected scenario",
    "proves": "Live column equals the stored snapshot",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Budget vs actual revenue bridge reconciles to the P&L variance",
    "proves": "Hours plus rate effects equal the revenue variance",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "EBITDA walk from budget to actual reconciles",
    "proves": "Variances explain the full EBITDA gap",
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   },
   {
    "check": "Trade receivables never negative",
    "proves": null,
    "value": 725796.1868,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Trade payables never negative",
    "proves": null,
    "value": 49978.6987,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Subcontractor hours never negative (every practice and grade, every month)",
    "proves": null,
    "value": 0,
    "tolerance": 0.01,
    "status": "OK"
   },
   {
    "check": "Headcount never negative",
    "proves": null,
    "value": 0.9876,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Credit loss provisions never negative",
    "proves": null,
    "value": 0,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Fixed asset net book value never negative",
    "proves": null,
    "value": 235156.4444,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Bank loan never negative",
    "proves": null,
    "value": 66659,
    "tolerance": 0,
    "status": "OK"
   },
   {
    "check": "Timeline: months flagged actual equal the last actual month number",
    "proves": null,
    "value": 0,
    "tolerance": 0.5,
    "status": "OK"
   }
  ],
  "business_warnings": [
   {
    "item": "Lowest month-end cash in the forecast (selected scenario)",
    "note": "Below the buffer means a facility draw or action",
    "value": 703862.9423
   },
   {
    "item": "Lowest 13-week closing cash",
    "note": null,
    "value": 692449.3635
   },
   {
    "item": "Lowest forecast utilisation of own fee earners",
    "note": "Below 65% signals idle capacity",
    "value": 0.6187
   },
   {
    "item": "Largest client share of FY2027 revenue",
    "note": "Above 15% is a concentration risk",
    "value": 0.1942
   },
   {
    "item": "Lock-up days at the last actual month",
    "note": "Above 70 days ties up cash",
    "value": 62.0692
   },
   {
    "item": "Pelzhoff claim at the last actual month, net of provision (EUR)",
    "note": "Recovery depends on the insolvency distribution",
    "value": 6151.8112
   }
  ]
 },
 "bva": {
  "rows": [
   {
    "key": "h_OPS",
    "label": "Operations and supply chain: hours",
    "ytd_actual": 10161.6,
    "ytd_budget": 9890,
    "ytd_variance": 271.6,
    "ytd_variance_pct": 0.0275,
    "fy_outlook": 16028.9493,
    "fy_budget": 15300,
    "fy_variance": 728.9493,
    "fy_variance_pct": 0.0476,
    "commentary": null
   },
   {
    "key": "h_FIN",
    "label": "Finance and performance: hours",
    "ytd_actual": 7823.3,
    "ytd_budget": 7830,
    "ytd_variance": -6.7,
    "ytd_variance_pct": -0.0009,
    "fy_outlook": 12347.3099,
    "fy_budget": 12170,
    "fy_variance": 177.3099,
    "fy_variance_pct": 0.0146,
    "commentary": null
   },
   {
    "key": "h_DIG",
    "label": "Digital and ERP: hours",
    "ytd_actual": 7067.2,
    "ytd_budget": 8620,
    "ytd_variance": -1552.8,
    "ytd_variance_pct": -0.1801,
    "fy_outlook": 12264.6776,
    "fy_budget": 13320,
    "fy_variance": -1055.3224,
    "fy_variance_pct": -0.0792,
    "commentary": null
   },
   {
    "key": "fees_OPS",
    "label": "Operations and supply chain: fee revenue",
    "ytd_actual": 1751228.84,
    "ytd_budget": 1780200,
    "ytd_variance": -28971.16,
    "ytd_variance_pct": -0.0163,
    "fy_outlook": 2803976.0122,
    "fy_budget": 2754000,
    "fy_variance": 49976.0122,
    "fy_variance_pct": 0.0181,
    "commentary": "Hours ahead of budget; EUR 78k lost on rate, with EUR 89k of Norlach time above its cap."
   },
   {
    "key": "fees_FIN",
    "label": "Finance and performance: fee revenue",
    "ytd_actual": 1413034.12,
    "ytd_budget": 1393740,
    "ytd_variance": 19294.12,
    "ytd_variance_pct": 0.0138,
    "fy_outlook": 2228712.7673,
    "fy_budget": 2166260,
    "fy_variance": 62452.7673,
    "fy_variance_pct": 0.0288,
    "commentary": null
   },
   {
    "key": "fees_DIG",
    "label": "Digital and ERP: fee revenue",
    "ytd_actual": 1291027.88,
    "ytd_budget": 1586080,
    "ytd_variance": -295052.12,
    "ytd_variance_pct": -0.186,
    "fy_outlook": 2221873.0036,
    "fy_budget": 2450880,
    "fy_variance": -229006.9964,
    "fy_variance_pct": -0.0934,
    "commentary": "No new digital engagement between Varnholt (March) and Sauerbeck (July); subcontractors covered the June leaver."
   },
   {
    "key": "fees",
    "label": "FEE REVENUE",
    "ytd_actual": 4455290.84,
    "ytd_budget": 4760020,
    "ytd_variance": -304729.16,
    "ytd_variance_pct": -0.064,
    "fy_outlook": 7254561.7831,
    "fy_budget": 7371140,
    "fy_variance": -116578.2169,
    "fy_variance_pct": -0.0158,
    "commentary": null
   },
   {
    "key": "rev_exp",
    "label": "Travel and expenses rebilled",
    "ytd_actual": 248974.3,
    "ytd_budget": 224700,
    "ytd_variance": 24274.3,
    "ytd_variance_pct": 0.108,
    "fy_outlook": 409132.0093,
    "fy_budget": 348100,
    "fy_variance": 61032.0093,
    "fy_variance_pct": 0.1753,
    "commentary": null
   },
   {
    "key": "T_rev",
    "label": "REVENUE",
    "ytd_actual": 4704265.14,
    "ytd_budget": 4984720,
    "ytd_variance": -280454.86,
    "ytd_variance_pct": -0.0563,
    "fy_outlook": 7663693.7924,
    "fy_budget": 7719240,
    "fy_variance": -55546.2076,
    "fy_variance_pct": -0.0072,
    "commentary": null
   },
   {
    "key": "fe_pay",
    "label": "Fee-earner salaries and employer social security",
    "ytd_actual": -2478057.51,
    "ytd_budget": -2454968,
    "ytd_variance": -23089.51,
    "ytd_variance_pct": -0.0094,
    "fy_outlook": -3781621.3672,
    "fy_budget": -3745432,
    "fy_variance": -36189.3672,
    "fy_variance_pct": -0.0097,
    "commentary": null
   },
   {
    "key": "fe_bon",
    "label": "Fee-earner bonus accrual",
    "ytd_actual": -198788.31,
    "ytd_budget": -275416,
    "ytd_variance": 76627.69,
    "ytd_variance_pct": 0.2782,
    "fy_outlook": -322673.551,
    "fy_budget": -413124,
    "fy_variance": 90450.449,
    "fy_variance_pct": 0.2189,
    "commentary": "Bonus accrued at 70% of target on the year to date performance."
   },
   {
    "key": "subc",
    "label": "Subcontractors",
    "ytd_actual": -152950.66,
    "ytd_budget": -72000,
    "ytd_variance": -80950.66,
    "ytd_variance_pct": -1.1243,
    "fy_outlook": -230376.9901,
    "fy_budget": -108000,
    "fy_variance": -122376.9901,
    "fy_variance_pct": -1.1331,
    "commentary": "Operations and finance bought in help for the April to June peak and an operations vacancy; digital covered its June leaver."
   },
   {
    "key": "trav",
    "label": "Engagement travel and expenses",
    "ytd_actual": -312249.05,
    "ytd_budget": -316080,
    "ytd_variance": 3830.95,
    "ytd_variance_pct": 0.0121,
    "fy_outlook": -502291.6119,
    "fy_budget": -489480,
    "fy_variance": -12811.6119,
    "fy_variance_pct": -0.0262,
    "commentary": null
   },
   {
    "key": "T_cod",
    "label": "TOTAL COST OF DELIVERY",
    "ytd_actual": -3142045.53,
    "ytd_budget": -3118464,
    "ytd_variance": -23581.53,
    "ytd_variance_pct": -0.0076,
    "fy_outlook": -4836963.5203,
    "fy_budget": -4756036,
    "fy_variance": -80927.5203,
    "fy_variance_pct": -0.017,
    "commentary": null
   },
   {
    "key": "gp",
    "label": "GROSS PROFIT",
    "ytd_actual": 1562219.61,
    "ytd_budget": 1866256,
    "ytd_variance": -304036.39,
    "ytd_variance_pct": -0.1629,
    "fy_outlook": 2826730.2722,
    "fy_budget": 2963204,
    "fy_variance": -136473.7278,
    "fy_variance_pct": -0.0461,
    "commentary": null
   },
   {
    "key": "gpm",
    "label": "Gross margin %",
    "ytd_actual": 0.3321,
    "ytd_budget": 0.3744,
    "ytd_variance": -0.0423,
    "ytd_variance_pct": null,
    "fy_outlook": 0.3688,
    "fy_budget": 0.3839,
    "fy_variance": -0.015,
    "fy_variance_pct": null,
    "commentary": null
   },
   {
    "key": "cen_pay",
    "label": "Founder and central staff payroll",
    "ytd_actual": -525130.69,
    "ytd_budget": -524560,
    "ytd_variance": -570.69,
    "ytd_variance_pct": -0.0011,
    "fy_outlook": -787409.4598,
    "fy_budget": -786840,
    "fy_variance": -569.4598,
    "fy_variance_pct": -0.0007,
    "commentary": null
   },
   {
    "key": "cen_bon",
    "label": "Central staff bonus accrual",
    "ytd_actual": -14851.4764,
    "ytd_budget": -21176,
    "ytd_variance": 6324.5236,
    "ytd_variance_pct": 0.2987,
    "fy_outlook": -23852.9187,
    "fy_budget": -31764,
    "fy_variance": 7911.0813,
    "fy_variance_pct": 0.2491,
    "commentary": null
   },
   {
    "key": "sev",
    "label": "Severance on separations",
    "ytd_actual": 0,
    "ytd_budget": 0,
    "ytd_variance": 0,
    "ytd_variance_pct": 0,
    "fy_outlook": 0,
    "fy_budget": 0,
    "fy_variance": 0,
    "fy_variance_pct": 0,
    "commentary": null
   },
   {
    "key": "ox_rent",
    "label": "Office rent and service charges, Munich",
    "ytd_actual": -192000,
    "ytd_budget": -192000,
    "ytd_variance": 0,
    "ytd_variance_pct": 0,
    "fy_outlook": -288000,
    "fy_budget": -288000,
    "fy_variance": 0,
    "fy_variance_pct": 0,
    "commentary": null
   },
   {
    "key": "ox_it",
    "label": "IT, software and research databases",
    "ytd_actual": -103419,
    "ytd_budget": -105600,
    "ytd_variance": 2181,
    "ytd_variance_pct": 0.0207,
    "fy_outlook": -157419,
    "fy_budget": -158400,
    "fy_variance": 981,
    "fy_variance_pct": 0.0062,
    "commentary": null
   },
   {
    "key": "ox_cars",
    "label": "Company car leases (partners and directors)",
    "ytd_actual": -50400,
    "ytd_budget": -50400,
    "ytd_variance": 0,
    "ytd_variance_pct": 0,
    "fy_outlook": -75600,
    "fy_budget": -75600,
    "fy_variance": 0,
    "fy_variance_pct": 0,
    "commentary": null
   },
   {
    "key": "ox_recruit",
    "label": "Recruitment (agency fees and campus)",
    "ytd_actual": -67900,
    "ytd_budget": -36000,
    "ytd_variance": -31900,
    "ytd_variance_pct": -0.8861,
    "fy_outlook": -101160,
    "fy_budget": -54000,
    "fy_variance": -47160,
    "fy_variance_pct": -0.8733,
    "commentary": "Agency fees for the February manager and July senior consultant hires, not budgeted."
   },
   {
    "key": "ox_mkt",
    "label": "Marketing, events and business development",
    "ytd_actual": -63892,
    "ytd_budget": -65600,
    "ytd_variance": 1708,
    "ytd_variance_pct": 0.026,
    "fy_outlook": -97892,
    "fy_budget": -98400,
    "fy_variance": 508,
    "fy_variance_pct": 0.0052,
    "commentary": null
   },
   {
    "key": "ox_train",
    "label": "Training and certifications",
    "ytd_actual": -43894,
    "ytd_budget": -44000,
    "ytd_variance": 106,
    "ytd_variance_pct": 0.0024,
    "fy_outlook": -65894,
    "fy_budget": -66000,
    "fy_variance": 106,
    "fy_variance_pct": 0.0016,
    "commentary": null
   },
   {
    "key": "ox_ins",
    "label": "Insurance (professional indemnity, D&O, office)",
    "ytd_actual": -30900,
    "ytd_budget": -30400,
    "ytd_variance": -500,
    "ytd_variance_pct": -0.0164,
    "fy_outlook": -46100,
    "fy_budget": -45600,
    "fy_variance": -500,
    "fy_variance_pct": -0.011,
    "commentary": null
   },
   {
    "key": "ox_prof",
    "label": "Tax adviser, legal and payroll bureau",
    "ytd_actual": -47292,
    "ytd_budget": -48000,
    "ytd_variance": 708,
    "ytd_variance_pct": 0.0147,
    "fy_outlook": -71292,
    "fy_budget": -72000,
    "fy_variance": 708,
    "fy_variance_pct": 0.0098,
    "commentary": null
   },
   {
    "key": "ox_office",
    "label": "Office running costs and supplies",
    "ytd_actual": -34042,
    "ytd_budget": -32800,
    "ytd_variance": -1242,
    "ytd_variance_pct": -0.0379,
    "fy_outlook": -50842,
    "fy_budget": -49200,
    "fy_variance": -1642,
    "fy_variance_pct": -0.0334,
    "commentary": null
   },
   {
    "key": "ox_ent",
    "label": "Client entertainment (30% not deductible)",
    "ytd_actual": -15470,
    "ytd_budget": -18400,
    "ytd_variance": 2930,
    "ytd_variance_pct": 0.1592,
    "fy_outlook": -25070,
    "fy_budget": -27600,
    "fy_variance": 2530,
    "fy_variance_pct": 0.0917,
    "commentary": null
   },
   {
    "key": "ox_bank",
    "label": "Bank charges",
    "ytd_actual": -3807,
    "ytd_budget": -4000,
    "ytd_variance": 193,
    "ytd_variance_pct": 0.0483,
    "fy_outlook": -5807,
    "fy_budget": -6000,
    "fy_variance": 193,
    "fy_variance_pct": 0.0322,
    "commentary": null
   },
   {
    "key": "bad",
    "label": "Bad debts and expected credit losses",
    "ytd_actual": -116973.4298,
    "ytd_budget": -12000,
    "ytd_variance": -104973.4298,
    "ytd_variance_pct": -8.7478,
    "fy_outlook": -117509.4092,
    "fy_budget": -18000,
    "fy_variance": -99509.4092,
    "fy_variance_pct": -5.5283,
    "commentary": "Pelzhoff insolvency application in July: 95% of the net claim provided after the VAT correction."
   },
   {
    "key": "T_opc",
    "label": "TOTAL OPERATING COSTS",
    "ytd_actual": -1309971.5962,
    "ytd_budget": -1184936,
    "ytd_variance": -125035.5962,
    "ytd_variance_pct": -0.1055,
    "fy_outlook": -1913847.7877,
    "fy_budget": -1777404,
    "fy_variance": -136443.7877,
    "fy_variance_pct": -0.0768,
    "commentary": null
   },
   {
    "key": "ebitda",
    "label": "EBITDA",
    "ytd_actual": 252248.0138,
    "ytd_budget": 681320,
    "ytd_variance": -429071.9862,
    "ytd_variance_pct": -0.6298,
    "fy_outlook": 912882.4844,
    "fy_budget": 1185800,
    "fy_variance": -272917.5156,
    "fy_variance_pct": -0.2302,
    "commentary": "EUR 429k behind budget YTD; EUR 273k on the full-year outlook."
   },
   {
    "key": "ebitdap",
    "label": "EBITDA % of revenue",
    "ytd_actual": 0.0536,
    "ytd_budget": 0.1367,
    "ytd_variance": -0.0831,
    "ytd_variance_pct": null,
    "fy_outlook": 0.1191,
    "fy_budget": 0.1536,
    "fy_variance": -0.0345,
    "fy_variance_pct": null,
    "commentary": null
   },
   {
    "key": "dep",
    "label": "Depreciation",
    "ytd_actual": -74336.1111,
    "ytd_budget": -86400,
    "ytd_variance": 12063.8889,
    "ytd_variance_pct": 0.1396,
    "fy_outlook": -114080.5556,
    "fy_budget": -129600,
    "fy_variance": 15519.4444,
    "fy_variance_pct": 0.1197,
    "commentary": null
   },
   {
    "key": "int",
    "label": "Interest",
    "ytd_actual": -4258.31,
    "ytd_budget": -4258,
    "ytd_variance": -0.31,
    "ytd_variance_pct": -0.0001,
    "fy_outlook": -6037.437,
    "fy_budget": -6037,
    "fy_variance": -0.437,
    "fy_variance_pct": -0.0001,
    "commentary": null
   },
   {
    "key": "tax",
    "label": "Corporate income tax and trade tax",
    "ytd_actual": -58792.6419,
    "ytd_budget": -194770.7945,
    "ytd_variance": 135978.1526,
    "ytd_variance_pct": 0.6981,
    "fy_outlook": -263894.1409,
    "fy_budget": -346291.2492,
    "fy_variance": 82397.1083,
    "fy_variance_pct": 0.2379,
    "commentary": null
   },
   {
    "key": "np",
    "label": "NET PROFIT",
    "ytd_actual": 114860.9507,
    "ytd_budget": 395891.2055,
    "ytd_variance": -281030.2548,
    "ytd_variance_pct": -0.7099,
    "fy_outlook": 528870.3509,
    "fy_budget": 703871.7508,
    "fy_variance": -175001.3998,
    "fy_variance_pct": -0.2486,
    "commentary": null
   },
   {
    "key": "b_cash",
    "label": "Cash at bank",
    "ytd_actual": 710950.8223,
    "ytd_budget": 1011000,
    "ytd_variance": -300049.1777,
    "ytd_variance_pct": -0.2968,
    "fy_outlook": 967669.9383,
    "fy_budget": 1314000,
    "fy_variance": -346330.0617,
    "fy_variance_pct": -0.2636,
    "commentary": null
   },
   {
    "key": "b_ar",
    "label": "Trade receivables",
    "ytd_actual": 976603.1345,
    "ytd_budget": 888000,
    "ytd_variance": 88603.1345,
    "ytd_variance_pct": 0.0998,
    "fy_outlook": 1083263.0342,
    "fy_budget": 1077000,
    "fy_variance": 6263.0342,
    "fy_variance_pct": 0.0058,
    "commentary": null
   },
   {
    "key": "b_cp",
    "label": "Contract assets less contract liabilities",
    "ytd_actual": 336213.23,
    "ytd_budget": 295000,
    "ytd_variance": 41213.23,
    "ytd_variance_pct": 0.1397,
    "fy_outlook": 657473.4442,
    "fy_budget": 358000,
    "fy_variance": 299473.4442,
    "fy_variance_pct": 0.8365,
    "commentary": "Unbilled time and materials billed in arrears; capped work invoiced ahead of revenue on Norlach."
   }
  ],
  "revenue_bridge_ytd": {
   "columns": [
    "Practice",
    "Actual fee revenue YTD",
    "Budget fee revenue YTD",
    "Actual hours YTD",
    "Budget hours YTD",
    "Actual rate",
    "Budget rate",
    "Hours effect",
    "Rate effect",
    "Total variance"
   ],
   "rows": [
    [
     "Operations and supply chain",
     1751228.84,
     1780200,
     10161.6,
     9890,
     172.3379,
     180,
     48888.0,
     -77859.16,
     -28971.16
    ],
    [
     "Finance and performance",
     1413034.12,
     1393740,
     7823.3,
     7830,
     180.6187,
     178,
     -1192.6,
     20486.72,
     19294.12
    ],
    [
     "Digital and ERP",
     1291027.88,
     1586080,
     7067.2,
     8620,
     182.6788,
     184,
     -285715.2,
     -9336.92,
     -295052.12
    ],
    [
     "Travel and expenses rebilled (no hours)",
     248974.3,
     224700,
     null,
     null,
     null,
     null,
     24274.3,
     0,
     24274.3
    ],
    [
     "TOTAL",
     4704265.14,
     4984720,
     25052.1,
     26340,
     null,
     null,
     -213745.5,
     -66709.36,
     -280454.86
    ]
   ]
  },
  "ebitda_walk_ytd": [
   {
    "step": "Budget EBITDA YTD",
    "value": 681320
   },
   {
    "step": "Revenue variance",
    "value": -280454.86
   },
   {
    "step": "Fee-earner pay and social security variance",
    "value": -23089.51
   },
   {
    "step": "Fee-earner bonus variance",
    "value": 76627.69
   },
   {
    "step": "Subcontractor and travel variance",
    "value": -77119.71
   },
   {
    "step": "Central payroll, bonus and severance variance",
    "value": 5753.8336
   },
   {
    "step": "Overheads variance",
    "value": -25816
   },
   {
    "step": "Bad debts and credit losses variance",
    "value": -104973.4298
   },
   {
    "step": "Actual EBITDA YTD",
    "value": 252248.0138
   }
  ]
 },
 "cash_13w_control": {
  "low": 692449.3635,
  "lowwk": "2026-10-30",
  "short": 92449.3635,
  "fac": 750000,
  "fachead": 750000,
  "taxwk": 931570.6864
 },
 "engagement_review": {
  "columns": [
   "Code",
   "Client",
   "Practice",
   "Fee type",
   "Status",
   "Fee or cap (TM: estimate)",
   "Budget hours",
   "Hours to date",
   "Estimate to complete",
   "Hours at completion",
   "Hours over / (under) budget",
   "Over / (under) %",
   "Standard value to date",
   "Fee revenue to date",
   "Realisation to date",
   "Fee revenue at completion",
   "Standard value at completion",
   "Realisation at completion",
   "Margin at standard cost to date",
   "Margin %",
   "Invoiced to date",
   "Contract position at last actual",
   "Flag"
  ],
  "rows": [
   [
    "E-2501",
    "EBE",
    "DIG",
    "TM",
    "In progress",
    2790000,
    15296,
    10378.1,
    4984,
    15362.1,
    66.1,
    0.0043,
    2121283.64,
    1898169.92,
    0.8948,
    2815994.0965,
    3156430.648,
    0.8921,
    862484.207,
    0.4544,
    1792589.08,
    112612.96,
    "On budget"
   ],
   [
    "E-2502",
    "NOR",
    "OPS",
    "CAP",
    "In progress",
    560000,
    3040,
    3271,
    369,
    3658.45,
    618.45,
    0.2034,
    643405.7,
    503230.77,
    0.7821,
    560000,
    719617.115,
    0.7782,
    178241.0365,
    0.3542,
    537698.34,
    -29778.09,
    "Forecast above the cap"
   ],
   [
    "E-2503",
    "WIT",
    "FIN",
    "TM",
    "Completed",
    949000,
    5149,
    5053.1,
    0,
    5053.1,
    -95.9,
    -0.0186,
    1032853.64,
    929458.53,
    0.8999,
    929458.53,
    1032853.64,
    0.8999,
    425182.846,
    0.4575,
    929458.53,
    0,
    "Completed"
   ],
   [
    "E-2504",
    "RIN",
    "OPS",
    "FF",
    "Completed",
    290000,
    1480,
    1560,
    0,
    1560,
    80,
    0.0541,
    322296,
    290000,
    0.8998,
    290000,
    322296,
    0.8998,
    112468.1984,
    0.3878,
    290000,
    0,
    "Completed"
   ],
   [
    "E-2505",
    "ZOR",
    "DIG",
    "FF",
    "Completed",
    120000,
    600,
    640,
    0,
    640,
    40,
    0.0667,
    132224,
    120000,
    0.9076,
    120000,
    132224,
    0.9076,
    47166.4404,
    0.3931,
    120000,
    0,
    "Completed"
   ],
   [
    "E-2506",
    "PEL",
    "OPS",
    "TM",
    "Stopped",
    252000,
    1499,
    1399.7,
    0,
    1399.7,
    -99.3,
    -0.0662,
    275320.99,
    219163.31,
    0.796,
    219163.31,
    275320.99,
    0.796,
    80096.3183,
    0.3655,
    219163.31,
    0,
    "Stopped"
   ],
   [
    "E-2601",
    "SAU",
    "FIN",
    "FF",
    "Completed",
    240000,
    1300,
    1450,
    0,
    1450,
    150,
    0.1154,
    285215,
    240000,
    0.8415,
    240000,
    285215,
    0.8415,
    95935.459,
    0.3997,
    240000,
    0,
    "Completed"
   ],
   [
    "E-2602",
    "SOR",
    "FIN",
    "TM",
    "In progress",
    523000,
    2854,
    2189.7,
    685.7,
    2875.4,
    21.4,
    0.0075,
    430713.99,
    401464.96,
    0.9321,
    525901.5438,
    565591.18,
    0.9298,
    183907.6321,
    0.4581,
    349902.64,
    58660.06,
    "On budget"
   ],
   [
    "E-2603",
    "ZOR",
    "OPS",
    "FF",
    "Completed",
    210000,
    1070,
    1040,
    0,
    1040,
    -30,
    -0.028,
    214864,
    210000,
    0.9774,
    210000,
    214864,
    0.9774,
    91645.4656,
    0.4364,
    210000,
    0,
    "Completed"
   ],
   [
    "E-2604",
    "VAR",
    "DIG",
    "CAP",
    "In progress",
    260000,
    1380,
    1061.2,
    388.8,
    1469.44,
    89.44,
    0.0648,
    208738.04,
    190284.14,
    0.9116,
    260000,
    289038.848,
    0.8995,
    84848.767,
    0.4459,
    165798.04,
    25832.76,
    "Forecast above the cap"
   ],
   [
    "E-2605",
    "VAR",
    "FIN",
    "FF",
    "In progress",
    165000,
    840,
    704.9,
    175.1,
    888.755,
    48.755,
    0.058,
    145632.34,
    132168.75,
    0.9076,
    165000,
    183616.783,
    0.8986,
    51949.4122,
    0.3931,
    115500,
    16668.75,
    "Forecast over budget"
   ],
   [
    "E-2606",
    "ULM",
    "OPS",
    "TM",
    "In progress",
    673000,
    3714,
    1709.2,
    1955.7,
    3664.9,
    -49.1,
    -0.0132,
    336199.64,
    311168.67,
    0.9255,
    663559.4168,
    720885.83,
    0.9205,
    141351.3504,
    0.4543,
    235565.85,
    80285.09,
    "On budget"
   ],
   [
    "E-2607",
    "STE",
    "OPS",
    "FF",
    "In progress",
    180000,
    910,
    440.7,
    469.3,
    933.465,
    23.465,
    0.0258,
    91048.62,
    87171.43,
    0.9574,
    180000,
    192853.869,
    0.9333,
    37018.696,
    0.4247,
    54000,
    33171.43,
    "On budget"
   ],
   [
    "E-2608",
    "WIT",
    "FIN",
    "CAP",
    "In progress",
    430000,
    2300,
    561.3,
    1738.7,
    2386.935,
    86.935,
    0.0378,
    110407.71,
    102679.17,
    0.93,
    430000,
    473877.1222,
    0.9074,
    46911.2894,
    0.4569,
    57019.59,
    48026.69,
    "Forecast above the cap"
   ],
   [
    "E-2609",
    "SAU",
    "DIG",
    "FF",
    "In progress",
    90000,
    440,
    286.5,
    183.5,
    479.175,
    39.175,
    0.089,
    59190.9,
    54861.7,
    0.9269,
    90000,
    98997.555,
    0.9091,
    22257.3018,
    0.4057,
    63000,
    -8138.3,
    "Forecast over budget"
   ],
   [
    "E-2610",
    "NOR",
    "OPS",
    "FF",
    "In progress",
    95000,
    480,
    138.3,
    341.7,
    497.085,
    17.085,
    0.0356,
    28572.78,
    27371.88,
    0.958,
    95000,
    102697.761,
    0.925,
    11633.003,
    0.425,
    28500,
    -1128.12,
    "On budget"
   ],
   [
    "E-2611",
    "TEG",
    "OPS",
    "TM",
    "Completed",
    393000,
    2191,
    2183.2,
    0,
    2183.2,
    -7.8,
    -0.0036,
    429435.44,
    393059.74,
    0.9153,
    393059.74,
    429435.44,
    0.9153,
    176148.2187,
    0.4481,
    393059.74,
    0,
    "Completed"
   ],
   [
    "E-2612",
    "EBE",
    "OPS",
    "CAP",
    "Contracted",
    400000,
    2100,
    0,
    2100,
    2205,
    105,
    0.05,
    0,
    0,
    0,
    400000,
    440713.2013,
    0.9076,
    0,
    0,
    0,
    0,
    "Forecast above the cap"
   ],
   [
    "E-2613",
    "TEG",
    "FIN",
    "TM",
    "Contracted",
    373000,
    2077,
    0,
    2077,
    2077,
    0,
    0,
    0,
    0,
    0,
    373155.2006,
    413514.185,
    0.9024,
    0,
    0,
    0,
    0,
    "On budget"
   ],
   [
    "E-2614",
    "RIN",
    "DIG",
    "FF",
    "Contracted",
    140000,
    690,
    0,
    690,
    724.5,
    34.5,
    0.05,
    0,
    0,
    0,
    140000,
    151025.2665,
    0.927,
    0,
    0,
    0,
    0,
    "On budget"
   ],
   [
    "E-2615",
    "ZOR",
    "OPS",
    "FF",
    "Contracted",
    120000,
    620,
    0,
    620,
    651,
    31,
    0.05,
    0,
    0,
    0,
    120000,
    134496.6,
    0.8922,
    0,
    0,
    0,
    0,
    "On budget"
   ],
   [
    "E-2616",
    "WIT",
    "FIN",
    "TM",
    "Contracted",
    238000,
    1328,
    0,
    1328,
    1328,
    0,
    0,
    0,
    0,
    0,
    241776.5068,
    268015.1944,
    0.9021,
    0,
    0,
    0,
    0,
    "On budget"
   ],
   [
    "E-2617",
    "EBE",
    "DIG",
    "TM",
    "Contracted",
    225000,
    1282,
    0,
    1282,
    1282,
    0,
    0,
    0,
    0,
    0,
    226305.2096,
    256233.2536,
    0.8832,
    0,
    0,
    0,
    0,
    "On budget"
   ],
   [
    "TOTAL",
    null,
    null,
    null,
    null,
    9716000,
    52640,
    34066.9,
    19388.5,
    53809.205,
    1169.205,
    0.0222,
    6867402.43,
    6110252.97,
    0.8897,
    9688373.5541,
    10859813.482,
    0.8921,
    2649245.6417,
    0.4336,
    5801255.12,
    336213.23,
    null
   ]
  ]
 },
 "client_concentration": {
  "columns": [
   "Code",
   "Client",
   "Sector",
   "Revenue FY2026",
   "Share FY2026",
   "Revenue FY2027",
   "Share FY2027",
   "Receivable at last actual",
   "Debtor days at last actual"
  ],
  "rows": [
   [
    "EBE",
    "Eberstal Medizintechnik AG",
    "Medical technology",
    2007922.999,
    0.262,
    1580545.0858,
    0.1942,
    260110.5345,
    48.8202
   ],
   [
    "NOR",
    "Norlach Antriebstechnik GmbH",
    "Automotive drive technology (Tier 1 supplier)",
    526850.54,
    0.0687,
    351147.2,
    0.0431,
    192167.81,
    68.1188
   ],
   [
    "WIT",
    "Wittenfels Holding GmbH",
    "Private equity owned industrial group",
    1024360.7261,
    0.1337,
    349650.6486,
    0.043,
    57147.8361,
    18.2913
   ],
   [
    "RIN",
    "Rindelmann Maschinenbau GmbH",
    "Special machinery",
    313425.3402,
    0.0409,
    31416.5498,
    0.0039,
    0,
    0
   ],
   [
    "ZOR",
    "Zorneck Logistik GmbH",
    "Contract logistics",
    399720,
    0.0522,
    160652,
    0.0197,
    78835.16,
    41.4614
   ],
   [
    "ULM",
    "Ulmhardt Verpackungen GmbH",
    "Packaging",
    714494.5168,
    0.0932,
    253242.3802,
    0.0311,
    155586.4372,
    47.2747
   ],
   [
    "SAU",
    "Sauerbeck Lebensmittel GmbH",
    "Food manufacturing",
    330000,
    0.0431,
    0,
    0,
    41532.26,
    23.7844
   ],
   [
    "VAR",
    "Varnholt Chemie GmbH",
    "Specialty chemicals",
    436621.28,
    0.057,
    117000,
    0.0144,
    111880.4106,
    50.2556
   ],
   [
    "TEG",
    "Teggwerk Elektronik GmbH",
    "Electronics manufacturing",
    690368.8935,
    0.0901,
    183071.8734,
    0.0225,
    -0.0053,
    -0.0
   ],
   [
    "PEL",
    "Pelzhoff Kunststofftechnik GmbH",
    "Automotive plastic parts; insolvency application Jul-26",
    202397.13,
    0.0264,
    0,
    0,
    123036.4612,
    152.0639
   ],
   [
    "STE",
    "Stelzhof Industrie AG",
    "Industrial components",
    180000,
    0.0235,
    273459.1411,
    0.0336,
    0,
    0
   ],
   [
    "SOR",
    "Sornegg Pr\u00e4zision AG",
    "Precision parts",
    628218.8384,
    0.082,
    186045.4532,
    0.0229,
    78067.52,
    36.333
   ],
   [
    "MER",
    "Merzbach Fenster GmbH",
    "Windows and doors (prospect)",
    0,
    0,
    94500,
    0.0116,
    0,
    0
   ],
   [
    "NEW",
    "New work not yet identified (new clients and extensions)",
    "Fills the gap to target utilisation by grade (scenario share)",
    209313.5285,
    0.0273,
    4558187.2416,
    0.56,
    0,
    0
   ],
   [
    "TOTAL",
    null,
    null,
    7663693.7924,
    null,
    8138917.5737,
    null,
    1098364.4243,
    null
   ]
  ]
 },
 "concentration_summary": {
  "Largest client share of revenue, FY2026": 0.262,
  "Top five clients share of revenue, FY2026": 0.661,
  "Largest client share of revenue, FY2027": 0.1942,
  "Top five clients share of revenue, FY2027": 0.345
 },
 "sales_record": {
  "Proposals submitted": 31,
  "Value proposed (EUR)": 6480000,
  "Won (count)": 12,
  "Won (EUR)": 2690000,
  "Lost (count)": 14,
  "Lost (EUR)": 2910000,
  "Still open (count)": 5,
  "Win rate on decided proposals (count)": 0.4615,
  "Win rate on decided proposals (value)": 0.4804,
  "Average engagement won (EUR)": 224166.6667
 },
 "cfo_report": {
  "reporting_line": "Reporting month: Aug-26 actuals, Base scenario for the outlook. Amounts in EUR. Every figure is a live link to the model; the narrative recalculates with the inputs.",
  "sections": [
   {
    "title": "1. HEADLINE",
    "paragraphs": [
     "Year to date revenue is EUR 4,704k, 5.6% below budget, and EBITDA is EUR 252k (5.4% of revenue) against EUR 681k (13.7%) budgeted. Most of the EUR 429k gap comes from four places: digital and ERP fee revenue EUR 286k short on hours not sold, credit losses EUR 105k over budget on the Pelzhoff insolvency, subcontractors EUR 81k over, and operations EUR 78k short on rate, where the Norlach cap alone costs EUR 89k. Operations hours ahead of budget and the bonus accrued at 70% of target give back EUR 49k and EUR 77k.",
     "Full-year outlook (Base): revenue EUR 7,664k, 0.7% below budget, and EBITDA EUR 913k (11.9%) against EUR 1,186k budgeted. That puts September to December fee revenue 7.2% above budget, after eight months 6.4% below. The forecast rests on work already signed, 91% of those fees, and on utilisation of 73% against 74% in March to June; at the year to date 68%, September to December fees would be about EUR 163k lower. Two graduates and a senior consultant join in September and October, so capacity grows before the 2027 work that has to fill it.",
     "Cash is EUR 711k at Aug-26, after the FY2025 bonus (EUR 392k in March) and the EUR 450k dividend in June, against a buffer of EUR 600k. The 13-week low is EUR 692k in the week ending 30-Oct, EUR 92k above the buffer with the overdraft undrawn. The lowest forecast month end is EUR 704k in Oct-26. Norlach owes EUR 192k through its supplier portal on 60-day terms, including a June invoice now overdue.",
     "FY2027 Base: revenue EUR 8,139k (6.2% growth), EBITDA of EUR 982k (12.1% of revenue). Only 14% of FY2027 fee revenue is signed. The named pipeline adds EUR 2,322k at its win rates and the plan needs EUR 4,293k of new work not yet identified, against an annualised EUR 4,035k of wins so far in FY2026, and wins take months to turn into revenue. Eberstal, 26% of FY2026 revenue, ends its S/4HANA programme office at the go-live in March 2027; the wave 2 proposal (EUR 1,277k at 65%) is the largest single swing in the year. The Downside turns FY2027 into an EBITDA loss of EUR 459k and takes cash to a low of EUR 253k, with a hiring freeze, 5 separations and no dividend already in it."
    ],
    "rows": []
   },
   {
    "title": "2. WHAT HAPPENED YEAR TO DATE (BvA revenue bridge and EBITDA walk)",
    "paragraphs": [
     "Revenue bridge against budget: operations EUR 49k more from hours and EUR 78k less from rate, where the Norlach cap alone costs EUR 89k; finance EUR 1k less from hours and EUR 20k more from rate; digital and ERP EUR 286k less from hours and EUR 9k less from rate. Outside the Eberstal programme office, digital sold too little in the first half: no new digital engagement started between the Varnholt platform in March and the Sauerbeck assessment in July. Travel rebilled at cost brought EUR 24k more than budget.",
     "Costs: fee-earner pay and social security are EUR 23k worse than budget: a finance manager joined in February and consultants in March and May against one hire budgeted from March, partly offset by senior consultant vacancies in operations from April to June and in digital since July. The bonus accrued at 70% of target is EUR 77k below budget. Subcontractors are EUR 81k over: operations and finance bought in help for the April to June peak, when operations also carried a vacancy, and digital covered its June leaver. Recruitment is EUR 32k over on agency fees for the February and July hires, which the budget did not have. The Pelzhoff provision cost EUR 117k after the VAT correction."
    ],
    "rows": []
   },
   {
    "title": "3. TIME TO CASH: REALISATION AND LOCK-UP (Time_to_Cash, Engagement_Review)",
    "paragraphs": [
     "From time recorded to revenue, year to date: standard value at the rate card EUR 5,032k; client discounts EUR 335k; time and materials written down at billing EUR 92k; fixed-fee overruns EUR 56k; value above caps EUR 95k; fee revenue EUR 4,455k, a realisation of 88.5% of the rate card. The Norlach phase 2 cap accounts for EUR 89k: the programme is forecast 20% over its budget hours and realises 78% of the rate card, against 89% on the Eberstal programme office.",
     "Lock-up is 62 days at Aug-26: 19 days of unbilled work and 43 debtor days, down from 72 in January. The largest balances sit with the two clients that pay through supplier portals: Norlach on 60-day terms owes EUR 192k, including a June invoice held pending the phase 2 cap sign-off, and Eberstal on 45-day terms EUR 260k, its July invoices approved late in the portal. Lock-up rises to 77 days by December 2027 in the forecast because more of the work is time and materials billed monthly in arrears; every 10 debtor days hold about EUR 265k of cash including VAT."
    ],
    "rows": []
   },
   {
    "title": "4. ENGAGEMENTS AND PRACTICES (Engagement_Review, Practices)",
    "paragraphs": [
     "Engagement review: 6 of the 16 engagements in progress or contracted are forecast over their budget hours or above their cap. The largest are Norlach phase 2 (20% over, cap reached), the Varnholt data platform (6% over, above its cap) and the Sauerbeck S/4HANA readiness assessment (9% over a fixed fee). The Sauerbeck cost programme closed 12% over its hours. Rule from here: a change request before hours reach 80% of budget, and estimates to complete reviewed every two weeks on fixed-fee and capped work.",
     "Practices, FY2026 outlook: operations contributes EUR 1,086k (36.6% of revenue), finance EUR 879k (37.3%), digital and ERP EUR 862k (36.9%); after central costs they earn EUR 347k, EUR 293k and EUR 272k. Fees per fee earner are EUR 216k, EUR 230k and EUR 229k. Operations carries two partners including the founder, so its leverage is 6 fee earners per partner at December 2026 against 9 in finance and 10 in digital and ERP."
    ],
    "rows": []
   },
   {
    "title": "5. PEOPLE, UTILISATION AND LEVERAGE (Capacity, People)",
    "paragraphs": [
     "Utilisation year to date by grade against target: partners 30% (40%), directors 51% (60%), managers 70% (75%), senior consultants 78% (82%), consultants 78% (82%). Hours below target cost EUR 313k at standard cost rates. The shortfall is widest for partners and directors, whose chargeable time follows the work they sell: demand, not delivery capacity, is the constraint. By practice: operations 67%, finance 71%, digital and ERP 68%.",
     "Headcount is 40 at Aug-26 (32 fee earners) and 46 at December 2027 in the Base case. Two graduates and a senior consultant join in September and October; FY2027 adds a finance senior consultant in January, managers for Norlach phase 3 and Eberstal wave 2 at their win probabilities and two graduates in September. Employer social security adds 16.4% to fee-earner salaries in FY2026. Managers and above earn more than both contribution ceilings, so pay above them carries no social security; the ceilings rise in 2027 to EUR 8,850 (pension) and EUR 6,375 (health) a month under the BMAS draft of 21 September."
    ],
    "rows": []
   },
   {
    "title": "6. CLIENTS, PIPELINE AND CONCENTRATION (Pipeline, Clients, Receivables)",
    "paragraphs": [
     "Concentration: Eberstal is 26% of FY2026 revenue and the top five clients 66%. The FY2027 largest-client share falls to 19% only if new work arrives as planned. Sales year to date: 12 wins and 14 losses from 31 proposals, with 5 still open: a win rate of 46% by count and 48% by value on those decided, and an average engagement of EUR 224k. The FY2027 plan needs 1.1 times that annual pace of wins as new work, on top of the named pipeline.",
     "Pelzhoff Kunststofftechnik applied for insolvency on 20 July. Of the EUR 146k it owed, EUR 23k of output VAT was corrected in the July return (UStG s17) and EUR 117k provided, 95% of the net claim. The administrator can challenge payments received in the three months before the application if the firm knew Pelzhoff could not pay (InsO s130). EUR 74k came in between April and June, and the receipt dates decide how much falls inside the window: the payment history needs a legal review before the creditors meeting."
    ],
    "rows": []
   },
   {
    "title": "7. CASH, VAT, TAX AND THE 13 WEEKS (Cash_13W, VAT, Tax)",
    "paragraphs": [
     "The 13 weeks from 12 September: opening cash EUR 673k after the 10 September payments of wage tax, the July VAT return and the corporate income tax prepayment; receipts EUR 2,192k, payments EUR 2,049k, closing EUR 816k on 11 December. The turn of each month is the pinch: social security on the third-last banking day and salaries on the last, then wage tax and VAT on the 10th; EUR 932k of social security and tax leaves in the window. Closing cash on 11 December plus the rest of the December flows reconciles to the December balance sheet to the euro.",
     "VAT runs under the permanent one-month extension: the EUR 76k payable at Aug-26 covers July and August less the EUR 88k special prepayment, which is credited against the December return in February 2027, when a new special prepayment of EUR 89k falls due. Corporate income tax and trade tax take 33.3% of FY2026 profit before tax: the statutory 32.975% (15.825% plus 17.15% at the Munich multiplier of 490%) plus non-deductible items. The prepayments set by the FY2025 notices exceed the FY2026 charge by EUR 57k: an application to cut the November trade tax and December corporate income tax prepayments keeps that cash in the business instead of waiting for the FY2026 assessments."
    ],
    "rows": []
   },
   {
    "title": "8. SCENARIOS (Scenarios sheet; snapshot values from three full model runs)",
    "paragraphs": [
     "Base: FY2027 revenue EUR 8,139k, EBITDA of EUR 982k (12.1%), lowest cash EUR 704k. Downside (industrial recession: lower win rates, starts a month later, only 60% of the gap to target utilisation sold, overruns of 12%, no rate increase, clients 15 days slower, hiring frozen, leavers not replaced, 5 separations from April 2027 with severance, no dividend): FY2027 revenue EUR 5,365k, an EBITDA loss of EUR 459k, lowest cash EUR 253k. Upside: FY2027 revenue EUR 9,576k, EBITDA of EUR 2,158k (22.5%), lowest cash EUR 707k.",
     "The Downside is the one to prepare for: it takes EUR 2,774k out of FY2027 revenue and cash falls EUR 347k below the buffer even after the response. Triggers, reviewed monthly: Eberstal wave 2 not signed by 31 January; utilisation below 65% for two months; new work sold below plan for two months from November; lock-up above 80 days; any client more than 30 days overdue by more than EUR 50k."
    ],
    "rows": []
   },
   {
    "title": "9. RISK REGISTER (scored 1 to 5; score = likelihood x impact)",
    "paragraphs": [],
    "rows": [
     [
      "Sales gap: 86% of FY2027 fee revenue is not yet won; EUR 4,293k of new work not yet identified",
      4,
      4,
      16,
      "Weekly pipeline review with win-probability discipline; proposal targets per partner; FY2027 hires only against signed work; Founder and managing partner"
     ],
     [
      "Concentration: Eberstal is 26% of FY2026 revenue; its programme office ends at the March 2027 go-live",
      3,
      5,
      15,
      "Wave 2 and hypercare proposal before go-live; executive sponsor meetings monthly; grow two mid-size clients; Digital and ERP partner"
     ],
     [
      "Industrial and automotive downturn: Norlach and Pelzhoff show the pressure; Mittelstand clients defer transformation work",
      3,
      4,
      12,
      "Diversify into medical technology, food and logistics; credit checks before engagement letters; shorter payment terms on new automotive work; Founder and managing partner"
     ],
     [
      "Realisation: Norlach phase 2 is 20% over budget hours; 6 live engagements forecast over budget or cap",
      3,
      3,
      9,
      "Change requests before 80% of budget hours; estimates to complete every two weeks; partner sign-off on write-downs; Head of finance and operations"
     ],
     [
      "Utilisation: 68% year to date against a 74% target; capacity grows before the 2027 work is sold",
      3,
      4,
      12,
      "Hiring gate tied to signed work; partner selling time protected; bench staffed on proposals and internal methods; Founder and managing partner"
     ],
     [
      "Pelzhoff: EUR 74k received April to June, open to challenge by the administrator where it fell in the three months before the application (InsO s130)",
      2,
      2,
      4,
      "Legal review of what the firm knew and when; claim filed with the administrator; Founder with legal counsel"
     ],
     [
      "False self-employment: freelancers working months at one client could be found to be employees (status determination under SGB IV s7a), with contributions due",
      2,
      3,
      6,
      "Status review of every assignment over three months; optional status determination by the Clearingstelle before long assignments; HR and recruiting lead"
     ],
     [
      "Cash: forecast low of EUR 704k against the EUR 600k buffer, with social security, wage tax and VAT due within ten days of each month end",
      2,
      3,
      6,
      "Weekly 13-week review; overdraft confirmed; tax prepayment reduction filed; Head of finance and operations"
     ],
     [
      "E-invoicing: from 1 January 2027 a company with prior-year turnover above EUR 800,000 must issue e-invoices to German business clients (BMF)",
      3,
      2,
      6,
      "Structured invoices (XRechnung or ZUGFeRD) from the billing system by December; test with the two portal clients first; Head of finance and operations"
     ],
     [
      "Key person: the founder leads the firm, new business and the operations practice",
      2,
      4,
      8,
      "Second operations partner takes the Norlach relationship; documented account plans; Founder and managing partner"
     ]
    ],
    "columns": [
     "Risk",
     "Likelihood",
     "Impact",
     "Score",
     "Mitigation and owner"
    ]
   },
   {
    "title": "10. ACTIONS (owner, due date, status)",
    "paragraphs": [],
    "rows": [
     [
      "Norlach: agree the phase 2 cap sign-off, release the June invoice and put a change-control clause in the phase 3 proposal",
      "Founder and operations partner",
      "2026-09-30",
      "Open",
      "June invoice paid; phase 3 terms agreed"
     ],
     [
      "Eberstal: wave 2 and hypercare proposal signed before the go-live",
      "Digital and ERP partner",
      "2026-11-30",
      "Open",
      "Signed statement of work for April 2027"
     ],
     [
      "FY2027 sales plan: EUR 4,293k of new work by practice and partner, with monthly proposal targets",
      "Founder and managing partner",
      "2026-10-15",
      "Open",
      "Plan approved; tracked monthly against wins"
     ],
     [
      "Engagement control: estimates to complete every two weeks on fixed-fee and capped work; change requests before 80% of budget hours",
      "Head of finance and operations",
      "2026-10-15",
      "In progress",
      "No engagement more than 5% over budget without a change request"
     ],
     [
      "Apply to reduce the November trade tax and December corporate income tax prepayments to the FY2026 outlook",
      "Head of finance and operations with the tax adviser",
      "2026-10-30",
      "Open",
      "Revised prepayment notices received"
     ],
     [
      "Pelzhoff: file the claim with the administrator and review the April to June receipts for challenge risk",
      "Founder with legal counsel",
      "2026-10-31",
      "Open",
      "Claim registered; written legal view on file"
     ],
     [
      "E-invoicing: issue structured e-invoices to German business clients from 1 January 2027",
      "Head of finance and operations",
      "2026-12-15",
      "Open",
      "Test invoices accepted by Norlach and Eberstal portals"
     ],
     [
      "Freelancer status review for assignments over three months",
      "HR and recruiting lead",
      "2026-10-31",
      "Open",
      "Every long assignment reviewed; status determinations filed where needed"
     ],
     [
      "Downside plan: triggers, the hiring freeze, separation criteria and the order of cash levers",
      "BriQs CFO",
      "2026-10-15",
      "Open",
      "Plan approved by the founder and attached to the October pack"
     ]
    ],
    "columns": [
     "Action",
     "Owner",
     "Due",
     "Status",
     "Measure of done"
    ]
   },
   {
    "title": "11. INFORMATION NEEDED BEFORE THE SEPTEMBER CLOSE",
    "paragraphs": [
     "Timesheets by person, engagement and grade for September, and estimates to complete for Norlach phase 2, the Varnholt data platform, the Wittenfels integration, Stelzhof and the Sauerbeck assessment.",
     "Norlach written position on the phase 2 cap and the June invoice.",
     "Eberstal go-live date and the procurement timetable for wave 2.",
     "The Pelzhoff administrator report and the dates and amounts of the April to June receipts.",
     "The FY2027 pay review proposal, the final 2027 contribution ceilings and the health insurers 2027 additional rates.",
     "The tax adviser view on the prepayment reduction application.",
     "Prepared by BriQs Group for the managing directors of Selmberg Consulting GmbH (fictional demonstration company). Model status at the time of preparation: OK."
    ],
    "rows": []
   }
  ]
 },
 "headline_series": {
  "T_rev": {
   "key": "T_rev",
   "label": "REVENUE",
   "basis": "",
   "section": "REVENUE (IFRS 15)",
   "format": "int",
   "kind": "calc",
   "bold": true,
   "values": [
    479492.6,
    525340.41,
    659078.81,
    568656.44,
    589387.68,
    744508.54,
    626899.04,
    510901.62,
    779210.2277,
    707517.8678,
    709361.2366,
    763339.3203,
    698289.2724,
    724370.0584,
    718015.4576,
    717170.6407,
    539393.1776,
    716001.9926,
    680780.5742,
    583680.6934,
    717140.2516,
    646183.2126,
    671458.2703,
    726433.9724
   ],
   "fy2026": 7663693.7924,
   "fy2027": 8138917.5737,
   "total_rule": "sum"
  },
  "fees": {
   "key": "fees",
   "label": "FEE REVENUE",
   "basis": "",
   "section": "REVENUE (IFRS 15)",
   "format": "int",
   "kind": "calc",
   "bold": true,
   "values": [
    457500.86,
    496184.02,
    626975.9,
    540305.01,
    558878.41,
    701548.67,
    590211.73,
    483686.24,
    734222.9633,
    670151.3554,
    673184.7948,
    721711.8296,
    656991.0455,
    681604.9825,
    675253.0391,
    673941.8578,
    506486.0953,
    673388.5543,
    639829.0285,
    548972.0397,
    673946.8701,
    608426.457,
    632126.685,
    683889.3305
   ],
   "fy2026": 7254561.7831,
   "fy2027": 7654855.9854,
   "total_rule": "sum"
  },
  "gp": {
   "key": "gp",
   "label": "GROSS PROFIT (practice contribution)",
   "basis": "revenue - cost of delivery",
   "section": "COST OF DELIVERY",
   "format": "int",
   "kind": "calc",
   "bold": true,
   "values": [
    123040.1853,
    147416.0953,
    274029.8728,
    186125.8213,
    177603.6988,
    305363.9688,
    224462.8688,
    124177.0988,
    332657.2473,
    283872.6218,
    304507.0984,
    343473.6946,
    251019.1396,
    275271.3925,
    283984.4824,
    276016.2125,
    109362.1043,
    276218.9554,
    244038.397,
    154344.1121,
    265459.0778,
    200111.3922,
    223982.7153,
    275914.3047
   ],
   "fy2026": 2826730.2722,
   "fy2027": 2835722.2858,
   "total_rule": "sum"
  },
  "ebitda": {
   "key": "ebitda",
   "label": "EBITDA",
   "basis": "",
   "section": "OPERATING COSTS",
   "format": "int",
   "kind": "calc",
   "bold": true,
   "values": [
    -16379.8083,
    -19506.4113,
    123633.5843,
    41466.2839,
    28357.4721,
    160801.6396,
    -51681.117,
    -14443.6295,
    182927.6407,
    119852.6531,
    159639.2979,
    198214.879,
    69149.9344,
    125176.7275,
    134104.2471,
    109264.7311,
    -41029.8768,
    127384.191,
    93180.4778,
    4129.5327,
    111021.4022,
    49526.9542,
    74206.8225,
    125745.2224
   ],
   "fy2026": 912882.4844,
   "fy2027": 981860.3661,
   "total_rule": "sum"
  },
  "np": {
   "key": "np",
   "label": "NET PROFIT",
   "basis": "",
   "section": "BELOW EBITDA",
   "format": "int",
   "kind": "calc",
   "bold": true,
   "values": [
    -25949.2539,
    -29111.2724,
    93895.7544,
    21025.3305,
    12137.0766,
    100890.4449,
    -41510.0158,
    -16517.1135,
    115503.4978,
    73144.1723,
    99772.5393,
    125589.1908,
    38969.1802,
    76481.0544,
    82424.6405,
    65706.8269,
    -35068.2179,
    77771.2271,
    54806.1044,
    -4920.3754,
    66594.4496,
    25337.7119,
    41839.3098,
    76342.8384
   ],
   "fy2026": 528870.3509,
   "fy2027": 566284.7499,
   "total_rule": "sum"
  },
  "cash": {
   "key": "cash",
   "label": "Cash at bank (negative = overdraft drawn)",
   "basis": "CF",
   "section": "ASSETS",
   "format": "int",
   "kind": "calc",
   "bold": false,
   "values": [
    1577178.874,
    1525510.8732,
    1178074.1381,
    1074424.9785,
    1135132.3232,
    621616.852,
    649515.3451,
    710950.8223,
    721565.8132,
    703862.9423,
    829790.8941,
    967669.9383,
    1140945.8019,
    1233390.6097,
    1118035.4653,
    1111194.6584,
    1190277.9704,
    1041298.1212,
    1048763.5107,
    1130109.5352,
    1225897.9482,
    1252253.1621,
    1361905.7495,
    1412060.209
   ],
   "fy2026": 967669.9383,
   "fy2027": 1412060.209,
   "total_rule": "last"
  },
  "utilisation": {
   "key": "util",
   "label": "UTILISATION (own chargeable / available)",
   "basis": "",
   "section": "FIRM",
   "format": "pct",
   "kind": "calc",
   "bold": true,
   "values": [
    0.5961,
    0.6457,
    0.7332,
    0.7142,
    0.7664,
    0.7421,
    0.6267,
    0.6454,
    0.7365,
    0.6921,
    0.7325,
    0.7479,
    0.7433,
    0.7477,
    0.7166,
    0.672,
    0.6634,
    0.6529,
    0.6408,
    0.6291,
    0.6305,
    0.6226,
    0.6188,
    0.6187
   ],
   "fy2026": 0.6996,
   "fy2027": 0.6603,
   "total_rule": "ratio"
  },
  "utilisation_target": {
   "key": "util_tgt",
   "label": "Target utilisation, weighted by available hours",
   "basis": "sum of available x target / available",
   "section": "FIRM",
   "format": "pct",
   "kind": "calc",
   "bold": false,
   "values": [
    0.7364,
    0.7368,
    0.7394,
    0.7368,
    0.7394,
    0.7394,
    0.7394,
    0.7394,
    0.7436,
    0.7452,
    0.7447,
    0.7446,
    0.7468,
    0.7468,
    0.7468,
    0.7468,
    0.7468,
    0.7468,
    0.7468,
    0.7468,
    0.7506,
    0.7505,
    0.7505,
    0.7504
   ],
   "fy2026": 0.7407,
   "fy2027": 0.7481,
   "total_rule": "ratio"
  },
  "realisation_to_cash": {
   "key": "r_all",
   "label": "REALISATION FROM TIME RECORDED TO CASH (fee realisation x collection realisation)",
   "basis": "",
   "section": "FROM REVENUE TO INVOICE TO CASH",
   "format": "pct",
   "kind": "calc",
   "bold": true,
   "values": [
    0.9029,
    0.8899,
    0.8673,
    0.8653,
    0.8869,
    0.8929,
    0.735,
    0.9054,
    0.8814,
    0.9072,
    0.9026,
    0.9027,
    0.8884,
    0.8883,
    0.8875,
    0.886,
    0.8845,
    0.8845,
    0.8808,
    0.8795,
    0.8808,
    0.8826,
    0.8836,
    0.8831
   ],
   "fy2026": 0.876,
   "fy2027": 0.8841,
   "total_rule": "ratio"
  },
  "lock_up_days": {
   "key": "lockup",
   "label": "LOCK-UP DAYS",
   "basis": "",
   "section": "LOCK-UP",
   "format": "num1",
   "kind": "calc",
   "bold": true,
   "values": [
    72.1971,
    65.8266,
    72.8365,
    67.6429,
    66.0315,
    71.4352,
    68.1659,
    62.0692,
    73.5088,
    78.3536,
    75.1327,
    74.6157,
    73.0694,
    69.7742,
    70.8965,
    71.8402,
    70.1219,
    71.7276,
    76.8384,
    74.5798,
    74.1714,
    77.1892,
    74.6018,
    76.7511
   ],
   "fy2026": 74.6157,
   "fy2027": 76.7511,
   "total_rule": "last"
  },
  "headcount": {
   "key": "hc",
   "label": "TOTAL HEADCOUNT",
   "basis": "",
   "section": "TOTALS, BONUS PROVISION AND PAYROLL LIABILITIES",
   "format": "num1",
   "kind": "calc",
   "bold": true,
   "values": [
    38,
    39,
    40,
    39,
    40,
    40,
    40,
    40,
    41.6917,
    42.3618,
    42.0233,
    41.997,
    43.4925,
    43.4801,
    43.464,
    44.0977,
    44.0928,
    44.0878,
    44.0826,
    44.0827,
    46.0828,
    46.0579,
    46.0332,
    46.0088
   ],
   "fy2026": 41.997,
   "fy2027": 46.0088,
   "total_rule": "last"
  },
  "share_not_yet_won": {
   "key": "pipe_share",
   "label": "Share of fee revenue not yet won",
   "basis": "",
   "section": "FEE REVENUE BY SECURITY",
   "format": "pct",
   "kind": "calc",
   "bold": false,
   "values": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.1462,
    0.226,
    0.4263,
    0.4773,
    0.6087,
    0.9363,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1
   ],
   "fy2026": 0.036,
   "fy2027": 0.8641,
   "total_rule": "ratio"
  }
 }
}