Hacker News new | ask | show | jobs
by peterbhnews 1060 days ago
A lot of the complexity of invoicing isn't in the PDF generation (which this tool does a wonderful job of doing, nice work!) but on the side of tracking which invoices are open vs. paid, which ones are aging, whether there are discounts that can be applied for early payment, and of course integration with whatever accounting tools you're using.

But this looks like a great, simple tool for people who need to occasionally send an invoice or two. Thanks for sharing it.

22 comments

We see this pattern a lot.

It's like twitter. You can write an app that works just like twitter in a short amount of time. A week tops. But that's not the hard part. Moderation, getting the product profitable, etc, are the hard parts.

People often get a bit of tunnel vision and don't realize there's a whole bunch of behind the scenes stuff that's the real hard part. No reason to feel bad about it, it's a human thing, not just (the proverbial) you.

>You can write an app that works just like twitter in a short amount of time. A week tops. But that's not the hard part. Moderation, getting the product profitable, etc, are the hard parts.

You can buy a Twitter for 44 billion dollars, thats easy - but moderation and user management, not tanking the profits into the red, not killing the brand with weird behavior - these are the hard parts.

It's not like Twitter was beloved before, and neither are people actually leaving the platform (except for the dozens who care a lot).

Like most content on Twitter, the discussion around it is mostly a loud minority complaining.

People have left. A ton of the technical people I follow have moved mostly to mastodon. Dan Luu of HN fame regularly posts on mastodon but hasn’t cross posted on twitter as often (which is sorta funny because he used to work for twitter, and left before the Musk acquisition.) Some people are still “on” twitter but post much less than they do on mastodon, like Daniel Stenberg (you might know him as the maintainer of curl.)

To be honest, as someone who doesn’t care about the twitter culture war and still sees a lot of value in the site, mastodon is steadily becoming a better place for actual technical content. Twitter blue checks have insufferable opinions, and I did better when their existence wasn’t forced on me.

Are people actually not leaving? I had not used Twitter in about a year and a half until last week. I went there and it took 20 seconds to load the web app, then after I logged in it was Elon getting promoted, ads that look like mostly spam, and everyone with a blue check mark. I left because I thought the platform was deteriorating then and it is much, much worse now.
The question is always: What's the alternative? People who are either addicted to what they get from Twitter, or whose job depends on it, have no other place to go. Of course there are other platforms, but those only have a tiny fraction of the user base, meaning less content and less attention.
This is like asking “what’s the alternative to nicotine?” - it may sound trite, but basic health is the alternative. A replacement is not the answer. You just need to quit.
I would guess that people who are addicted to it or whose job depends on it are not the majority of Twitter users.

I agree that even out of those groups, there are not a lot of people deleting accounts and moving to other places. But, my perception is that a lot of people are indeed spending much less time on Twitter. Twitter competitors are not only Mastodon or Threads. It is also YouTube, TikTok, Instagram, Netflix and alikes, advocacy for consuming less social media overall, etc.

It was my favourite social network, and I had multiple accounts. I used it slightly professionally, but wouldn't say my job depended on it. Months ago, I deleted as many tweets as I could without paying to deal with more, and stopped using it. I don't feel like I've missed it all that much. The engagement when active never felt that great, so that probably helped. I've never used Facebook either.

I do feel a bit like "what's the alternative"; I like being an active contributor rather than a passive consumer, so falling back to just reading scraps on the net makes me uneasy.

A ton of people have moved to Threads from Meta which is the most direct competition.

Then there is of course Mastodon and the upcoming Bluesky.

The userbase is the key to the entire platform. Any minority platform that has been created for small groups like Truth are just echo chambers of a single subculture. The wide range of individuals and subcultures on the Twitter platform is the whole reason people still use it.
Addictions can end. Make the experience unpleasant and people stop seeking it.
> Are people actually not leaving?

It can be hard to tell, the published numbers and other people's guesstimates do not tell much of the full tale.

I think many are soft-leaving: using twitter and which-ever alternative they are considering in unison while they see how things play out. Perhaps more than one alternative. People will eventually decide because multiple contact points will be a hassle, at which point we might see a glut of people leaving twitter if one of the alternatives has enough momentum at the time.

A significant problem ex-twitter has is that much of the advertising that left has not returned while user and bot activity hasn't dropped by nearly enough to compensate for that so the on-going losses have grown despite all the staff cuts and so forth. Some advertisers are splitting their spend elsewhere, some are playing wait-and-see like users, and some have just realised that dropping (or reducing) twitter as a channel hasn't harmed their RoI on marketing budget so maybe it wasn't a great channel for them in the first place.

