Invoicing…

Lebron dunking paypal logo into the trash

It’s practically my biggest hurdle when it comes to billing a client for my work. Nine out of ten times I end up late invoicing because I dread the hour I have to spend figuring out PayPal’s invoicing. For a company that makes $33 billion a year, you’d think they’d use their own product.

This time around when it came to sending an invoice to the client, I decided to spend a little bit of extra time and window shop at a few other places.

My first and final stop was Invoice Ninja, it caught my eye with their self-hosting support. In addition to supporting most of the features I cared about. That being:

  • Recurring invoices,
  • Stripe support,
  • And a client portal. <- I didn’t find this gem till after I set it up and it makes life 10x easier for my clients, especially when tracking expenses across months.
invoice ninja landing page screen grab

Minus points for having an uncreative AI-generated landing page…

I found a docker image created by bon5co and used it in combination with Railway, once that was done I pointed a custom domain to it, and within 5 minutes I had a cheap, reliable (still to be proven with time) invoicing setup that costs me about $5 a month in hosting fees.

Next I wired up one of my @ezraharris.com emails which allowed me to send invoices with a clean email template in a click.

Pro tip: ProtonMail lets you add SMTP servers with no additional cost, I used this to route my Invoicing emails.

Stripe connection took only a few minutes for my pre-existing account and I was set to bill my first client.

A client’s view from inside their portal
Stripe dashboard showing a transaction
Stripe Dashboard

So far it’s done exactly what I wanted: invoices go out on schedule, clients pay with a card, and I don’t have to think about it. Ask me again in six months whether that strikethrough on “reliable” comes off. If you’re a freelancer who dreads invoicing as much as I did, give Invoice Ninja a shot. It took me less time to set up than writing this post.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *