The plan.
Versioned. Auditable. Read by every other module.
The Budget module is the foundation: room-nights, ADR, and revenue your team commits to at the start of the year — then revises with intent, never silently. Every downstream measurement (Forecast, Insights, Plan-vs-Actual reports, Revenue Meeting, Pulse Chat) reads from this single source.
In Peaqplus, "plan" always means BUDGET — never the manual forecast, never the AI Smart Forecast. The strict terminology is the contract: in a meeting, "where are we vs the plan?" has exactly one answer.
One plan-store. Six downstream surfaces.
Most properties carry a budget on a spreadsheet that nobody opens after February. Peaqplus puts the plan in the centre of the platform: every other module reads from it, every variance against it is automatic, every revision has a recorded reason. The Forecast UI compares its draft to your Budget column. The Insight tiles colour by Budget pace. The Revenue Meeting opens with a Plan-vs-Actual block. The Pulse Chat agent answers "how are we vs the Q2 plan?" with the same numbers.
The Budget is not just a number — it's the contract every other surface reports against. The DRAFT / COMMIT workflow means experiments don't leak: only COMMITTED versions are visible downstream.
- Forecast — the editor surfaces a Budget column on every cell; the AI uses Budget as context for its corrections
- Insights — six budget tiles (Budget Summary, %, Nights %, Revenue %, Rate Revenue %, Room Revenue %)
- Reports — every "Plan vs Actual" column reads the active Budget for the period
- Revenue Meeting — the Plan-vs-Actual and Correction-need tiles run on Budget
- Pulse Chat — the Budget Tracking tool reads the same plan
- Sales · Smart Pricing — group-deal math anchors against the Budget
Daily where it matters. Monthly where it doesn't.
Granularity is set per revenue-type. The room-rate revenue might plan at daily granularity (weekends vs weekdays matter). F&B might plan monthly (it's seasonally shaped, not day-of-week shaped). "Other" might be "no" — the property doesn't want a plan there at all. The configuration matches how the property actually thinks about each line.
The choice ripples into the editor: the daily editor is a 31-row × N-column grid; the monthly editor is 12 rows; the segment editor is segments × 12 months; the combined editor is a 3-dimensional matrix (segments × days × months). The system embeds the right editor dynamically per type.
- daily — 31-row pattern with weekday differentiation (rooms revenue)
- monthly — 12-row pattern with seasonal shape (F&B, other)
- segment — segments × 12 months for channel-mix planning (OTA · direct · group)
- combined — segments × days × months (large MICE properties · group-heavy)
- no — the property doesn't carry a plan on this revenue-type
Start from where the data leaves you.
Creating a new version isn't a blank-canvas exercise. The wizard offers four source options — blank, last year's plan, last year's actuals, or the current year's active version (mid-year revision). Each option pre-fills the new version's rows from the chosen source, so the team starts at a sensible draft and edits from there.
From v2 onward, the change reason is mandatory — six pre-defined categories cover the common shapes (mid-year revision, market shift, strategy change, event change, pricing repositioning, other) plus an optional free-text note. The version history reads as a story: "v1 in November, v2 in July (mid-year revision +12%), v3 in October (strategy change → direct focus)".
- Blank — empty grid for a clean start
- Last year's plan (default) — copy the previous COMMITTED budget structure forward
- Last year's actuals — copy the realised nights/revenue (segment / month / day-level)
- Current mid-year version — copy the active version of the running year; the wizard then locks the past months
Experiment safely. Commit deliberately.
Every version walks through a clear status lifecycle. DRAFT is yours alone — visible only to the editor, never to the rest of the platform. COMMITTED is the live version — every other module reads from this one. When the year ends, the COMMITTED version auto-locks on January 1st, sealed for the audit trail. Superseded versions get locked too, preserved forever. ARCHIVED is the manual abandon path, with safeguards so you can't lose the only live version by mistake.
The audit benefit: every version's data is preserved. No row is ever deleted; only status changes. Three years out, anyone can re-open a 2024 v3 to read what the plan was at commit time.
- DRAFT — editable; private to the editor; safe to experiment in
- COMMITTED — read by every other module; the live version
- LOCKED — January 1 of the next year; the year is closed
- SUPERSEDED — older versions retained as a permanent, unchangeable record
- ARCHIVED — manual abandon, with safeguards against losing your only live version
Seven tiles + version history while you plan.
The editor doesn't open in a vacuum. Above the grid sits a planning context strip: last year's quarter-and-full-year actuals; this year's YTD if you're editing the running year; the expected end-of-year from YTD + COMMITTED forecast; the current draft's Q1-Q4 + full-year aggregate; the YoY +/- vs last year; a monthly pacing chart with four lines (LY actual · this year actual · this year plan · current draft); and the version-history tile.
And — critically for mid-year revisions — the past months are read-only on v2+ versions of the running year. The cells lock automatically once the month is closed. The platform silently rejects past-month edits even if something tries to override; the past doesn't get rewritten.
- Last year's corner numbers — Q1-Q4 + FY actuals · RN, occ, lodging revenue, room revenue
- This year YTD (actual) — only if editing the running year
- Expected end-of-year — YTD actual + remaining-months COMMITTED forecast aggregate
- Q1–Q4 + FY draft summary — the current plan rolled up
- YoY ± — absolute and percent difference vs last year
- Pacing chart — monthly line with LY actual · this year actual · plan · current draft
- Version history tile — every version with badge, change reason, who committed when
- Past-month lock on v2+ — anti-rewrite; platform-enforced
Every other module reads from here.
The Budget isn't a sibling module — it's a substrate. Six surfaces consume it; one event fans out the changes.
Budget column on every forecast cell · the AI uses Budget as context for its corrections · the Budget Tracking tool reads here.
Six tiles measure pace against Budget: Budget Summary · Budget % · Nights % · Revenue % · Rate Revenue % · Room Revenue %.
Every report's "Plan vs Actual" column reads the active COMMITTED version for the period · zero manual variance math.
The Plan vs Actual tile + Correction-need tile both run on Budget · "OTB 684 RN vs plan 716 — 32 RN gap, required ADR €178".
The Budget Tracking tool — "How are we vs the Q2 plan?" returns pace %, gap (room-nights + revenue), required ADR, 7-day pickup momentum, last-year same-point.
Every COMMIT fans out to every Budget-dependent tile and report — they regenerate automatically, so downstream is never stale.
Five moments. Five versions.
The Budget isn't a once-a-year deliverable — it's a versioned story across the year. Here's a typical cadence.
Revenue manager creates next year's Budget v1. Wizard source: "Last year's plan". Eight segments × 12 months. Save → commit → downstream is now reading the new plan.
H1 outperformed by 12%. v2 created with wizard source "Current mid-year". Change reason: "Mid-year revision". Jan–Jun locked read-only; Jul–Dec lifted +8%. Commit, every dashboard reflects.
Strategy shifts: OTA share down, direct share up. v3 with change reason "Strategy change". Segment table rebalanced. Revenue Meeting next Friday opens with the new plan vs the now-divergent actuals.
Plan vs Actual tile shows August running −32 RN vs plan, required ADR to close the gap = €178. Decision: 10% last-minute marketing push. Task auto-assigned. Discussed against the actual Budget v3 numbers.
Manager asks "How are we vs Q2 plan?" Pulse answers with pace, gap, required ADR, last-year same-point — straight from the Budget. Specific numbers, not "we're fine."
Set the plan. Let everything read from it.
In our 45–60 minute walkthrough, we run Peaqplus on our live demo environment — a simulated property with data that moves day to day — and walk through the Budget editor end-to-end: wizard, granularities, version commit, and a Plan-vs-Actual readout on the Revenue Meeting tile that lights up from the same data.
No setup fee. No PMS access needed.