CertiClean

Certificate of Analysis to spreadsheet

CoA to Excel, already checked against the spec

A generic PDF-to-Excel copy leaves a sheet of text to check by eye. CertiClean returns one row per parameter with the limit read, the result compared and a status, plus a batch log line, as CSV that opens straight in Excel.

The sheet supports your review. The release decision stays with the qualified person, and the tool is not a validated system.

Check a certificate of analysis

Used only for files over 10 pages, or a second file in a day.

  1. 01

    Upload the CoA

    A PDF or scan from your supplier. Tables are read as printed; nothing is typed in by hand.

    Free: 1 file per day, up to 10 pages, no account.

    No file to hand? Try a sample:
  2. 02

    Compare to the specification

    Each printed limit (≤, ≥, ranges, NMT, NLT, Negative, Conforms) is read and every result is judged against it. What cannot be judged is marked, never guessed.

    Showing a sample. Upload your own certificate to check it.

  3. 03

    Log the batch

    Add one line per certificate to a batch log that builds up across uploads. It stays in this browser and downloads as CSV.

    0 lines in your log now

Sample Food ingredient, one assay below its lower limit
Out of spec

1 of 10 evaluated parameters is outside the printed specification. 1 could not be evaluated and needs a manual look.

  • 9pass
  • 1fail
  • 1could not evaluate
One row per test parameter with its specification, method, result and status
#ParameterSpecificationMethodResultStatus
1AppearanceResult "White powder" matches "White to off-white powder"White to off-white powderVisualWhite powderPassCoA says: Pass
2Assay (Rebaudioside A)95.8 % is below the lower limit (≥ 97.0 %). The supplier's own conclusion column says "Pass".≥ 97.0read as ≥ 97.0 %HPLC95.8 %FailCoA says: Pass
3Total steviol glycosides98.9 % meets ≥ 95.0 %≥ 95.0read as ≥ 95.0 %HPLC98.9 %PassCoA says: Pass
4Loss on drying3.2 % meets ≤ 6.0 %≤ 6.0read as ≤ 6.0 %105 °C, 2 h3.2 %PassCoA says: Pass
5pH (1 % solution)5.6 meets 4.5 – 7.04.5 – 7.0Potentiometry5.6PassCoA says: Pass
6Lead (Pb)0.21 mg/kg meets ≤ 1 ppm (mg/kg is the same ratio as ppm)≤ 1 ppmICP-MS0.21 mg/kgPassCoA says: Pass
7Arsenic (As)< 0.05 mg/kg means the value is under 0.05 ppm; that is within ≤ 1 ppm (mg/kg is the same ratio as ppm)≤ 1 ppmICP-MS< 0.05 mg/kgPassCoA says: Pass
8Residual methanolPrinted result is "Complies", a conformity statement without a measured value; ≤ 200 ppm was not checked.≤ 200 ppmGC-HSComplies ppmCould not evaluateCoA says: Pass
9Total plate count85 cfu/g meets ≤ 1000 cfu/g≤ 1000 cfu/gISO 4833-185 cfu/gPassCoA says: Pass
10Yeasts and moulds< 10 cfu/g means the value is under 10 cfu/g; that is within ≤ 100 cfu/g≤ 100 cfu/gISO 21527-2< 10 cfu/gPassCoA says: Pass
11Salmonella"Not detected" meets "Negative in 25 g"Negative in 25 gISO 6579-1Not detectedPassCoA says: Pass

Batch log

One line per CoA you add, kept in this browser only. Nothing in the log is uploaded. The reviewer, release decision and notes columns are yours to fill in; the tool never fills them.

0 lines

No lines yet. Check a certificate, then choose Add to batch log. Sample certificates are never added.

A working log, not a validated record: it has no electronic signatures, no audit trail and no access control, and it disappears if you clear this site's data or switch browser or device. Download it often, and keep your controlled batch record in your own quality system.

Definition

What is a CoA to Excel conversion?

CoA to Excel
CoA to Excel means moving the test table of a Certificate of Analysis from a PDF into spreadsheet rows: parameter, specification, method, result and unit. CertiClean adds the part a copy cannot: it reads the specification into a limit, compares the result with it, and writes a status and a reason on the same row.

The output is a CSV (UTF-8 with a byte-order mark, so Excel shows ≤, µ and °C correctly) and a JSON file. There is no .xlsx download; double-clicking the CSV opens it in Excel.

The columns are fixed, and the lot, product, supplier and CoA number are repeated on every row, so files from different batches can be stacked into one sheet or pivot table.

Steps

From PDF to a filtered sheet

What happens between the upload and the file you open in Excel.

  1. Upload the PDF or scan

    Drop the certificate on the page. Free use: 1 file per day, up to 10 pages, no account.

  2. Check that the table was read

    The result view shows one row per parameter and the batch header card. A reading note appears if the layout was unusual, for example several result columns or a table without a header row.

  3. Filter on the status

    Red rows failed, amber rows could not be judged, grey rows are report-only. Each carries a reason. The supplier's own conclusion column is kept in its own column and flagged if it disagrees.

  4. Download the parameter CSV

    The file has 13 fixed columns. Open it in Excel and filter on the status column, or append it to the sheet of earlier lots.

  5. Add the batch line to the log

    One line per certificate goes into the batch log in your browser, with the failed parameters listed and the release decision column left empty.

