If you do not want to skip numbers, then you should have a seperate dataitem with a list where you store which invoice numbers you have and which you haven’t used (on your sent invoice).
In the case that you delete an invoice, you’ll search for the lowest invoicenumber and reuse that number. In this order, you will never skip an invoice number.
So, in steps:
1) Create data item “invoice number”.
2) Make a reference to data item invoice.
3) Create fields: invoicenumber (text), status (picklist) with status open and closed.
4) Create flowpart and search for lowest open invoicenumber.
5) Update this number to your invoicenumber.
6) If you delete an invoice, set the corresponding invoicenumber to open. Be aware: update before deleting the invoice!
Will this help?