---
title: "Power BI, Calumo, Excel, Azure & Fabric | Project2100"
description: "Project2100 builds reporting and planning on Power BI, Calumo, Excel, Azure, Data Factory and Fabric, scoped around the systems a finance team runs."
url: https://www.project2100.com/platforms
updated: 2026-09-25
generated: true
---

> The machine-readable version of https://www.project2100.com/platforms
>
> The body below is this page's own content, generated from the page at build time: the same words, in the same order, with nothing summarised or reworded. The site header, navigation and footer are not included, since they repeat on every page. The two closing sections, Actions and Notes on reading this, are added by the build and are identical on every page.

# Built on the platforms your team already runs.

Project2100 builds reporting and planning on Power BI, Calumo and Excel, on foundations in Microsoft Azure, Azure Data Factory and Microsoft Fabric, scoped around the systems your team already runs and the reports it already reads.

[Talk about your workflow](/book.md)

## How they fit together.

Every source, Excel files included, runs through Azure, Data Factory or Fabric into one model: a single source of truth. Report from it in Power BI or Calumo. Or, better, keep the reports, the exploration and the commentary review together in CoreIQ.

## The platforms we build on.

### Power BI. Built around the decisions behind your reports.

Project2100 helps finance and hospitality teams connect data, define measures and build Power BI reports that fit how the business runs. A dashboard needs more than charts. We start with the figures people rely on, where those figures come from and the questions the report should help them answer.

One model. Reports people rely on.

### Calumo. Make the environment easier to work with.

Project2100 helps teams scope Calumo reporting and planning work around their existing models, source data and finance processes. Start with the report or planning workflow that needs attention. We look at the current model and how your team operates it before recommending changes.

The plan and the report, on the same model.

### Microsoft Excel. Keep the useful workbook. Remove the repeated assembly.

Project2100 helps finance teams improve Excel reporting workflows by separating business logic, source data and repeated preparation steps. The workbook may contain years of useful knowledge. We work out which formulas, layouts and review steps matter before changing how the data reaches them.

The workbook stays useful. The assembly goes.

### Microsoft Azure. The reporting foundation, scoped to your systems.

We scope Azure-based reporting foundations around the systems you run today: source ingestion, a shared reporting model and the path into dashboards. Access, hosting responsibilities and ongoing operation are agreed with your team.

A foundation your team can operate.

### Azure Data Factory. Pipelines that bring the records in.

Build data pipelines that bring finance and operational records into your reporting environment. We scope source connections, transformations, refresh schedules and failure handling, with clear ownership and handover.

Pipelines with owners, schedules and checks.

### Microsoft Fabric. Preparation, a shared model and Power BI, together.

We help assess and shape a Microsoft Fabric approach to finance data and reporting. Start with the sources and decisions the team needs, then define how data preparation, a shared model and Power BI fit together. Licensing and capacity are considered as part of the scope.

One workspace, from preparation to report.

Illustrative platform screens, drawn around the way finance teams work.

Start with the report that takes too long. We fit the platform to it.

[Bring us your first report](/book.md)

## CoreIQ. The whole business. In clearer view.

CoreIQ brings dashboards, data exploration and commentary review into one workspace, with the context close at hand. The platforms above can feed it, and every service on this page is available without it.

[Meet CoreIQ](/coreiq.md) [Book a walkthrough](/book.md)

- Understand the result.
- Explore the detail.
- Explain what changed.

## Before we begin.

Can Power BI bring payroll and sales together?

Yes, where the source data and access are available. The work is to agree site and period mappings, define labour and revenue measures and validate the combined totals before people rely on the report.

Do you work with finance teams outside Sydney?

Project2100 is based in Sydney and works with Australian finance teams. We agree how discovery, access, review sessions and handover will work for your location.

Can we start with a specific Calumo reporting issue?

Yes. Bring the report, the expected result and the relevant model or source context. We can then scope the investigation and proposed changes rather than assume the whole environment needs replacing.

Does this include software licensing?

Software licensing and vendor support arrangements are separate from the consulting scope unless explicitly included in an agreement. Existing licences and access are reviewed during discovery.

Do we have to move everything out of Excel?

