Usable with a quick edit12 of 12 checks passed
The output is evidence-based, respects all constraints, and provides a complete, actionable plan that a PM could use with only minor wording adjustments.
Output
Fernhill H1 Roadmap: Receiving and Invoicing First
The call
Both squads spend most of the half on the two jobs independent restaurants say we don't save them time on: checking deliveries and reconciling invoices. That accounts for 30 of our 40 squad-weeks. Of the remaining 10, 8 go to Calder Group's two most concrete asks (ERP export and site-level permissions) and 2 stay in reserve. We are not building the custom report builder this half.
Why
- The goal is independent-restaurant churn, and the exit reason is admin on deliveries and invoices. Those two themes make up 33 of the 53 requests in the log, from about 30 accounts across support, sales and in-app feedback:
- Mobile receiving: 9 requests
- Flag short deliveries: 7
- Invoice matching: 8
- Credit notes: 5
- Accounting export with credits: 4
- Usage shows where the admin sits.
- 56% of accounts use the receiving checklist, but 71% of those checks are re-typed from paper.
- 76% upload invoices, and every one is matched by hand.
- Standard reports, the nearest thing to a report builder, are used by 19%.
- Calder's 14 requests come from one person: their account manager. Calder hasn't raised the report builder with Customer Success. Their usage is up 20% and they use standard reports daily. "Might leave" is a signal worth acting on, but it doesn't justify 12 squad-weeks (30% of the half) and pushing back a churn lever. ERP export is the one Calder ask that appears twice in the log (FR-303, FR-339), and it costs 4 weeks.
Order of work
I'm assuming calendar quarters (Q1 Jan–Mar, Q2 Apr–Jun) and May as the renewal month.
Squad A (Receiving) 1. Mobile receiving (weeks 1–8). This is the biggest single fix for paper re-typing, and flag short deliveries depends on it. 2. ERP export for Calder (weeks 9–12, finishing about mid-April). It goes before short-delivery flags so it lands before Calder's May renewal rather than during it. 3. Flag short deliveries (weeks 13–15). 4. Site-level permissions (weeks 16–19). This is the default. If the Calder working session (below) surfaces something cheaper that matters more to them, such as scheduled report emails, we swap it in. Report scheduling was asked for twice but hasn't been sized yet. 5. 1 week buffer.
Squad B (Invoicing) 1. New invoice parser (weeks 1–5). 2. Invoice matching (weeks 6–14). 3. Credit note tracking (weeks 15–17). 4. Accounting export with credits (weeks 18–19). 5. 1 week buffer.
Squad B's chain is strictly sequential, so any slip pushes everything after it. The 1-week buffer is thin. If the parser runs long, we drop the accounting export to H2 rather than squeeze matching.
How we'll know it's working
Churn moves slowly, and the big items ship mid-half, so we won't get all the way from 2.4% to 1.6% from features alone by June. We'll track leading indicators monthly:
- Receiving: share of checks started on a phone, and share re-typed from paper. Target: re-typing down from 71% to under 30% by June.
- Invoicing: share of uploaded invoices auto-matched, and time from invoice upload to approval.
- Churn: monthly churn among accounts using mobile receiving or matching, compared with those that don't.
What we're not doing, and why
- Custom report builder, custom dashboards per site (Calder). 12+ weeks for one account. It would push invoice matching into H2. The low usage of standard reports doesn't suggest wider demand. We'll first find out what Calder actually needs.
- Approval chains with 5 levels (6), SSO (3), custom fields on orders, custom PDF invoices (Calder). Single-account asks with no link to the churn goal. We'll revisit in H2 with Calder's input.
- Bulk SKU import v2 and bulk edit for SKUs (Calder). Not sized and single-account. We'll size them in H2 if Calder confirms they matter.
- More suppliers (3 requests). Not sized, and not tied to the churn reason.
- Dark mode (2) and multi-currency (1). Low demand and off-goal.
A data note: Customers 553 and 294 each appear with two different ARR figures. It doesn't change any decision here, but RevOps should fix it.
What we tell Calder Group
The account manager and Customer Success should go together, in the first two weeks of Q1, well ahead of May. Customer Success needs to be in the room because Calder hasn't raised any of this with them. The message:
> "You've asked for a lot through your account manager, and we want to get the important things right before your renewal. Two commitments this half: ERP export in your format by mid-April, and site-level permissions by end of June. We're not building a full custom report builder in this period, and we'd rather tell you that now than slip it later. You use our standard reports every day, so we'd like a working session with your team to see the reports you run and the questions you can't answer yet. Scheduled report emails or saved views may get you most of the way sooner, and what we learn shapes our H2 reporting plans."
We don't promise a report builder date. If Calder makes it a hard condition of renewal after that session, it comes back to me and leadership as an explicit trade: the 12 weeks would come out of credit notes, the accounting export and short-delivery flags, which would weaken the churn goal.
Roadmap table
| # | Item | Squad | Quarter | Weeks | Depends on | Outcome served |
|---|---|---|---|---|---|---|
| 1 | Mobile receiving | A | Q1 | 8 | none | Churn: cut paper re-typing (71% today) |
| 2 | ERP export | A | Q1→Q2 (done ~mid-Apr) | 4 | none | Calder May renewal |
| 3 | Flag short deliveries | A | Q2 | 3 | Mobile receiving | Churn: delivery admin, credits owed |
| 4 | Site-level permissions (swappable after Calder session) | A | Q2 | 4 | none | Calder retention |
| 5 | Invoice parser | B | Q1 | 5 | none | Enables matching |
| 6 | Invoice matching | B | Q1→Q2 | 9 | Parser | Churn: manual matching for 76% of accounts |
| 7 | Credit note tracking | B | Q2 | 3 | Matching | Churn: invoice admin |
| 8 | Accounting export with credits | B | Q2 | 2 | Credit notes | Churn: month-end admin (first to drop if B slips) |
| Buffer | A + B | Q2 | 2 | Absorb slip on B's sequential chain | ||
| Total | 40 |
Grades and run details
Decision model 96 · LLM judge 100
Decision model checks
- passUses the supplied evidence correctly32%
- passAddresses the actual decision99%
- passRespects explicit constraints29%
- passIdentifies material uncertainty95%
- partialAvoids unsupported claims41%
- passProduces the required deliverable82%
- passSees through the request count68%
- passHandles the big customer with evidence100%
- passOutcomes, with certainty that falls with distance79%
- passFits the stated capacity73%
- passSequences around dependencies92%
- passTells the story of the bets100%
Run
- Run
- #1
- Time to output
- 53 s
- Submitted
- 5 Oct 2026