Enterprise & licensing
Advanced analytics ship in @kanunilabs/pivotgrid-react-enterprise: the no-code
calculated-field editor, live chart integration, drill-down to source records, the visual
prefilter builder, and styled Excel & PDF
export. EnterprisePivotGrid is a drop-in replacement for BasePivotGrid — it accepts the
same props and adds these.
Not using React? The same paid surface ships as @kanunilabs/pivotgrid-enterprise:
one createEnterprisePivotGrid() call, same licence key, same licence terms. The
JavaScript guide shows it in use.
Private registry
The enterprise package is delivered from our private registry with per-customer
credentials. After purchase you receive a ready-to-paste .npmrc by email (also
manageable from your dashboard):
@kanunilabs:registry=https://registry.kanunilabs.com/
//registry.kanunilabs.com/:_auth=<value from your email or dashboard>
//registry.kanunilabs.com/:always-auth=true
Then install:
npm i @kanunilabs/pivotgrid-react-enterprise
or, without React:
npm i @kanunilabs/pivotgrid-enterprise
Setup details, CI usage and credential rotation are covered in the Private registry access guide.
License key
Set your key once at startup, then use EnterprisePivotGrid in place of BasePivotGrid:
import { EnterprisePivotGrid, LicenseManager } from '@kanunilabs/pivotgrid-react-enterprise';
LicenseManager.setLicenseKey('KLAB1....');
export function MyProGrid(props) {
return <EnterprisePivotGrid {...props} />;
}
Without a valid license the grid still renders and shows a watermark that says what is wrong, in the grid's language — "Unlicensed", "License expired", "Browser cannot verify the license (HTTPS required)" and so on. Nothing is logged to the console when no key is supplied at all — the notice, in PivotGrid's name, only appears when a key IS given and fails to verify. Licenses are verified offline: the signature is checked against a public key compiled into the package, with no licence server to reach.
- Plain HTTP intranets are supported. Where the browser offers no
crypto.subtle(anyhttp://page that is notlocalhost), the key is verified by a JavaScript implementation of the same algorithm, bundled with the grid — same verdict, signature always checked. reasonCodeon the licence state names the reason in a stable form (expired,domain-mismatch,engine-unavailable...). The DataGrid guide has the full table — the licence is shared, so the codes are too.
What the license key actually controls
One thing: the watermark. An unlicensed Enterprise build is not a crippled build, it is a watermarked one — a feature you cannot run is a feature you cannot evaluate before buying.
That is separate from the edition boundary, which is real and has two different shapes:
- A runtime gate, on the three styled export formats.
PivotControllerrefusesexcel-list,excel-pivotandpdfon a Community grid — see Styled Excel & PDF export. It is an edition check, not a licence check: an unlicensed Enterprise grid still exports. - A packaging boundary, for everything else on this page. The calculated-field
designer, the prefilter builder, the drill-down modal
and the chart renderer are components that exist only in the Enterprise
packages — React and JavaScript alike. (The node context menu moved to Community on 2026-08-30 —
bulk expand/collapse is free.)
BasePivotGriddoes not disable them, it never renders them — the footer's calculator and filter buttons are absent rather than greyed out.
What Enterprise unlocks
Seven entries, and that is the whole paid surface. Everything not in this list is in Community and needs no licence — the full side-by-side table is on the pricing page.
Data & performance
- Visual prefilter builderA multi-condition editor for that predicate, with grouped AND/OR nesting.
Aggregation
- Calculated field designerThe no-code modal that lets end users build, edit and delete those formulas from the footer.
Data in and out
- Styled Excel exportThe view as a real workbook — merged header spans, total styling and per-measure number formats — or a flat list.
- PDF exportA print-ready document of the current pivot.
State & reports
- Server-side pivotPivot data too large for the browser: your server aggregates, the grid lays the totals out — one level at a time.
- Pivot layout for AI modelsA JSON Schema of the pivot’s fields, measures, filters, sorts and totals for your own model, and a checked apply for its answer.
Analytics
- Drill-down modalA ready-made searchable, exportable detail grid for those records.
- Chart transformer & rendererThe transformer that turns an engine result into series, and the chart component that draws them.
- Cross-filter from the chartClick a bar, slice or cell to filter the pivot to that category; click again to clear.
- Chart state, events & saved reportsRead and restore the chart from code, hear it change, and keep it — hidden series included — in saved reports.
- Waterfall, funnel, treemap, heatmap, range, sunburst & histogramRunning totals, process stages, part-of-whole areas, the pivot itself as a heatmap, low-to-high spans, the row hierarchy as rings, and how many members fall in each band of a measure.
- Scatter & bubble chartsOne point per category at (measure 1, measure 2), a bubble sized by measure 3.
- Chart titles, labels & legendTitle, axis titles, legend position and data labels; values print with the measure’s own format.
- Row sparklinesEach row’s trend across the columns, drawn small in its grand-total cell beside the total — as a line or bars.
- Stacked & 100% chartsColumn, bar, line and area series side by side, stacked, or as shares of 100% with a percent axis.
Where each feature is documented
Rendering EnterprisePivotGrid makes the paid surfaces available: the footer's
calculator and filter buttons open their editors, and the Excel/PDF entries in
the Export menu become
active. Two of them — drill-down and charts — are headless: the grid hands you
data and you decide where to render it.
Each has its own guide, with the configuration, the API and an honest account of where it stops:
| Guide | Covers |
|---|---|
| Calculated fields | row-level vs summary-level, the formula language, the designer modal, and what a saved report does to them |
| Prefilter & node menu | the pre-aggregation predicate, its AST, the builder, and the right-click expand/collapse items |
| Drill-down & charts | the rows behind a cell, the chart transformer/sync/factory trio, and the wiring the grid does not do for you |
| Styled Excel & PDF export | the three paid formats, the options that reach the exporter, and what the file will not match on screen |
EnterprisePivotGrid vs BasePivotGrid
The wrapper hard-wires four props — advancedExport and the three render slots
— and draws the watermark. It re-assigns them after spreading your props, so
passing your own renderCalculatedFieldModal, renderPrefilterBuilder,
renderNodeContextMenu or advancedExport has no effect. Use BasePivotGrid
directly if you need to supply your own.
It is also not a type-level drop-in: forwardRef erases the generic, so the
shipped type is EnterprisePivotGridProps<unknown> and a PivotField<Sale>[]
will not assign to initialFields without a cast.