ibcs-react

Industry reports

The standard management report for SaaS, retail, manufacturing, banking, healthcare and a corporate P&L - KPI strip, charts and statement, built from ibcs-react components.

The management report a controller in each of six industries would recognise - SaaS, retail, manufacturing, banking, healthcare and a classic corporate profit & loss - each built entirely from ibcs-react components. Pick the one closest to your world and copy the composition.

Every report follows the same pattern: the message first, then who / what / when, then a KPI strip, one or two charts and a statement or table. Data is realistic but fictitious, and company names are invented.

Two notation habits hold throughout, and they are worth copying. There are no gauges or pies for KPIs - a KpiCard with an impact-coloured delta says more in less space. And every cost, churn, scrap or ratio measure carries higherIsBetter={false}, so an increase reads unfavorable even though its sign is positive.

SaaS

Helix Cloud Inc. (B2B SaaS) · ARR, retention and unit economics - AC vs PY, PL and FC · 2025

ARR grew to 48.6 mEUR (+22% vs PY) on 118% net revenue retention: expansion more than covered churn, and the forecast holds the pace into Q4.

ARR
48.6M+8.8M+22.1%vs PY
Net revenue retention
118%+6+5.4%vs PY
Gross margin
79%+2+2.6%vs PY
LTV : CAC
4+0+13.9%vs PY
CAC payback
14 mo-3-17.6%vs PY
Monthly logo churn
1%-1-26.3%vs PY

ARR bridge - opening to closing (mEUR)

0+6.9M+5.4M-2.1M-1.4M8.8MOpening ARRNew businessExpansionContractionGross churnClosing ARR
Bridge of actual contributions - data table
ContributionRunning total
Opening ARR00
New business+6.9M6.9M
Expansion+5.4M12.3M
Contraction-2.1M10.2M
Gross churn-1.4M8.8M
Closing ARR8.8M8.8M

MRR - monthly, AC and FC vs PY (kEUR)

ACPYPL3.3K3.4K3.5K3.6K3.7K3.8K3.8K3.9K4.1K4.1K4.2K4.3KJanFebMarAprMayJunJulAugSepOctNovDec+600+600+620+630+650+680+680+690+740+750+760+770
Trend versus PY - data table
CurrentPYPLΔPYΔPY%
Jan3.3K2.7Kn/a+600+22.1%
Feb3.4K2.8Kn/a+600+21.5%
Mar3.5K2.9Kn/a+620+21.7%
Apr3.6K2.9Kn/a+630+21.5%
May3.7K3Kn/a+650+21.6%
Jun3.8K3.1Kn/a+680+22.0%
Jul3.8K3.2Kn/a+680+21.5%
Aug3.9K3.2Kn/a+690+21.3%
Sep4.1K3.3Kn/a+740+22.4%
Oct (FC)4.1K3.4Kn/a+750+22.1%
Nov (FC)4.2K3.5Kn/a+760+21.9%
Dec (FC)4.3K3.6Kn/a+770+21.6%

ARR by plan tier - AC vs PY and PL (kEUR)

 
Enterprise
27,900
+6,500+30.4+1,900
Pro
14,800
+1,900+14.7+600
Team
4,300
+200+4.9-200
Starter
1,600
+200+14.3-100
Total ARR
48,600
+8,800+22.1+2,200

The ARR bridge is the report's backbone: opening and closing are flow: "result" levels, and the four movements between them are signed steps. Contraction and churn carry higherIsBetter={false}, so growth in either reads red.

Retail

Northgate Retail Group · Sales, like-for-like and margin by category - AC vs PY · FY 2025

Net sales reached 1,284 mEUR (+6.1% vs PY) on +3.2% like-for-like; Food and Home led, while margin pressure in Apparel trimmed the gross rate by 0.4 points.

Net sales
1B+74M+6.1%vs PY
Like-for-like
3%+1+77.8%vs PY
Gross margin
38%-0-1.0%vs PY
Avg basket
€35+2+4.8%vs PY
Footfall
41.2M+1.2M+3.0%vs PY

Like-for-like sales by category - ranked, AC vs PY (%)

LFL growth by categoryACΔPYΔPY%FoodFood+3+157.1%5HomeHome+3+200.0%5BeautyBeauty+1+50.0%4LeisureLeisure+1+58.3%2ElectronicsElectronics-0-36.4%1ApparelApparel-3-300.0%-2Total15+5+57.0%
LFL growth by category - data table
ACPYΔPYΔPY%
Food52+3+157.1%
Home52+3+200.0%
Beauty42+1+50.0%
Leisure21+1+58.3%
Electronics11-0-36.4%
Apparel-21-3-300.0%
Total159+5+57.0%

