Skip to content
Amula AI

Case study · Investment reporting automation

From 20+ hours of manual work to a hands‑off monthly pipeline.

How Amula AI rebuilt bilingual investment factsheet production for IST Investmentstiftung, turning a slow, fragmented, manual process across roughly 20 funds into a single governed Power BI pipeline with automated PDF output.

At a glance

20+ hrs → 3–4 hrs

Monthly workload, from 20+ hours per fund manager to a few hours in total

~20 funds

Standardized reporting across the full fund range

DE + FR

Bilingual output, fully automated: around 40 report variants

~2 months

From strategy to a live, production pipeline

One semantic model replacing ~40 separate datasets: a single source of truth.

Near-zero manual steps in monthly PDF generation.

Client & context

A Swiss pension investment foundation with no tolerance for wrong numbers.

IST Investmentstiftung

IST Investmentstiftung is a Swiss investment foundation that manages assets on behalf of pension institutions.

Every month, IST publishes investment factsheets for roughly 20 funds, each in German and French, for an audience of professional and institutional investors. In a regulated pension context, these documents have to be accurate, consistent, on-brand, and on time. There is no tolerance for wrong numbers or missing data.

The challenge

A critical monthly deliverable running on manual labor and tribal knowledge.

The existing process was manual, fragmented, and high-risk:

01

Heavy manual effort

Producing and checking the factsheets consumed 20+ hours per fund manager every month: repetitive assembly, formatting, and review work that scaled linearly with every new fund.

02

The bilingual multiplier

Every factsheet existed in German and French, effectively doubling the production and review surface.

03

Fragmentation and drift

Reporting logic lived across many separate files, so formatting and calculation rules drifted apart over time, creating a maintenance and consistency liability.

04

Compliance details that break silently

Swiss number formatting, strict corporate typography (the mandated Tahoma font), and locale handling in charts and measures: small details that, when wrong, quietly undermine credibility.

05

Silent failure as the core risk

The dangerous errors in financial reporting are the ones that don't throw an error: a mis-scaled value, a pre-formatted text field treated as a number, a partial data row that quietly blanks a performance figure. The process had no systematic defense against these.

06

Manual, brittle PDF output

Final delivery depended on manual export steps that were slow and easy to get wrong.

The approach

Reporting rebuilt as governed infrastructure.

Amula AI treated reporting as infrastructure: a governed pipeline, designed once, that runs every month with minimal human intervention. Five pillars:

  1. 01

    A governed data foundation

    Volatile, multi-source workbooks were turned into reliable, Power-BI-ready inputs. A purpose-built Snapshot Tool (a Python desktop app) converts live-formula Excel workbooks into static, value-only versions, so the reporting layer always reads stable data. Scaling, formatting, and display rules were encoded once in centralized Power Query mapping tables, eliminating the per-file guesswork that caused silent errors.

  2. 02

    One semantic model, many thin reports

    Instead of ~40 separate datasets, Amula built a single shared Power BI semantic model feeding lightweight per-fund reports via live connection. Per-fund scoping is handled with report-level filters; German and French ship as separate, correctly localized reports. This kills normalization drift and makes adding a fund a configuration task, not a rebuild.

  3. 03

    Swiss-compliant presentation, by design

    The pipeline enforces Swiss formatting, correct locale handling in DAX measures (de-CH / fr-CH), and full Tahoma font compliance in the rendered output, so every factsheet is consistent and on-brand without manual fixing.

  4. 04

    Hands-off PDF production

    Monthly output is automated end-to-end: datasets refresh through the Power BI REST API using secure service-principal authentication, and final PDFs are generated by driving Power BI's native export on Microsoft's own rendering servers, where the corporate font is natively present. The whole run is config-driven: report lists, behavior, and secrets live in configuration, not in code.

  5. 05

    Engineering for trust

    The build ran in numbered phases with hard validation gates and a separate QA layer: the builder never signs off its own work. Every deliverable explicitly flags silent-failure risks instead of letting them slip through.

Architecture

One governed pipeline, end to end.

Source workbooks

key data, performance, structure, categories

Snapshot Tool

live → static, value-only

SharePoint

governed file store

Shared Power BI

semantic model · Power Query mapping · scaling + formatting · Swiss-locale DAX

~40 thin reports

DE / FR per fund, report-level filters

Power BI Service

scheduled, governed

REST API refresh

service principal / MSAL auth

Automated PDF export

native render, Tahoma-compliant

Bilingual monthly factsheets

DE + FR, on schedule

One governed pipeline: structured Excel inputs are stabilized, modeled once, scoped into bilingual per-fund reports, then refreshed and exported automatically every month.

Results & impact

A step-change, not an incremental gain.

Headline outcomes

  • Monthly reporting effort cut from 20+ hours per fund manager to 3–4 hours in total.
  • Roughly 20 funds standardized under one consistent reporting system.
  • Bilingual (DE/FR) output automated, removing the duplicate manual workload.
  • Delivered in roughly two months, strategy through live implementation.

What it means

One source of truth
A single semantic model replaced ~40 fragmented datasets, ending normalization drift.
Scales by configuration
Adding a fund or report is a configuration change, not a rebuild.
Defense against silent failure
The failure mode that matters most in financial reporting is flagged explicitly, not assumed away.
Adopted by the client's team
IST's own team now operate the data-preparation tooling directly.
A durable partnership
The work established Amula AI as an ongoing strategic implementation partner, not a one-off vendor.

Why it holds up

The engineering principles behind the build.

  1. Architecture before tooling

    A shared model plus thin reports eliminates drift across dozens of files.

  2. Silent failure is the primary risk

    Mis-scaled values, text-vs-numeric mismatches, and partial rows are flagged explicitly, not assumed away.

  3. Data normalization belongs at the source

    Raw values plus format rules (not pre-formatted strings) keep the model clean and auditable.

  4. Config-driven, not hardcoded

    Secrets, behavior, and report lists live in configuration.

  5. Phased delivery with QA gates

    The builder never signs off its own work.

Tech stack

Built on the Microsoft stack, automated with Python.

BI & modeling

Power BI (Premium Per User)PBIP / TMDLDAXPower Query (M)

Automation (Python)

PlaywrightMSALopenpyxlparamikoPyInstallerpytestTkinter

Microsoft / Azure

Azure app registration (service principal)SharePoint OnlinePower BI REST APIMSAL client-credentials flow

Tooling

VS Code

Running critical reports by hand?

Amula AI turns manual, high-stakes reporting into governed, automated infrastructure. Let's map what that looks like for your numbers.