How can we improve WHMCS?

Share, discuss and vote for what you would like to see added to WHMCS

Ability to stop sending payment reminder emails for specific clients



148 Votes
Login to Vote
Right now we can disable sending overdue notices on a per client basis. Using the "
Don't Send Overdue Emails" option in the client profile.

When this option is selected the payment reminder emails are still being sent. Only the overdue notices are blocked.

We need an extra option to disable the payment reminder emails too since some clients have a special payment agreement with us.
Merged Ideas
    Disable Payment Reminder Notifications on a Per Account Basis
    The automated 'Payment Reminder Notification' is useful in most situations, however, for clients that have setup automated payments on the day that the invoice is due - it's a redundant reminder, and we've received a few requests to disable it. Similar to how the "Don't Send Overdue Emails" option can be set on a per account basis, a similar "Don't Send Payment Reminders" checkbox in each client's profile would also be a huge help.

36 Comments

Login to post a comment.

I have a client that also requested to not receive the payment received notification. It does seem a bit redundant sending 1) invoice created 2) reminder 3) Payment received. Please give us the option - per client - of selecting what notifications to send.
To not send to specific clients, see this GIST:

https://gist.github.com/RWJMurphy/3ee801306f2cfca79d61b38041dcdaed

To not send when a specific payment method is chosen, see this GIST:

https://gist.github.com/eugenevdm/2ae416d35b6b5e4b34f88c625cbc5ae8
Customer just made this request to me. It would be better is this was part of the programming to have a group where no invoice reminders are sent.
Yep this is a must. We use a direct debit system, and payments are made in batches at the end of the month. All these clients are getting overdue notices leading to a lot of needless accounting support and worry. Please make this part of a group setting?
The option to select yes / no per client to enable "SEND overdue REMINDERS" should simply include ALL reminders (pre & post-due date). Should be an easy change.

Why is this important? Clients that need those post reminders, ALSO need to receive the "INVOICE REMINDER EMAIL" pre-due date. Currently that pre-due date reminder cannot be used at all, as they go to my "good" customers regardless of that setting.
I also need this for a couple of clients that have expressly asked not to be sent reminders - they have automatic credit set up
Has there been any update on this feature request from 4 years ago?
We have made a Little Solution for that
Oh Daniel, please share :-)
++1
yes please, we need it as well, it will be very useful and it don't seem so hard to be implemented
Or just the option that whmcs doesn't send out reminders for payment to accounts that have active subscriptions.

This could be done, I'm shure off it
Yes this is bery much needed. Like why would you send out Customer Invoice, Invoice Payment Reminder if it will automaticly charge them later on?
I second this idea, our customers will find this useful too.
We need this feature!! :)
@Greg

There is some conditional language in the templates.
Now - I don't know how the "Credit Card Invoice" template is triggered, but our system seems to send out the "Invoice Created" template.
I use the following block as part of the template:

