Learn how to send automated reminders about overdue invoices to customers.

Overview

When an invoice is past due, it is a good idea to send an email reminder to the counterpart and suggest alternative payment options. With Monite API, entities can customize the contents of overdue reminders and the grace period after which these reminders are sent. Reminders can be configured on a per-invoice basis, as well as shared between multiple invoices.

How overdue reminders work

An overdue reminder is sent if the following conditions are met:

  • the counterpart has not paid the invoice in full before the due date,
  • the invoice has overdue_reminder_id specified (see below),
  • the specified number of days passes after the invoice due date,
  • counterpart setting reminders_enabled is true.

Overdue reminders are sent to the email address of the counterpart’s default contact, which gets saved in the counterpart_contact.email field of the invoice.

All email reminders are sent from the noreply@monite.com email address by default. You can customize the email domain name (@domain.com) by configuring a mailbox for the entity. You can also customize the email sender name and username by updating your Monite partner settings. For more information, see Update partner settings.

Configure overdue reminders

To use overdue reminders, you need to create a reminder configuration and include it when creating an invoice.

1. Create an overdue reminder configuration

To create an overdue reminder, call POST /overdue_reminders with the following request body. You must include a name for the reminder configuration, the number of days after the invoice due date to send the reminder, the email subject, and the email body in the request object.

1curl -X POST 'https://api.sandbox.monite.com/v1/overdue_reminders' \
2 -H 'X-Monite-Version: 2024-05-25' \
3 -H 'X-Monite-Entity-Id: ENTITY_ID' \
4 -H 'Authorization: Bearer ACCESS_TOKEN' \
5 -H 'Content-Type: application/json' \
6 -d '{
7 "name": "Overdue reminders sent after 2 and 7 days",
8 "terms": [
9 {
10 "days_after": 2,
11 "subject": "Invoice {invoice_number} from {entity_name} is past due",
12 "body": "Dear {contact name}\n\n,Thank you for doing business with us!\nOur records indicate that we have not received the full payment for invoice {invoice_number} which was due on {due_date}. The amount due is {amount_due}.\nIf you have already paid this invoice, please ignore this notice. Otherwise, please send the payment as soon as possible.\nIf you have any questions or want to arrange an alternative payment method, please do not hesitate to contact us at {entity_email}.\nBest regards,{entity_name}"
13 },
14 {
15 "days_after": 7,
16 "subject": "Invoice {invoice_number} from {entity_name} is past due",
17 "body": "Dear {contact name}\n\n,Thank you for doing business with us!\nOur records indicate that we have not received the full payment for invoice {invoice_number} which was due on {due_date}. The amount due is {amount_due}.\nIf you have already paid this invoice, please ignore this notice. Otherwise, please send the payment as soon as possible.\nIf you have any questions or want to arrange an alternative payment method, please do not hesitate to contact us at {entity_email}.\nBest regards,{entity_name}"
18 }
19 ]
20 }'

Each reminder configuration can only contain a maximum of three reminders for an overdue invoice. Attempting to configure more than three overdue reminders will throw an error.

The response contains the ID assigned to this configuration. You will need to specify this ID later when creating invoices.

1{
2 "id": "0cdb03db-b71c-4bac-96f5-360a2913953e",
3 "name": "Overdue reminder after 5 days",
4 ...
5}

2. Specify the overdue reminder configuration for an invoice

When creating a new invoice or updating an existing draft invoice, you can use the overdue_reminder_id field to specify the desired overdue reminder configuration for this invoice:

1curl -X POST 'https://api.sandbox.monite.com/v1/receivables' \
2 -H 'X-Monite-Version: 2024-05-25' \
3 -H 'X-Monite-Entity-Id: ENTITY_ID' \
4 -H 'Authorization: Bearer ACCESS_TOKEN' \
5 -H 'Content-Type: application/json'
6 -d '{
7 "type": "invoice",
8 "overdue_reminder_id": "0cdb03db-b71c-4bac-96f5-360a2913953e",
9 ...
10 }'

Monite allows entities to update an overdue reminder’s configuration when assigned to an invoice. However, the configuration on the assigned invoice is frozen whenever the invoice is issued, and any changes to the overdue reminder’s configuration will not affect the invoice’s reminders. For more information on updating overdue reminders, see PATCH /overdue_reminders/{overdue_reminder_id}.

