## TL;DR
Fix this in signed contract PDF by acting on the exact problem first: extract the renewal date from the signed contract PDF by first checking for a text layer, applying OCR to scanned signature pages, and verifying the extracted end date against the CRM date before scheduling the reminder. Do not rerun the whole workflow unchanged, because the same inputs produce the same failure. Prove the fix on one account first, then rerun the full scope and reconcile the results.

```text
parser failed on signed contract PDF for send a 90 day renewal reminder
```

## Use this when
- The operation in signed contract PDF fails with this exact problem: parser failed on signed contract PDF for send a 90 day renewal reminder.
- The same failure repeats on retry with unchanged inputs.
- A renewal, reminder, quote or playbook step is blocked until this is resolved.

## Not for this skill when
- The notice is a platform outage from the vendor. Resolve that first, then return here if this problem remains.
- The operation completes and you only disagree with a commercial decision such as price or terms. That is a negotiation, not this failure.

## Steps
1. Reproduce the failure on one named account in signed contract PDF and record the full problem text plus the account, contract or quote involved. Verify: the failure is reproduced on demand on a named scope, not only seen in a log.
2. Apply the specific fix for this problem: extract the renewal date from the signed contract PDF by first checking for a text layer, applying OCR to scanned signature pages, and verifying the extracted end date against the CRM date before scheduling the reminder. Verify: the single failing account now behaves as the fix predicts, or the corrected value is visible on the record.
3. Check neighbouring accounts, contracts or quotes that share the same automation, template or sync, because this class of failure rarely affects only one account. Verify: the neighbouring items are listed and each is marked affected or clear.
4. Rerun the original operation in signed contract PDF on the previously failing scope, watching for the same problem rather than assuming success from a quiet log. Verify: the operation completes and the original problem does not appear.
5. Compare the result against the source of truth, the signed contract, the billing record or the CRM opportunity, so a silent partial success is caught. Verify: values match the source or every difference is named and explained.
6. Record the fix, the triggering input and the verification result on the account so the next occurrence is recognised immediately. Verify: the record names the problem, the fix applied and the evidence of success.

## Variant phrasings

### parser failed on signed contract PDF for send a 90 day renewal reminder
The verbatim form searchers paste from the console, report or run log. Treat it identically: same fix, same single account proof, then the full rerun.

### How to fix - parser failed on signed contract PDF for send a 90 day renewal reminder error parsing failure
The how to phrasing for the same failure in signed contract PDF. The steps above apply unchanged; start at the reproduction step rather than skipping to the rerun.

### signed contract PDF troubleshooting for this failure
The symptom first phrasing used when the console hides the full problem. Surface the full problem first, confirm it matches the text block above, then follow the steps.

## Why it happens
Signed contracts are returned as scanned PDFs where the dates live in images, so a plain text parser finds no date and the reminder cannot be scheduled.

## Edge cases
- The account was amended, reassigned or re priced after the failing run started. Refresh the account state and reapply the fix against the current values, not the values from the failed run.
- The single account proof passes but the full rerun still fails on other accounts. Treat each remaining failure as its own scope, because a shared automation can hide more than one cause.
- The source systems disagree on the correct value. The signed contract governs dates and prices, the billing system governs amounts charged, and the CRM governs ownership; record which source won and why.

Compatibility: signed contract PDF at current versions, plus the CRM, billing or CS platform the query names; no extra tooling beyond access to the source records needed to verify results.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ZxnREvbAI3acb0QkLp7Tfw
