Alloovium

Excel add-in

Alloovium in Microsoft Excel

Turn contracts into auditable spreadsheets. Build registers, fill templates, and apply chat-driven edits through a single approval queue — every value tied to the source clause that produced it.

Alloovium task pane in Excel — Chat tab with greeting, suggestion pills, and recent conversations
Three tabs in the bottom nav — Chat, Workflows, Edits. Header has the project picker and the overflow menu; ContextBar shows the live sheet read.

Overview

The Excel add-in plugs into Microsoft 365 Excel as a task pane. It understands the active sheet's structure, knows the active Alloovium project, and writes back to the workbook only through a single auditable path — every mutation runs inside one Excel.run transaction, so a partially-applied register is impossible.

The pane has three tabs in the bottom nav:

TabWhat it does
ChatQ&A over the active project with the active workbook as context. Plain-English instructions that the planner turns into a preview-then-apply set of operations.
WorkflowsHub of structured workflows — Fill Template at the top, Obligations Register and Variations Register below. Each opens its own sub-view; sub-tools (LD calculator, flow-down checker, milestone dates) live inside the Variations register.
EditsChat-driven edits awaiting human review. Three segments — Awaiting me, Submitted, History. Authority thresholds per project.

Open the task pane

  1. 1

    Install the add-in

    Centrally deployed via the M365 admin centre or sideloaded per machine. See the install guide.

  2. 2

    Open the workbook

    Any .xlsx — on disk, OneDrive, or SharePoint. New blank workbooks work too.

  3. 3

    Click "Open Alloovium" in the Home ribbon

    The task pane appears on the right.

  4. 4

    Sign in and pick the project

    First-run only. The same project picker as the web app — pick whichever contract or project this workbook is for. If the add-in recognises the workbook (see below), it'll suggest a project for you.

Sheet detection & auto-match

The first thing the add-in does is look at the active sheet. It samples the header row and a handful of sample rows, and asks the backend to classify the sheet — obligation register, variation register, milestone schedule, or something else. The detected sheet type appears in the context bar and tunes the suggested actions.

Separately, when you open a workbook, the add-in tries to recognise it as a project you already have in Alloovium. The match scores filename, sheet names, and header/sample-row content against your accessible projects. A confident match shows a banner suggesting that project; you can accept or dismiss it per-document.

Vault freshness

Once a project is selected, a background poll checks for newer documents every 90 seconds. If anything's changed in the Vault, a StalenessBanner appears with a one-click Refresh.

Chat tab

The Chat tab is conversational Q&A over the active project, with the active workbook as live context. Every chat message sends a workbook context block — the header row, up to thirty sample rows, and the current selection — wrapped in XML delimiters that the LLM treats as untrusted data, not instructions.

The intent classifier routes every message to one of four flows:

IntentBehaviour
workbook_qaAnswer the question about the active sheet. No mutations.
document_qaRetrieve from the project Vault. Citations come back as source chips under the assistant message.
planThe user described a structured change. Backend returns a typed ExcelOperation plan — set_value, set_formula, highlight, insert_row, clear_range. Plan goes to the Edits tab for review; once accepted, ops apply atomically inside one Excel.run.
populateOn empty sheets, the planner skips the approval step and applies operations directly. Used to fill blank registers from a template.

Workbook-only toggle

A switch at the top of Chat collapses retrieval to workbook_qa for focused sessions where you only want answers about the current sheet, not the broader project Vault.

Workflows tab

The Workflows tab is a hub. Clicking any card swaps the body to that workflow's sub-view; a back arrow in the sub-view header returns to the hub.

Excel Workflows tab — Fill Template hero card on top, Obligations Register and Variations Register cards below
Fill Template (orange-bordered hero with AI badge) sits at the top; Obligations Register and Variations Register cards open their sub-views. The context bar at the top of the pane reads the active sheet so the planner can route suggestions correctly.
  • Fill Template — the hero card. Mirrors the Word add-in's Document Fill: point it at a template-shaped sheet, pick a Vault, and the planner drafts a value for each blank with a source citation, then writes the full batch into the workbook in one atomic transaction.
  • Obligations Register — opens the obligations sub-view (see below). Build the register from the project's parsed contracts, filter, and sync into the sheet.
  • Variations Register — opens the variations sub-view (see below). Houses the change-order register plus three sub-tools: LD Calculator, Flow-Down Checker, Milestone Dates.

Obligations register

The Obligations Register sub-view builds an auditable obligation register from the project's parsed contracts. Point it at a project Vault and it produces one row per obligation with party, action, due date, cadence, severity, clause reference, and the verbatim source text.

