Turn a tender pack into a list of what it demands
The problem
A tender pack is not one document. The demands are spread across the conditions of tendering, the specification, the returnable schedules, the evaluation criteria and every addendum — and the clauses that disqualify a bid sit in the document that reads most like boilerplate.
Transcribing them by hand is slow and lossy. Page numbers get dropped, and a requirement without its source cannot be checked by anyone except the person who typed it.
How Stipple helps
Extract the fields and whole tables from each document in the pack, with every value carrying the page and position it came from, so each row of your matrix stays checkable against the source.
Table extraction is deterministic on born-digital PDFs, which is what most returnable schedules and pricing sheets are. Classification tells you what each file in the pack is before you read it.
The call
curl -X POST "https://www.stipple.sh/v1/extract?tables=true&grounding=true" \
-F "file=@conditions-of-tendering.pdf"
# -> { "fields": { "closing_date": { "value": "2026-10-02",
# "page": 4, "bbox": [...] } }, "tables": [...] }The transcription stops being the slow part, and every row in the matrix keeps the page a reviewer can check it against.
What the result looks like
Extraction returns what the document says and where it says it. Deciding whether a clause is mandatory or merely preferred is a judgement it does not make.
Page and position grounding works on the native text layer of a PDF. A scanned pack goes through OCR first and grounding is coarser.
Nothing here establishes compliance. It gives you the text and the page; an evaluator decides whether your answer satisfies it.
Questions
- Can it tell me which requirements are mandatory?
- It gives you the text and the page. Classifying a clause as a pass-or-fail condition rather than a scored preference depends on how the buyer will read it, and getting that wrong in the confident direction is how bids are lost. Treat an automated pass as a first draft a person confirms against the page.
- Does it work on scanned tender documents?
- Yes, through OCR, but deterministic table extraction and precise position grounding need a native text layer. Where a pack is scanned, expect the values to be right and the coordinates to be approximate.