Send recurring invoice + expenses in one invoice?

Hi, there is one feature I might be missing or was not able to read from the docs.
in my current invoicing system I have a “queue” where I put stuff for a client and then once the monthly run to create the invoice is triggered, all queue items are gathered and put on a single invoice.
I was hoping I could accomplish this with invoice ninja as well. The only way I could think of doing this is to use expenses but I’m not sure if the recurring invoice will pick those up before sending.
A second option could be to use recurring expenses and hope that those would create expenses, I would then skip the recurring invoice part and use the API to create invoices from the expenses but that would kind of “suck” as I can’t use products in expenses and it feels kind of hacky.
In all the documentation I could find it’s sometimes hard to distinguish what is V4 and what is V5.

I did set up a test run and hope the cron job runs this night so I can see tomorrow what will happen, but I hope someone has some tips on how this could be set up in the most reliable way.


This isn’t currently supported, feel free to create an issue here to request it:

Hi, thanks for the info.
Just to be sure I understand correctly how it’s working according to my test.
I created a recurring expense for some subscription fee 1x Month. This would then create an expense every month for me, right?
Then I could make my workflow for now like this:

  • add any subscription as recurring expense
  • take any non fixed things like Phone Calls, Support Hours etc and send them via API to create an expense
  • Write a script that gathers all active expenses for all clients and create an invoice with all expenses
  • via /api/v1/expenses/{id} update the expense to set the invoice_id

am I missing something?
But this way I could work around the issue of having 2-3 or even more invoices for the same client on the same day.

That’s mostly correct. When you create the invoice using the expenses the app will automatically update the invoice_ids.

You can use the network tab in the browser console to see sample API requests.

If you need any more help let us know.

thanks. I have already done quite a few things with the API. Working great so far. I will add a feature request and do it as described in this Post. Thanks for the Feedback.

1 Like