Pricing and billing

Dunning schedule planner

Turn one overdue invoice into the four reminder dates and reminder text to send for it.

Free, no accountIn your browser

Named in every reminder's text below.

What the customer owes on this invoice.

The day the invoice was due, written as 2027-01-31 or 31/01/2027.

Leave this blank to use today. Set a day to see which of the four reminders would already be due by then.

Try

Result

Nothing to plan yet

Enter the invoice's due date to see the reminder schedule.

What this is

This dunning schedule planner takes one invoice - its amount and its due date - and works out the four calendar dates an escalating reminder schedule falls on, day 1, 7, 14 and 30 after the due date, with the actual reminder text to send at each stage already naming the invoice, the amount and exactly how overdue it is.

Dunning is the escalating series of reminders a business sends for an invoice that has gone past its due date - a gentle nudge at first, firmer wording as the days without payment add up, and a final notice at the end of the run. Four stages, a day after the due date, a week, two weeks and a month, is a common shape for that escalation.

Every reminder's own "days overdue" is worked out from the two actual dates, the reminder's and the invoice's due date, rather than written down as a fixed number - so it is always the true gap between them, whatever the due date itself turns out to be.

How to read the result

The facts row restates the invoice as entered: its number, its amount, its due date and the day the schedule is being counted from. The table below lists the four reminder dates and how many days overdue each one represents.

Each reminder also appears as its own finding with the exact text to send at that stage, ready to copy into an email or a message - naming the invoice, the amount, and how many days overdue the invoice is by that point.

Common mistakes

What goes wrong most often, and how to tell.

  • Expecting this to actually send a reminderIt drafts dates and text only. Nothing here emails, texts or notifies anyone - every reminder still has to be copied out and sent by hand, or by whatever system a business already uses to send one.
  • Assuming a reminder date in the past means it already went outThis plan has no record of what was actually sent, and no way to know whether an invoice was paid at any point along the way. A reminder date sitting before today is only a date that has arrived, not a notice that was acted on - that is worth checking separately, every time.
  • Treating the four-stage schedule as fixed for every businessDay 1, 7, 14 and 30 is one common escalation, not a rule. A business with a shorter payment cycle, or a different relationship with the customer, may reasonably want these reminders closer together or further apart.

Questions

What people ask about this tool.

  • No. It plans the four reminder dates and drafts the text for each one, but nothing here sends an email, a text or any other notification - every reminder still has to be sent by a person, or by whatever system already handles that.
  • Each of the four reminder dates is the invoice due date plus a fixed number of days - 1, 7, 14 and 30 - and "how overdue" each one says is the exact gap between that reminder date and the due date, worked out from the two dates themselves rather than written as a fixed number anywhere.
  • The schedule is still built the same way, counted forward from that due date - if it is already in the past, some or all of the four reminder dates will already have arrived too, and a finding says how many. This plan has no idea whether those reminders were ever actually sent.
  • No. It has no connection to any invoicing or payment system, so it cannot tell a paid invoice from an unpaid one - re-run it with updated details, or simply stop sending reminders, once payment actually arrives.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/dunning-schedule-planner \
  -H "Content-Type: application/json" \
  -d '{"invoiceNumber":"INV-2001","amount":1200,"dueDate":"2027-03-01","asOf":"2027-01-01"}'
Response
{
  "tool": "dunning-schedule-planner",
  "input": {
    "invoiceNumber": "INV-2001",
    "amount": 1200,
    "dueDate": "2027-03-01",
    "asOf": "2027-01-01"
  },
  "result": {
    "verdict": {
      "tone": "success",
      "headline": "4 reminders from 2027-03-01 to 2027-03-31",
      "summary": "Reminders land day 1, day 7, day 14, day 30 after the due date."
    },
    "findings": [
      {
        "id": "reminder-day-1",
        "severity": "info",
        "title": "Day 1 reminder - 2027-03-02",
        "detail": "1 day overdue at this stage, counted from the due date.",
        "copy": "Hi, just a friendly reminder that invoice INV-2001 for $1,200.00, due 2027-03-01, is now 1 day overdue. Let us know if you have any questions about it.",
        "copyLabel": "Copy the day 1 reminder"
      },
      {
        "id": "reminder-day-7",
        "severity": "info",
        "title": "Day 7 reminder - 2027-03-08",
        "detail": "7 days overdue at this stage, counted from the due date.",
        "copy": "Invoice INV-2001 for $1,200.00 (due 2027-03-01) is now 7 days overdue. Please arrange payment at your earliest convenience.",
        "copyLabel": "Copy the day 7 reminder"
      },
      {
        "id": "reminder-day-14",
        "severity": "info",
        "title": "Day 14 reminder - 2027-03-15",
        "detail": "14 days overdue at this stage, counted from the due date.",
        "copy": "Second notice: invoice INV-2001 for $1,200.00 (due 2027-03-01) remains unpaid and is now 14 days overdue. Please settle this invoice as soon as possible.",
        "copyLabel": "Copy the day 14 reminder"
      },
      {
        "id": "reminder-day-30",
        "severity": "info",
        "title": "Day 30 reminder - 2027-03-31",
        "detail": "30 days overdue at this stage, counted from the due date.",
        "copy": "Final notice: invoice INV-2001 for $1,200.00 (due 2027-03-01) is now 30 days overdue and remains unpaid. Please pay immediately to avoid further action.",
        "copyLabel": "Copy the day 30 reminder"
      },
      {
        "id": "schedule-ahead-of-today",
        "severity": "pass",
        "title": "4 reminders planned from 2027-03-01",
        "detail": "None of the 4 reminder dates has arrived yet, as of 2027-01-01."
      }
    ],
    "parts": [
      {
        "kind": "facts",
        "title": "This invoice",
        "rows": [
          [
            "Invoice",
            "INV-2001"
          ],
          [
            "Amount",
            "$1,200.00"
          ],
          [
            "Due date",
            "2027-03-01"
          ],
          [
            "Counted as of",
            "2027-01-01"
          ]
        ]
      },
      {
        "kind": "table",
        "title": "Reminder schedule",
        "columns": [
          "Reminder",
          "Date",
          "Days overdue"
        ],
        "rows": [
          [
            "Day 1",
            "2027-03-02",
            "1"
          ],
          [
            "Day 7",
            "2027-03-08",
            "7"
          ],
          [
            "Day 14",
            "2027-03-15",
            "14"
          ],
          [
            "Day 30",
            "2027-03-31",
            "30"
          ]
        ],
        "csv": {
          "filename": "dunning-schedule.csv"
        },
        "mono": [
          1,
          2
        ],
        "note": "Each date is the due date plus the reminder day, counted in whole days - not from today."
      }
    ],
    "limits": [
      "This plans dates and drafts reminder text only - it sends nothing itself, on any channel.",
      "It has no idea whether a reminder was actually sent, or whether the invoice has since been paid. Re-run it with an updated due date or amount if either changes."
    ]
  }
}

See the same wholesale prices this calculator works from, in your own dashboard.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.