Skip to content

Landlord Monthly Statement Pack

Example prompt: "On the first working day after rent-due cycle close, build a monthly statement per landlord in Google Docs — rent received, contractor invoices reconciled against maintenance jobs, our fees, balance to remit. Draft the covering email with the statement attached and post a summary in #landlord-statements on Slack for the property manager to review and send."

The Problem

The month-end landlord statement is the single piece of paperwork the office cannot get wrong. Every line has to tie — rent received against the ledger, contractor invoices against the maintenance jobs they were raised on, the agent fee against the terms in the landlord agreement, the VAT against the office's registered rate. A statement that says "we collected £1,400 of rent" when £1,200 came through is the statement that loses the landlord, and a statement that includes a contractor invoice the landlord has not seen the job for is the statement that gets queried for a fortnight. Across thirty landlords, the manager spends two full days a month assembling these in spreadsheets, copying figures between tabs, and pasting them into emails — and the figures are still wrong sometimes because the underlying ledger updates after the assembly started.

How GloriaMundo Solves It

We build a workflow that runs on the first working day after rent-due cycle close and produces one statement per landlord in one pass. A code step pulls every paid rent ledger row in the period for each landlord's properties, every approved contractor invoice in the period, and reconciles each invoice against its maintenance job — an invoice with no matching job blocks that landlord's statement and drafts a manager flag rather than producing a statement with a hole in it. The agent fee is computed from the per-landlord fee basis (percent, flat, or mixed) and the VAT is read from the office settings tab so a VAT-rate change is one cell to update. An LLM step drafts the statement as a one-page Drive doc with four clean sections (rent received, contractor invoices, agent fees and VAT, balance to remit) and a plain-language summary of the month drawn from the actual figures rather than invented. The covering email is drafted to the landlord, the statement is saved as draft for the manager to review, and the morning Slack digest lists every landlord and every holdback in one thread. No money moves until the manager has read every draft.

Example Workflow Steps

  1. Trigger (integration): Scheduled — the first working day after the 28th of each month at 8am.
  2. Step 1 (integration): Read Landlords, Properties, Rent Ledger, Contractor Invoices, Open and Closed Maintenance Jobs, Landlord Terms, Office Settings.
  3. Step 2 (code): For each landlord, dedupe on (landlord_id, statement_period_yyyy_mm) against the 'Landlord Statements' tab — if a non-'Cancelled' row exists for the period, return the existing statement_id and STOP; otherwise allocate the deterministic statement_id 'LS-[YYYY-MM]-[landlord_id]'. The deterministic id makes a re-run-after-manual-Cancellation produce a stable id; the workflow never overwrites a live row automatically.
  4. Step 3 (code): Aggregate paid and part-paid rent in the period; aggregate manager-approved contractor invoices in the period; reconcile every invoice to its maintenance_job_id.
  5. Step 4 (conditional): If any contractor invoice cannot be matched to a closed maintenance job, draft a manager flag and SKIP this landlord's statement for this run.
  6. Step 5 (code): Compute the agent fee per landlord's fee basis (Percent / Flat / Mixed) and the VAT from the Office Settings tab; compute balance_to_remit.
  7. Step 6 (llm): Draft the one-page landlord statement as a Drive doc — four sections plus a plain-language month summary drawn from the figures.
  8. Step 7 (integration): Draft the landlord-facing covering Gmail and append a Landlord Statements row.
  9. Step 8 (integration): Post the morning #month-end Slack digest listing every landlord, every holdback, and every negative-balance top-up request.

Integrations Used

  • Gmail — drafts the landlord-facing covering email and the manager-facing holdback flags
  • Google Sheets — Landlords, Properties, Rent Ledger, Contractor Invoices, Open and Closed Maintenance Jobs, Landlord Terms, Office Settings, Landlord Statements
  • Google Drive — the '/Lettings/Landlord Statements/[YYYY-MM]/' folder holding one statement doc per landlord
  • Slack — the #month-end channel for the morning summary

Who This Is For

Letting agents and managing agents running residential portfolios of fifteen landlords or more, where month-end is the single biggest piece of repetitive accounting work and where a statement-to-statement consistency across landlords is what keeps the office's accounts clean.

Time & Cost Saved

A property manager handling thirty landlords spends roughly twelve to twenty hours a month on landlord statements — assembling figures, drafting emails, chasing the contractor invoices that lag the rent receipts. This workflow takes that to a half-day review across the morning, with the holdbacks (invoice-not-reconciled, missing maintenance job) surfaced as a list rather than a treasure hunt. The bigger return is the consistency — every landlord's statement is built the same way, with the same VAT computation, the same fee basis, and the same plain-language month summary, so a landlord moving from one manager's portfolio to another sees the same statement shape and not a different format.