Columns

What is in the files

Parameter CSV, one row per test parameter

ColumnContents
supplierSupplier or manufacturer named on the certificate.
productProduct or material name.
batch_lotBatch or lot number. Repeated on every row so sheets from different lots stack.
coa_numberCertificate or report number.
rowRow number in the order printed on the certificate.
parameterTest name as printed.
specificationSpecification text as printed (for example NMT 0.5 %).
methodMethod or reference as printed (USP, Ph. Eur., ASTM, ISO, in-house).
unitUnit from the unit column, or from the result or specification.
resultResult as printed.
supplier_conclusionThe supplier's own conclusion column, if the certificate has one.
statusPASS, FAIL, NOT EVALUATED or REPORT ONLY.
reasonPlain-language reason for the status, including any unit conversion.

Batch log CSV, one line per certificate

ColumnContents
logged_at_utcWhen the line was added, in UTC.
source_fileFile name that was uploaded. When only the first pages of a longer file were converted, the name is followed by (first 10 of 14 pages), with the real numbers.
supplierSupplier or manufacturer.
productProduct or material name.
product_codeProduct code or item number.
batch_lotBatch or lot number.
coa_numberCertificate or report number.
manufacture_dateManufacture date, ISO 8601 where the printed date is unambiguous, otherwise as printed.
expiry_or_retest_dateExpiry, retest or best-before date, same rule.
expiry_labelWhich of those the certificate called it.
sampling_dateSampling date.
issued_byName or role printed as issuer or approver.
parametersNumber of parameter rows read.
evaluatedRows with a pass or fail.
passedRows that passed.
failedRows that failed.
could_not_evaluateRows that could not be judged and need a look.
report_onlyRows with no limit to check.
overall_resultALL EVALUATED WITHIN SPEC, OUT OF SPEC or NOTHING EVALUATED.
failed_parametersEach failed parameter with its result and printed limit.
could_not_evaluate_parametersNames of the parameters that could not be judged.
reviewed_byLeft empty for you.
release_decisionLeft empty for the qualified person.
notesLeft empty for you.
Comparison

What lands in the spreadsheet

The same certificate, three ways of getting it into rows.

What you needManual spec checkGeneric PDF-to-ExcelCertiClean
Specification columnTyped or pasted, then read again.The printed text, nothing more.The printed text, plus how it was read (NMT 0.5 % read as ≤ 0.5 %).
Status columnAdded by hand, row by row.Absent. You write the formulas.PASS, FAIL, NOT EVALUATED or REPORT ONLY, with a reason.
Odd results (< 0.01, ND, Complies)Judged as you go.Left as text in the cell.Compared by rule, or marked could not evaluate with the reason.
Unit differencesConverted in your head.Left alone.% ↔ ppm ↔ mg/kg converted and stated; other mismatches flagged.
Lot and supplier on every rowCopied down.Only where the PDF printed them.Repeated on every row so lots stack.
Special characters in ExcelDepends on how you typed them.Often garbled in CSV.UTF-8 with BOM, so ≤, µ and ° display correctly.
FAQ

Questions people ask

Does CertiClean produce an .xlsx file?

No. It produces a CSV and a JSON file. The CSV is UTF-8 with a byte-order mark, which makes Excel open it with ≤, µ and °C intact. Save it as .xlsx from Excel if you need that format.

Which columns does the parameter CSV have?

Thirteen, in a fixed order: supplier, product, batch_lot, coa_number, row, parameter, specification, method, unit, result, supplier_conclusion, status and reason. The column guide on this page describes each one.

What if the table continues over several pages?

Continued tables are joined. A repeated header row is dropped, and a continuation without a header reuses the column layout of the table before it. A reading note says when that happened.

My CoA has Min and Max columns instead of one specification. Is that read?

Yes. Min and Max (or Lower and Upper) cells are combined into one specification, for example 98.0 and 102.0 become 98.0 – 102.0, and an empty Max with a Min of 99.0 becomes ≥ 99.0.

What if there are several result columns, for example two lots on one certificate?

Only the first result column is used, and a reading note says so. Upload each certificate separately if you need each lot checked.

Why does a cell differ slightly from the PDF?

Cells are cleaned: line breaks and repeated spaces collapse, markup is removed, and trailing footnote marks on results are dropped. Numbers and wording are not changed.

Are decimal commas read correctly?

Yes. When most numbers in the document use a decimal comma (0,5), numbers are read that way, and a reading note says so. A thousands separator such as 1,000 is read as one thousand in a document that uses decimal points.

Can it read a scan or a photo of a CoA?

Yes, with OCR, and the result says when the file was read as a scan. OCR can misread digits, so check the numbers against the original, especially on rows flagged amber or red.

How much can I convert for free?

1 file per day, up to 10 pages, with no account. Pro is $79 per month for 200 CoAs a month and files up to 150 pages; Team is $199 per month for 5 seats, 1,000 CoAs a month and the same 150-page files. Paid access is a page code sent by email; see the pricing page.

Can I send the CSV to my LIMS or ERP?

CertiClean has no LIMS or ERP integration. The CSV is a plain file with fixed columns that you can import wherever your system allows it.

Is the supplier's own pass/fail column kept?

Yes, in the supplier_conclusion column. If a row fails here while the supplier printed Pass, the reason says so, and the same applies the other way round.