Skip to main content

Features

Konsolidat delivers full-cycle Enterprise Performance Management through a modular, open-source stack.

Excel-Native Reporting

Six VBA worksheet functions query financial data directly from ClickHouse via the Frappe API — five read functions plus EPMSAVE for budget write-back. No SQL, no code — just formulas.

=EPM("USMF", 2024, "Q1", "401100") → Actuals — net amount
=EPM_BUDGET("USMF", 2025, "FY", "6100") → Budget — full year
=EPM_VARIANCE("USMF", 2025, 5, "6100") → Variance — actual vs budget
=EPM_DEBIT("USMF", 2024, 5, "1300") → Period debits
=EPM_CREDIT("USMF", 2024, 5, "1300") → Period credits
=EPMSAVE(125000, "USMF", 2025, 5, "6100", "BUDGET_2025", "base") → Write budget cell back
  • Period aggregationQ1Q4, H1/H2, FY roll up across months
  • Batch refreshCtrl+Shift+R sends all formulas in a single HTTP request
  • Session auth — Frappe login, credentials stored per-workbook
  • Dimension filters — Optional cost center, department, business unit parameters

See the Excel VBA Guide for full formula reference.

Multi-Entity Consolidation

Full IFRS/GAAP consolidation pipeline, entirely in dbt SQL:

StepWhat happens
Currency translationBalance sheet at closing rate, P&L at average rate
CTA calculationAutomatic Currency Translation Adjustment posting
NCI splitGroup vs non-controlling interest based on ownership %
IC eliminationRule-based intercompany receivable/payable and revenue/COGS netting
Top-side adjustmentsManual consolidation journal entries via seed CSV
Consolidated TB6-layer union: entity + IC eliminations + CTA + topside + equity-method + acquisition/disposal

See the Consolidation Guide for details.

Driver-Based Cost Allocations

Multi-step cascading allocation engine with three built-in allocation types:

  1. Step 1 — IT costs allocated by headcount
  2. Step 2 — Facility costs allocated by square meters (includes Step 1 cascade)
  3. Step 3 — Management fees allocated by revenue (includes Step 1+2 cascade)

Allocation rules, drivers, and cost center mappings are all defined in CSV seeds — no code changes needed.

See the Allocation Guide for configuration.

Budgeting & Variance Analysis

  • Annual input — Budget line items defined in CSV, one row per entity/account/year
  • Spread profilesEVEN (equal monthly), SEASONAL_RETAIL (weighted), or custom profiles
  • 12-period spreading — Automatic monthly breakdown from annual totals
  • 5 variance measures — actual, budget, variance_abs, variance_pct, variance_favorable
  • Favorable logic — Revenue: favorable when actual > budget. Expense: favorable when actual < budget.

See the Budgeting Guide and Variance Analysis Guide.

Medallion Data Architecture

Four-layer data pipeline from source to reporting:

LayerSchemaModelsPurpose
Rawepm_bronze (Airbyte)OData entities as-is from D365
Stagingepm_staging30 viewsCanonical models + d365_fo / erpnext adapters; field renames, joins, JSON parsing
Bronzeepm_bronze15 tablesType-cast, snake_case, dimension mapping
Silverepm_silver8 tablesDeduplicated, standardized trial balance
Goldepm_gold32 tablesBusiness logic: consolidation, allocations, variance

See the Data Dictionary for model-level documentation.

REST API

Around 14 whitelisted API methods are exposed through Frappe/Konsol, covering value queries, budget write-back, consolidation hierarchy, allocations, and health checks. Key ones include:

EndpointMethodPurpose
epm_valueGETSingle financial value query
epm_batchPOSTBatch query (used by Excel Ctrl+Shift+R)
budget_save / budget_cell_save / budget_save_batchPOSTBudget write-back from Excel
get_hierarchy_treeGETConsolidation group hierarchy
approve_adjustment / reverse_adjustmentPOSTTop-side adjustment workflow
run_allocation / reverse_allocation / allocation_historyPOST/GETAllocation engine control
connector_health / airbyte_sync_completeGET/POSTPipeline status hooks
healthGETClickHouse connection + model freshness check

Session-based authentication via Frappe login (session cookie). See the API Reference.

Excel Task Pane

Office.js add-in for pipeline orchestration directly from Excel:

  • Login with Frappe credentials
  • View latest pipeline run status
  • Trigger Airbyte sync + dbt build from a sidebar panel

See the Excel Task Pane Guide.

Configurable Dimensions

dbt project variables define dimensions that auto-propagate through all Gold models:

vars:
dimensions:
- name: dim_cost_center
source_column: CostCenter
allocation_role: cost_center
- name: dim_department
source_column: Department
- name: dim_business_unit
source_column: BusinessUnit

Add a new dimension by adding an entry — macros handle the rest. See Adding Dimensions.

Component Stack

ComponentPurposeDefault Port
ClickHouseColumnar analytical warehouse8123 (HTTP), 9000 (native)
AirbyteD365 OData extraction (via abctl)8000
dbt CoreSQL transformations (85 models, 150+ tests)CLI
Frappe (Konsol)API layer, auth, pipeline control, settings8069
Excel VBA=EPM() formulas for financial reporting
Excel Task PanePipeline orchestration (Office.js)