Odoo CRM · Quarterly Business Review

No more screenshotting
the pipeline into slides.

Zig — the sales agent in my four-agent Odoo setup — owns crm.lead. Every quarter, instead of a rep manually exporting stages into a spreadsheet and someone else turning that into a deck, Zig assembles the whole QBR narrative straight from the live pipeline: what moved, what stalled, and what's actually likely to close next quarter.

See the full four-agent Odoo setup
Odoo v19 · crm.lead · JSON-RPC · Zig (sales agent)
The old way

A QBR built from a Kanban screenshot is already stale.

The classic QBR prep: someone opens the CRM Kanban view, screenshots each stage, pastes them into PowerPoint, and manually tallies win rate from memory or a half-updated spreadsheet. By the time it's presented, three deals have already moved stages. The data was real once — at the moment of the screenshot.

What Zig pulls instead

Five things read live from crm.lead, every time.

01

Pipeline value by stage, this quarter vs. last

Not a snapshot — a comparison, computed from search_read on stage and expected revenue at two points in time.

02

Win rate and average deal cycle

Closed-won vs. closed-lost counts and dates, straight from the records — no manual tally, no rounding to "about 30%."

03

Stalled deals

Leads with no stage change or logged activity past a threshold — the ones a QBR should flag, but a screenshot can't.

04

Loss reasons, aggregated

Pulled from the notes/tags logged at closed-lost, grouped into patterns — "price" vs. "timing" vs. "went with incumbent" — instead of one rep's memory of the quarter.

05

Next-quarter forecast

Weighted pipeline value by stage probability — a number, not a gut feel, and one Warren can drop straight into the cash flow projection.

How the handoff runs

From "prep the QBR" to a reviewable draft.

I ask Zig for the quarter.
"Zig, pull Q2 for the review" is the entire input — no template to fill in by hand.
Zig queries crm.lead directly, this quarter and last.
Via JSON-RPC execute_kw — the same live data the sales team is working in, not an export someone remembered to run.
It drafts the five-section narrative above, with the actual numbers filled in.
Stalled deals and loss reasons come with the specific lead names attached — nothing generic to fill in later.
I review and adjust tone before it goes to slides.
The agent drafts the substance; a QBR still needs a human read for what to emphasize to this specific audience.
Why this beats the manual version

The point isn't the slides. It's what a stale pipeline hides.

No stale numbers

Every figure is read at prep time, not exported three days earlier and forgotten about.

Stalled deals surface automatically

A screenshot shows where a deal sits. It doesn't show how long it's been sitting there — Zig does.

Loss patterns, not anecdotes

Aggregating logged reasons beats "I think we lost a few on price this quarter."

Feeds Warren directly

The weighted forecast isn't a side output — it's the same number that lands in the next cash flow projection.

More in this series

The rest of the four-agent Odoo setup.

Dreading your next QBR prep

I can wire this into your own Odoo CRM.

If your quarterly review still starts with a Kanban screenshot, I can set up the same pattern for your pipeline.

Hire me on Fiverr