Transcript intelligence for admissions
Transcripts in.
Decisions out.
Certract reads academic transcripts from any education system, converts every mark to your own scale, and hands your team clean, reviewable data — with an API for everything downstream.
- Scanned PDFs welcome
- Any grading scale
- Every edit on the record
Universiteit Utrecht
Cijferlijst — Bachelor Informatica
Uitgegeven 12-06-2026
Studieadviseur · Faculteit Bètawetenschappen
The pile
One transcript takes twenty minutes.
You have four hundred of them.
Someone opens the PDF. Squints at a scan. Types course codes into a spreadsheet. Opens a browser tab to work out what an 8,5 from Utrecht means on a 4.0 scale, or whether a Second Class Upper clears the bar.
Then they do it again. And again. The backlog looks like a staffing problem, but it's a data-entry problem wearing a staffing problem's coat — and it's the reason good applicants wait three weeks for an answer.
The path a document takes
Five stages, and you only staff one.
-
01
Upload
Applicants upload their own documents through your branded portal. Staff drop a whole cohort at once. Either way it lands in the same queue.
-
02
Extract
The document is read against a schema you control — institution, level, field, and every course with its code, credits and local mark.
-
03
Convert
Your grade rubric turns local marks into your scale. First matching band wins. Set it up once and every transcript that follows obeys it.
-
04
Review
Your team checks the record and fixes anything that's off. Every change is attributed, timestamped, and kept — this is the one stage with a person in it.
-
05
Use it
Ask questions across the whole cohort, export CSV, JSON or PDF, or pull everything into your SIS through the API.
Grade conversion
Your scale is the only scale that matters.
Every institution grades differently, and every admissions office converts differently. Certract doesn't guess at a universal standard — you write the bands, and they become the single source of truth for every transcript your office touches.
- Ordered bands, first match wins — no ambiguity about which rule applied
- Separate rubrics per source system, all live at the same time
- Change a band and recompute; the audit trail shows exactly what moved
Ask your cohort
The spreadsheet can't answer questions. This can.
Once transcripts are structured, the whole cohort becomes something you can just ask about. Certract retrieves the relevant records itself, reads them, and answers — with the applicants it used shown alongside.
- Scoped to your organisation at the query layer, never by prompt
- Ask about one applicant or the entire intake
- Same retrieval available over the API
Who studied machine learning and clears a 3.4?
28 applicants clear 3.4 with machine-learning coursework. The strongest three are from Utrecht, TU Delft and KU Leuven — all with a graded ML course above 8,0 local.
Review & accountability
Nothing changes without a name on it.
Admissions decisions get challenged. Certract keeps an append-only record of every edit — who changed which field, from what, to what, and when — so the answer to "why does this say 3.3?" takes ten seconds, not a week.
- Four staff roles, from full admin down to read-only
- API-key changes are attributed to the key that made them
- Filter the ledger by person, applicant, or action
Also in the box
The unglamorous parts, already built.
Applicant portal
Your applicants get their own space: what they've uploaded, what's still needed, and a direct line to your team.
Bulk cohort upload
Drop a folder of PDFs, match each to an email. Unknown applicants are created and invited automatically.
Course matching
Incoming courses map to your own subject catalogue — automatically where it's obvious, with a person where it isn't.
More than transcripts
Define any document type with its own extraction schema: language certificates, diplomas, references.
Custom domains
Run the applicant portal on your own hostname with a certificate issued and renewed for you.
Exports
One applicant or a filtered cohort, as CSV, JSON, or a formatted PDF summary sheet.
Security & privacy
You're holding other people's records.
Transcripts are among the most sensitive documents a person owns. The architecture treats them that way — not as a policy page, but as things the system actually does.
Every query is scoped to one organisation at the data layer. There is no cross-tenant read path to misconfigure.
An erasure request removes the files, the database rows, the conversation history and the sign-in account. Not a flag — the data is gone.
Set how long documents live. A nightly sweep erases anything past the line without anyone remembering to.
Keys are stored as hashes and shown once. Each carries only the scopes you grant it.
Every delivery is HMAC-signed with a timestamp, so your endpoint can prove the payload came from us and isn't a replay.
Reviewers can edit but not administer. Viewers can read but never write — including through the API.
Developers
A real API, not an export button.
Everything the panel does is available over a documented REST API with a published OpenAPI spec, a typed TypeScript client, and signed webhooks for the events you care about.
document_processedandtranscript_editedwebhooks with retries- Scoped keys — read, write, chat, webhooks
- Usage metered per key so you can attribute spend
import { createClient } from '@certract/sdk'
const certract = createClient({ apiKey: process.env.CERTRACT_API_KEY })
// Everyone from a given system, above your line
const { prospects } = await certract.listProspects({
institution: 'Utrecht',
educationLevel: 'Bachelor',
minGpa: 3.4,
})
// One transcript, already on your scale
const transcript = await certract.getTranscript(id)
Clear the backlog.
Bring a handful of real transcripts to the call — the messier the better. We'll run them through live and you can judge the output yourself.
or write to contact@certract.com