One place per job. Found by its number.
A reference is a project, an order, a case, a booking — whatever your business calls the unit of work. Every email, task, document, contact and payment about it lives on it, and the number on the email is what puts it there.

- Adrián Soler09:41Delivery confirmation
- Castellane SA08:52Proforma — Halden rollout
- Ingrid HalvorsenYesterdayRequirements — 2 changes
- Castellane SAMonDelivery schedule received
- Confirm delivery windowDMToday
- Resend requirements list to VantageDMToday
- Signed contract from HaldenDMWaiting
- Final payment reminderCOFri
- IHIngrid HalvorsenProject lead
- ASAdrián SolerSupplier · delivery
- CSCastellane SASubcontractor
Four states, and what each one means.
References are the product, not an upsell: every tier has them. The lifecycle is deliberately short.
OVIOO read a thread and thinks it is a job. It sits in Proposed with the emails it found, until somebody says “This is real work”. Proposals nobody confirms expire on their own.
Confirmed. Mail with its code links here automatically; tasks, documents, contacts and notes accumulate on it. “Working” shows the active ones with something open.
Done. Still searchable, still answering questions, still linking late mail. Reopen with one click if the customer writes again.
Out of the way. Nothing is deleted; Restore brings it back exactly as it was.
Deterministic first. AI only on ambiguity.
The most important design decision in OVIOO is the least glamorous one.
The code is the link
A reference carries as many codes as the job has — your number, the customer’s PO, the supplier’s own reference. Any email carrying one links to the reference by an indexed lookup: no AI, no probability, no wrong guesses. Codes must contain a digit, so ordinary words never match.
AI only where the code is missing
When a message carries no code, OVIOO proposes a link from the thread, the sender and the dates — and shows why. You confirm it in Review, or change the pill on the email. A confirmed link teaches nothing silently; it is simply recorded.
Split and merge, without losing a message
“Split this into a second reference” moves the chosen emails and tasks to a new job. “Merge this into another reference” folds one into another and keeps both histories. Both are reversible for 72 hours.
The list, the way operations reads it.
The References screen opens on Working — active references with something open — and counts the rest across the top: total, working, proposed, waiting, closed, archived. Filter by name, code or number; sort by last activity, most mail, open tasks or name. From any mailbox, “References in this mailbox” shows only what that address is involved in.
Rename the word. If your business says Projects, Cases, Orders or Groups, the screen says so too — headings, buttons and the “New” dialog included. That is terminology, set once in the Business profile.
- 742615Halden & Co12 mail · 4 openActive
- 742580Riverside GroupActive
- 742691Castellane SAWaiting
- 742450Novak SystemsCompleted
Inside a reference.
Everything about the job, on the job. Nothing typed twice.
Every message that carried its code or was linked to it, across every mailbox, in one thread list. Reply from here; the answer links itself.
Tasks
“What has to happen”, with owner and date. Tasks proposed from the mail wait for confirmation; confirmed ones appear in My work and the Calendar.
Documents and files
Attachments received, documents created from templates, files from Company Drive — with the exact version each contact was sent.
History and notes
Who changed what, when; “What did we agree here?” kept next to the message; the External tab when a client portal is on.
How a reference behaves
The rules underneath the idea — the parts that decide whether it survives contact with a real week.
Matching is a lookup, not a guess
When a message carries a reference the link is an indexed token join on the number — no model, no probability, no wrong guess, and no cost. A code must contain a digit, which is what stops an ordinary word in a subject line from matching a job. AI is only consulted when there is no number at all, and then it proposes rather than decides.
Several codes, one job
A job carries your reference, the customer’s purchase order and the supplier’s own number at the same time. A supplier who only ever quotes their reference still lands on the right job, and you never have to teach them yours.
The word is yours
Set what a reference is called once in the business profile — Project, Case, Job, Order, Booking, Matter — and every screen, button and dialog follows, along with the fields and statuses that go with it. This is configuration, not a bespoke build.
States that describe real life
Proposed, working, waiting, closed, archived. Waiting is a first-class state with the date it started, because “we are not late, they are” is a thing an operations desk needs to be able to show rather than argue.
Merging and splitting are deliberate
Two references that turn out to be one job merge with a record of what came from where. Nothing is merged automatically on a similarity score, and nothing is silently linked — a wrong merge costs more than a missing one.
It outlives the people on it
A colleague on holiday, a new hire in week one, a customer asking about last year: the record is the same record and it answers. That is the whole point of attaching things to the work rather than to a person’s mailbox.
Fair questions
It still arrives, is searchable, and can be put on a job in one click. OVIOO also proposes a link from the sender, the company and the thread it belongs to — as a proposal in the review screen, with the reason it thinks so. Nothing is linked without a person accepting it.
Yes, and you should. OVIOO takes your codes rather than issuing its own, so nothing on your quotes, invoices or customer correspondence has to change. It only needs to know the shape of them.
Nothing forced. Newsletters, notifications and one-off correspondence stay ordinary mail — readable, searchable, and not turned into a record. Structure is for the things that carry work.
History is indexed and searchable as soon as a mailbox connects. What gets read in depth is bounded: there is an analysis floor per mailbox, so older mail is available on demand when somebody opens the thread rather than processed in bulk at your expense.
See it around your own mailbox.
Connect the email you already have and watch the structure appear. Trial for the whole organisation.