Updated the way invoice get incremented using settings next number with prefix instead of just adding 1 to the latest invoice

This commit is contained in:
johnny@pittpc.com 2019-08-12 12:54:16 -04:00
parent 90042531f2
commit 4427c7ab49
3 changed files with 23 additions and 12 deletions

View File

@ -6,6 +6,7 @@ $sql = mysqli_query($mysqli,"SELECT * FROM settings WHERE company_id = 1");
$row = mysqli_fetch_array($sql);
$config_start_page = $row['config_start_page'];
$config_company_name = $row['config_company_name'];
$config_company_address = $row['config_company_address'];
$config_company_city = $row['config_company_city'];
@ -16,19 +17,24 @@ if(strlen($config_company_phone)>2){
$config_company_phone = substr($row['config_company_phone'],0,3)."-".substr($row['config_company_phone'],3,3)."-".substr($row['config_company_phone'],6,4);
}
$config_company_site = $row['config_company_site'];
$config_next_invoice_number = $row['config_next_invoice_number'];
$config_invoice_logo = $row['config_invoice_logo'];
$config_invoice_footer = $row['config_invoice_footer'];
$config_quote_footer = $row['config_quote_footer'];
$config_quote_email_subject = $row['config_quote_email_subject'];
$config_smtp_host = $row['config_smtp_host'];
$config_smtp_username = $row['config_smtp_username'];
$config_smtp_password = $row['config_smtp_password'];
$config_smtp_port = $row['config_smtp_port'];
$config_mail_from_email = $row['config_mail_from_email'];
$config_mail_from_name = $row['config_mail_from_name'];
$config_account_balance_threshold = $row['config_account_balance_threshold'];
$config_send_invoice_reminders = $row['config_send_invoice_reminders'];
$config_invoice_logo = $row['config_invoice_logo'];
$config_invoice_footer = $row['config_invoice_footer'];
$config_invoice_overdue_reminders = $row['config_invoice_overdue_reminders'];
$config_invoice_next_number = $row['config_invoice_next_number'];
$config_invoice_prefix = $row['config_invoice_prefix'];
//Defaults
@ -38,8 +44,6 @@ $config_default_transfer_from_account = $row['config_default_transfer_from_accou
$config_default_transfer_to_account = $row['config_default_transfer_to_account'];
$config_default_calendar = $row['config_default_calendar'];
$config_quote_email_subject = $row['config_quote_email_subject'];
$config_recurring_email_auto_send = $row['config_recurring_email_auto_send'];
$config_api_key = $row['config_api_key'];

View File

@ -94,7 +94,7 @@ if(isset($_POST['edit_mail_settings'])){
if(isset($_POST['edit_invoice_settings'])){
$config_invoice_prefix = strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_invoice_prefix']));
$config_next_invoice_number = intval($_POST['config_next_invoice_number']);
$config_invoice_next_number = intval($_POST['config_invoice_next_number']);
$config_mail_from_email = strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_mail_from_email']));
$config_mail_from_name = strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_mail_from_name']));
$config_invoice_footer = strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_invoice_footer']));
@ -107,7 +107,7 @@ if(isset($_POST['edit_invoice_settings'])){
}
$config_invoice_overdue_reminders = strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_invoice_overdue_reminders']));
mysqli_query($mysqli,"UPDATE settings SET config_invoice_prefix = '$config_invoice_prefix', config_next_invoice_number = $config_next_invoice_number, config_mail_from_email = '$config_mail_from_email', config_mail_from_name = '$config_mail_from_name', config_invoice_footer = '$config_invoice_footer', config_send_invoice_reminders = $config_send_invoice_reminders, config_invoice_overdue_reminders = '$config_invoice_overdue_reminders', config_quote_footer = '$config_quote_footer'");
mysqli_query($mysqli,"UPDATE settings SET config_invoice_prefix = '$config_invoice_prefix', config_invoice_next_number = $config_invoice_next_number, config_mail_from_email = '$config_mail_from_email', config_mail_from_name = '$config_mail_from_name', config_invoice_footer = '$config_invoice_footer', config_send_invoice_reminders = $config_send_invoice_reminders, config_invoice_overdue_reminders = '$config_invoice_overdue_reminders', config_quote_footer = '$config_quote_footer'");
$_SESSION['alert_message'] = "Invoice Settings updated";
@ -846,15 +846,22 @@ if(isset($_POST['add_invoice'])){
$row = mysqli_fetch_array($sql);
$client_net_terms = $row['client_net_terms'];
//OLD Get the last Invoice Number and add 1 for the new invoice number
//$sql = mysqli_query($mysqli,"SELECT invoice_number FROM invoices ORDER BY invoice_number DESC LIMIT 1");
//$row = mysqli_fetch_array($sql);
//$invoice_number = $row['invoice_number'] + 1;
//OLD Get the last Invoice Number and add 1 for the new invoice number
//Get the last Invoice Number and add 1 for the new invoice number
$sql = mysqli_query($mysqli,"SELECT invoice_number FROM invoices ORDER BY invoice_number DESC LIMIT 1");
$row = mysqli_fetch_array($sql);
$invoice_number = $row['invoice_number'] + 1;
$invoice_number = "$config_invoice_prefix$config_invoice_next_number";
$new_config_invoice_next_number = $config_invoice_next_number + 1;
mysqli_query($mysqli,"UPDATE settings SET config_invoice_next_number = $new_config_invoice_next_number WHERE company_id = 1");
//Generate a unique URL key for clients to access
$url_key = keygen();
mysqli_query($mysqli,"INSERT INTO invoices SET invoice_number = $invoice_number, invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), category_id = $category, invoice_status = 'Draft', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client");
mysqli_query($mysqli,"INSERT INTO invoices SET invoice_number = '$invoice_number', invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), category_id = $category, invoice_status = 'Draft', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client");
$invoice_id = mysqli_insert_id($mysqli);
mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'INVOICE added!', history_created_at = NOW(), invoice_id = $invoice_id");

View File

@ -25,7 +25,7 @@
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-barcode"></i></span>
</div>
<input type="text" class="form-control" name="config_next_invoice_number" placeholder="Next Invoice Number" value="<?php echo $config_next_invoice_number; ?>" required>
<input type="text" class="form-control" name="config_invoice_next_number" placeholder="Next Invoice Number" value="<?php echo $config_invoice_next_number; ?>" required>
</div>
</div>