Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: A free invoice generator
89 points by Bogdanp on Sept 6, 2014 | hide | past | favorite | 48 comments
I built this[1] because I couldn't find any other such tools that met all of the following criteria:

* Use SSL * Save settings through localStorage * Allow PDF export w/o any watermarks * The exported invoice must look identical to the preview

1: https://www.free-invoice-generator.com



Pet peeve: for ambiguous currency signs, the currency code must always be clearly mentioned on the invoice.

I hate it when I buy from companies in the US and they just write their prices as $.

Then my accountant doesn't know if that invoice was in USD or HKD. There are dozens of countries that use the $ as their currency symbol.

At least mention the currency code somewhere, please.


Good point! I'll add a way to toggle the code on or off.


This is pretty nice and very easy to use, good job!

One point: I would normally expect to see a breakdown of how much tax (VAT in my case) has been added, rather than just a percentage - I know you just subtract the subtotal from the total, but having the amount of tax shown as a separate line is actually a requirement for a VAT invoice in the UK [0] and may well be in other countries.

When I'm working with new subcontractors who may not necessarily have an invoice system set up already, I normally point them at http://invoiceomatic.io/, which was built by the geniuses at FreeAgent (which I use myself). [1]

[0]: http://www.hmrc.gov.uk/vat/managing/charging/vat-invoices.ht... [1]: http://freeagent.com/


Thanks! That's a great point about VAT, I'll be sure to add that in an update.

Invoice-o-matic looks freaking sweet, I wish I'd known about it sooner. :D


This is really good. With the boring, generic, exact-match domain you've given it I was expecting something spammy. Is your aim to go after the SEO benefits or would you consider renaming it to something a bit more characteristic?


Personally, I appreciate the descriptive domain name. It's far more characteristic of what the product is for than some random word with an arbitrary dropped/added letter/number.

edit: Further reading of this thread show how many other solutions there were, but the author couldn't find. So maybe the problem is one of marketing, and picking a descriptive domain name might be what's needed.


Thanks!

My goal with the domain name was to have it be extremely easy to remember (and descriptive!).


Can you make the code available on GitHub? What would be really cool is to add API so that it can be accessible programmatically by other accounting systems.


This is great! Thank you so much.

I basically use Freshbooks.com as an invoice generator. This is way cleaner.

Some polish-level things that would make it cleaner to use for a SaaS product:

* There aren't really "quantities" or "rates". You are a customer of my product, which costs $X amount, so there is just a line with cost $X.

* Needs to comma-delimit amounts greater than $1,000

* Want to be able to put my logo where "INVOICE" is.

* Want to be able to include an "Amount Paid" below the "Total", and then have "Amount Due" under that, which is Total - Amount Paid.

Also, I want to be able to save invoices (local storage or server is fine), generate a new one this month from last month's per customer, etc. etc.

Feel free to email me (harry@periscope.io) if you want more feedback or some examples.

Also: Charge your customers money!


While I appreciate everything in this list, in addition the the last item, I also want to voice support for your open sourcing this project.

The community would be grateful for your efforts, if that's an available option.

Thanks & all the best!


I made one as well [0] for my own invoices as a contractor in the UK which I made to try out Typescript.

I just went the way of using the print to pdf feature of the browser rather than generating the PDF myself (and no need for any server side things this way!), works well enough for my case.

Code is on github: https://github.com/Keats/invoicer

[0]: http://vincent.is/working-on/invoicing/


Odoo Invoicing has the features you need and his fully open source. https://www.odoo.com/page/billing

It implements: SSL, PDF, Export, same preview than print but no local storage. In the other hand, it has: online payments, auto generation (subscriptions), send by email or regular mail, etc.

One-click demo: https://demo.odoo.com/?module=account

(disclaimer: I am the author of Odoo)


I need to look into this. I feel like I've hear of odoo months back and maybe it wasn't as mature. All the apps called out that connect with it, if it delivers what it says should rival anything commercial closed source right now. Whats the best resource to get up to speed on the details of odoo, is there a long video demo perhaps?


If I set currency to RUB, I has "руб." at left of price, but it must be right of it.

Ex. now it "руб.150", but must be "150 руб."


This is great, I really like how clean the interface is! I might start using this from now on.

Minor pet peeve: It would be nice to have rich text formatting for the additional notes. Formatting bank information on how to pay me would be added there, so making certain details clear would be ideal.


Shameless Plug: We built a similar tool using AngularJS http://metaware.github.io/angular-invoicing/ which is free and Open Source and folks here at HN enjoyed it we guess. :)


It looks great, I just tested it out and enjoyed the simple layout. Its refreshing to see a service focus on UI over flashy tricks and gimmicks filled with marketing jargon.

Also congrats on the URL choice, really easy to remember and should score you some SEO points.


Google sheets. Use the templates.


Nice work! Maybe add a way to export/import all invoices (say I want to switch machines). A data table to see all invoices and a reporting tool will be useful. Also, this is front-end only, why do we need ssl?


Also, this is front-end only, why do we need ssl?

Not the author, but you still need secure transmission of the JS code, otherwise a MITM could send a modified version that sent your stored data to their servers.


This and the fact that there is a backend service that handles the work of generating the PDFs are the reasons why I wanted SSL (though I am looking into moving the PDF generation to be completely client-side).


It is not front-end only, the invoices are generated server side.

  t.$.ajax({
                    url: o + "invoice/generate/",
                    type: "POST",


Nice work! This is very similar to the invoice tool I made: http://invoice-generator.com


Nice ! But there are no Ads on your website. Did you intend to make money with it ? or was it a fun side project you did ?


They want you to upgrade to the full invoiced.com service.

I've used this free site once in a while. It generates good looking invoices.


Ah ! Thanks for pointing it out. I see the "upgrade" tab on the top now.


Thanks! I drew inspiration from your tool (and a couple of others) while I was making this.


Application: looks good! Domain name: sucks. I would go with a much shorter name on a different TLD. e.g. 1invoice.co


or just stick with the exact match domain for better rankings in search engines...


This is beautiful and exciting. Do you plan to share the source code in github ? I would love to contribute.


Nice ! Option for png header to include ? Then company logo can be included. :)


This is OK only if you have to make one invoice and you are alone. I personally use Direct Invoice (https://direct-invoice.com) it has a customizable dashboard, it's multi-user and the web app is beautiful.


INR shows up wrong - টকা


Thanks for pointing that out! I've updated it to use ₹ instead.


Wow, good work. Seems to work well for tablets too.


Do you intend to make money with this ?


how are you generating the pdf? client side as well?


There's a Scala-based backend service that generates the PDFs based on the data it receives from the client (I am planning on transitioning to something like[1] for this purpose in the future, however). The PDFs are garbage-collected within 10 minutes of when they are created.

1: http://parall.ax/products/jspdf


On you site it says "Free Invoice Generator does not store any of your data online. Instead, all of your settings are saved to your browser through the LocalStorage mechanism. Clicking the above button will delete the data that Free Invoice Generator has saved to your computer so far."

Maybe I have a poor understanding of the logistics but on reading that I have the impression that my data never leaves my browser. If so, how are you generating the PDFs server-side which are populated with my data?

This looks great and my question isn't a complaint. If you store user's browser data for 10 minutes or so, then you should probably change the wording in your claim to reflect this. And if you can generate a PDF server-side which somehow adds user data without leaving my browser's local storage I'd be most interested in learning how that works as it sounds almost magical.


You're right, I've updated the message to reflect that fact. Thanks for pointing that out!


Cool, though I'm almost disappointed now. I was hoping you had figured out some hack to use the browser's 'print to file' functionality, omitting the sidebar and printing only the invoice part of the web page.


that can be done with a print-only stylesheet. display: none for the sidebar


If you give would like to discuss this on Product Hunt, you can give me your twitter handle and I can give you access there as it's on the home page. Nice job btw


I'd love to, thanks. My Twitter handle is the same as my username on here. :)


sent!


interesting, thanks for the info. i just finished up a similar project and had tough time with jspdf, ended up using http://pdfmake.org/#/.


Bitcoin invoices?


From the HN guidelines:

"Don't abuse the text field in the submission form to add commentary to links. The text field is for starting discussions. If you're submitting a link, put it in the url field. If you want to add initial commentary on the link, write a blog post about it and submit that instead. "




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: