What the pilot proves
Match
Find the expected PDF in Google Drive from a row in Google Sheets using a stable filename convention.
Send
Send the approved Gmail template with the matched PDF attached to the right client email.
Write back
Write sent, failed, already sent, or manual review status back to the same sheet.
Inputs needed before a quote
| Input | Minimum version |
|---|---|
| Redacted Sheet | 5 rows with client id, email, expected PDF filename, send status, and resend flag. |
| 5 dummy PDFs | Safe placeholder invoice PDFs in the same folder structure planned for production. |
| Filename convention | One deterministic naming rule, for example client_id + invoice_month. |
| Email template | Subject, body, sender account, and variables that must appear in the message. |
| Resend rule | Clear instruction for when a row can be resent and when it must be blocked. |
Acceptance checks
| Case | Expected behavior |
|---|---|
| Missing PDF | Do not send. Mark failed and write the missing filename. |
| Duplicate PDF | Do not guess. Mark manual review for duplicate candidates. |
| Already sent | Do not resend unless the resend flag is explicitly set. |
| Manual resend | Send only the selected client row and write a fresh timestamp. |
| Empty email | Do not send. Mark failed for missing recipient. |
Scope boundary
This pilot does not create invoices, make accounting or tax judgments, use production credentials during discovery, or read PDFs directly from a local desktop folder.
Related PDF data work
If the real bottleneck is extracting messy PDF data instead of emailing ready-made invoices, start from pdf.jackyue.com and bring one sample PDF.
Email the pilot request