[caveat: I've never actually used Twitter, other than being sent links to threads occasionally and thinking “this is a terrible way to get across an idea worthy of more than one sentence”, so might know nothing – long before the recent kerfuffle I considered it “too full of the sort of people who consider twitter to be a good idea” and from what I gather indirectly it is increasingly home to a lot of the sort of people/content that I already get irritated enough by on other channels!]

Perhaps I chose that example for a reason ;-)
> You can buy a Twitter for 44 billion dollars, thats easy

Go for it.

<<insert>> not cutting the brand off the building as a seemingly random decision is also easy but who are we to judge…
I mean, if you're not paying rent, you might want to pack up the shit that's hard to grab in a hurry
> You can buy a Twitter for 44 billion dollars, thats easy

i'll have to try it one day

Twitter has been horribly mismanaged but the moderation hasnt been much of an issue. Twitters problems are technical, plus this new rebranding which just isnt going to stick .
Twitter has had two profitable quarters ever. The technical quality is actually great; its problems are on the product and business side.
Historically yes, completely agreed. However there were major technical issues which made the site unusable recently. False positives on the rate limiter and even imposing the rate limiter due to problems dealing with load for example.
> You can buy a Twitter for 44 billion dollars, thats easy

I'm not sure about easy: it seemed to take a fair amount of wailing and gnashing of teeth to complete the sale.

I’ll take all of that if the CIA is no longer given access to censor opinions and promote propaganda.
While true, it's often two distinct processes. I work with implementing ERP systems, focusing on accounting and financials. Most systems I see use the ERP system to generate the invoice data and for tracking the invoice status with a separate service to create the PDF (and electronic) invoices through an integration with the ERP system. The ERP system is usually pretty good at invoice tracking but customising the invoices can be both time consuming and expensive. Among larger enterprises there's definitely a market for software that can produce PDF invoices, even without tracking, although they would probably have to support creating PEPPOL BIS compliant XML documents as well.
I could be wrong, but if the business is using ERPs (to the extent of hiring implementation specialists), they're likely already too big for this type of software. In it's current form anyways, this feels like something small business uses to appear professional, big and/or well polished. The bigger company would use the ERP solution because it integrates with their general ledger, etc. and at that scale putting any focus on 'pretty invoices' is probably just a waste of time. It's really better to focus on getting them paid quickly.
Also in some (most?) countries, regulations impose a strict versioning of invoices and a strict irrevocability process (meaning you cannot edit an invoice after its been delivered). To be compliant with the laws, as a company you need to prove you are using a system which is compliant with theses constraints.

For instance in France, it has been mandatory to use such compliant software since 2018 for all companies.

Many EU countries still allow for individuals/small companies to choose to use simpler book keeping, without going through all that bureaucracy. And realistically this types of tools are probably targeting that population...
> Many EU countries still allow for individuals/small companies to choose to use simpler book keeping, without going through all that bureaucracy.

Not really. Well, only if you are a really really small company (read below VAT threshold).

Once you're VAT registered the tax authorities will want the irrevocability.

There is no such thing as irrevocability in IT(unless we talk about physical retail sale registers every retail business has to have - these are certified standalone hardware devices that print receipts and store the transaction details in write once memory). At least in this EU country the requirement is that you keep the original file for the retention period and you present it on request. If you mess with it in the meantime and you get caught you're essentially falsifying financial tax records. It doesn't matter if you keep your invoices in .txt files on a hard drive or in a cloud based "irrevocable" system But if you're doing retail your accounting data better matches with the printout from that hardware device that logs all the sales.