Building the register

  1. 1

    Open a blank or partially-filled register sheet

    The add-in detects existing register layouts and switches the CTA from "Import" to "Update register" — it appends rows without disturbing what's there.

  2. 2

    Click "Generate from vault"

    Extraction kicks off across every processed document in the project. Production runs through a Celery queue; the pane subscribes to progress updates and lists obligations as they arrive.

  3. 3

    Filter and review

    Filter by severity or obligation type; bulk-select up to 500 rows; deep-link from a clause chip back into Chat to ask about it.

  4. 4

    Sync to sheet

    Writes the register into the workbook in a single atomic transaction. Citations live in a hidden column you can show on demand.

Contradiction flags

The Obligations view has a Contradictions toggle that surfaces flags from the LLM contradiction checker — places where two obligations on the same project disagree on party, value, or date. Each flag links back to both source clauses.

Variations & calculators

The Variations Register sub-view covers change-order workflows. Extract variations from notices, RFIs, and instructions into a structured register; or build a fresh variation log from scratch. Each row shows VO number, status pill, cost impact, time impact, source clause, approver, and submitted date.

  • Send for approval — kick a variation into the project approval workflow without leaving Excel.
  • Sync to sheet — write the full register into A1:H{N+1} with a dark header row.

The same sub-view exposes three calculators, opened in an overlay:

Sub-toolWhat it does
LD CalculatorLiquidated damages — rate × delay, with daily and weekly caps. "Look up" pre-fills daily rate and cap from the contract's LD clause via the same custom-function backend used by =ALLOOVIUM.CLAUSE.
Flow-Down CheckerHead-vs-sub gap analysis. Assign Head / Sub / Skip per source document; the backend returns gaps with proposed subcontract wording for each missing obligation.
Milestone DatesEvery dated obligation bucketed into Overdue / Due soon (≤14 days) / Upcoming / No specific date.

Edits tab

Anything Chat is about to write to the sheet — register rows, formula changes, formatting — passes through the Edits tab first. It's the approvals queue: three segments at the top of the tab.

  • Awaiting me — edits assigned to you for review, with an op-kind chip summary, the first three operations, and a "Show all N operations" toggle for the rest.
  • Submitted — edits you've sent to someone else for review.
  • History — applied and rejected edits, filterable and exportable to CSV.

Accepting an edit runs the operations inside one Excel.run transaction. A StatusPill at the top surfaces the outcome — "Vault updated · N cells synced" on apply, "Edit rejected · Vault unchanged" on reject.

Authority thresholds

Each project has per-user dollar and time-impact limits set in the Authority Thresholds dialog. Edits that exceed your limit can only be approved by someone with higher authority.
Excel Edits tab — Awaiting me segment showing two pending workbook edits with op-kind chips and Apply / Reject controls
Segmented control at the top — Awaiting me · Submitted · History. A green StatusPill confirms the last apply ("Vault updated · 12 cells synced"). Each WorkbookEditCard shows a Pending chip, the title, op-kind chip row (Set / Highlight / Insert row), the first three operations as monospace previews, and a Show-all-N link for the rest.

Custom functions

The add-in registers a custom-function namespace in Excel under =ALLOOVIUM.*. Use them like any built-in formula — they call the Alloovium backend asynchronously and return live values, reading the Clerk token from OfficeRuntime.storage set by the task pane on sign-in.

FunctionWhat it returns
=ALLOOVIUM.ASK(question)A short factual answer from the active project Vault, with the citation in the cell comment.
=ALLOOVIUM.CLAUSE(clause_ref)Verbatim text of the named clause from a project document — the same backend that powers LDCalculator's "Look up" affordance.
=ALLOOVIUM.DATE(milestone)Parsed date for a named milestone (e.g. "PC", "defects liability end") from the project's dated obligations.

In-flight returns #BUSY!

Custom functions are asynchronous. They return #BUSY! while the request is in flight and a friendly error if the backend is unreachable.

Known limits

  • Offline runs queue. Online status is surfaced in the header. When offline, chat plan and populate calls go onto a durable queue (cap 50, 24 h TTL) and replay when you reconnect. Reads serve from React Query's cache where available.
  • Sheet detection is heuristic. Unusual layouts may misclassify — re-detect manually if the suggested actions don't fit.
  • Sheet size matters. Very large sheets (tens of thousands of rows) sample slowly. Filter or work on a smaller range when possible.
  • Bulk delete capped at 500 rows. The Obligations bulk-delete action processes up to 500 obligation IDs per request — paginate larger removals.

Next steps

  • Install the add-in on your machine or push it to your team via the M365 admin centre.
  • The Word add-in — same patterns, applied to documents instead of registers.