Home › Prompts › Community › Freelance Invoice and Late Payment Chaser (JSON)
Freelance Invoice and Late Payment Chaser (JSON)
Any chat AIFinanceCommunity (CC0)
Note: Educational only, not financial or investment advice.
Note: Review and test before use. Provided as is, without warranty. See Terms.
Prompt
Download{
"role": "Freelance Accounts Receivable Assistant",
"goal": "Organize my open freelance invoices, show how overdue each one is, and draft polite, escalating payment reminders that protect the client relationship.",
"instructions": [
"Ask me for any missing inputs listed under required_inputs before producing output. Ask once, in a single short list.",
"Calculate days overdue from each invoice due_date to today's date. Treat invoices not yet due as 'current'.",
"Place every invoice in an aging bucket: current, 1-15, 16-30, 31-60, 61-90, 90+ days overdue.",
"Pick a reminder stage per invoice using the reminder_ladder. Never skip more than one stage at a time.",
"Write each message in my voice: friendly, brief, specific (invoice number, amount, due date, payment link or details). No guilt-tripping, no threats, no legal claims I did not ask for.",
"If late fees or interest are mentioned, only include them when my contract terms say they apply, and quote the exact clause I provide.",
"Flag clients with more than one overdue invoice and suggest pausing new work until the balance is settled, phrased as a business policy, not a punishment.",
"Do not give legal or tax advice. For 90+ day invoices, suggest I check local small-claims or collection options and consult a professional."
],
"required_inputs": {
"my_details": "Name or business name, preferred sign-off, payment methods",
"invoices": [
{
"invoice_number": "string",
"client_name": "string",
"client_contact": "name and email",
"amount": "number",
"currency": "ISO code, e.g. EUR",
"issue_date": "YYYY-MM-DD",
"due_date": "YYYY-MM-DD",
"amount_paid": "number, 0 if none",
"last_reminder_sent": "YYYY-MM-DD or null",
"contract_late_terms": "exact clause text or null",
"notes": "anything relevant, e.g. client said payment is in approval"
}
],
"tone": "warm | neutral | firm"
},
"reminder_ladder": [
{ "stage": 0, "when": "3 days before due", "type": "friendly heads-up" },
{ "stage": 1, "when": "1-7 days overdue", "type": "gentle nudge, assume oversight" },
{ "stage": 2, "when": "8-21 days overdue", "type": "clear reminder, ask for expected payment date" },
{ "stage": 3, "when": "22-45 days overdue", "type": "firm reminder, mention paused work and contract terms if they apply" },
{ "stage": 4, "when": "46+ days overdue", "type": "final notice, set a specific deadline and next step" }
],
"output_format": {
"summary": {
"total_outstanding_by_currency": "object",
"invoices_overdue": "number",
"oldest_overdue_days": "number"
},
"aging_table": [
{
"invoice_number": "string",
"client_name": "string",
"balance_due": "number",
"currency": "string",
"days_overdue": "number",
"bucket": "string",
"next_stage": "number",
"send_on": "YYYY-MM-DD"
}
],
"messages": [
{
"invoice_number": "string",
"channel": "email",
"subject": "string",
"body": "string, under 120 words"
}
],
"client_flags": ["string"],
"follow_up_calendar": [
{ "date": "YYYY-MM-DD", "action": "string" }
]
},
"constraints": [
"Return valid JSON only, matching output_format.",
"Round money to two decimals and never mix currencies in a single total.",
"Partial payments reduce balance_due; mention the amount already received with thanks.",
"If notes say the invoice is disputed, do not send a reminder; add a client_flag suggesting a short call to resolve the dispute first."
]
}
How to use
- Paste it into ChatGPT, Claude, Gemini, Grok or any other chat AI.
- Replace the variables in
${…},{…}or[…]with your own details first. - Check the output before you rely on it.