Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

NEW! Complete Order Editing Tool!


jhilgeman

Recommended Posts

I'm wondering if there's any future plan for a Create Order button. I am using the Manual Entry Module v06 but it doesn't allow me to enter manually my labor charge.

 

I like how I can edit an existing order with this script and then add my labor charge manually. If I could CREATE an order, that would be perfect!

 

Thanks,

Colin

Link to comment
Share on other sites

Howdy,

 

I have installed this Manual orders Contribution, and am quite impressed at the response in this forum.

 

Anyway, I have no issues with adding Customers, but when I go to create an order for a particular customer, I get the following error:

 

1054 - Unknown column 'new_value' in 'field list'

 

insert into orders_status_history (orders_id, new_value, orders_status_id, date_added) values ('5', '1', '1', now())

[TEP STOP]

 

Have I missed step?

 

Thanks in advance,

 

GTScoobydoo

Link to comment
Share on other sites

Great contribution! Just a little trouble getting it to work on a live shop. Here is what I get. Shop is locatd in Switzerland and all prices are rounded to .05 since there are no 1 pennies or cents. Here is the problem:

 

I have taxes rounded down or up to the next .05 Rappen (cents) in the shopping cart. Now, if I want to update the edit_orders.php and add a product to the order. It does show the incl. tax price in the customers order_history_info.php properly, but not rounded yet. Another more serious problem is the following:

It now adds the netto prices together to the subtotal and then adds the shipping charge and that's it. Instead of taking the brutto prices and adding them together to display as the subtotal in the account_history_info.php.

Wouldn't it be possible to change the contrib, so it does display and change the prices incl. tax in the edit_orders.php?

 

Thanks for you input!

Link to comment
Share on other sites

I want to add this contrib to an active store, what version should I use and who is the author?
There are several problems with tax and there are rounding problems i.c.w. tax. So if you are running a live "including tax store" you have to watch out! I don't believe a full tax proof verison exists at the moment, but the "8 Aug 2003 - Version 1.2a" works best for including tax shops as far as I know (haven't tested all versions of course).

 

I'll post a solution to the rounding errors if someones interested.

I have been reading through this tread to find a solution to the tax problem.

(SubTotal is without tax)

Like others I run a store with Tax included.

I just updated to 7 Jul 2004 - v.1.55 NextGen hoping this would solve my problem. Unfortunately it didn't.

 

As I quoted above there seems to be a difference between 7 Jul 2004 - v.1.55 NextGen and 8 Aug 2003 - Version 1.2a concerning the tax.

 

Anyone some ideas what the difference is and what I should do to have the SubTotal with tax?

Link to comment
Share on other sites

Hi,

 

We have a client running an MS1 store (very limited mods) and despite searching through the contrib. notes and thread, I am struggling to see which version is best for an MS1 install (tax included in prices).

 

This is for a live and succesful store so I'm very keen to get it right first time and not screw it up!

 

Grateful for any advice on which version I should use please.

 

Thanks for what looks like a great contrib.

 

Many thanks

Dave

up the down escalator..........

Link to comment
Share on other sites

Seems like we are the only one strugling with this.

 

I went through the code and did an update around line 222

 

$RunningSubTotal += $products_details["qty"] * $products_details["final_price"] + (($products_details["tax"]/100) *$products_details["qty"] * $products_details["final_price"]);

 

and around line 311

 

if($ot_class == "ot_total")

$ot_value = $RunningTotal - $RunningTax;

 

The code in Red is added by me.

 

 

 

It is probably not the best way to do this but it worked for me.

Any comments or suggestions to do this better please feel free to post them.

 

Remko

Link to comment
Share on other sites

Well, last time nobody answered my question. So, I figured it out myself. If anyone needs the solution to the problem I described ealier in the post regarding wanting to include the tax in the total_price and sub_total displayed in the account_history_info.php of the customer account and in the admin write me.

 

