Self Hosted Invoicing

Today’s post is aimed at my fellow agency owners and freelancers. What are we going to talk about? Invoicing and document signing, of course! I know, I know. Some of you will probably roll your eyes. Some you, though? Some of those ears will perk right up, yes they will! I’ll tell you about my last 6-months, when I shifted all my stuff over to self-hosted invoicing and document signing for all the stuff we do here, at DigiSavvvy.

WordCamp LA was right around the corner. I was furiously wrangling our sponsors for monies to pay for all the stuff that needed to be paid for. There was one sponsor I wasn’t familiar with. This guy named Dan Cameron and his company Sprout Apps. Seemed like a nice enough guy. I wrote up his sponsor post and noticed that it was invoicing for WordPress. I’d seen WP-Invoice and a couple others and didn’t really inspire enthusiasm.

I’ve got a problem…

You see, I have a problem. I change project management tools and invoicing solutions as much as I change my pants. How often is that? Once-a-year obviously! Okay, that’s a little gross, but I’ve been known to change tools quite a bit. For PM, some years back, I landed on Asana. Two years ago I switched to a tool called CashBoard. However, I’m still not happy.

Something I’ve always wanted to have was a self-hosted setup where clients could log in, take a look at their invoices, estimates, support tickets etc. I’ve never found a truly viable solution. There’s stuff out there like Pancake App, which checks off most all of my boxes in terms of what I would want in a self-hosted solution. In fact, there is no shortage of self-hosted invoicing systems that can do the job. So what was it about Sprout Invoice that I liked so much?

To answer that, I think it helps to bullet-point the features I liked. These are just a few of many features.

  • Self-hosted
  • Create Invoices and Estimates
  • Allow clients to comment on each
  • Client management
  • Dashboard for clients to review
  • Create projects to track time against
  • Integrates with Toggl
  • Integrates with Zapier
  • Stripe and Paypal Gateways

Taking the wrapping off… What’s inside?

Once you have Sprout Invoice (SI) installed it looks pretty much like any other WordPress plugin, no crazy UI elements (read: Jetpack), just familiar tabs. The getting started section is where you enter your license key and read some informational stuff about how to get started.

The first thing I did was imported my csvs for clients, invoices, and payments. SI has importers for Harvest, Freshbooks, and WP-Invoice as well.

Next I went to setup my payment settings for Paypal and Stripe (paid add-on). This part was also straight forward and easy. Within about ten minutes I had imported my important data, clients, and transactions and was ready to start taking payments.

Beyond the basics

Any invoicing solution should allow for importing and setting up of a variety of invoicing options. So what are some things that make SI so damn compelling to me? Beyond the self-hosted WP platform, there’s quite a bit.

Toggl Integration. I just love this. SI doesn’t really need a time tracking solution (although it is built in), but having a top-notch API-driven service like Toggl handle it makes sense. They make a Chrome Extension, Mobile Apps for iOS and Android, and have native desktop apps, too. It’s a no brainer and makes tracking time so much easier; being able to create projects and sync time to Toggl, from within your WordPress using Sprout Invoice is pure joy! This integration is built into SI.

I want to take a moment to talk about recurring payments and invoices. Recurring invoices are nothing new and SI handles that. Recurring payments? Hardly any solution for freelancers or agencies does this. In fact, Freshbooks only rolled this feature out recently. Harvest still doesn’t offer this. The recurring invoices are nice, obviously. Recurring payments on maintenance accounts, or even recurring payments on projects is soooo nice and it works painlessly. I started off setting up clients to signup for recurring billing. Then I got the idea to start integrating this into projects—for clients who didn’t mind paying via credit card, most clients still prefer sending a check.

Other notable features that I use: allow a client to specify payment amount, adding attachments to estimates and invoices—I just use this feature for the PDF invoices—Zapier integration, client area.

The client area part is nice. It provides your clients a front end place to view their invoices, estimates, and payment history. Woot!

I am a pretty big fan of the Zapier integration as well. I need this because SI is on a different site from my main site, which breaks the workflow for taking contact info and building estimates from it. Zapier acts as my “digital glue,” if you will. I’ll talk a little more about how I use this integration in my workflow below.

The other big integration I use, which I’ll talk about in another article, is Sprout Invoice’s integration with ApproveMe? What’s ApproveMe? It’s a WordPress plugin that makes it possible to host and digitally sign legal documents online! This allows me to assign an agreement (contract) to my estimates. In order for a client to accept my estimate, they also have to accept the agreement! Boom! It’s all done online—or they can download it and sign/scan/email if they prefer. But it’s been a seamless process for me. I love it!

Intake Workflow

How do we all handle inquiries from potential clients? A client either fills out our contact form or our brief. Filling either out triggers a Zapier recipe. The form data is sent to a couple places: 1. It goes to our CRM and 2. an estimate is created in Sprout Invoices for easier entry later on. What’s more is that I can see when a client has viewed an invoice or estimate.

As I noted above, we also use the ApproveMe integration to attach a legally binding document which can be reviewed and signed online.

If they client accepts and signs the agreement and estimate, an invoice is generated, which the client is redirected to, and can be paid for right then. The process eliminates time taken by pesky phone calls regarding next steps. Self-hosting this removes costs associated with online signing tools like Right Signature and Freshbooks.

Additional Tools I use to manage my self-hosted client portal

I’d be remiss if I didn’t cover some of the other things I’m doing here. I know this is about Sprout Invoices Pro, but bear with me a moment.

Keeping the private stuff private

One thing about having a WordPress portal is that you have to think about the overall user experience. I don’t want users seeing the WP admin. Ever. To that end I’m using one other tool, Profile Builder Pro. It provides nifty ways to hide things like the admin bar, and also redirect users away from things like the default login screen, registration screen, and password reset screens. I can choose to redirect users elsewhere easily. Also, Profile Builder Pro provides forms for managing a user’s profile, such as changing their user info and password.

I also use Restrict Content Pro to lock down the site. Users must have a certain role and be logged in to view anything of import. RCP also provides a login form and password reset shortcode. It’s easy and works out well. I have an RCP subscription set for all Sprout Invoice user roles of client, so this works out well. When a user gets registered (this happens when a user submits one of my forms, I still have to approve the user) they not only get created in the system, but they are added automatically to RCP.

Support Portal?

Sprout Apps also has a nifty plugin called Help Scout Desk. For those who know and love HelpScout, I think the plugin is a valuable (not essential) piece here. In addition to invoicing and estimates, I can also create a portal where I client can create new tickets or view their support ticket history easily. Admittedly, few clients use this right now. They just email our support email. If you use WordPress to sell things and use HelpScout for support ticketing then this plugin is a no-brainer.

What theme am I using?

This part is often overlooked, but for this I’m using the Genesis Framework. No particular reason why; I’m not using Genesis these days, but I chose Modern Portfolio theme, simply because I liked how it looked. I did very little in customization to it. I think Twenty Sixteen would work beautifully here, or even Make. I may go back and make that change.

Other plugins I’m using

I already mentioned Restrict Content Pro and Profile Builder Pro, and ApproveMe, all solid plugins. One other one I’d recommend is User Switching. This plugin is a hero and makes it easy to login as another user, see how they see your site and then change back to the admin user. It’s pretty neat.

Overall Good and Not-so-Good

The Good

There’s a lot of great things going on with Sprout Invoices, its developer, Dan Cameron, deserves serious praise here. SI is truly a great tool that is on par with the better-known players in the game. The workflow is superb. When everything is put together, it’s great. People can get an estimate, review, approve, and sign easily. Then they can make payments easily.

Invoicing is also super easy, which is great because why make it harder for people to pay you?

The add-on functionality is also really great. Like I said, I’m a fan of the various add-ons. They make invoicing so much easier and also more useful if that makes sense.

