Your browser is no longer supported! Please upgrade your web browser now.

Harvest’s New PDF Engine

Update: We’ve now added a Snail-mail Friendly option to move the client address to the left for the envelope window. You can find this option, hide columns, and company logo in a new Appearance tab on the Invoices and Estimates configure pages.

Today we’re announcing a significant upgrade to our invoicing and estimate platforms: a new rendering engine for the PDFs you send to your clients.

The new engine, which is built with wkhtmltopdf and Liquid-based templates, renders PDFs based on HTML and CSS. This is really exciting, because it allows us to use more flexible and simple code to create them. This means we can have the exact same code for invoice and estimate PDFs as we have in the app, which means they now have the same design and options.

What’s New

Implementing this allowed us to make some other features available on Invoices and Estimates:

  • PDFs now have the page number at the bottom (and an option to translate).
  • You can now hide the type, quantity, and/or unit prices columns.
  • If you have a company logo uploaded, but still want your invoice to say “Invoice” on the page, you now have this option. You can turn it on where you uploaded your company logo in the configure section, and then change the title in translations (i.e. – you’d rather have “Tax Invoice”). The same applies for estimates.
  • We’ve added quick access to your Web Invoices and Web Estimates.
  • The new PDF engine is also able to render many more languages. See an example of some languages below:

The biggest win is that we now have the flexibility we need for adding features to our invoices and estimates in the future. Any change will automatically work in the app and as a PDF.

We hope this new PDF engine makes your Harvest experience even better.

Thoughts or questions about this post? Need some help?
Get in touch →