However, having said that the complexity in doing small business accounting (at least here in Poland) is not in generating invoices, but in accounting for them correctly with regards to VAT. Is this just a domestic sale/purchase? Is it an EU goods or services purchase/sale? Is it the same but for outside EU? Is the client a company or an individual? Does he/she want to return a item. Did you send an invoice, but never got paid? (you're still on the hook for the VAT) All those things matter and affect how you're supposed to record your VAT. In many cases of cross border transactions you end up recording VAT in a special way so it cancels out, but you need to report the right amounts. The logic to not mess this up is what makes people pay for this software. There is nothing stopping you doing all of it in Excel if you want, but if you mess up... It might be expensive.

At least in NL, the final version becomes irrevocable when it is send to the customer (or supplier). Corrections are done with a new number (or more than one) Sometimes you need more than one sequence.
Nothing is irrevocable, when it's on my machine
In Sweden, this applies to the accounting system - bookings need to be immutable but there is no certification of the software. The invoice generation is not covered, they need to state due date, VAT number etc, and the invoices need to be booked in the accounting system but can be typed on a typewriter, or written by hand even, as far as I know.
I would assume this would be for cases where your are using that same software to report income, expenses, tax etc. But in Invoice Dragon (i.e. just a template) case you would be keeping a copy of the invoice for later reference in calculations, the same as a handwritten invoice, no? It's just "typing it up" for you. This isn't accounting software, just a template.
> To be compliant with the laws, as a company you need to prove you are using a system which is compliant with theses constraints.

My brother-in-law, Wallace, in the back office, is a system compliant with all of those constraints.

Who ensures the software is compliant? How does the process work?
How does that work? Are you not allowed to fill out an invoice with pen and paper?
When I was independent consulting, GnuCash managed my invoicing and accounts-receivable well enough.

I tracked my hours for a billing period by starting a new invoice in GnuCash, and just adding a line item to it per day. Each line item was updated throughout the day, with very quick notes to myself of what I did.

At the end of each day, I'd print a draft invoice of the unbilled hours thus far, as backup.

When it came time to invoice, GnuCash supports/ed custom invoice scripts, so I'd copied&modified a stock invoice script to do what I want, including hiding the notes to myself, and complying with the occasional format change requests from client. I'd print to PDF or paper.

For a client that also wanted a separate summary of what I did, I'd copy&paste the hidden notes into an editor, and then rewrite that as a concise one-to-few sentences.

As soon as I emailed/mailed the invoice, the GnuCash accounts-receivable functionality would take over. The complexity in how it represented the data was a little scary, but it worked.

A quick and dirty invoice generator is great for people who usually do point of sale or cash transactions and once in a while need to produce an invoice so a business can pay (vs it being expensed).
i never understood the difference between a "bill" and an "expense". my confusion in understanding comes from the idea that a small retail trader for example, pays for 2-3 things.

either capital goods, or purchases of trading goods or expenses. Now, all of these are technically purchases". Just that your accounting ledger defines the further classification. Now, all of these require "invoice", at least in india, that means you can't just say "i paid inr 500 for fuel" without a receipt/invoice. So what is a bill and how is it different than being expensed?

The difference is that a bill is saying "I've done this work for you: now pay me". Or "I've given you these products: now pay me".

But an expense claim is saying "When I was doing what you asked me to do, I had to pay some money on your behalf, so please refund me".

A bill is an invoice you send to someone else, to request payment.

An expense is an invoice someone sends to you for payment. This “invoice” might be as simple as a docket from a cash register.

If you receive an invoice from someone, it can be classified as an expense if it’s legitimately part of your business - depending on local law. If it is an expense then it’s deducted from your income so that you don’t get taxed on it - you should only be taxed on profit, not revenue.

If it’s not a legitimate business expense then you can’t deduct it from your income and the tax you pay is higher.

A bill or an invoice is a document created by the vendor asking the customer to pay. Sometimes you are the vendor and raise an invoice asking the customer to pay. Other times you are the customer, and your vendors send you invoice asking YOU to pay.

It is generally accepted practice in accounting that all outgoing payments should have an invoice from a vendor. Also all incoming payments should have an invoice/receipt raised by you.

Whether something is an expense depends on what you are paying for. If the vendor's invoice is for goods that you are reselling, that is not an expense. That goes to inventory. Similarly when you pay an invoice from your heavy equipment supplier, that is not an expense, that goes to your equipment & machinery. However, when your vendor invoice is for something like janitorial service, utility bills, lawyer fees etc, these are classified as expenses and hence its 'expensed'.

It’s a case of before or after the payment occurs - some businesses want it all handled via invoice so they can check things first.

Usually it’s just internal processes - Uber can be expensed, gas cannot.

You are correct. I'm in the process of trying to find software to manage the collection of 1000s of fines. It's a very niche area. It's not even the payment part, as we have that part completed, it's the tracking and "attempting" at contacting people which may or may not want to be found!
What you’re describing is accounts receivable. As you say, it’s a separate function relative to invoice generation and payment.

It’s not an overly complex problem to solve in the general sense but it is very easy to underestimate the complexity, and this often leads to half baked systems.

I’ve got a ton of experience in this area, reach out via my profile if you would like to connect.

Thanks! I actually ended up finding out that a partner government already had a solution and they even exchange info with the same people we do. They will be giving us a lot of their work for free. A good use of tax payer money!
Excellent, good job.
This would be a fantastic way to give your customers a bear-hug and slowly pull them into a full ERP system.

I have personally seen myself and other business owners issue invoices that are unconnected to any system early on - just generating it using some ill-suited tool like Word.

But once your customer enter their invoice data in Invoice Dragon, it's a simple matter for you to set up a "payment due" reminder for them. And then add on outstanding balance per customer. And so on, and the next thing you know, it's an ERP!

It does look great but indeed, at this point, I would be extremely happy with something that allows me to customize and make GnuCash invoices look nice.
That's doable with the Python interface to GnuCash. I hacked together a little script that sucks out invoice data out of a register file and creates PDFs for new ones using a LaTeX template. My wife uses it for her business, mostly without my involvement, so seems robust enough.
Is said script somewhere in the public internet for some inspiration :) ?
Make LLM or something that can parse invoices for all sorts of random vendors, car parts, pencils, in multiple languages, from shitty scanned PDF's, and you have a billion dollar company.
It won't be a problem if it occasionally sends a serial number instead of a total, right?
Yep: bill.com
I think it depends. Sometimes, for some people, making the actual invoice is the hard part.
I concur. And I have some insight into this. I wrote a command line invoicing tool[1] which I referenced on an earlier thread since I knew a bit about generating PDFs and thought that was the "hard part" of this.

