Document type

Certificate of analysis (CoA) – contents, meaning, extraction

What a certificate of analysis (CoA) is, how it differs from a test report and a mill certificate – and how the values per batch come out as a table.

By Christian Gerloff · Published August 31, 2026

In short: A certificate of analysis – CoA for short, in German "Analysenzertifikat" – is the manufacturer's batch-specific proof of quality: for exactly one batch it sets the agreed specification against the measured result for every parameter and declares the batch released. Anyone who buys raw materials, ingredients or chemicals receives one with every delivery. Tiro reads such certificates from PDFs and scans and returns them as a table – in the example 13 header fields and 16 parameters in four groups, every row with method, specification, result and assessment.

Below is the complete example: the certificate, the extracted data and the result in the app.

What is a certificate of analysis?

The certificate of analysis is the documented answer to the product specification: before shipping, the manufacturer's quality control tests the batch against the agreed or regulatory requirements – identity, assay, purity, contaminants, and depending on the product microbiology – and confirms the result with the signature of the person authorised for release. It is standard wherever substances go into products: food ingredients and additives, active and excipient pharmaceutical ingredients, industrial chemicals, cosmetic raw materials and food-contact packaging. Without a valid CoA, a regulated goods-in does not accept the batch.

One thing to keep in mind: a manufacturer's CoA is not an independent test – it comes from the manufacturer's own QC laboratory (the example below says so explicitly). That is why many buyers combine the certificate per delivery with their own spot checks at a contract laboratory.

Certificate of analysis, test report, mill certificate, CoC – which is which?

Four documents that show up side by side at goods-in and are easily confused:

DocumentIssued byWhat it contains
Certificate of analysis (CoA)manufacturer's quality controlanalytical results of one batch against the agreed specification, with release
Test report / lab reportindependent contract laboratory (ISO/IEC 17025)results of a submitted sample per parameter with method and LOQ, often with a limit assessment
Mill test certificate / inspection certificate 3.1manufacturer's authorised inspection representative (EN 10204, metallic products)chemical composition and mechanical properties per heat/batch
Certificate of conformity (CoC)manufacturerdeclaration of conformity with a standard or the order, usually without measured values

The lines blur in practice – some manufacturers have testing done externally and still call the document a CoA, and in lab jargon many a test report is called a certificate of analysis. What matters is what the document does: batch-wise specification against result (CoA), independent measurement of a sample (test report), standardised material proof (mill test certificate 3.1) or a mere declaration (CoC).

What a certificate of analysis contains

The layout differs from manufacturer to manufacturer; the content is remarkably stable:

  • Product identification: product name and grade (e.g. "food grade, E330, Ph. Eur./FCC"), for chemicals the CAS number – it makes the product unambiguous where trade names are not.
  • Batch identification: batch/lot number (the bridge to the physical goods), manufacturing date, best-before or retest date, quantity delivered.
  • Reference to the order: customer, purchase order number, often the delivery note number – this is how goods-in matches the certificate to the delivery.
  • The results table, the heart of the document: per parameter the test method (pharmacopoeia, ISO or validated in-house method), the unit, the specification (range, "≤" limit or qualitative requirement) and the result – as a number, as "< limit of quantification" or as "conforms". Often grouped by identity, assay, heavy metals, microbiology.
  • Release: overall statement that the batch conforms to the specification, name and signature of the releasing person from quality control, date of issue – today often with the note "electronically generated, valid without signature".

Who receives certificates of analysis – and what has to happen with them

Whoever produces substances writes certificates – whoever buys raw materials from many suppliers receives them: goods-in and quality assurance at food and beverage producers, pharmaceutical and supplement manufacturers, chemical and cosmetics plants. Every batch brings a CoA – from every supplier in a different layout, sometimes a clean PDF, sometimes a scan. Before release, the batch number and the values have to be checked against the company's own specification and filed per batch for audits (IFS, FSSC 22000, GMP); many companies additionally transfer the key values into their ERP or LIMS and trend them per supplier over time. That retyping – and the transcription errors that come with it – is the work that can be automated.

Extracting certificates of analysis: from PDF to batch table

A PDF-to-Excel converter copies the page layout into cells. For a certificate of analysis that means group headings land between the parameters, "≤ 0.05" and "< 0.01" become text in the same column, and header fields such as batch and release are missing entirely. Tiro works with fields instead of layout: you define once which header fields and which columns per parameter you need, and every certificate – whichever supplier it comes from – runs into the same table. Numbers are normalised by default: a 99.8 % assay is a number, the manufacturing date an ISO date – and results below the limit of quantification stay as the printed text while the result-value column stays empty, so Excel never calculates with a quantification limit. The quality assurance page shows the same idea for laboratory test reports; for metallic products there is the mill test certificate 3.1, and scanned certificates work as shown under PDFs & scans.

Example: from document to table

A fictional document, one inbox, one run in Tiro — shown unchanged. Company, people and figures are invented.

1. The document

Example certificate of analysis of the fictional Steinbach Fermentation for a batch of citric acid monohydrate E330 with 16 parameters from identity to microbiology
Open the example PDF: Certificate of analysis (PDF, one page)

2. The extracted data

Header fields once per document, the table as one row per line item — dates as dates, numbers as numbers. The first rows are expanded, the rest follows behind.

Header fields
FieldValue
Certificate no.CoA-2026-08412
Date of issueJul 16, 2026
ManufacturerSteinbach Fermentation GmbH
CustomerNorthwind Foods Trading B.V.
Purchase orderPO 2026-ING-0142
ProductCitric Acid Monohydrate
CAS no.5949-29-1
GradeFood grade · E330 · Ph. Eur. / FCC
Batch no.L26-07145
Manufacturing dateJul 14, 2026
Best beforeJul 13, 2028
Quantity800 bags × 25 kg net (20,000 kg)
Releaseconforms
Line items (16)
GroupParameterMethodUnitSpecificationResult (as printed)Result valueAssessment
Identity and AppearanceAppearanceVisualwhite crystals or crystalline powderwhite crystalline granulesconforms
Identity and AppearanceIdentification (IR spectrum)Ph. Eur. 2.2.24conforms to referenceconformsconforms
Identity and AppearanceClarity and colour of solutionPh. Eur. 2.2.1 / 2.2.2clear, not more intense than Y7conformsconforms
Assay and Physical–Chemical ParametersAssay (anhydrous basis)Ph. Eur., NaOH titration%99.5 – 100.599.899.8conforms
Assay and Physical–Chemical ParametersWaterKarl Fischer, Ph. Eur. 2.5.12%7.5 – 9.08.38.3conforms
Assay and Physical–Chemical ParametersSulphated ashPh. Eur. 2.4.14%≤ 0.05< 0.01conforms
Assay and Physical–Chemical ParametersOxalic acid (as oxalate)SF-QC-118 (HPLC)mg/kg≤ 100< 50conforms
Assay and Physical–Chemical ParametersSulphateSF-QC-092 (turbidimetric)mg/kg≤ 150< 50conforms
Assay and Physical–Chemical ParametersReadily carbonisable substancesPh. Eur. / FCCnot more intense than referenceconformsconforms
Heavy MetalsLead (Pb)ICP-MS, EN 15763mg/kg≤ 0.5< 0.1conforms
Heavy MetalsArsenic (As)ICP-MS, EN 15763mg/kg≤ 1.0< 0.1conforms
Heavy MetalsMercury (Hg)ICP-MS, EN 15763mg/kg≤ 1.0< 0.01conforms
Heavy MetalsCadmium (Cd)ICP-MS, EN 15763mg/kg≤ 1.0< 0.05conforms
MicrobiologyTotal aerobic microbial countISO 4833-1CFU/g≤ 1,000< 10conforms
MicrobiologyYeasts and mouldsISO 21527-2CFU/g≤ 100< 10conforms
MicrobiologyEscherichia coliISO 16649-2/1 gabsentnot detectedconforms
Show all 16 rowsShow fewer rows

3. What it looks like in Tiro

The result in the browser, right after the upload. From here it is one click to Excel or CSV.

The result in Tiro – header fields of the certificate of analysis and one row per parameter with method, specification, result and assessment, with download as CSV or Excel

How it works

  1. Create a "Certificates of analysis" inbox

    After signing up you give the inbox a name. On the first upload the AI proposes the fields – certificate number, product, batch, release, one table with the parameters. You decide which details you need and adjust the names once.

  2. Upload certificates

    From any supplier, in any layout – every PDF is read on its own. Scanned or photographed certificates work exactly like digitally created ones.

  3. Download the table

    One row per parameter with method, specification, the result as printed and the result value as a real number. Excel or CSV – ready for incoming inspection, the batch record or trend analysis per supplier.

Frequently asked questions

What is the difference between a certificate of analysis and a test report?

In everyday use the terms get mixed, but the documents differ in who issues them and why: a certificate of analysis (CoA) is usually issued by the manufacturer's quality control for each batch – it compares the results with the agreed specification and releases the batch. A test report is written by an independent contract laboratory about a submitted sample, for instance as a counter-check at goods-in or for residue testing. Many QA departments work with both: a CoA with every delivery, independent lab testing on a sampling basis.

What is the difference between a CoA and a CoC?

A certificate of analysis (CoA) contains the measured analytical results of one specific batch – specification, result and assessment per parameter. A certificate of conformity/compliance (CoC) only declares that the product meets the stated requirements, usually without any measured values. Which document has to be supplied is defined by the purchase order or the quality agreement.

Who issues a certificate of analysis – and is there a new one for every batch?

Usually the manufacturer's quality control at the production site, sometimes supplemented by results from external accredited laboratories. A CoA applies to exactly one batch (lot) – every delivery therefore brings a new one, and the batch number on the certificate has to match the goods delivered, otherwise it is worthless for traceability.

How do I convert a certificate of analysis to Excel?

Upload the certificate as PDF, scan or photo to an inbox – Tiro returns the header fields (certificate number, product, batch, manufacturing and best-before date, release) and one row per parameter with method, specification, result and assessment, as Excel or CSV. Certificates from other suppliers run into the same table because the fields count, not the layout.

What does "< 0.01" on the certificate mean?

The value is below the limit of quantification of the method – the laboratory can only bound it, not state it. For any evaluation such entries are treacherous because they are not numbers. Tiro therefore keeps the result twice: once as printed ("< 0.01") and once in a result-value column as a real number, deliberately left empty for "< LOQ" – so Excel never accidentally calculates with a quantification limit.

Does it work with certificates from different suppliers and layouts?

Yes – that is exactly what the inbox is for. You define the fields once (or accept the AI proposal), and from then on every certificate runs into the same table, whether the supplier prints the specification as a range, with "≤" or as text. A certificate with different parameters fills the same columns – parameters a supplier does not test simply stay empty.

Where are the documents processed and how long are they kept?

The app runs on servers in Germany, AI processing goes through AWS Bedrock in the EU region Frankfurt, with no training on your data. Retention is set per inbox – down to "delete right after export".

What does it cost?

Getting started is free – 20 pages per month, no credit card. One page is one credit, so a one-page certificate costs one credit. Paid plans differ only in the number of pages.