status_id = RecurringInvoice::STATUS_DRAFT; $invoice->discount = 0; $invoice->is_amount_discount = true; $invoice->po_number = ''; $invoice->invoice_number = ''; $invoice->footer = ''; $invoice->terms = ''; $invoice->public_notes = ''; $invoice->private_notes = ''; $invoice->invoice_date = null; $invoice->due_date = null; $invoice->partial_due_date = null; $invoice->is_deleted = false; $invoice->line_items = json_encode([]); $invoice->settings = ClientSettings::buildClientSettings(new CompanySettings(CompanySettings::defaults()), new ClientSettings(ClientSettings::defaults())); //todo need to embed the settings here $invoice->backup = json_encode([]); $invoice->tax_name1 = ''; $invoice->tax_rate1 = 0; $invoice->tax_name2 = ''; $invoice->tax_rate2 = 0; $invoice->custom_value1 = 0; $invoice->custom_value2 = 0; $invoice->custom_value3 = 0; $invoice->custom_value4 = 0; $invoice->amount = 0; $invoice->balance = 0; $invoice->partial = 0; $invoice->user_id = $user_id; $invoice->company_id = $company_id; $invoice->frequency_id = RecurringInvoice::FREQUENCY_MONTHLY; $invoice->start_date = null; $invoice->last_sent_date = null; $invoice->next_send_date = null; $invoice->remaining_cycles = 0; return $invoice; } }