The support is also top-notch. Dan goes above and beyond here and I’m not sure if he has a clone, but the guy is always on the case and super helpful in troubleshooting any issue.

In short, Sprout Invoices Pro makes the hard stuff easy.

The Less Good

This is just opinion, so you may agree, you may not and that’s fine. I think some of the add-ons that are paid should be built in and some of the add-ons that are free should be paid. I think Toggl and Zapier could and should be paid add-ons. Not everyone needs those as a core feature. But things like Invoice and Estimate custom numbering would be better as core features. I scratch my head on some of these things. And I don’t think there’s an easy answer here. I do think this part requires some more ideation over what is core and what is not.

There are some features that are conspicuous in their absence. Notifications. A notification is sent out to a client when invoices or estimates are generated. A single invoice is sent a day after an invoice is past due, but that’s it. That leaves it to me to go remind my clients. I’m thinking this has to be a feature that’s on the roadmap. It really needs to be. Setting up repeating notifications meeting certain criteria is essential to any freelancer or agency.

I did end up purchasing a number of add-ons and with what I pay using Toggl, I’m not saving too much more than using something like Freshbooks. But I do have a lot more flexibility and I control the branding. To me, that’s worth a lot!

Things I’d like to see

One feature I liked in CashBoard and Harvest is having a deposit/retainer invoice. Payments against a deposit invoice can be used for future work and related invoices. So if you have, say, a $2000 invoice for services yet to be rendered, that has been paid for, you can create a project with future invoices and time entries against it and you just apply payments from the 2k invoice until all funds have been distributed. It sounds confusing, but it’s highly useful and I’d love to see it. But I can definitely see how it’s not something everyone would need.

I’d like to see a notification when someone has viewed an estimate. A small request, but useful.

For projects in SI, it currently stores all time entries made. If you have a single project for maintenance, and you get several requests, you can see how 6 months of time entries would make a page long and unwieldy. That’s something that needs to be addressed, but isn’t a huge headache, I can just create a new project easily enough and sync it to Toggl.


I flat out emphatically recommend Sprout Invoice Pro. I’ve been using it for the last six months! I trust it to run my business. It makes certain parts of my business easier (billing for my time from any screen, for instance. Thank you, Toggl).

It’s really the best WP-powered solution out there for one. To take it one step further, I think this suite of plugins goes toe-to-toe with the big-name solutions out there. I really do. I trust it for my most critical business operations and I think you should, too.

Rando Screenshots

Get Notified When We Publish New Content!

Join more than 2,500 people who get our marketing automation, business marketing, and WordPress news!

* By submitting your email here, you agree to our Privacy Policy

Similar Posts


  1. Great review of Sprout Apps.

    I’d be curious from a business perspective what you are spending on all of these services to get setup initially?
    Toggl, Sprout Apps, additional plugins, etc.

    Ongoing monthly costs? Hosting? Updates?


    1. Hey Jacob,
      So here’s a breakdown of what I pay for.

      – Sprout Pro License ($107.99, yr)
      – Toggl ($5 mo.)
      – Restrict Content Pro (Lifetime License)
      – Profile Builder Pro (Lifetime License)
      – Genesis (Lifetime License)
      – Hosting (SiteGround GoGeek, $300 yr)

      I do host a number of other things here, too, some client stuff as well as biz stuff, but the lifetime licenses i’m lucky to have.

      You don’t need Genesis or RCP or profile builder pro. There are free alternatives to each of those. I think there are a number of freebie themes that would do as good or better. The members plugin from Justin Tadlock would work just as well here also.

  2. Seems a bit expensive (sprout pro), are you still using them? Have you seen Appsumo is currently running an offer for $39 lifetime, but it’s only US-business friendly so I’ll pass on that one.

    1. Bummer, it’s sold out. Sprout Invoice does a lot more than Billy, especially around payment schedules and recurring billing and signatures. It’s a no-brainer. you should sign up!

Leave a Reply

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