Email subject line says "Invoice" when sending "quote"

It appears that the subject line for emails doesn’t change (self-hosted) to coordinate with what is being sent.

It always says

“Invoice #### was sent to <client name>”

That’s the same if it is sending the actual invoice (the first time), or when it is sending reminders, or when the system is sending quotes/quote-reminders.

Is there any way do have this change to properly reflect what is in the content of the email?
(Without manually changing code)

NOTE: Also, the content of the email doesn’t change either.

Notices for quotes is saying:

“The following client <client name> as emailed Invoice ### for $##.##”

with a button “View Invoice”

Even though the thing being sent was a quote.

It’s confusing and concerning my clients.

I’ll see if I can replicate the issue.

Can you check that your settings are correct in /settings/templates_and_reminders.

I’ve checked the configuration settings. They all to be proper (they all say ‘reminder’ or ‘quote’ as applicable).

It almost appears as if they are ignoring the settings there.

Is there a ‘global’ switch somewhere that enables those (Templates & Reminders) settings?

I see the problem, it’s correct in the emails sent to clients however it’s incorrect in the emails sent to users.

We’ll make sure it’s fixed in the next release.

Actually, there is another issue related to emails also (that is slightly different).

My clients are getting invoice reminders after for quotes.

Eg.

I created a quote that expired on 1/31.
On 2/1 the client got a reminder that I had set-up for “1 - days after - due date” in the Reminder Emails area, which was worded for invoices.

Either we need to have quotes not receive reminders, or they need their own reminder templates.

I can’t imagine how to word one reminder to work for both quotes and invoices.

For the next release we’ll only send to invoices. In the future we may add back quotes if we also support sending the right template.

You apply this fix by making the following change at the bottom of app/Ninja/Repositories/InvoiceRepository.php

Change:

    $invoices = Invoice::whereAccountId($account->id)
                ->where('balance', '>', 0)
                ->whereRaw('('.$sql.')')
                ->get();

To:

    $invoices = Invoice::whereAccountId($account->id)
                ->where('balance', '>', 0)
                ->where('is_quote', '=', false)
                ->whereRaw('('.$sql.')')
                ->get();