-function process_invoice($invoicing=false)
-{
- if ($invoicing)
- {
- read_sales_delivery($_SESSION['Items']->trans_no, $_SESSION['Items']);
- $duedate = get_invoice_duedate($_SESSION['Items']->customer_id, $_SESSION['Items']->delivery_date);
- $invoice_no = add_sales_invoice($_SESSION['Items'],
- $_SESSION['Items']->delivery_date, $duedate,
- $_SESSION['Items']->tax_group_id, $_SESSION['Items']->freight_cost,
- $_SESSION['Items']->Location, $_SESSION['Items']->ship_via,
- $_SESSION['Items']->default_sales_type, references::get_next(10),
- $_SESSION['Items']->memo_);
- }
- else
- {
-
- if (!check_data())
- return;
-
- if (!check_delivery_changed())
- delivery_changed_error();
-
- $invoice_no = add_sales_invoice($_SESSION['Items'],
- $_POST['InvoiceDate'], $_POST['due_date'],
- $_SESSION['Items']->tax_group_id,
- $_POST['ChargeFreightCost'],
- $_SESSION['Items']->Location,
- $_POST['ship_via'], $_POST['sales_type_id'], $_POST['ref'],
- $_POST['InvoiceText']);
- unset($_SESSION['ProcessingDelivery']);
+ $newinvoice= $_SESSION['Items']->trans_no == 0;
+ copy_to_cart();
+ $invoice_no = $_SESSION['Items']->write();
+
+ processing_end();
+ if ($newinvoice) {
+ meta_forward($_SERVER['PHP_SELF'], "AddedID=$invoice_no");
+ } else {
+ meta_forward($_SERVER['PHP_SELF'], "UpdatedID=$invoice_no");