How Recurring Invoices work?


I am writing an app about managing property rents and I needed to implement a sort of invoice within my app. Because Invoice Ninja is not a package, I can only check how it has been implemented and apply it to my app. My problem is the part which you want to make Recurring Invoices.

Does $invoice = $this->invoiceRepo->createRecurringInvoice($recurInvoice); create another new Recurring Invoice of the main one or it just creates a normal one (is_recurring set to null/false)?

I want to have recurring invoices added to may application but I want to apply a common practice to it. I can create a table called recurrings and add any recurring invoices to it and then have a cron that generates invoices off this table to invoices table. Or another way will be to just add is_recurring, start_date , end_date and last_invoice_sent_date to the same invoice table. (then I should exclude it in totals etc.). Please advice.

In the current version of our app we store standard and recurring invoices in the same table, in the next version of our app we’ve decided to split it out to separate tables.

@hillel thanks for the answer!