Preview an overdue reminder email

After configuring an overdue reminder, you can preview the reminder email before sending it out. This step can be helpful when troubleshooting email template layouts for a payment reminder to ensure the final presentation aligns with your template design.

To preview an overdue reminder template, call POST /receivables/{receivable_id}/preview:

1curl -X POST 'https://api.sandbox.monite.com/v1/receivables/411dc6eb...6289b3/preview' \
2 -H 'X-Monite-Version: 2024-05-25' \
3 -H 'X-Monite-Entity-Id: ENTITY_ID' \
4 -H 'Authorization: Bearer ACCESS_TOKEN' \
5 -H 'Content-Type: application/json' \
6 -d '{
7 "subject_text": "Regarding your overdue invoice #{invoice_number}",
8 "body_text": "Dear {contact_name},\n\nKindly be aware that your invoice #{invoice_number} is now 4 days overdue!\nPer our agreement, this invoice was due on {due_date}. This means that a late payment fee may be applied if the a proof of payment is not presented in the next 10 days\nPlease pay the balance of {amount_due} (invoice #{invoice_number}).\n\nFor any questions or concerns, please don’t hesitate to get in touch with us at {entity_email}. We look forward to serving you again and wish you all the best!",
9 "type": "final_reminder"
10 }

The type field determines the type of receivable document to be previewed and is a required field for previewing overdue reminders. For overdue reminders, the value of the type field must be final_reminder.

Manually trigger overdue reminders

After configuring an overdue reminder and assigning it to an invoice, you can manually trigger it to send a reminder email to a counterpart. Monite allows you to send test reminders to an invoice’s counterpart, allowing you to verify the accuracy of your configuration.

To manually trigger an overdue reminder, call POST /receivables/{receivable_id}/send_test_reminder and provide the reminder_type and recipients in the request body:

1curl -X POST 'https://api.sandbox.monite.com/v1/receivables/411dc6eb...6289b3/send_test_reminder' \
2 -H 'X-Monite-Version: 2023-09-01' \
3 -H 'X-Monite-Entity-Id: ENTITY_ID' \
4 -H 'Authorization: Bearer ACCESS_TOKEN' \
5 -H 'Content-Type: application/json' \
6 -d '{
7 "reminder_type": "overdue",
8 "recipients": {
9 "to": ["dana@example.com"],
10 "cc": ["support@example.com", "sales@example.com"]
11 }
12 }

The successful response sends the reminder email to the counterpart and returns the mail_ids in the response.

Disable overdue reminders

There are several ways to prevent overdue reminders from being sent.

For a particular invoice

You can disable overdue reminders for a particular invoice. To do this, call PATCH /receivables/{receivable_id} and set the overdue_reminder_id to either an empty string ("") or null.

For specific counterparts

By default, payment reminders are enabled for all counterparts of an entity.

If you want to disable reminders for a specific counterpart, call PATCH /counterparts/{counterpart_id} and set the reminders_enabled field to false as shown:

1curl -X PATCH 'https://api.sandbox.monite.com/v1/counterparts/6291de...3699' \
2 -H 'X-Monite-Version: 2024-05-25' \
3 -H 'X-Monite-Entity-Id: ENTITY_ID' \
4 -H 'Authorization: Bearer ACCESS_TOKEN' \
5 -H 'Content-Type: application/json' \
6 -d '{
7 "reminders_enabled": false
8 }'

This disables both overdue reminders and payment reminders for the counterpart.

For all counterparts of an entity

To disable reminders for all counterparts of a specific entity, call PATCH /entities/{entity_id}/settings and set the value of the reminder.enabled field to false.

1curl -X PATCH 'https://api.sandbox.monite.com/v1/entities/692b50...09da8/settings' \
2 -H 'X-Monite-Version: 2024-05-25' \
3 -H 'Authorization: Bearer YOUR_PARTNER_TOKEN' \
4 -H 'Content-Type: application/json' \
5 -d '{
6 "reminder": {
7 "enabled": false
8 }
9 }'

This disables both overdue reminders and payment reminders for all counterparts of an entity.

To enable reminders again, change the entity setting reminder.enabled back to true.