My concern is the following: Was the code not meant to support currencies? Well, mine doesn't - even tried code from 1.55 and up - and the support given on the 2 page of this topic does not apply anymore. Has anyone got it to work with his currency other the the $ sign and not in front, but behind the amount displayed?

Link to comment
Share on other sites

Ok, solved the problem with the currencies as well. Will post in a few all solutions to the currency problem. Don't know why it was ever said to work with currencies. Looks like somebody was looking for freelance work! Easy to solve, but a no-no for non-php users.

Link to comment
Share on other sites

Solutions to currency sign issues and tax issues...

 

Here are some solutions to the often asked currency sign issues and second a solution to tax adjustments I made according to my last post.

 

Solution: Currency sign fix and placement of sign

There are two versions of the currency sign fix included in this post. The first code shows the changes to put the sign after the values (such as used with EU-Euros) and the second code changes will show the sign in front of the values (such as used with US-Dollars). The curreny sign issue is resolved from showing always a $ (dollar sign) to the currency used in the order edited. Around 478 - 505 you should edit the following lines in red to the following if you want the correct currency sign to be after the values.

 

First currency solution - sign after values

Code changes begin!

 

// Tax

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '" . number_format($RunningTax, 2, '.', ',') . $order->info['currency'] . "',

value = '" . $RunningTax . "'

where class='ot_tax' and orders_id=$oID";

tep_db_query($Query);

 

// Sub-Total

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '" . number_format($RunningSubTotal + $RunningTax, 2, '.', ',') . $order->info['currency'] . "',

value = '" . $RunningSubTotal . "'

where class='ot_subtotal' and orders_id=$oID";

tep_db_query($Query);

 

// Total

$Query = "select sum(value) as total_value from " . TABLE_ORDERS_TOTAL . " where class != 'ot_total' and orders_id=$oID";

$result = tep_db_query($Query);

$row = tep_db_fetch_array($result);

$Total = $row["total_value"] + $RunningTax;

 

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '<b>" . number_format($Total, 2, '.', ',') . $order->info['currency'] . "</b>',

value = '" . $Total . "'

where class='ot_total' and orders_id=$oID";

tep_db_query($Query);

 

Code changes end here!

 

If you want to have the curreny sign in front of the value use the following code.

 

Second currency solution - sign in front of values

Code changes begin!

 

 

// Tax

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '" . $order->info['currency'] . number_format($RunningTax, 2, '.', ',') . "',

value = '" . $RunningTax . "'

where class='ot_tax' and orders_id=$oID";

tep_db_query($Query);

 

// Sub-Total

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '" . $order->info['currency'] . number_format($RunningSubTotal + $RunningTax, 2, '.', ',') . "',

value = '" . $RunningSubTotal . "'

where class='ot_subtotal' and orders_id=$oID";

tep_db_query($Query);

 

// Total

$Query = "select sum(value) as total_value from " . TABLE_ORDERS_TOTAL . " where class != 'ot_total' and orders_id=$oID";

$result = tep_db_query($Query);

$row = tep_db_fetch_array($result);

$Total = $row["total_value"] + $RunningTax;

 

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '<b>" . $order->info['currency'] . number_format($Total, 2, '.', ',') . "</b>',

value = '" . $Total . "'

where class='ot_total' and orders_id=$oID";

tep_db_query($Query);

 

Code changes end!

 

Solution: Values correction with tax

Here some fixes to the total and taxes problem I had. Depending on what settings you use, it might be helpful to you as well. I show subtotals including tax. You can modify as needed there are three edits which you can edit depending on your chosen settings. Just try and I am sure you'll soon figure out what changes and what not if you do the edits. Easiest is to have three windows open. The admin on the edit_orders.php the admin with orders.php and the customer side in the catalog (online shop sales side) with an account and a test order to check your values in the account_history_info.php Watch out for the comment - beginning with // to give you some idea about which values you are editing.

 

Possible changes:

 

Change one begin!

 

// CWS EDIT (start) -- Check for existence of subtotals...