The real value is in being able to respond quickly to queries like "What were the invoices numbers for client X in Jan, Feb 2022?" when your accountant asks them. Managing that, timesheets etc. in a way that can give you insight into business financials is what's really useful once you cross a (low) volume of invoices.

That being said, the output of the tool is extremely good looking.

References:

1: https://github.com/hamon-in/invoice

Not to forget book-keeping.... In the EU for example VAT handling (and associated payments to the gov)
I would understand it more as an api service, or JS lib to plug into a project. Although still hard for me te imagine the case where you have invoice that's not attached to your administration somewhere. Unless you just have excel or something.
This is really useful as it is for a small business starting out - before they get to the stage where they need this complexity
Also fun when I was contracting was dealing with accounts departments which insisted on exact hourly rates, while my contract was specified as a per day rate.

So to put a number which added up accurately I wound up with 5-7 digit fractional hourly rates.

I'm looking at using https://bigcapital.ly/ exactly for these reasons.
If anyone's in the UK I can recommend our product Paycada for this (https://www.paycada.com/)
Bloom (https://bloom.io) solves a lot of this, but without the open source part.
Yeah -- this is nice but doesn't save anyone from having to pay a zillion bucks for some custom ERP integration
Also the tax law may be complicated and/or requiring on-the-fly reporting
Also, connecting to calendar, timekeeping, etc systems including google sheets.
Enter stage left: Google Sheets.
> but on the side of tracking which invoices are open vs. paid, which ones are aging, whether there are discounts that can be applied for early payment, and of course integration with whatever accounting tools you're using.

In my experience

- you either did work for someone who does pay invoices, or doesn't

- if you are boned when the last invoice isn't paid, you are in very deep trouble. That means you're not in the "invoicing" business, you're in the flipping business

- so optimizing for the best case, well, you don't need to really track this stuff, or offer discounts for early payment or whatever

> of course integration with whatever accounting tools you're using.

Of course, you could be charging enough money that you don't really have to think about your costs.

The kind of person doing that has the bandwidth to install and use open source tools.

So ironically, the person who is arguably the best B2B customer, making tons of money, lots of bandwidth, pretty sophisticated, is the person most likely to use a simple open source invoice PDF generating tool. And that's why these things get adoption. That's why open source thrives.

I don't know if Invoice Dragon will make money but its users are necessarily going to be great. Because the person who gets the most out of it is running a great business.

> The kind of person doing that has the bandwidth to install and use open source tools.

> ironically, the person who is arguably the best B2B customer, making tons of money, lots of bandwidth, pretty sophisticated, is the person most likely to use a simple open source invoice PDF generating tool

That doesn't make any sense to me. If you have a thriving profitable business you usually just pay for invoicing software. Why would you invest time fiddling around with an OSS tool? just because you have the bandwidth doesn't mean you'll use it on that. Most people will prefer spending the time on something else that is core to their business or just their personal lives.

Open source thrives for many reasons. I hardly see what you described as one of them.