Research
Use ChatGPT to Extract Contract Renewal Dates into a Review Table
Cihan's view: Upload an approved contract, ask ChatGPT to extract renewal terms with page or section references, and review the table before anyone treats it as a deadline.
What you will make
A review table for a fictional software contract. It will list renewal dates, notice periods, fees, and the exact section where each item appears.
This is a documentation-based guide. The input and output are illustrative. ChatGPT can extract information from uploaded documents, but this workflow does not provide legal advice and does not replace a contract review.
Before you start
You need:
- ChatGPT on the web or a supported mobile app with file uploads available.
- Permission to use the document. Do not upload a confidential contract to a personal account unless your organisation allows it.
- A text-searchable PDF or document. A scanned image may need OCR first.
OpenAI’s File Uploads FAQ says ChatGPT can extract specific information from documents and compare or analyse uploaded files. Limits and availability depend on the plan and account.
Fictional input
Upload a file named northstar-saas-agreement.pdf containing these clauses:
- Section 2, Term: the initial term runs from 1 January 2027 through 31 December 2027.
- Section 3, Renewal: the agreement renews for one year unless either party gives written notice at least 60 days before the end of the current term.
- Section 5, Fees: the annual fee is 12,000. A 5 percent increase may apply at renewal after written notice.
- Section 8, Notice: notices must be sent to the legal email address in the signature block.
- Section 11, Data export: the customer may request an export within 30 days after termination.
The file is fictional. Do not use a real customer agreement for this exercise.
Three steps
1. Upload the document and set the boundary
Start a new chat, attach the PDF, then paste this prompt:
You are preparing a contract review aid, not legal advice. Read the attached fictional agreement and extract only terms that affect renewal planning. Return a table with these columns: topic, value or rule, date or timing, source location using the section number and a short exact quote, and open question. Include the initial term, renewal rule, notice deadline, renewal fee rule, notice channel, and post-termination data-export period. If a fact is missing, write Not stated. Do not calculate a deadline unless you show the calculation and label it as a planning date. Do not infer a notice recipient from context. After the table, list any item that needs a human or legal reviewer.
2. Inspect the table against the PDF
Ask a follow-up:
Now audit your table against the uploaded document.
For each row, quote the supporting sentence again. Mark the row PASS only when the topic, value, timing, and section reference all match. Mark it CHECK when the wording is ambiguous, the quote is incomplete, or the document does not state the fact. Do not silently correct the source.
Read the cited sections yourself. A citation in the answer is a pointer for review, not proof that the extraction is correct.
3. Add one planning date without changing the contract
If the contract really says the term ends on 31 December 2027 and notice is due 60 days before the end, ask:
Calculate the planning date that is 60 calendar days before 31 December 2027. Show the arithmetic. Keep the contractual rule separate from the planning calculation. If any date convention could change the result, flag it for review.
Copy the result into a separate calendar or task only after a person checks the contract. Never rewrite the contract from the model’s answer.
Illustrative output
| Topic | Value or rule | Date or timing | Source location | Open question |
|---|---|---|---|---|
| Initial term | One year | 1 Jan 2027 to 31 Dec 2027 | Section 2, exact term sentence | None in this sample |
| Renewal | Renews for one year unless notice is given | Notice at least 60 days before term end | Section 3, renewal sentence | Confirm how the parties count days |
| Annual fee | 12,000 | 5 percent increase may apply at renewal after written notice | Section 5, fee sentence | Confirm whether notice is required from the supplier |
| Notice channel | Legal email in signature block | For contractual notices | Section 8, notice sentence | Confirm the current address |
| Data export | Customer may request an export | Within 30 days after termination | Section 11, export sentence | Confirm export format and owner |
This table is an editor-written illustration, not a ChatGPT result.
Acceptance checks
The workflow passes when:
- Every row points to a section that exists in the uploaded file.
- The quoted wording supports the value without an extra assumption.
- Missing terms say Not stated instead of receiving a guess.
- The 60-day planning date is kept separate from the contractual language.
- A reviewer can find each row in the source in under a minute.
If something goes wrong
- ChatGPT invents a notice address: ask it to quote Section 8 and mark the row CHECK if the address is not present. Then inspect the signature block yourself.
- The PDF has no useful text layer: run OCR with an approved tool, or use a text copy from the source. Treat OCR errors as a reason for manual review.
- The model gives a confident legal conclusion: delete that conclusion. Ask for the exact source sentence and send the issue to the appropriate reviewer.
- A date looks one day early or late: check whether the contract uses calendar days, business days, or a specific counting convention.
Limits and privacy
File uploads have size and usage limits. Access, retention, and organisational controls vary by account. Use the minimum approved document, remove unrelated personal data, and do not upload secrets. This guide extracts terms for review. It does not decide whether a clause is enforceable or whether a renewal should happen.
Next lesson
For a broader document workflow, read Use ChatGPT to compare two policy drafts without losing the differences.