Sales and gross margin by category - AC vs PY and PL (mEUR)

 
Food
512
+34
138
+4
Home
286
+18
121
+4
Apparel
214
-8
79
-7
Electronics
158
+6
38
-1
Beauty
114
+24
53
+5
Group
1,284
+74
429
+5

Ranking by deviation, not by size, is what makes the category story readable: Apparel is a mid-sized category but the only negative one, so it sorts to the bottom of the ranking and into the message.

Manufacturing

Rhine Manufacturing AG, Plant Düsseldorf · Output, OEE, scrap and unit-cost variance - AC vs PL and standard · 2025

Unit cost rose +110 €/unit against standard - adverse material prices (+180) outweighed favourable usage and overhead; OEE recovered to 78% after a weak Q2.

Output
184.5K u+8.3K+4.7%vs PY
OEE
78%-2-2.5%vs PL
Scrap rate
3%+1+24.0%vs PL
Unit cost
€4K+110+2.6%vs PL
On-time delivery
94%-2-2.1%vs PL

Unit-cost variance - standard to actual (€/unit)

+820+180-90+70-50930Standard costMaterial priceMaterial usageLabour efficiencyOverhead absorptionActual cost
Bridge of actual contributions - data table
ContributionRunning total
Standard cost+820820
Material price+1801,000
Material usage-90910
Labour efficiency+70980
Overhead absorption-50930
Actual cost930930

One modelling detail worth stealing: the standard cost is the opening level, so it is flow: "add" (a full bar from zero), not flow: "result". A result at the top of a bridge would be drawn at the running total - which is zero before anything has accrued - and render as an empty bar.

OEE by quarter - AC vs plan (%)

79Q172Q278Q381Q4-1-8-2+1
AC versus PL - data table
ACPLΔPLΔPL%
Q17980-1-1.3%
Q27280-8-10.0%
Q37880-2-2.5%
Q48180+1+1.3%

Cost of production - AC vs PY and PL (kEUR)

 PYACΔPYΔPY%
Direct material388K412K+24K+6.2
Direct labour161K168K+7K+4.3
Energy69K74K+5K+7.2
=Prime cost618K654K+36K+5.8
Manufacturing overhead138K142K+4K+2.9
Scrap & rework15K19K+4K+26.7
=Total cost of production771K815K+44K+5.7

A cost statement builds up, so every line is flow: "add" - and every line is higherIsBetter: false, which is what makes the deviation bars read correctly on a report where more is worse.

Banking

Meridian Bank · Net interest income, efficiency and loan book - AC vs PY · 2025

Pre-tax profit rose to 312 mEUR (+9% vs PY) as net interest income climbed +94 mEUR; the cost-income ratio improved 2.1 points and loan losses stayed contained.

Net interest income
1B+94M+8.9%vs PY
Net interest margin
2%+0+5.9%vs PY
Cost-income ratio
54%-2-3.7%vs PY
NPL ratio
2%+0+12.5%vs PY
Return on equity
11%+1+7.5%vs PY

Income statement - AC vs PY, calculation bridge (mEUR)

PYACΔPYΔPY%1,0523601021,51449835466286105661,146392881,62651236974511815612+94+32-14+112+14+15+83+32-5+46+8.9+8.9-13.7+7.4+2.8+4.2+12.5+37.2-50.0+8.1+Net interest income+Net fee & commission+Trading income=Total income−Staff costs−Other operating exp.=Operating profit−Loan loss provisions+Other / associates=Profit before tax
P&L calculation scheme, AC versus PY - data table
PYACΔPYΔPY%
Net interest income1,0521,146+94+8.9
Net fee & commission360392+32+8.9
Trading income10288-14-13.7
Total income1,5141,626+112+7.4
Staff costs498512+14+2.8
Other operating exp.354369+15+4.2
Operating profit662745+83+12.5
Loan loss provisions86118+32+37.2
Other / associates-10-15-5-50.0
Profit before tax566612+46+8.1

Loan book by segment - AC vs PY and PL (mEUR)

 
Mortgages
24,800
+1,700+7.4+600
Corporate
18,400
+500+2.8-500
SME
9,600
+900+10.3+400
Consumer
6,300
+200+3.3-100
Gross loans
59,100
+3,300+5.9+400

Loan loss provisions and the two ratio KPIs are the only lines where more is worse, and each says so once through higherIsBetter - the colours then follow without any per-cell styling.

Healthcare

St. Mary's Health System · Volumes, cost per case and quality - AC vs PY and PL · 2025

