---
title: "Budgeting & Forecasting Systems | Project2100"
description: "Build a repeatable budgeting and forecasting workflow with Project2100. Connect actuals, organise assumptions and compare scenarios."
url: https://www.project2100.com/planning-forecasting
updated: 2026-09-24
generated: true
---

> The machine-readable version of https://www.project2100.com/planning-forecasting
>
> 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.

Budgeting & forecasting

# A planning process your team can keep up to date.

Project2100 helps finance teams design budgeting and forecasting workflows around clear assumptions, connected actuals and reports people can understand.

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

## Start with the work.

A forecast is only useful when the team knows which assumptions changed and who owns them. We work from your existing planning process before deciding what to automate.

01

### Actuals alongside the plan

Define how actuals are loaded, mapped and compared with the budget so variance analysis uses consistent periods and accounts.

02

### Assumptions with owners

Structure the operational drivers and inputs your plan depends on. Agree who updates them and how changes are reviewed.

03

### Useful scenarios

Set up the comparisons your team needs to discuss revenue, labour, costs or investment without rebuilding the entire workbook.

04

### A workable reporting cadence

Design the review and reporting process around your team, including what stays manual and what can be refreshed automatically.

## Before we begin.

Can we keep our existing planning workbook?

We can assess it as the starting point. The scope separates useful business logic from repeated data preparation and identifies whether the workbook, Calumo or another agreed platform fits the workflow.

Will a forecast update without finance input?

Actuals and preparation can be automated where the source permits. Assumptions, business judgement and approval still have owners; the design makes those responsibilities explicit.

## 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.
