Extract data from certificates of analysis
Before a shipment of raw material moves onto a production line, someone in quality has to read its Certificate of Analysis and decide whether the batch conforms. Issued by the supplier for a specific lot, usually as a PDF, a CoA lands with an incoming-inspection team working under GMP or HACCP rules at a food, pharmaceutical, or chemical manufacturer, which clears dozens a day against a purchase specification. Each certificate ties a batch or lot number to a product, names the testing laboratory, and lists a grid of tested parameters: for a lot of a solvent that might be assay purity, water content, and residue on evaporation, each with a measured result, a specification minimum and maximum, and a pass or fail verdict, while a pharmaceutical excipient is judged against its United States Pharmacopeia monograph. Closing the document are an overall disposition and the signature of the authorized inspector who released it.
What resists a simple table dump is that the result grid and the specification limits carry the meaning. One parameter, assay, reports a result of 99.7% against a specification of 99.0 to 101.0%, and the pass verdict only holds when the result sits inside that pair, so the limits have to travel with the value rather than collapse into one column. Batch and lot numbers link the certificate back to the goods received and the purchase order. Multi-lot and multi-component certificates stack several result blocks, and a single out-of-specification line changes the whole batch disposition to reject. An accreditation reference such as an ISO/IEC 17025 scope number, a quality system certified to ISO 9001, and the test method cited for each parameter tell a reviewer how much weight a number carries.
Talonic reads the certificate and returns the batch identity, the supplier and testing laboratory, and the full test grid with each parameter, result, specification limits, unit, and pass or fail status, plus the overall disposition. That is how a lot of Acetone Technical Grade received 2026-05-08 and tested 2026-05-10 under batch AC-24071 releases into the ERP with its SKU, its assay of 99.7%, and its conformity statement, so a QA reviewer signs off from structured data instead of a retyped page.
What gets extracted from certificates of analysis
How extraction works for certificates of analysis
Certificates of analysis reach a quality team as supplier PDFs, scanned paper releases, and portal exports from laboratories such as Eurofins Scientific, SGS, and Bureau Veritas, and every laboratory arranges the result grid its own way; a scanned release is read with OCR before anything else. Talonic classifies the certificate and maps it to the inspection schema in the Field Registry, which keeps the batch header separate from the per-parameter test grid. Per tested parameter, the result, the specification minimum and maximum, the unit, and the pass or fail status stay together, so a value is never divorced from the limits that judge it, and the overall disposition is reconciled against the individual lines. Batch and lot numbers, the testing laboratory, and any ISO/IEC 17025 accreditation reference are captured so the certificate links back to the goods receipt and the purchase order. Defects and nonconformities noted on the sheet are kept with their classification. Every value returns with a confidence score and pixel-region provenance under DIN SPEC 91491 conformity, so a QA reviewer can verify an out-of-specification line against the source certificate before rejecting or releasing a batch.
Sample extraction
A single-lot certificate of analysis for a technical-grade solvent
{
"certificate_number": "CoA-2026-24071",
"issue_date": "2026-05-12",
"inspection_date": "2026-05-10",
"product": {
"name": "Acetone Technical Grade",
"batch_number": "AC-24071",
"sku": "SLV-ACE-25L"
},
"supplier": {
"name": "Sigma-Aldrich"
},
"testing_laboratory": {
"name": "Eurofins Scientific",
"accreditation_number": "ISO/IEC 17025:2017"
},
"specification": "Assay by gas chromatography",
"test_results": [
{
"parameter": "Assay (purity)",
"result_value": "99.7",
"specification_min": "99.0",
"specification_max": "101.0",
"unit": "%",
"status": "pass"
},
{
"parameter": "Water content",
"result_value": "0.2",
"specification_min": "0",
"specification_max": "0.5",
"unit": "%",
"status": "pass"
}
],
"overall_result": "pass",
"inspector": "M. Alvarez",
"approval_date": "2026-05-12"
}Frequently asked
Does it keep each result bound to its specification limits?
Yes. Each parameter is returned with its result, its specification minimum and maximum, and its unit together, so a value such as an assay of 99.7% is judged against its 99.0 to 101.0% window rather than reported as a bare number.
What does out of specification mean on a Certificate of Analysis?
An out of specification result is a measured value that falls outside the minimum and maximum set for that parameter, so an assay reading inside its 99.0 to 101.0% window passes and a reading below 99.0% does not. One such line is enough to change the whole batch disposition to reject. The per-parameter statuses are captured as read, and the overall disposition is reconciled against them, so an out of specification line that should flip the batch to reject is surfaced instead of buried under a stated pass.
Can it read multi-parameter and multi-lot certificates?
Yes. A certificate that stacks several result blocks or covers more than one lot keeps every parameter row and every batch number, so a quality team loads the full test grid rather than the summary line.
Are the testing laboratory and its accreditation captured?
Yes. The supplier and the testing laboratory stay separate fields, so a lot released by Sigma-Aldrich and tested by Eurofins Scientific keeps both names, together with any ISO/IEC 17025 accreditation reference stated on the certificate. Those are what tell a reviewer how much weight a given number carries.
What fields are extracted from certificates of analysis?
Talonic returns certificates of analysis as schema-validated, typed fields. Common fields include Certificate Number, Issue Date, Product, Batch / Lot Number, and more, each normalized (dates to ISO 8601, amounts as numbers) and mapped to a stable key so the output shape stays the same across layouts.
How accurate is extraction from certificates of analysis, and how is confidence reported?
Every extracted cell carries a confidence score from 0.0 to 1.0 and a provenance pointer back to the source page and region, so low-confidence values can be reviewed against the original before the data is trusted downstream. There is no single accuracy number: confidence is reported per field so you can gate on it.
Can I use certificates of analysis extraction in production?
Yes. The same engine behind this guide is available as a production REST API and Node SDK with sync, async, and streaming modes, schema versioning, signed webhooks, and EU-resident processing. Start free with an API key, then scale on usage-based pricing.
What does it cost to extract data from certificates of analysis?
There is a free tier for prototyping and agent evaluation with no credit card. Paid usage is credit-based at 1,000 credits per euro: page ingestion is 100 credits per page and registry-resolved queries are free. See talonic.com/pricing for current rates.
Ready to extract from your own certificates of analysis?
- GDPR
- HIPAA
- ISO 27001 / 42001 aligned
- DIN SPEC 91491 co-author
- EU-resident infrastructure
Author note
Reviewed by Talonic engineering, schema review · last reviewed 2026-07-06