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.
Open the tool at https://app.cmcfy.com/app/batch-analysis.html. This guide is also online at https://cmcfy.com/guides/batch-analysis.html
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.
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.
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).

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.
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. 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.

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.
Preview and download
Preview 3.2.P.5.4, 3.2.P.6 and the CoA, read the review and download.

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
| Field | What to enter |
|---|---|
| Batch analysis for | Choose one: Drug product (3.2.P.5.4); Drug substance (3.2.S.4.4). |
| Submission region | Choose one: US: FDA (NDA, ANDA, BLA, IND); EU: EMA and national agencies (MAA); Both US and EU. |
| Product or substance name | Type it in. |
| Specification from Specification Builder (optional) | Press Add files and pick summary files (.cmcfy.json) saved by other modules. |
| Specification | A 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
| Field | What to enter |
|---|---|
| Batches | A 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). |
| Results | First 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
| Field | What to enter |
|---|---|
| Reference standards | A 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
| Field | What to enter |
|---|---|
| Write a certificate of analysis for batch | Leave 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
- 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.
- 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).
- Click a finding to jump to the place in the preview. Fix it in the tool, then preview again.
- 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.
- 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
| Section | Document |
|---|---|
| 3.2.P.5.4 / 3.2.S.4.4 | Batch analyses |
| 3.2.P.6 / 3.2.S.5 | Reference standards or materials |
| CoA | Certificate 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.
8. Working with other modules
- Add the Specification Builder summary to keep tests identical.
- Record a failing result as an investigation in the Investigation Studio (OOS, deviation, CAPA), then enter its reference here.
- The QOS Composer & Dossier Assembler checks that stability batches named here have stability data and that the criteria match the specification.
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.
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.
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.