Case study · Private AI assistant on company data
Fourteen years of invoices. Answered in plain English.
A surgical-instrument repair business priced every quote from memory and a 14-year-old accounting file. We built a private assistant their staff simply ask, and every answer comes with the real invoices behind it.

The live system, answering a real question. Hospital names and the client's contact details are blurred under NDA. Swipe to see the full screen.
What changed
Pricing history anyone can ask for.
208,617 invoice lines, 20,669 supplier bills and 12,372 items.
From a typed question to a price with its invoices.
No accounting software knowledge needed.
Read-only by design. It can look, never edit.
The problem
Every quote started with "what did we charge last time?"
The business repairs and supplies surgical instruments to hospitals across Australia. Repairs are 81.3% of everything it invoices, so on high-volume, low-value work, consistent pricing is the margin.
Every repair invoiced to every hospital since 2012 was in there. It's a very good accounting system. It isn't a pricing tool.
Quoting meant opening the file, finding the customer, scrolling their invoices and reading line items one by one.
What an item cost to buy sat elsewhere in the file, so few quotes were checked against cost at all.
The business priced 21,561 invoice lines in 2024 alone. A few dollars off per line is not a rounding error.
How it answers
Plain English in, evidence out.
- Staff askIn ordinary words, the way they'd ask a colleague: "How much is a S/R retractor?"
- It works out the searchThe AI decides what's being asked and writes a search over the company's own data.
- The database does the mathsPrices, ranges and averages are calculated by the database, never guessed by the AI.
- An answer with proofThe price in one sentence, the range, and the actual invoices it came from.
The AI can look, never edit. Every search runs read-only, and every number is computed from the invoices, not made up.
A real answer, up close
Not just a number. The invoices behind it.

Hospital names blurred under NDA. Swipe to see the whole answer.
- The answer firstOne sentence with the typical price and how many past sales it's based on.
- The evidenceThe most recent invoices for that item: date, job, quantity and price, so staff can check it themselves.
- The rangeLowest, typical and highest price, so an unusual quote stands out before it goes out.
Before and after
Same data. A different way to reach it.
How it was built
Private, read-only, and fast.
- The accounting data is synced into a private database. The AI never reads the whole file: it writes a search, and only that search's results are used to write the answer.
- Every search the AI writes is checked before it runs, runs read-only, and is stopped if it takes too long.
- Searches are fast: indexing the item list made product searches 28–64× faster, now 14–18 milliseconds. The slowest search measured is 67 milliseconds over 208,617 lines.
- One fix raised capacity from 15 to more than 40 conversations at once per server.
- The data refreshes in the background, in a separate service, so a refresh never interrupts anyone's question.
- Staff sign in; an admin decides who can use it.
Built on what they already had
The same approach works on your documents: answers only from your own data, with the source shown every time.
Your business
Try it on your own documents.
Tell us a little about your company. If it's a fit, we'll show you your own documents answering your team's questions.
Try it on my documents →Hospital names and the client's contact details are blurred under NDA. "≈ 1 minute" is the assistant's measured answer time; we haven't timed the old manual lookup, so we don't claim a saving.