Overdue reminders
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
istrue
.
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 [email protected]
email address by default. You can customize the email domain name—@exampleCompany.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, make a POST
request to the /overdue_reminders
endpoint with the following configuration. 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.
curl -X POST 'https://api.sandbox.monite.com/v1/overdue_reminders' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Overdue reminders sent after 2 and 7 days",
"terms": [
{
"days_after": 2,
"subject": "Invoice {invoice_number} from {entity_name} is past due",
"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}"
},
{
"days_after": 7,
"subject": "Invoice {invoice_number} from {entity_name} is past due",
"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}"
}
]
}'
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.
{
"id": "0cdb03db-b71c-4bac-96f5-360a2913953e",
"name": "Overdue reminder after 5 days",
...
}
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:
curl -X POST 'https://api.sandbox.monite.com/v1/receivables' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json'
-d '{
"type": "invoice",
"overdue_reminder_id": "0cdb03db-b71c-4bac-96f5-360a2913953e",
...
}'
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, send a POST
request to the /receivables/{receivable_id}/preview
endpoint as shown:
curl -X POST 'https://api.sandbox.monite.com/v1/receivables/411dc6eb...6289b3/preview' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"subject_text": "Regarding your overdue invoice #{invoice_number}",
"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!",
"type": "final_reminder"
}
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, send a POST
request to the /receivables/{receivable_id}/send_test_reminder
endpoint and provide the reminder_type
in the request object as shown:
curl -X POST 'https://api.sandbox.monite.com/v1/receivables/411dc6eb...6289b3/send_test_reminder' \
-H 'X-Monite-Version: 2023-09-01' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"reminder_type": "overdue"
}
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, make a PATCH
request to the /receivables/{receivable_id}
endpoint and set the value of the overdue_reminder_id
field to 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, make a PATCH
request to the /counterparts/{counterpart_id}
endpoint and set the reminders_enabled
field to false
as shown:
curl -X PATCH 'https://api.sandbox.monite.com/v1/counterparts/6291de...3699' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'X-Monite-Entity-Id: ENTITY_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"reminders_enabled": false
}'
A successful request 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, make a PATCH
request to the /entities/{entity_id}/settings
endpoint and set the value of the reminder.enabled
field to false
.
curl -X PATCH 'https://api.sandbox.monite.com/v1/entities/692b50...09da8/settings' \
-H 'X-Monite-Version: 2024-01-31' \
-H 'Authorization: Bearer YOUR_PARTNER_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"reminder": {
"enabled": false
}
}'
A successful request disables both overdue reminders and payment reminders for all counterparts of an entity.
To enable reminders again, set the value of the reminder.enabled
field back to true
.
Updated 21 days ago