= 2; $can_delete = lookupUserPermission('module_sales') >= 3; $csrf = $_SESSION['csrf_token']; // What it costs us - the recurring expenses it covers (functions/expenses.php) $can_see_costs = lookupUserPermission('module_financial') >= 1; $can_add_costs = lookupUserPermission('module_financial') >= 2; $costs = $can_see_costs ? recurringInvoiceCosts($recurring_invoice_id) : null; // Cards on file the client could be charged on $saved_methods = []; $sql = mysqli_query($mysqli, "SELECT saved_payment_id, saved_payment_description, payment_provider_name, payment_provider_active FROM client_saved_payment_methods LEFT JOIN payment_providers ON payment_provider_id = saved_payment_provider_id WHERE saved_payment_client_id = $client_id ORDER BY saved_payment_description ASC"); while ($row = mysqli_fetch_assoc($sql)) { $saved_methods[intval($row['saved_payment_id'])] = $row; } $autopay_id = intval($recurring['recurring_payment_saved_payment_id'] ?? 0); // The card fee autopay adds, when the client pays one (functions/billing_pay.php) $autopay_fee = billingCardFeeFor($client_id); // Override Tab Title // No Sanitizing needed as this var will only be used in the tab title $tab_title = $recurring['client_name']; $page_title = $number; $paper = [ 'type' => 'recurring', 'row' => $recurring, 'items' => $items, 'totals' => $totals, 'edit' => $can_edit, 'notes_edit' => $can_edit, 'taxes' => $can_edit ? billingTaxes($recurring['recurring_invoice_created_at']) : [], 'logo_url' => billingCompany()['logo_url'], 'csrf' => $csrf, ]; ?>

Recurring Invoice

From Autopay For
Its run on was missed - the next nightly run bills it. Invoice Now bills it straight away. Its next date, , is days gone - too far behind to bill by itself. Use Invoice Now for each run it missed, or move it on without billing them. Move on to

Schedule

Each
a month
Next
For
1 && !$late) { ?>
then
Last
Not yet' ?>
Margin
'recurring', 'doc_id' => $recurring_invoice_id]) : null; if ($reprice_doc && $reprice_doc['lines']) { ?>
Prices
line at an old price
Sending
Made as a draft for you to check and send Made as a draft
Emailing the invoices recurring invoices make is off in Settings > Notifications
Made as a draft
Outgoing mail isn't set up
Emailed to the primary and billing contacts as it is made Made as a draft
Emailing is off for this one
Since

Seats

Update now
'fa-users', 'unit' => 'seat']; ?>
License gone
now
up to date

Costs

No costs against it yet. Add the recurring expenses it pays for - the licenses, hosting or backup it resells - to see the margin it leaves each month.

Autopay

No card on file for . Once they save one paying an invoice online, it can be charged here automatically.

Invoices Made

count($generated)) { ?> All
None yet.

History