if($ot_class == "ot_total")

{

$ot_value = $RunningTotal + $RunningTax ;

if ( !$ot_subtotal_found )

{

// There was no subtotal on this order, lets add the running subtotal in.

$ot_value = $ot_value + $RunningSubTotal;

}

}

 

Change one end!

 

Change two begin!

 

// Sub-Total

$Query = "update " . TABLE_ORDERS_TOTAL . " set

text = '" . number_format($RunningSubTotal + $RunningTax, 2, '.', ',') . $order->info['currency'] . "',

value = '" . $RunningSubTotal . "'

where class='ot_subtotal' and orders_id=$oID";

tep_db_query($Query);

 

Change two end!

 

Change three begin!

 

// Total

$Query = "select sum(value) as total_value from " . TABLE_ORDERS_TOTAL . " where class != 'ot_total' and orders_id=$oID";

$result = tep_db_query($Query);

$row = tep_db_fetch_array($result);

$Total = $row["total_value"] + $RunningTax;

 

Change three end!

 

Hope this works out for you! It surely did for me! Drop me a line if you have any questions! I'll answer guaranteed! Estimated reply to Women in 1 day - men 3 - 5 days. :D

Link to comment
Share on other sites

Ok, after further testing, I found that I had built in a bug with the optional tax issue fix ealier. My solution worked fine, if you added one product after another to it, but if you simply changed the number of products, it messed up and took the sub_totals without tax again. Here is how to fix it:

 

On line 244 - 246 change to in red:

 

First, we got to get rid of the one change I suggested in my last post. It's the first change in the tax issue section.

 

Change back in code and delete the blue code!

// CWS EDIT (start) -- Check for existence of subtotals...

if($ot_class == "ot_total")

{

$ot_value = $RunningTotal + $RunningTax ;

if ( !$ot_subtotal_found )

{

// There was no subtotal on this order, lets add the running subtotal in.

$ot_value = $ot_value + $RunningSubTotal;

}

}

 

Change back end!

 

Here is a primitiv fix which works fine if you use one tax rate for all, like me. I am so wasted and got to get to bed, just look for the $tax thingy to put in place of the primitive numeric multiple of 1.076 and you'll make it multi tax rate compat. - please do... If you only use one tax rate insert instead of the hightligted 1.076, your tax rate.

 

Code addition begin!

 

// Update Tax and Subtotals

$RunningSubTotal += $products_details["qty"] * $products_details["final_price"] * "1.076";

$RunningTax += (($products_details["tax"]/100) * ($products_details["qty"] * $products_details["final_price"]));

 

Code addition end!

Link to comment
Share on other sites

  • 2 weeks later...

ok i kind of like this editor but everytime i edit something ans say update i get this message.

 

 

Warning: Cannot modify header information - headers already sent by (output started at /mnt/web_g/d31/s19/b021af86/www/EZsMART/nfoscomm/catalog/admin/includes/classes/order.php:146) in /mnt/web_g/d31/s19/b021af86/www/EZsMART/nfoscomm/catalog/admin/includes/functions/general.php on line 18

 

 

 

 

also i am still able to update it but dont want to recieve an error because i could get db error.

 

plz help

Link to comment
Share on other sites

HERE IS THE FIRST 20+ LINES OF EACH CODE

 

 

ADMIN/EDIT_ORDER.PHP

 

<?php

