An API carrying a retest date is only as trustworthy as the record of what happened at each retest point. This running register tracks every retest event across the inventory, from the date it fell due through the data behind the decision and the new date assigned. It is the thread an inspector follows when they ask “how do you know this lot is still good three retest cycles after manufacture?” Replace every <<FILL: ...>> placeholder, keep the register under document control, and retain it per your records schedule. Field definitions, a filled specimen, and the retention rules follow. Verify each cited regulation against the current source before you rely on it.
Why this register exists (regulatory basis)
ICH Q7 Section 11.6 expects an API’s continued eligibility for use past its first assigned date to rest on stability data, tested and documented at the retest point, not on an administrative label change. Section 11.5 requires an ongoing stability program supporting the assigned interval. This register is the single place that shows every lot’s retest history, the panel tested, the result, and who approved the extension, so the basis for using a lot today can be reconstructed at any point in its life.
Field definitions
| Field | Format | Required | Who enters | When |
|---|---|---|---|---|
| Lot / batch ID | <<FILL: prefix>>-YYYY-NNNN | Yes | QC | At retest due date |
| Material | API or intermediate name and grade | Yes | QC | At retest due date |
| Current retest / expiry date | Date, and which type | Yes | QC | At retest due date |
| Retest interval basis | Stability protocol reference | Yes | Stability/CMC | At retest due date |
| Retest panel tested | List of attributes | Yes | QC | At execution |
| Result summary | Pass/fail per attribute | Yes | QC | At execution |
| Meets specification? | Yes / No | Yes | QC | At execution |
| New retest date assigned | Date, or N/A if failed | Conditional | Quality Unit | At disposition |
| QA disposition (name, date) | Name + date | Yes | Quality Unit | At disposition |
| Deviation reference (if failed) | Number or N/A | Conditional | Quality Unit | At disposition |
Register
| Lot / batch ID | Material | Current date / type | Interval basis | Panel tested | Result summary | Meets spec? | New date assigned | QA disposition | Deviation ref |
|---|---|---|---|---|---|---|---|---|---|
<<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
Instructions for use
- Open a row for every lot as it approaches its retest date, driven by the inventory system or the stability tracking tool, not by manual memory.
- Test the full retest panel the ongoing stability protocol defines for that material; a partial panel (assay only, for example) does not support an extension on its own.
- Record the result against the release specification, not a looser “still usable” judgment.
- The Quality Unit, not the warehouse or an automated scheduling rule, approves the new retest date and signs the disposition.
- Where the material carries an expiry date rather than a retest date, that lot does not get a row here at the date; it is dispositioned as expired per
<<FILL: SOP-ID for expired-material handling>>, since an expiry date cannot be extended by retesting. - Where a lot fails the retest panel, open a deviation, hold the lot, and record the deviation reference; do not leave the row open pending an informal recheck.
Acceptance criteria
- Every lot approaching its retest date has a row opened before the date is reached, not after.
- The retest panel tested matches the ongoing stability protocol for that material, not a reduced ad hoc set.
- Every extension carries the full result set and a Quality Unit signature, not just a new date.
- Failed retests carry a deviation reference and a held-lot status until dispositioned.
- The register reconciles against the current inventory: no lot in active use has an expired retest or expiry date with no corresponding row.
Retention
Retain this register for not less than <<FILL: retention period, aligned to the associated batch records>>, and at least as long as the batch records for every lot referenced. Store it so it remains legible, attributable, and retrievable for the full period.
Filled specimen
Two illustrative rows show a routine extension and a failed retest.
| Lot / batch ID | Material | Current date / type | Interval basis | Panel tested | Result summary | Meets spec? | New date assigned | QA disposition | Deviation ref |
|---|---|---|---|---|---|---|---|---|---|
| API-2024-0219 | Compound X, API, GMP grade | 15 Jan 2026, retest | Stability protocol STB-0031, long-term condition | Assay, related substances, water content | Assay 99.1%, related substances within limits, water 0.18% | Yes | 15 Jan 2027 | R. Gomez, QA, 10 Jan 2026 | N/A |
| API-2023-0904 | Compound X, API, GMP grade | 02 Feb 2026, retest | Stability protocol STB-0031, long-term condition | Assay, related substances, water content | Related substance B at 0.19%, above the 0.15% specification limit | No | N/A, lot held | R. Gomez, QA, 03 Feb 2026 | DEV-2026-0087 |
The first row shows a routine extension: full panel tested, all results within specification, a new date assigned and signed by QA. The second shows the register doing its other job: the lot failed one attribute, the extension was refused, the lot was held, and a deviation traces the investigation. Both rows leave a reconstructable basis for whether that lot could be used on the date in question.
Common inspection findings this log prevents
- A lot in use past its retest date with no register entry showing it was actually retested.
- A retest panel limited to assay alone when the stability protocol specifies additional attributes.
- A new retest date recorded with no underlying data attached or referenced.
- An extension approved by someone other than the Quality Unit.
- An expiry-dated lot treated as if a retest could extend it.
How to adapt this register
- Set your lot ID prefix and align retention to your batch record retention period.
- Point the interval-basis field at your actual stability protocol numbering.
- Wire failed-retest rows into your deviation SOP so every “No” result carries a real deviation reference.
- Add an inventory reconciliation step so no in-use lot is missing a row.
- Confirm the ICH Q7 clause numbers referenced in the parent article against the current published version before issue.