Customize logo in email templates

The email templates all show the logo at the top, and that cannot be customized (as far as I understand). Beneath that is the block with the main content, which can be customized.

Is it possible to customize that header? On my setup it looks massive and ugly, and the background color is ugly (I want it white).

If not possible then:

  • please consider adding a way to customize it?
  • BETTER: please consider adding a variable that I can include in my template like $company.logo - then I can use the “plain” template and do it all myself


You can set a custom header by selecting the custom email design on Settings > Email Settings

I’m not sure I follow.

I just tried that, and then went to “tempaltes and reminders”, chose one of the templates (e.g. invoice) and indeed that custom bit appears.

But it’s identical for invoice, quote, reminder1, statement, etc. They all use the same wording, and ignore whatever I put in those tempaltes.

I believe you need to add a $body variable in the custom email to have the app inject the template text into it.

1 Like

Thank you I’ll try that!

I almost forgot about the logo which was my main problem. Is there a variable I can use in the custom email template?

My quick test:

$body                   <<<< works, but none of below works
{!! $signature !!}
other variables

(Note variables do wrk when declared in the template (inside $body), but not the “parent” custom template shown above. And the child template doesn’t have a “logo” variable.)

1 Like

@david, any ideas here?

I found a solution in one of the github issues. We can use $company.logo in a <img> tag in the email template.

So the “super” template must be just $body (like you said above), and everything else goes in the “sub” template in the “templates and reminders” section. A little confusing but I get it now.

Hi, could you pls post the whole template, because i am no programer but i want also to set the signature. ty

The signature/regards thing doesn’t work properly, so I suggest just copy-and-paste your signature to the bottom of each template. It’s not a neat way to do it, but it’ll work.

I have encountered the same issue only the $body variable works

1 Like

Thanks for the feedback! We’ll work on it…

cc @david, @ben

This is quite important as My Email Logo is tiny, as is the logo in the client portal. I also want to style the email buttons a bit better than the “standard” html button. I dont need to remove any on the InvoiceNinja branding (although it would be nice to make it a bit smaller), just some basic styling that is not available (or at least easy to find) in the V5 admin page.

Ok, I set the template to custom, and from one of the original emails received, pasted all the top part above the “$body” and “$signature” section, then all below to make sure it was exactly the same as what the “light” style sends out, but when the email is received, the only part there is the $body, nothing else??? would be good to know what needs to go where as simply selecting “custom” in the email settings does not work, unless there is something specific that needs to be put in.

I have followed standard styles – ie
but there is obviously something missing as the only result i get is the $body part which is in the format of a single -p- with various breaks and hrefs, and this is all that is received without and styling.

I have also tested without the -!document type part… still no go. but always the preview shows the proper formating, styling etc, except the signature.

I have kinda off the same problem. If I insert html in the custom email template it will not send it with the custom design just the body part.
And if I add html to the body part, it will display plain text even the html code…

Did anyone got to this to work?

@david are you aware of this?

I’ve checked in a fix for this.

is there any updates on this for the shared hosting? really want to role this out live.

This will be available in the next release.