More patients at a lower cost per case: admissions +4% vs PY and cost per case 2% under plan, with a shorter stay freeing capacity - readmissions (+0.3 points) the one watch item.

Admissions
48.9K+1.9K+4.0%vs PY
Avg length of stay
5 d-0-6.1%vs PY
Cost per case
€6K-130-2.0%vs PL
Bed occupancy
86%+2+2.4%vs PL
30-day readmission
8%+0+3.8%vs PY

Patient volume by service line - AC vs PY (cases)

AC / PYΔPYΔPY%Cardiology9.8K+630+6.8%Orthopaedics8.6K+220+2.6%Oncology7.2K+530+8.0%General surgery6.9K-40-0.6%Maternity5.3K+90+1.7%Emergency+470+4.5%
Grouped AC versus PY - data table
ACPYΔPYΔPY%
Cardiology9.8K9.2K+630+6.8%
Orthopaedics8.6K8.4K+220+2.6%
Oncology7.2K6.7K+530+8.0%
General surgery6.9K7K-40-0.6%
Maternity5.3K5.2K+90+1.7%
Emergency11K10.5K+470+4.5%

Cost per case by quarter - AC vs plan (€)

6,610Q16,480Q26,390Q36,220Q4+60-70-160-330
AC versus PL - data table
ACPLΔPLΔPL%
Q16,6106,550+60+0.9%
Q26,4806,550-70-1.1%
Q36,3906,550-160-2.4%
Q46,2206,550-330-5.0%

The cost chart is the clearest illustration of impact colouring: Q1 is above plan and reads red, Q2 to Q4 are below plan and read green - the opposite of what the raw sign would suggest, because the chart is told higherIsBetter={false} once at the top.

Corporate P&L

Atlas Corporation · Group profit & loss - AC vs PY and PL · 2025

Net income reached 96.4 mEUR (+14% vs PY, +8% vs plan) as revenue grew 9% and disciplined operating expenses lifted the EBIT margin 1.3 points to 18.7%.

Revenue
642M+53M+9.0%vs PY
EBIT margin
19%+1+7.5%vs PY
Net income
96.4M+11.8M+13.9%vs PY
Cost ratio
81%-1-1.6%vs PY

Income statement - AC vs PY, calculation bridge (mEUR)

PYACΔPYΔPY%589348241793822102696118564237227084412512081121696+53+24+29+5+3+3+18+2+16+5+11+9.0+6.9+12.0+6.3+7.9+13.6+17.6+33.3+16.7+45.5+12.9+Revenue−Cost of sales=Gross profit−Sales & marketing−R&D−General & admin.=EBIT−Net financial result=Profit before tax−Income tax=Net income
P&L calculation scheme, AC versus PY - data table
PYACΔPYΔPY%
Revenue589642+53+9.0
Cost of sales348372+24+6.9
Gross profit241270+29+12.0
Sales & marketing7984+5+6.3
R&D3841+3+7.9
General & admin.2225+3+13.6
EBIT102120+18+17.6
Net financial result68+2+33.3
Profit before tax96112+16+16.7
Income tax1116+5+45.5
Net income8596+11+12.9

Profit & loss statement - AC with ΔPY and ΔPL (mEUR)

 PYACΔPYΔPY%
Revenue589M642M+53M+9.0
−Cost of sales348M372M+24M+6.9
=Gross profit241M270M+29M+12.0
−Sales & marketing79M84M+5M+6.3
−Research & development38M41M+3M+7.9
−General & admin.22M25M+3M+13.6
=EBIT102M120M+18M+17.6
−Net financial result6M8M+2M+33.3
=Profit before tax96M112M+16M+16.7
−Income tax11M16M+5M+45.5
=Net income85M96M+11M+12.9

The bridge and the table are two views of one model: the chart carries the shape of the calculation, the table carries the exact figures and both deviations. In a real report you would author the statement once and project it into both - see Data model for the adapters that do it.

Making these fit your layout

The charts above are drawn at fixed pixel widths, which is what keeps IBCS geometry honest. To drop one into a fluid dashboard, wrap it in ChartBox (or its ScrollChart preset) and pick a fit - see Sizing and fit.

Where to next

  • Example reports - the flagship chart and table templates, one exhibit at a time.
  • Theming - put your palette on any of these without touching the notation.
  • Report - the same composition driven by a JSON ReportConfig.
  • Conformance - the library's own check against IBCS notation rules, run over a report config.
ibcs-react is an independent open-source library and is not affiliated with, certified by, or endorsed by the IBCS Association or ISO. It follows the IBCS® notation rules (the basis of ISO 24896); IBCS® is a registered trademark of the IBCS Association.

On this page