This was posted in Code, New Features, Online Invoicing, Product News.
  • Great to see Harvest working on this!
    Please add the invoicenumber to every page.

  • While we do appreciate that you’re working hard to make things easier for us and yourselves, we do prefer consistency. The layout of the PDF has changed, which annoys us a bit because we believe it’s always best to provide a consistent ‘brand’ with anything we send to clients. Maybe being aware that this is a concern would help in the future, but hopefully this is the first step towards customizable invoices/estimates.
    Love having the title on the page though. Would be even better if our logo was on the other side, and the title were the logo is.

  • Pleasantly surprised to see this change. The old PDF invoice header was hierarchically disjointed from the web version. I’m glad the gridded layout prevailed.

  • Looks great. A real improvement. Thanks.

  • The Layout does not work for german Language with longer words anymore in the upper left e.g. invoice number = Rechnungsnummer.

  • I love Harvest, and the idea of having a consistent look for web-based invoices and respective PDFs is great. But as Carlo has mentioned already, the invoices don’t work in German anymore. And I would also prefer having the customer name & address on the left hand side (i.e. the more “traditional” place for business letters).

    At the moment invoices look a bit unprofessional, so I hope this can be fixed quickly… should be trivial with your new pdf generation engine, right? ;-)

    Here’s a screenshot of what it looks like at the moment:

  • Why are you guys changing a layout. Better let your customers choose. Everything was working fine and perfect for us. With the address as mentioned above too: Print out, envelope, that was it. But now we cannot use it anymore. It’s crap! And we have to find another service soon…

  • By the way: Are you guys from harvest reading this?

  • Matt Lettini on November 16, 2011

    @Wim – Thanks for the suggestion! Your request has been noted on our list.

    @Carlo – We are aware of the issue with other language support and looking into it. Thanks for letting us know.

    @Rhiannon @Carlo – We are aware that the new PDF does not have the address on the left for envelopes. We are looking to fit this into the new layout, and should have it ready soon. Until then, however, we can turn on the old PDF layout for certain accounts. Please write into and we can get that set up for you.

  • thank you Matt. I just wrote an email to the support.

  • Darrin Perry on November 16, 2011

    I like the changes – however it would be nice if you could address the issues with invoices larger than 1 page. The way that it splits the table mid way through and doesn’t have the header on the next page makes it look unprofessional (and we have had comments from our customers).

  • I fully recognize and support what Darrin Perry writes.

  • Matt Lettini on November 17, 2011

    @Darrin @Wim – We are aware of this issue with the engine and are looking into a fix. Thanks for bringing it to our attention!

  • What happened? The address is on the right side now, can we move it back to the left? This setup is useless for us because our envelopes have the address window on the left? Please give us possibilities to configure or to go back to the old layout.

  • Matt Lettini on November 18, 2011

    @Triggerfish – We are working on getting a configuration to get the address on the left again. In the meantime we can have your account use the old PDF engine.

  • I still want to know when Harvest is going to fix the default values for time entry. Why do you not set the default values for website interface and widget to:

    – Select Project
    – Select Task

    Currently it just defaults to the first project and first task (widget) or the value of the last time entry (web interface). That makes no sense. Please fix this. Your support crew said it would fix this about 2 years ago. Your iPhone App folks have figured this one out.

    While I am on a rant, how about upgrading the workflow for user management.

    Example) I want to remove someone from a few select projects. I need to jump into every single project to edit that person’s association with projects. Just copy what Basecamp does. While in a user profile you can simply add a check bix next to each project and give admin the option to: check all, uncheck all, or check / uncheck any project.

    Come on guys!!!!! This is basic stuff.

  • The ability for right side address printing is an update I have been asking for for a long time: the Belgian envelopes have the window on the right side.

    So why don’t you let us set what PDF layout works best…

  • HELP! Yes, the new PDF engine screws up our ability to fold so the address shows up in our window envelopes. We send out about 200 invoices a month. I can’t imagine having to type envelopes again.
    Can we have the old PDF generator back also, like Triggerfish?

  • Same problem as a lot of you here have. Can we please go back to the old generator?

  • Matt Lettini on November 21, 2011

    @Scott – Thanks for the feedback. I’ve made sure all your comments have been noted on our requested feature list. User management is a topic our product team has been looking into recently as well.

    @gijs – The new version will include an option to move the address, yes.

    @Curt @Ramcy – I have added your accounts to get the old PDF back, but the new version with an option to put the address on the left should be out soon.

  • @Matt – appreciated

  • @Matt – I’m curious which HTML to PDF engine you used. I like the new layout, please do not switch my account!

  • Great!!! Thank for supporting Japanese in this function!
    I was waiting for this.
    Now I can send PDFs to my clients (^_-)-*.
    (They always said ‘It’s just convenience! By the way the invoice seem to be buggy and …’)

    It will be more convenience if I can make custom layout for my invoice and estimate.

  • Matt Lettini on November 28, 2011

    @Wes – The engine was created in-house, using Liquid (

    @Ikuko – We’re happy to support Japanese! And your request for a custom layout is noted, thanks.

  • Love Harvest and been a loyal customer for several years now, but brand consistency is important to me so I probably won’t use the invoice or other client-facing services until I can create a custom invoice template. So please add another tick to that feature request on my behalf. :-)

  • Love this! I think I may have been one of those who requested this – maybe even two years ago :) Thank you for making these more consistent. Love Harvest and very happy with this new improvement.

  • I’m interesting in hearing more about how you created the engine to take Liquid and generate a PDF. Any chance you’ll open source it? As you know, this would be an extremely useful tool for a lot of developers.

  • Any chance that contractors will be able to start using the invoice feature to create their own invoices from their Harvest timesheet?!

  • Dallas Hutton on November 29, 2011

    Once payments are received, we have a cumbersome process using MS Excel for determining which of our employees/contractors get paid what based on the work that they were invoiced and what the client has paid. It would simplify matters and make for fewer errors if we could export the invoice data into an MS Excel spreadsheet, except not if everything in the Description column is still merged there – the different items combined there would need to be separated into separate columns in the MS Excel spreadsheet. Any chance that could go onto your improvement worklist soon?

  • @Dallas:
    You might be able to get to all of that via the API. I use that to calculate commissions based on invoiced/paid hours and all manner of other calculations.

  • Awesome! Keep up the good work, I’m a satisfied customer. Any chance to introduce bill splitting in the future? Most of us charge X% to start and Y% to finish.

  • @Nicolas:
    Do you know about the retainers feature? That’s what I use to invoice for the X%, then I apply it to the total invoice, leaving the Y%.

  • I don’t like the new lay out and find it iconsistent with the previous lay out. Could you please set my account back to the old format?

  • Val Korolev on November 30, 2011

    For me it would be useful if I could edit invoice template. E.g. instead of word “Invoice” I could put e.g. “Report”. The process is – we send preview report to customers for review and approval. Then actual invoice goes later (via different channels). Using Harvest reports is difficult – Invoice allows me to define exact items which will be invoiced later while reports do not. so tailoring Invoice template would be really useful.

  • Matt Lettini on November 30, 2011

    @Jeanne – You are now another tick on that first request. Thanks.

    @Rick – I’ll let the developer know of your interest. I am unaware of our plans at this time if we will open source the code.

    @Tamar – That is a feature on our requested feature list, and I’ve added your name to it. Thanks for the suggestion.

    @Jannik – Thanks for the feedback. If you have any specific suggestions on how we can improve our Invoices, please write into support AT and we’ll make sure they’re noted.

    @Dallas – As @Wes has pointed out, you might be able to get this information via our API. If you have any questions on the API you can write into support AT

    @Nicolas – Retainers is a good feature to help you with your need, but we also have a feature on our requested feature list similar to this. I’ve added your name to this list.

    @Val – You can change the text on your Invoices in Invoices > Configure > Translations.

  • “If you have a company logo uploaded, but still want your invoice to say “Invoice” on the page, you now have this option.”

    That is great. Really.

  • By the way, is there a reason why the web invoice and the pdf invoice dosent have the same layout ?

    Anyway, the ability to create our own invoice layouts (color, fonts, objects positions) would be wonderful.

  • “This means we can have the exact same code for invoice and estimate PDFs as we have in the app, which means they now have the same design and options.”

    Never mind …

  • You guys ROCK!!!!!

    I love harvest. Still missing a few features I’d love to have but far superior to ballpark…

    Keep up the awesome work!

  • Why spend time on design features, when essential things like being able to send a credit note for our clients is not yet an option???

    get your priorities in order.

  • Matt Lettini on December 1, 2011

    @Wes and anyone else interested – The new PDF engine is using

  • Bill Wyandt on December 2, 2011

    Is there a way to change the default work week from Monday through Sunday to: Sunday through Saturday?

  • Matt Lettini on December 2, 2011
  • I was hoping to see the language as a possible translation option. So I can send my invoice in Dutch to my Dutch clients, in German to German clients and in English to the rest of the world.

    Hope this will be added in the future.

  • I love the new changes. You guys are awesome and have truly built a product that has revolutionized my business.

  • THANKS A LOT for coming up with this long-awaited improvement!

  • I’ve never thought to ask but is it possible to provide a client with one url which provides them with a list of all open, late, or paid invoices? If this exists or is in the future plan this would be majorly useful to our clients as a tool to track their expenses with our firm. It would also help us reduce the risk of a client missing an invoice or a late payment.

  • our backoffice B/W Laser printer does not print the thin gray lines in the Invoice PDFs. We would prefer thin black lines for the print version.

  • Same thing here.

  • Karen Schoellkopf on May 2, 2012

    @anthonyarmendariz @michael @infound Thanks for the feedback – the best way to get us your suggestions and feature requests is to email us directly, so that we can ask questions, and best understand what you’d like to see. Please email us at support AT harvestapp DOT com. Thanks!

Comments have been closed for this post.
Still have questions? Contact our support team →