
Show HN: A free invoice generator - Bogdanp
I built this[1] because I couldn&#x27;t find any other such tools that met all of the following criteria:<p>* Use SSL
* Save settings through localStorage
* Allow PDF export w&#x2F;o any watermarks
* The exported invoice must look identical to the preview<p>1: https:&#x2F;&#x2F;www.free-invoice-generator.com
======
Renaud
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.

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

------
bshimmin
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/](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...](http://www.hmrc.gov.uk/vat/managing/charging/vat-invoices.htm)
[1]: [http://freeagent.com/](http://freeagent.com/)

~~~
Bogdanp
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

------
highace
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?

~~~
Scoundreller
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.

------
chenster
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.

------
hglaser
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!

~~~
hardoncollider
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!

------
Keats
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](https://github.com/Keats/invoicer)

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

------
fpopenerp
Odoo Invoicing has the features you need and his fully open source.
[https://www.odoo.com/page/billing](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](https://demo.odoo.com/?module=account)

(disclaimer: I am the author of Odoo)

~~~
michaelbuddy
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?

------
drakmail
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 руб."

------
jonalmeida
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.

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

------
jjkmk
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.

------
pkmx-
Google sheets. Use the templates.

------
bikamonki
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?

~~~
icebraining
_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.

~~~
Bogdanp
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).

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

~~~
mind_heist
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 ?

~~~
ukandy
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.

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

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

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

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

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

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

------
sharmanaetor
INR shows up wrong - টকা

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

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

------
mind_heist
Do you intend to make money with this ?

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

~~~
Bogdanp
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](http://parall.ax/products/jspdf)

~~~
tombrossman
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.

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

~~~
tombrossman
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.

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

------
bkd
Bitcoin invoices?

------
joliv
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. "

