CMC regulatory writing software that runs entirely in your browser Training guidesValidation packOpen the app

Module 3 sections · Training guide

Batch Analysis & CoA

Check every batch result against the specification, write the batch analysis and reference standard sections, and produce a certificate of analysis for any batch.

Writes
3.2.S.4.4 3.2.P.5.4 3.2.S.5 3.2.P.6
Product type
Small molecule
Guidance it follows
ICH M4Q(R1), ICH Q6A, USP General Notices 7.20 (rounding), ICH Q7 11.1 (reference standards)
Time to learn
About 20 minutes with the example

1. What this module does

Enter the specification, the batches and their results; the tool checks every result against its criterion, finds missing results, checks reference standard retest dates, and writes 3.2.P.5.4 or 3.2.S.4.4 with the results tables, plus 3.2.P.6 or 3.2.S.5 for reference standards.

It can also produce a certificate of analysis for any batch in the table.

What you get

  • Word or PDF files for batch analyses, reference standards and the certificate of analysis.
  • A summary file for the QOS Composer & Dossier Assembler, which compares the batches here with the specification and stability sections.

2. Before you start

Have these ready. You can still start with the example data and replace it piece by piece.

  • The specification (test and acceptance criterion), or the summary file from the Specification Builder.
  • The batches: number, size, site, date of manufacture, use (clinical, stability, registration) and drug substance lot.
  • Results for each test and batch, as reported on the certificates.
  • Reference standards: type, lot, source, purity or potency and retest date.
Your data stays on your computer. The bar under the title counts every network request the page makes; it stays at 0 because your data never leaves your computer. Download offline copy saves a single file that opens from your own computer with all network access blocked, for air-gapped PCs.

3. Step by step with the example

Open the tool at app.cmcfy.com/app/batch-analysis.html. The example is loaded when the page opens, so every panel already has realistic data. Follow the steps to see how it works, then replace the example with your own data.

  1. Enter product and specification

    Choose drug product or drug substance and the region. Paste the specification, or add the Specification Builder summary (its tests replace the table).

    Batch Analysis & CoA
  2. Enter batches and results

    The results table has the test in the first column, then one column per batch in the same order as the batches table. Test names must match the specification exactly. Write "< 0.05" for results below the reporting limit.

  3. Read the result

    The example headline reads "All 26 results meet the specification: 3 batches against 9 tests". The results table shows each value against its criterion.

    Each result checked against the criterion.
    Each result checked against the criterion.
  4. Resolve alerts

    Two major alerts: water (KF) has no result for CMX-26-0103, and the working standard passed its retest date (2026-09-30). Enter the missing result or state "not tested" with the reason; requalify the standard or say which lot was used.

    Batch Analysis & CoA
  5. Write the certificate of analysis

    In panel 4, enter a batch number (the example uses CMX-26-0102) and the QA releaser. A CoA for that batch is added to the documents list.

  6. Preview and download

    Preview 3.2.P.5.4, 3.2.P.6 and the CoA, read the review and download.

    Batch Analysis & CoA

4. Field reference

Every input in the tool, panel by panel. Tables accept rows pasted straight from Excel, comma-separated text, or a loaded file; check the columns after loading a file. Fields marked “when it applies” appear only for the choices that need them.

1 · Product

FieldWhat to enter
Batch analysis forChoose one: Drug product (3.2.P.5.4); Drug substance (3.2.S.4.4).
Submission regionChoose one: US: FDA (NDA, ANDA, BLA, IND); EU: EMA and national agencies (MAA); Both US and EU.
Product or substance nameType it in.
Specification from Specification Builder (optional)Press Add files and pick summary files (.cmcfy.json) saved by other modules.
SpecificationA table. Columns: Test | Acceptance criterion. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan).

2 · Batches

FieldWhat to enter
BatchesA table. Columns: Batch | Batch size | Site | Date of manufacture | Use | Drug substance lot. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan).
ResultsFirst column is the test name exactly as in the specification, then one column per batch in the order of the batches table. A table. Columns: Test | Batch 1 | Batch 2 | Batch 3. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan).

3 · Reference standards

FieldWhat to enter
Reference standardsA table. Columns: Standard | Type (primary / working) | Lot | Source | Purity or potency | Retest date. Paste rows from Excel, type comma-separated rows, or press Load file (Excel, CSV, Word, PDF or a scan).

4 · Certificate of analysis

FieldWhat to enter
Write a certificate of analysis for batchLeave blank if you do not need a CoA. Type it in.
Released by (QA)Type it in.

5. Checks and alerts

Calculations and pass/fail outcomes always come from fixed rules, never from AI. The tool checks:

  • Every numeric result against its criterion (NMT, NLT, ranges, Q values). A failing result is critical: link it to the investigation with its reference and outcome.
  • Every test in the specification has results, and every batch has a value; results rows that match no test are flagged.
  • Results reported to the same number of decimals as the criterion.
  • At least three batches; batch size, site, date and use given; drug substance lot for each drug product batch; at least one stability batch.
  • Assay spread over more than half the specification range is flagged for discussion.
  • Reference standards in date, with purity or potency, and a primary standard listed.

How to resolve alerts

  • Critical alerts block the download and must be fixed in the data. A failing result can instead be linked to an investigation: type the investigation reference and outcome and press Record.
  • Major alerts block the download until you fix them or type a justification and press Accept justification.
  • Minor alerts do not block anything. They are listed in the documents so the reviewer sees them.
  • Some alerts have an Apply fix button that makes the change for you. Reopen undoes a justification.

Narratives

This module writes: Discussion of batch results; Reference standards. Each narrative is written by fixed rules from your data. You can edit it in the box. Rewrite with AI (where your plan includes AI) rewrites it in regulatory style; every number in the text is checked against your data, and a number that does not match is flagged under the box and blocks the download until you correct it. Reset to rule-based text brings back the original.

6. Preview, gap review and download

  1. Press Preview next to a section, or Preview and download all. The document opens in a preview window, exactly as the Word file will read.
  2. The left side lists the review, run on your device: gaps in the data (missing values, open alerts), gaps in the report (missing content the guidance expects, placeholders such as [site] or TBD left in the text) and, if you load the approved protocol under Compare with the protocol, differences from the protocol (requirements, criteria, batches or time points it plans that the report does not show).
  3. Click a finding to jump to the place in the preview. Fix it in the tool, then preview again.
  4. Optional AI review: a second read for contradictions, claims without data and vague wording. The report text is sent to Claude only when you press it, and only where your plan includes AI. Check every AI finding; AI can be wrong.
  5. Press Download Word (.docx) or Download PDF. With several documents open, All as Word (.zip) and All as PDF (.zip) download the set. The download buttons stay disabled while a blocking alert is open; the preview still works.

Documents this module produces

SectionDocument
3.2.P.5.4 / 3.2.S.4.4Batch analyses
3.2.P.6 / 3.2.S.5Reference standards or materials
CoACertificate of analysis for the chosen batch

Use Save project to keep your work as a file on your computer, and Open project to continue later. Start blank clears every field; Load example brings the example back. Nothing is stored on CMCfy servers.

7. US and EU submissions

The sections are the same in both regions. In EU mode, results for batches tested outside the EU are noted for EU retesting on import, and USP-only method references are flagged. A failing result refers to the FDA OOS guidance in US mode and EU GMP Chapter 6 in EU mode.

9. Common pitfalls

  • Test names that differ slightly ("Assay" against "Assay (HPLC)"): the row is not matched and both a missing-results and an extra-row alert appear.
  • Putting batches in a different column order from the batches table.
  • Leaving a blank where a test was not done; write "not tested" and why.
  • Forgetting that reference standards have retest dates too.

10. Practice exercises

Each exercise starts from the example (press Load example to reset). We run these on every update of this guide, so the result you see should match.

  1. Enter a failing result

    In the results table, change the assay of the first batch from 99.6 to 94.6.

    Expected resultA critical alert says the assay result for CMX-26-0101 does not meet the criterion, with a box to record the investigation.

  2. Ask for a CoA of a batch that is not in the table

    Change Write a certificate of analysis for batch to CMX-99.

    Expected resultA minor alert says batch CMX-99 is not in the batch table.