Weekly
See unpaid PayPal invoices every Monday
A Monday email lists invoices sent but not fully paid, oldest due date first.
- Runs
- Weekly
- Apps
- PayPal
- AI
- Not needed
- Access
- REST app with invoicing
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me my PayPal invoices that are sent or partially paid, sorted by due date with the oldest first.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A weekly look at unpaid invoices is something every small business means to do and rarely does. PayPal does show invoice statuses, but the useful view, everything still owed sorted by how late it is, takes several clicks and some mental arithmetic. So Monday comes and goes, and an invoice sent six weeks ago stays unpaid without anyone noticing.
Each Monday, PayPal is searched for invoices that are sent or partially paid. They are sorted by due date, so the most overdue ones sit at the top, and the list arrives by email. Reading it takes under a minute, and it tells you who to call, who to remind and how much is outstanding in total.
It suits freelancers, consultants and small agencies billing through PayPal who want a regular, low-effort habit around collecting money.
What you get out of it
Start the week knowing who owes you
A Monday list of unpaid invoices sets the agenda for collections. You can send two or three nudges before nine and spend the rest of the week on work. That habit alone shortens the time money spends unpaid.
Oldest debts rise to the top
Sorting by due date puts the most overdue invoice first. The ones most at risk of never being paid get attention before newer ones that will probably be paid on their own.
Partial payments are not forgotten
Including partially paid invoices means a client who paid half and stopped still appears. Those balances are easy to overlook and often equal real money. You avoid committing money that has not yet arrived.
Totals support planning
Seeing how much is outstanding each week helps you decide on spending and hiring. If a large amount is unpaid, you may delay a purchase until it arrives. Those year-end conversations go much faster with dates already in hand.
A weekly trail for your accountant
Saved Monday emails show what was outstanding at each point in the year. It helps with year-end bad-debt decisions and with explaining cash flow to a bookkeeper. Records like these also help when a client later disputes an amount.
How it works
What happens, step by step
Every Monday, ClickRuntime finds your PayPal invoices that are sent but unpaid or only partly paid.
It sorts them by due date, oldest first.
You get an email listing each invoice with its number, due date, customer, amount and status.
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 clickruntime import on_trigger, credentials, http, 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):
resp = http.post(f"{API}/v2/invoicing/search-invoices", headers=paypal_headers(),
params={"page_size": 100}, json={"status": ["SENT", "PARTIALLY_PAID"]})
resp.raise_for_status()
invoices = sorted(resp.json().get("items", []),
key=lambda i: i["detail"].get("payment_term", {}).get("due_date", "9999"))
if not invoices:
return {"unpaid": 0}
lines = [f"- {i['detail']['invoice_number']} due {i['detail'].get('payment_term', {}).get('due_date', 'n/a')}: "
f"{i['primary_recipients'][0]['billing_info']['email_address']}, "
f"{i['due_amount']['currency_code']} {i['due_amount']['value']} ({i['status']})" for i in invoices]
notify.email_me(f"{len(invoices)} unpaid PayPal invoices", "\n".join(lines))
return {"unpaid": len(invoices)}FAQ
Common questions
Which invoice statuses are included?
Does this send reminders to my clients?
Can I get the digest on a different day?
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
Remind customers about overdue PayPal invoices
Overdue customers get PayPal's reminder at most once a week, and you see who was nudged.
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 “See unpaid PayPal invoices every Monday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.