# Month-end variance memo drafted from your Puzzle books

> On the 5th of each month, your just-closed books become a written variance memo that explains every big swing and flags what nobody can explain yet.

- Workflow type: agent
- Services: Puzzle, Google Docs, Slack
- Categories: Finance, Operations
- Published: 2026-08-09

## What it does

- Every month, pulls the month that just closed plus the prior three months from your Puzzle books and compares every revenue and expense line.
- Flags the lines that moved more than 20 percent or more than $5,000, then digs into the actual transactions behind each one to find what caused the swing.
- Writes a structured memo in Google Docs: headline numbers first, then each material variance with its driver, then a short list of anything it could not explain.
- Posts the top three movements to Slack with a link to the full memo, so the team sees the highlights without opening the doc.

## What you'll need

- A Puzzle account with your books connected, and permission to read your company's financials
- A Google account so the memo can be created in Google Docs
- A Slack workspace and the channel where your finance team wants the summary
- Your books for the month closed before the run date, so the numbers are final

## Prompt

On the 5th of every month at 7am, draft the month-end variance memo for the month that just closed. This is an internal close control document for our finance team, not an investor update, so keep the tone factual and analytical and stay focused on explaining movement in the general ledger.

Start in Puzzle with Get Current User to resolve the company id, since every other Puzzle call is company scoped. If the company is still syncing and a data call comes back saying the resource is processing, wait briefly and retry before giving up.

Pull Get Income Statement across four monthly intervals: the month that just closed plus the prior three months. Use the native income statement rather than the QuickBooks style interop version. Then pull Get Balance Sheet Statement and Get Trial Balance Report for the closed month as supporting context.

For every revenue and expense line, compute two movements: month over month against the immediately prior month, and the closed month against the average of the prior three months. Report both the dollar change and the percent change for each. Puzzle returns monetary amounts as decimal strings paired with a currency, so parse them carefully and do not lose precision.

Treat a line as material if it moved more than 20 percent or more than $5,000 in either comparison. For each material line, call Get Transactions filtered to that category and to the closed month, and identify the largest transactions driving the swing. Use Get Vendors to turn vendor ids into readable vendor names. The whole point of this memo is to explain why a line moved, not just to restate the delta.

Only state a driver you can actually evidence from the transactions. If the transactions do not account for the movement, or a line moved with no obvious large transactions behind it, do not guess at a cause. Put it in the questions list instead. If a line cleared the 20 percent test but the dollar change is trivial, group those into one short list at the end rather than giving each its own section, so the memo stays readable.

Create the memo with Create Document, titled with the month, for example "Variance memo, March 2026". Fill it using Batch Update Document, structured in three sections. First, headline numbers: revenue, gross margin, total operating expenses and net income for the closed month, each with its movement. Second, material variances, one subsection per line, giving the dollar and percent change plus the specific transactions and vendors behind it. Third, a short "Questions for our accountant" list covering anything that could not be explained. Insert the content in a single batch and be careful with insertion ordering so the sections land in the right order.

Finally, post to our finance channel in Slack with Send a Message. Give the top three variances by absolute dollar impact, one line each with its driver, and include a link to the doc built from the returned document id in the form https://docs.google.com/document/d/<documentId>/edit.

## How to customize

- Move the run date and time to match when your books actually close, for example the 10th instead of the 5th
- Raise or lower what counts as material, currently a move of more than 20 percent or more than $5,000
- Change the comparison window, for example against a six month average instead of three
- Pick a different Slack channel, or post more than the top three variances

## Example output

Variance memo for March 2026 is ready.

Top 3 movements vs February:
1. Software and subscriptions, up $18,400 (+62%). Driven by the annual Datadog renewal of $15,200 booked in March.
2. Revenue, down $9,100 (-4%). Two enterprise invoices slipped into April.
3. Contractors, up $6,300 (+41%). Three new design contractors onboarded mid-month.

2 items need accountant review. Full memo: https://docs.google.com/document/d/...

## FAQ

### When does this run, and can I change the date?

It runs on the 5th of every month at 7am and covers the month that just closed. If your books close later than that, move it to the 10th or whenever your close is genuinely finished. The date and time are the easiest thing to change.

### What counts as a material variance?

By default, any revenue or expense line that moved more than 20 percent or more than $5,000, measured both against the prior month and against the average of the prior three months. You can raise or lower either threshold to match the size of your business.

### Does it actually explain why a number moved, or just show the change?

It explains. For every line that clears the threshold, it looks up the transactions in that category for that month and identifies the largest ones driving the swing, so the memo says which vendor or invoice caused it rather than just reporting a percentage.

### What happens if it cannot explain a variance?

It says so instead of guessing. Anything it cannot tie back to specific transactions goes into a short questions for our accountant list at the end of the memo, which is usually the most useful part for your finance lead.

### Is this an investor update?

No. This is an internal close document written for your finance team, factual and analytical in tone. It is about controlling the close and catching bookkeeping surprises, not telling a growth story to outsiders.

Use this prompt in General Input: https://www.generalinput.com/prompts/month-end-variance-memo-drafted-from-your-puzzle-books