/*

$Id: edit_orders.php,v 1.2 2003/08/08 13:50:00 jwh Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

 

Written by Jonathan Hilgeman of SiteCreative.com ([email protected])

 

Version History

---------------------------------------------------------------

16/07/04

1.56 - Added a check for missing ot_subtotal on update

 

08/08/03

1.2a - Fixed a query problem on osC 2.1 stores.

 

08/08/03

1.2 - Added more recommendations to the instructions.

Added "Customer" fields for editing on osC 2.2.

Corrected "Billing" fields so they update correctly.

Added Company and Suburb Fields.

Added optional shipping tax variable.

First (and hopefully last) fix for currency formatting.

 

08/08/03

1.1 - Added status editing (fixed order status bug from 1.0).

Added comments editing. (with compatibility for osC 2.1)

Added customer notifications.

Added some additional information to the instructions file.

Fixed bug with product names containing single quotes.

 

08/07/03

1.0 - Original Release.

 

To Do in Version 1.3

---------------------------------------------------------------

 

Note from the author

---------------------------------------------------------------

This tool was designed and tested on osC 2.2 Milestone 2.2,

but may work for other versions, as well. Most database changes

were minor, so getting it to work on other versions may just

need some tweaking. Hope this helps make your life easier!

 

- Jonathan Hilgeman, August 7th, 2003

*/

 

require('includes/application_top.php');

 

require(DIR_WS_CLASSES . 'currencies.php');

$currencies = new currencies();

 

include(DIR_WS_CLASSES . 'order.php');

 

// New "Status History" table has different format.

$OldNewStatusValues = (tep_field_exists(TABLE_ORDERS_STATUS_HISTORY, "old_value") && tep_field_exists(TABLE_ORDERS_STATUS_HISTORY, "new_value"));

$CommentsWithStatus = tep_field_exists(TABLE_ORDERS_STATUS_HISTORY, "comments");

$SeparateBillingFields = tep_field_exists(TABLE_ORDERS, "billing_name");

 

// Optional Tax Rate/Percent

$AddShippingTax = "0.0"; // e.g. shipping tax of 17.5% is "17.5"

 

$orders_statuses = array();

$orders_status_array = array();

$orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . (int)$languages_id . "'");

while ($orders_status = tep_db_fetch_array($orders_status_query)) {

$orders_statuses[] = array('id' => $orders_status['orders_status_id'],

'text' => $orders_status['orders_status_name']);

$orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];

}

 

$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : 'edit');

//UPDATE_INVENTORY_QUANTITY_START#################################################

#############################################################