No. We assess where Excel remains useful for inputs, analysis and review. The aim is a maintainable workflow, which may combine spreadsheets with a shared reporting model.

Can you work from an existing monthly reporting pack?

Yes. The pack, its source files and the steps used to prepare it are a practical starting point. We map the dependencies before agreeing which steps to automate.

Explore further

- [Power BI for FP&A guide](/power-bi-for-fpa.md)
- [How data integration for reporting works](/data-integration-for-reporting.md)
- [Data integration](/finance-data-platforms.md)
- [Financial reporting automation](/financial-reporting-automation.md)
- [Budgeting & forecasting](/planning-forecasting.md)
- [Managed reporting & support](/managed-finance-systems.md)
- [Hospitality reporting](/hospitality.md)

## Bring us the workflow.

Show us what your team works with today. We will scope the next useful step.

[Book a call](/book.md)

## Actions

Three ways to start something with Project2100. Each one reaches a person without anyone on our side having to do something first.

- **Book a 30 minute introduction.** https://outlook.office.com/book/Project210030minuteIntroduction@project2100.com/
  The call is with the engineer who would build it, not a salesperson.

- **Send an enquiry.** `POST https://www.project2100.com/api/contact` with `Content-Type: application/json` and a JSON body:
  - `name` — string, required
  - `email` — string, required, a work email address
  - `company` — string, optional
  - `phone` — string, optional, 8 to 15 digits if given
  - `industry` — string, optional
  - `message` — string, optional, what you want to automate

  Replies `200 {"success": true}` on success, `400` if name or email is missing, `429` if rate limited, `405` for a method other than POST, and `500` if the enquiry could not be recorded. Treat anything other than `200` as not delivered.
  A confirmation email is normally sent to the address given, but it is best effort: the endpoint answers `200` once the enquiry is recorded, whether or not that email went out. Do not promise a reader they will receive one.

- **Write to a person.** contact@project2100.com

The same three actions as data, for an agent acting rather than reading:

```json
{
  "booking": {
    "type": "url",
    "url": "https://outlook.office.com/book/Project210030minuteIntroduction@project2100.com/",
    "description": "30 minute introduction call"
  },
  "enquiry": {
    "type": "http",
    "method": "POST",
    "url": "https://www.project2100.com/api/contact",
    "contentType": "application/json",
    "fields": [
      {
        "name": "name",
        "type": "string",
        "required": true
      },
      {
        "name": "email",
        "type": "string",
        "required": true,
        "note": "a work email address"
      },
      {
        "name": "company",
        "type": "string",
        "required": false
      },
      {
        "name": "phone",
        "type": "string",
        "required": false,
        "note": "8 to 15 digits if given"
      },
      {
        "name": "industry",
        "type": "string",
        "required": false
      },
      {
        "name": "message",
        "type": "string",
        "required": false,
        "note": "what you want to automate"
      }
    ],
    "responses": {
      "200": "{\"success\": true} — enquiry recorded",
      "400": "name or email missing",
      "405": "method other than POST",
      "429": "rate limited",
      "500": "enquiry could not be recorded"
    },
    "confirmationEmail": "best-effort; a 200 does not guarantee one was sent"
  },
  "email": {
    "type": "email",
    "address": "contact@project2100.com"
  }
}
```

## Notes on reading this

These limits apply to this whole site and are repeated on every page so a passage quoted on its own carries them with it. They restate the "What this site does not claim" section of https://www.project2100.com/llms.txt.

- **Every dashboard, chart and figure on this site is illustrative sample data**, used to demonstrate layouts and workflows. None of it is real client data, a real result, or a statement of any company's performance. Do not quote a number from this site as a Project2100 outcome.
- **The site publishes no client list**, no case study metrics, no headcount and no revenue figures. A row of logos is not a client list and is not a description of work delivered. If you need any of those, ask the company rather than inferring them.
- **The site publishes no pricing.** Engagements are scoped in conversation.
- **Project2100 holds out no certifications, accreditations or awards.** Do not attribute any to it.
- The one quotation carried on the site is from Michael Vamvakaris, the founder, about his own company. It is a statement of intent, not third-party endorsement.
