Daily
Remind customers about overdue PayPal invoices
Overdue customers get PayPal's reminder at most once a week, and you see who was nudged.
- Runs
- Daily
- Apps
- PayPal
- AI
- Not needed
- Access
- REST app with invoicing (write)
Send this to your assistant
Create a ClickRuntime automation: every day at 10am, send a PayPal reminder for any invoice more than 7 days overdue, no more than once a week per invoice, and email me who was reminded.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Chasing late invoices is awkward, so many freelancers and small businesses put it off. An invoice goes past due, a week passes, then a month, and the client who simply forgot never hears a word. Cash flow suffers, and the owner spends evenings scrolling through PayPal to work out who owes what and when they were last nudged.
Every day, PayPal is searched for overdue invoices. Any that have already received a reminder in the last seven days are skipped, so clients are not pestered, and the rest receive a reminder through PayPal. You then get an email listing exactly who was reminded, so you know the follow-up happened without having done it yourself.
It works well for service businesses with a handful of unpaid invoices at any time, where a polite nudge is usually all that is needed.
What you get out of it
Late payments get a nudge on time
Most overdue invoices are forgotten, not disputed. A reminder the day after the due date prompts payment from the many clients who simply lost track. Waiting weeks costs far more than a single polite notice sent on time.
No more awkward chasing
The reminder goes out as a standard PayPal notice, so you do not have to write an uncomfortable message yourself. Clients receive it without the personal tension of being asked directly.
Clients are not hounded
Skipping invoices reminded in the last seven days prevents repeated pings. The client receives a reasonable cadence, which keeps the relationship friendly and the reminders effective. Respecting a client's inbox protects goodwill that took months to build.
A list of who was chased
The email shows which customers were reminded, so you can follow up personally on large or repeat late payers. You always know where each overdue invoice stands. That visibility lets you spend your effort where a human conversation helps most.
Steadier cash flow
Collecting a week or two earlier on many invoices adds up to meaningful working capital. For a small business, that can cover payroll or software bills without dipping into a credit line.
How it works
What happens, step by step
Once a day, ClickRuntime finds your PayPal invoices that are past their due date.
It skips any invoice it already reminded in the last 7 days, so customers are not chased every day.
PayPal sends a reminder to each remaining customer.
You get an email listing which invoices were reminded and to whom.
Before it runs live
- Connect PayPal
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other PayPal steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, state, notify
API = "https://api-m.paypal.com"
def paypal_headers():
resp = http.post(f"{API}/v1/oauth2/token", data={"grant_type": "client_credentials"},
auth=(credentials.secret("PAYPAL_CLIENT_ID"), credentials.secret("PAYPAL_CLIENT_SECRET")))
resp.raise_for_status()
return {"Authorization": f"Bearer {resp.json()['access_token']}"}
@on_trigger
def run(event):
headers = paypal_headers()
cutoff = (date.today() - timedelta(days=7)).isoformat()
invoices = http.post(f"{API}/v2/invoicing/search-invoices", headers=headers, params={"page_size": 100},
json={"status": ["SENT", "PARTIALLY_PAID"], "due_date_range": {"end": cutoff}}).json()
reminded = state.get("reminded") or {}
week_ago = (date.today() - timedelta(days=7)).isoformat()
lines = []
for inv in invoices.get("items", []):
if reminded.get(inv["id"], "") > week_ago:
continue
http.post(f"{API}/v2/invoicing/invoices/{inv['id']}/remind", headers=headers,
json={"note": "A friendly reminder that this invoice is overdue."}).raise_for_status()
reminded[inv["id"]] = date.today().isoformat()
lines.append(f"- {inv['detail']['invoice_number']}: {inv['primary_recipients'][0]['billing_info']['email_address']}")
state.set("reminded", reminded)
if lines:
notify.email_me(f"Sent {len(lines)} PayPal invoice reminders", "\n".join(lines))
return {"reminded": len(lines)}FAQ
Common questions
What does PayPal count as an overdue invoice?
How does it know a reminder was sent recently?
Can I wait several days after the due date before reminding?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
See unpaid PayPal invoices every Monday
A Monday email lists invoices sent but not fully paid, oldest due date first.
See how it worksPost each PayPal payment to Slack
Every completed payment shows up in Slack with who paid and how much.
See how it worksHear about denied PayPal payments
When a payment is denied, you know straight away and can contact the buyer.
See how it worksKeep exploring
Set up “Remind customers about overdue PayPal invoices” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.