[co]
  • {if $invoice_payment_method eq "Automatic Credit Card Withdrawal"}Payment will be charged automatically on or after {$invoice_date_due} to your credit card on file with us.
  • To update or change the credit card details please contact us at 250-860-0572.{else}Your payment method is: {$invoice_payment_method}.

  • You can log in to your client area to view and pay the invoice at {$invoice_link}.{/if}
  • [/co]

    "Automatic Credit Card Withdrawal" is how we named our credit card gateway.
    Great suggestion, but only works if you only offer subscription services. I use WHMCS for way more then subscriptions, general web design invoices, maintenance work, web care plans and hosting, my clients have option to pay with whatever they choose (credit card, snailmail etc...) and for some, subscriptions work for them.
    ...update on this. So you can get it to work on only "specific" clients that you signed up with autopay. I did a work around leveraging client groups.
    I created a client group named "Automatic Withdrawal" and assigned it to those specific Autopay clients. Then used similar conditional language in the invoice/reminder templates starting with {if $client_group_name eq "Automatic Withdrawal"}. Hope this helps others while we wait for couple more years to get this solution implemented. - All the best.
    Of course, due to the limitation of only being able to assign (1) client group to client, this won't work if you already use a client group for your clients. (Here's the feature request for allowing a client to belong to multiple client groups = https://requests.whmcs.com/topic/add-client-to-multiple-client-groups ), make sure to head over there and give it a thumbs up too.
    These two features alone would provide huge functionality and improve automation ability.
    That's a great idea, @nwd. I don't currently use client groups so this may work for me, although I definitely agree that we should be able to assign clients to multiple groups. Not being able to makes them slightly useless, I would think. Thanks for the input!
    Hm. Just realized that this won't work after all. If I have clients that are on a PayPal subscription for their hosting and I put them in that group, then the emails will tell them that the payment will go through automatically for everything, including other things that do not have an associated PayPal subscription, such as domains or other random invoices.

    Back to the drawing board.
    Very True @Greg. It's for those cases where I, for example, have bundled domain, hosting, web care services all in one package, one recurring invoice,, so they won't get any other billing besides the subscription one. If I do need to send a very rare one-off, I will just remove them from the client group temporarily for that one to fire off correctly.
    Still be much better if this could be built in option of course, preferably a tick box for each service (so hosting = subscription, all else (domains etc...) get normal billing).
    Hooo boy. I figured it out but this is unacceptably complicated for such an essential aspect of customer service...
    1. Add a client group (in my case, Automatic Hosting Payments) and check the box saying to separate invoices.
    2. Add the following to your configuration.php file:


    [co]
  • // Smarty custom email based template policy:
    $smarty_security_policy = array(
    'mail' => array(
    'php_functions' => array(
    'strpos',
    'isset',
    'empty',
    'count',
    'sizeof',
    'in_array',
    'is_array',
    'time',
    'nl2br',
    'var_dump',
    ),
    ),
    );


  • [/co]
    3. The invoice items that you want this to apply to need some kind of common string. In my case, all my hosting plans have "Level" in the title.
    4. Add the following to the top of your email template and adjust the first two variables - the first is the string that's used in the names of the invoice items, the second is the name of the client group:


    [co]
  • {assign var = "search_term" value = "Level"}
    {assign var = "group_name" value = "Automatic Hosting Payments"}
    {assign var = "auto_pay_true" value = []}
    {foreach key = k item = v from = $invoice_items}
    {var_dump( strpos($v.description, $search_term) )}
    {if strpos($v.description, $search_term) === false}
    {$auto_pay_true[] = "false"}
    {else}
    {$auto_pay_true[] = "true"}
    {/if}
    {/foreach}
    {if ( $client_group_name eq $group_name ) and ( in_array( 'true', $auto_pay_true ) )}
    {assign var = "auto_pay" value = "true"}
    {else}
    {assign var = "auto_pay" value = "false"}
    {/if}


  • [/co]
    5. After that you can use


    [co]
  • {if $auto_pay eq 'true'}Do stuff.{/if}
  • [/co] in your email template to display something that should only be displayed if the client is BOTH in the group AND the invoice contains an item with your common string.
    Holy hell. Hope this helps someone. But I hope more that WHMCS adds some kind of core solution for this.
    Sorry, won't let me edit now -- realized you don't need to add [co]
  • var_dump
  • [/co] to the configuration file, only [co]
  • strpos
  • [/co] and the others, which are the default allowed PHP functions.
    A million +1s for this. In my personal ideal world it'd work like:

    - Global checkbox for "Disable invoice emails for subscriptions," where both the "new invoice" email and the reminders would be disabled if the client sets up automatic payments.

    - Would work for Stripe, PayPal, or any other gateway that allows auto payments.

    - The first invoice, as well as manually-emailed invoices, would still be sent.

    - Could be overridden on a per-client basis, in case there are people who do want to receive reminders.

    - Some kind of conditional language in the email templates saying "your invoice will be automatically paid on..." so that clients who do want reminders and who've set up auto payments aren't confused.

    I don't know how much of that is possible but if anyone knows how to accomplish at least the last one, please let me know. I keep getting people thinking they need to pay their invoice and it's a pain emailing everyone back to tell them that no, it'll be automatically paid...
    Agree, worst yet, you get folks pay it manually, then it is ALSO paid automatically on subscription date, then have to deal with communication and reimbursement and the headaches that come with it. I pay a ISP via Moon Clerk, and they provide an "Upcoming Payment" notification stating I will be charged in 3 days as part of a recurring plan you set up with "ISP". The recurring amount is "$xx.xx" . It should be that easy.
    This feature is must and we need it in new update.
    WHMCS Team, Please consider this option.
    Yes please but also rework the current overdue cost to actually add the correct costs every day, thanks