SysEngineering

Purchasing Desk roadmap

Set 7 November 2026, after a week of AI-initiative meetings. The desk becomes the home of Business Operations’ tools under Robbie: procurement today, then a chat agent, reporting and receipts, and recruitment one day. Adam’s and Claude’s working list, to check goals off as they land; operational state stays in HANDOFF.md.

Checklist

Alongside:

5 and 6’s discovery steps need no code and run alongside 1-4.

What carries over to every new section

1. Order ledger (first)

PSA answers most questions: spend by entity, vendor and month, order counts and cycle time come from its fields, titles and changelog. What it lacks is the items. Total Order Cost is one number per ticket, often several vendors’ orders together, and no ticket holds a part number or a price per item, so “how many X1 Carbons” or “why did the X1s go up” can’t be answered from it. The desk reads both from every vendor email and kept only the total it posts; the mailbox covers 90 days.

Decided (Adam, 7 November): BigQuery, in the desk’s own project and separate from Harry’s CSAT. The ledger holds only what the vendors’ emails said; JSM stays the record of the ticket, and Ask says which source each answer used. Chosen over keeping items on the ticket because it catches every order the mailbox sees, including the ones a buyer handles by hand, and later Amazon’s actual charges and ABM’s serials. How it works: README, “Order ledger”.

2. Viewer and buyer roles

Today everyone on the access list can approve Jira writes. Before Kelly (CIO), or anyone who only reads, gets in: buyers approve; viewers see Orders, Requests, Reports and Ask but get no approve buttons, enforced on the server, not just hidden. One Okta group per role; PROCUREMENT_ALLOWED_EMAILS stays the second check.

3. Ask the desk (chat agent)

A chat panel on the desk for Kelly, Robbie and the buyers: “how many Lenovos did we order this month?”, “how much have we spent on Lenovo laptops?”, finance’s “the X1s were $2.5k, now $3k, why?”. Asked for by the CIO on 3 November. Mock (invented numbers): https://claude.ai/artifact/TLTB72QSnR9kBTP5AUQEWH.

4. Reports for Robbie

5. Apple with ABM serials

The plan decided 28 October stands (HANDOFF, “Apple”): Apple’s emails drive the flow, already copied to procurement@; ABM adds serial numbers. Adam has the ABM API key (7 November).

6. Receipts for Jennifer

Worth doing, but not first, and not a Concur integration first.

7. Recruitment

Not started; waiting on Robbie’s details. Candidates’ personal information is a different kind of data from orders, so plan its access (its own Okta group at least) and retention with InfoSec then, before building.

Also queued (HANDOFF, unchanged)

Amazon Business API (carrier tracking, later Reconciliation for receipts) and the morning “Needs you” Slack message. The name stays “Purchasing Desk” until it holds more than purchasing; the Cloud Run service and project names don’t change.