Automate reminders


#1

Is it possible to send automated reminders to clients of invoices that have expired?


#2

If i’m not wrong actually it’s not possible, but it can be a feature which can be added and used with the cron task which already exists.


#3

Please tell me more about this, I would love to know.


#4

I have applied a slightly different approach and made an adjustment to my IP test environment that also sends an ical message to the user when sending an invoice to the client.
In this ical message you can then set reminders, expiration dates and other stuff.
You could also build something similar for your customers, but the question is whether they want to use it?
That is why I think it is better that the user manages this himself and is therefore responsible for his invoices.


#5

I have started work on a simple script that selects the open invoices that are overdue. The result set will be used to send mails to clients reminding them 3 times (5, 10, 15 days after expiration) to pay up. This will work for me.

I have already made another script sending my accountant a list of invoices for the previous quarter.

Yes I’m lazy, yes I want to make work easier :slight_smile:


#6

@vespino can you share the script for sending overdue invoices as I am also interested in implementing this in my system. Yes I am also lazy and want to make work easier… :grinning: It will help me to gain some insight into inner workings of IP. Thanks


#7

@Danesha I’m using this query:

SELECT
	ip_invoices.invoice_number,
	DATE_FORMAT(ip_invoices.invoice_date_created, "%e-%c-%Y") AS invoice_date_created,
	DATE_FORMAT(ip_invoices.invoice_date_due, "%e-%c-%Y") AS invoice_date_due,
	ip_invoices.invoice_url_key,
	datediff(NOW(), ip_invoices.invoice_date_due) AS days_overdue,
	ip_clients.client_name,
	ip_clients.client_email,
	ip_client_custom.client_custom_fieldvalue AS firstname
FROM
	ip_invoices
INNER JOIN
	ip_clients
ON
	ip_invoices.client_id=ip_clients.client_id
INNER JOIN
	ip_client_custom
ON
	ip_clients.client_id=ip_client_custom.client_id
WHERE
	invoice_status_id IN (2,3)
AND
	ip_client_custom.client_custom_fieldid=1
HAVING
	days_overdue IN (10,15,20)

This give me the invoices (and client data) that are 10, 15 or 20 days overdue which allows me to send a friendly reminder at 10 days overdue, a less friendly at 15, and an unfriendly pointing to a lawyer at 20 days.

I’m working with the IP data, but not the code, so the sending mail part is a simple mail script e.g. phpmailer.