$order_query = tep_db_query("select products_id, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$oID . "'");

//UPDATE_INVENTORY_QUANTITY_START#################################################

#############################################################

 

 

 

ORDER.PHP

 

<?php

/*

$Id: order.php,v 1.7 2003/06/20 16:23:08 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

class order {

var $info, $totals, $products, $customer, $delivery;

 

function order($order_id) {

$this->info = array();

$this->totals = array();

$this->products = array();

$this->customer = array();

$this->delivery = array();

 

$this->query($order_id);

}

 

function query($order_id) {

$order_query = tep_db_query("select customers_name, customers_company,

customers_street_address, customers_suburb, customers_city,

customers_postcode, customers_state, customers_country, customers_telephone,

customers_email_address, customers_address_format_id, delivery_name,

delivery_company, delivery_street_address, delivery_suburb, delivery_city,

delivery_postcode, delivery_state, delivery_country,

delivery_address_format_id, billing_name, billing_company,

billing_street_address, billing_suburb, billing_city, billing_postcode,

billing_state, billing_country, billing_address_format_id, payment_method,

cc_type, cc_owner, cc_number, cc_expires, currency, currency_value,

date_purchased, orders_status, last_modified, cc_cvv2 from " . TABLE_ORDERS

. " where orders_id = '" . (int)$order_id . "'");

$order = tep_db_fetch_array($order_query);

 

$totals_query = tep_db_query("select title, text from " .

TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "' order by

sort_order");

while ($totals = tep_db_fetch_array($totals_query)) {

$this->totals[] = array('title' => $totals['title'],

'text' => $totals['text']);

}

 

$this->info = array('currency' => $order['currency'],

'currency_value' => $order['currency_value'],

'payment_method' => $order['payment_method'],

'cc_type' => $order['cc_type'],

'cc_owner' => $order['cc_owner'],

'cc_number' => $order['cc_number'],

'cc_expires' => $order['cc_expires'],

'cc_cvv2' => $order['cc_cvv2'],

'date_purchased' => $order['date_purchased'],

'orders_status' => $order['orders_status'],

'last_modified' => $order['last_modified']);

 

$this->customer = array('name' => $order['customers_name'],

'company' => $order['customers_company'],

'street_address' =>

$order['customers_street_address'],

'suburb' => $order['customers_suburb'],

'city' => $order['customers_city'],

'postcode' => $order['customers_postcode'],

'state' => $order['customers_state'],

'country' => $order['customers_country'],

'format_id' =>

$order['customers_address_format_id'],

'telephone' => $order['customers_telephone'],

'email_address' =>

$order['customers_email_address']);

 

$this->delivery = array('name' => $order['delivery_name'],

'company' => $order['delivery_company'],

'street_address' =>

$order['delivery_street_address'],

'suburb' => $order['delivery_suburb'],

'city' => $order['delivery_city'],

'postcode' => $order['delivery_postcode'],

'state' => $order['delivery_state'],

'country' => $order['delivery_country'],

'format_id' =>

$order['delivery_address_format_id']);

 

$this->billing = array('name' => $order['billing_name'],

'company' => $order['billing_company'],

'street_address' =>

$order['billing_street_address'],

'suburb' => $order['billing_suburb'],

'city' => $order['billing_city'],

'postcode' => $order['billing_postcode'],

'state' => $order['billing_state'],

'country' => $order['billing_country'],

'format_id' =>

$order['billing_address_format_id']);

 

$index = 0;

$orders_products_query = tep_db_query("select orders_products_id,

products_name, products_model, products_price, products_tax,

products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where

orders_id = '" . (int)$order_id . "'");

while ($orders_products = tep_db_fetch_array($orders_products_query))

{

$this->products[$index] = array('qty' =>

$orders_products['products_quantity'],

'name' =>

$orders_products['products_name'],

'model' =>

$orders_products['products_model'],

'tax' =>

$orders_products['products_tax'],

'price' =>

$orders_products['products_price'],

'final_price' =>

$orders_products['final_price']);

 

$subindex = 0;

$attributes_query = tep_db_query("select products_options,

products_options_values, options_values_price, price_prefix from " .

TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id .

"' and orders_products_id = '" . (int)$orders_products['orders_products_id']

. "'");

if (tep_db_num_rows($attributes_query)) {

while ($attributes = tep_db_fetch_array($attributes_query)) {

$this->products[$index]['attributes'][$subindex] =

array('option' => $attributes['products_options'],

'value'

=> $attributes['products_options_values'],

 

'prefix' => $attributes['price_prefix'],

'price'

=> $attributes['options_values_price']);

 

$subindex++;

}

}

$index++;

}

}

}

?>

 

 

 

GENERAL.PHP

 

 

<?php

/*

$Id: general.php,v 1.160 2003/07/12 08:32:47 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

////

// Redirect to another page or site

function tep_redirect($url) {

global $logger;

 

header('Location: ' . $url);

 

if (STORE_PAGE_PARSE_TIME == 'true') {

if (!is_object($logger)) $logger = new logger;

$logger->timer_stop();

}

 

exit;

}

 

////

// Parse the data used in the html tags to ensure the tags will not break

function tep_parse_input_field_data($data, $parse) {

return strtr(trim($data), $parse);

}

 

function tep_output_string($string, $translate = false, $protected = false) {

if ($protected == true) {

return htmlspecialchars($string);

} else {

if ($translate == false) {

return tep_parse_input_field_data($string, array('"' => '"'));

} else {

return tep_parse_input_field_data($string, $translate);

}

}

}

 

function tep_output_string_protected($string) {

return tep_output_string($string, false, true);

}

 

function tep_sanitize_string($string) {

$string = ereg_replace(' +', ' ', $string);

 

return preg_replace("/[<>]/", '_', $string);

}

 

function tep_customers_name($customers_id) {

$customers = tep_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customers_id . "'");

$customers_values = tep_db_fetch_array($customers);

 

return $customers_values['customers_firstname'] . ' ' . $customers_values['customers_lastname'];

}

 

function tep_get_path($current_category_id = '') {

global $cPath_array;

 

if ($current_category_id == '') {

$cPath_new = implode('_', $cPath_array);

} else {

if (sizeof($cPath_array) == 0) {

$cPath_new = $current_category_id;

} else {

$cPath_new = '';

$last_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$cPath_array[(sizeof($cPath_array)-1)] . "'");

$last_category = tep_db_fetch_array($last_category_query);

 

$current_category_query = tep_db_query("select parent_id from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");

$current_category = tep_db_fetch_array($current_category_query);

 

if ($last_category['parent_id'] == $current_category['parent_id']) {

for ($i = 0, $n = sizeof($cPath_array) - 1; $i < $n; $i++) {

$cPath_new .= '_' . $cPath_array[$i];

}

} else {

for ($i = 0, $n = sizeof($cPath_array); $i < $n; $i++) {

$cPath_new .= '_' . $cPath_array[$i];

}

}

 

$cPath_new .= '_' . $current_category_id;

 

if (substr($cPath_new, 0, 1) == '_') {

$cPath_new = substr($cPath_new, 1);

}

}

}

 

return 'cPath=' . $cPath_new;

}

Link to comment
Share on other sites

The only problem that I have with this is when it comes to modifying an order, if they have used a gift voucher to pay for it, it automatically adds the gv instead of reducing the order accordingly.

 

Does anyone know how to bi-pass this?

Link to comment
Share on other sites

Great addon but one question

 

Right now everything else that has to do with my customers is running in SSL EXCEPT this mod, what do I need to change in the code to make the order editing run in SSL as well?

 

Thanks in advance!

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Link to comment
Share on other sites

I posted this in a separate thread, but it does apply to this Contribution!

 

I've had a search, but again alas not found answers elsewhere.

 

I'm using the 'Edit Orders' contribution to allow me to manually apply a discount to certain people's orders as necessary.

 

However, while "admin/orders.php" correctly reports the revised "Order Total"

 

"Best Customers Order Total" ("admin/stats_customers.php") does not, instead showing the original value before the discount.

 

The "Sales Report 2" contribution also shows the (now wrong) value.

 

I'm guessing it's because "admin/orders.php" selects the value from the ORDERS_TOTAL table while "admin/stats_customers.php" selects the value from the ORDERS table?

 

Unfortunately my PHP skills aren't yet good enought to make such modifications, anyone know how to make this work so order totals are accurate?

 

Any help much appreciated!

 

Juju

Link to comment
Share on other sites

NEVER MIND I GOT IT FIXED

 

ALSO DOES IT HAVE TO POP UP WHEN YOU PRESS EDIT CANT IT BE JUST IN THE SAME WINDOW.

 

WOULD HELP IF IN STEPS HOW TO DO THAT... NOOB 2 PHP :D

Hi Asheet

 

I tought the same and you can chaging the code in orders.php to have the link you added without the target="_blank". Glad you fixed your prob... :lol:

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

Help needed to install Order Entry 1.57.

New user here.

Just installed 1.57 on a fresh C2M2. Got this errror when clicking the Edit Order Button:

 

Parse error: parse error, unexpected $ in /usr/local/share/okkiss/m2Integ/admin/edit_orders.php on line 1298,

 

Running on Fedora Core 2, Apache 2.0.50-2.1, php-4.3.8-3, MySQL-server-4.0.15-0

 

Thanks in advance,

Gustavo

Link to comment
Share on other sites

Question:

 

Is this supposed to email the customer on any changes made to the order?

 

I made changes and clicked the Notify customer box, left it blank, clicked append comments, left it blank, etc. The customer gets no notification at all that it was edited and what those changes were.

 

I would like to have the customer receive the updated invoice in email....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...