View Full Version : UPS XML Ready to Ship/Dimensional support

02-06-2007, 06:17 AM
Hi there,

I need to use the additional features of the UPS XML shipping method that enable Ready To Ship and Dimensional Support,. I see in the database that the packaging and dimension fields are already included in their proper place, but in the admin sections there are no options for adding this information or these options in the product definitions or the UPS XML shipping modules options page.

Before I dig in and install the latest version over top of the other one, do I need to add something or flip a switch somewhere to activate these additional features that seem to be installed but not visible?

Also, what version of UPS XML was installed in RC3?



02-07-2007, 06:38 PM
Ditto Here, Same exact Question...

Regards, Nicholas

02-07-2007, 08:40 PM
This is a great contribution and the recent updates made it even better.

You'll need to download the contribution and follow the dimensions.txt information and update your products table to include length, width, height, and RTS, but it's very easy to do. Some of the steps are already done in the stock max cart but includes/classes/shopping_cart and admin/categories need the modifictions done. You should go step by step just to make sure

I'm pretty familiar with this module and the recent changes and it's worth your time to update to version 1.2.6 if you want to used dimensional support. You can just change the unique files, but if you have installed it in the admin panel you' should use remove button before you change the files.

It's really very easy but post here if I can help you with any of it.

In order to make changing product dimensions easier I modified the Quick Updates with SPPC contrib to include length width height and RTS. I've uploaded the modified files to the project page here if you want to used it.

03-02-2007, 06:20 PM
I deal with both residential shipping and commercial shipping. Anyway to get a toggle for the customer to click between them?

Also alot of COD orders and there is no place to set that up with the xml module that came with oscmax. Any ideas?

03-04-2007, 05:53 AM
I deal with both residential shipping and commercial shipping. Anyway to get a toggle for the customer to click between them? That's not an existing option but you might be able to do that without too much effort. Seems like it would be best to make it part of the address book and have it pull from there instead of the config table.

Actually, it's not a bad idea, and I ship to both too, but currently everyone gets the residential rate. But,for the most part the people that are more sensitive to shipping charges are at a residence anyway.

Also alot of COD orders and there is no place to set that up with the xml module that came with oscmax. Any ideas?
COD is an existing payment option, but that seems like a dangerous option to have enabled to the public. You could enable it through customer groups so only people you have approved will have that as an option.

03-04-2007, 06:17 AM
thank you John. I am not sure how to do that with the commercial/residential but am still looking into it. It is about 50/50 on comm and res as I deal with alot of home businesses with our wholesale company.

For COD since we are a wholesale company everyone has to be approved before they order. With the high rate that UPS adds to packages now for COD I just did not want it to be a suprise to the customers. It seems to go up every year and if it does not reflect that then I waste alot of time explaining to customers why COD charge was so high. I could probably add a message to the checkout page on COD fees.

I do appreciate you taking the time to answer.


03-04-2007, 06:33 AM

I just found this contrib. Maybe you can make it work with OSCmax

osCommerce: Collect Residential / Commercial info for shipping (http://www.oscommerce.com/community/contributions,3494/page,2)

I am going to try but sometimes I am not always sucessful. :)

03-04-2007, 06:59 AM
I wondered about the home business, because I deal with that a lot too. For UPS a home business gets charged residential rates and not commercial. They go by zoning laws and they add it on our invoice if we list it as commercial and it's a residence. How do you get around that?

FedEx does the same. Bonus with Fedex is their "home delivery" delivers on Saturday.

I figured the COD charge was the reason you asked about that, but if you wrap it into your shipping charges then you'll probably spend a lot of time explaining why the shipping charges are so high. Or, worse they don't complete the order. I'm in that same position with oversize boxes making shipping high.

But, if you put it on the COD option, then they can see it plain as day. Or, that's the theory. You can add the statement in english/cod.php so they see it when they select it.

03-04-2007, 07:15 AM
Blayne, that contrib is basically what I was thinking.

Do you have "Beyond Compare"? It will compare the files side by side and highlight the differences, which makes it way easier for you for any contribution you do. You can load a whole contribution on one side and your catalog on the other and it makes it wayyyyyyyy easier.

03-04-2007, 09:51 AM
I use winmerge. I have done all the edits (very long) and found where the differences were between the new bts with oscmax and the contribution on everything with the exception of 1 which I did not run into until the end. I could not find what they refered to as line 27 as in admin/includes/classes/order.php it is completely different so I am not sure where to put this change. I found the place they refer to as line 67 but not 27. Anyone help me out here? I will paste the instructions for this section.


Add to line 27

$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_residence_id, 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 from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'"); // Res/com Contrib

Add to line 67
'residence_id' => $order['delivery_residence_id'], // Res/comm Contrib

$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'],
'residence_id' => $order['delivery_residence_id'], // Res/comm Contrib
'format_id' => $order['delivery_address_format_id


03-04-2007, 05:30 PM
Well it works without it and I added the extra contribution so UPS will calculate the difference on the fly of commercial and residential. I am not sure what is going to show up missing due to the missing code that I spoke of in previous post but this is a great add on for those who ship both comm and residential.

03-20-2007, 05:56 PM
Hi Bk,

I just installed the res/comm contrib and ran across the section that you had a problem with. You didn't find the exact code segment because it was changed in the original. The code that replaced the segment you were looking for was

$order_query = tep_db_query("select * from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'");

The function selects fields from database tables, and the old version selected the tables/fields individually. The new version of the code just selects them all using a wildcard, so it is unnecessary to change it, because it has selected all fields. as long as you updated the database with the new fields, you won't have a problem (and you didn't).

Thanks for the suggestion.

03-21-2007, 06:38 AM
Sorry I missed your previous posts Blayne, but I haven't been on this board much and I didn't get a notification email until Fourmat posted.

Anyway, sounds like it's working okay. I guess after you've had it for a while you'll be able to compare your shipping charges to your actual UPS charges and see how well it works out.

03-24-2007, 08:49 AM
Fourmat Sorry for taking long to get back. I figured that out and it actually makes it Easier. John so far pretty much right on to my UPS xml rates.
I changed the code as you stated to handle the COD option.

I am done and will be adding a shipping tracking contribution so customers can track there orders online and shop owners in admin orders section. I just have to finish packaging it. It works great for UPS,USPS and Fedex and is a great addition.
Also I just added a new CC module that is cool but need a bit of help with.
Have a great day.

03-24-2007, 10:34 AM
I use the Authorize.net Consolidated v1.7 by Austin519 CC module and it works very well. I used the AIM system since 2002 with OSC and it's been a great system the whole time. Except for a week a few years ago with Authorize.net had probelms with DDOS attacks it's been completely problem free. That's the only CC module I know but let me know how your other one works out.

The Batch Print tool you might want to look into also. It is basically installed in Max but needs tweaking to work is a great contribution. You can make a custom invoice that it generates with a PDF and you can email. If you are shipping a lot you can update a batch of orders at one time and it sends a different order update email than the regular order update.

04-26-2007, 08:05 AM
John/BKPie and anyone else,

I have the standard options working OK, but I'm needing to use the Ready To Ship option and I'm having a problem. For some reason when the RTS option is enabled, the product weight is not being delivered to the UPS XML module. Everything else is fine, including the price, quantity, address info, etc. But it is missing the weight. As a matter of fact, the total weight is being passed to the module, but the individual weight that it uses to calculate the separate package shipping is not.

I've done some looking and have identified some changes to the /classes/shopping_cart.php that have to do with the SPPC contrib where it involved the weight and I was wondering if anyone else could enable the UPSXML RTS function to see it it was working on their end.

Thanks for the help.

04-26-2007, 09:07 AM
Aw crap. Disregard the last question. I found that I borked the instllation of the dimensional features and had wiped out the weight SQL call during the modification. Figures...

08-07-2007, 12:05 PM
OK, I've run into another problem concerning the residential./commercial add on. Inside of OSCMax RC3, one things that the contribution doesn't take into account is the usage of the Purchase Without Account feature, which I use.

I haven't been able to figure it out quite yet because I can't get it to set the entry_residence_id toggle inside of the database. it appears that everything is identical to the changes that needed to be made in the core files, but for some reason it's not working.

I'm still plugging away. if anyone else has modded this contrib to use with the PWA package, let me know. I'll post the solution once I get it figured out.

07-15-2008, 08:52 PM
In order to make changing product dimensions easier I modified the Quick Updates with SPPC contrib to include length width height and RTS. I've uploaded the modified files to the project page here if you want to used it.
im looking for the modifications on the project page can you send a link??

07-16-2008, 05:09 AM
Sure, it's
Quick price updates for sppc with product dimension - osCMax - osCommerce Maximized (http://www.oscmax.com/node/115)

Also, after you have this working you can search "quick updates" on the main OSC site contributions section and you will see a newer version of "quick updates for sppc" by Jan Z that doesn't rely on register_globals. It doesn't have the dimensional support but you can use it to update your file pretty easily.

07-16-2008, 02:25 PM
im trying to update mvs to use diminsional and am following the UPSXML_v1_2_6_for_MVS file on the osc site one thing i dont understand is the instruction
2) A function is needed to retrieve only products that belong to a specific vendor.

FIND function get_products() {
COPY entire function
PASTE above the function get_products() {
REPLACE IN PASTED COPY OF FUNCTION function get_products() {
//MVS - added function to only retrieve specific vendors products
function get_vendors_products($vendor) {

REPLACE: v.vendors_id = p.vendors_id

WITH: v.vendors_id = '" . $vendor . "' and p.vendors_id = '" . $vendor . "'

can someone tell me where the end of this function is. sorry for bein a noob ,

07-28-2008, 10:59 AM
i have message when i activated unitd parcer service xml

United Parcel Service (XML) http://www.ledistributeur.com/catalog/images/icons/shipping_ups.gif
http://www.ledistributeur.com/catalog/images/pixel_trans.gifhttp://www.ledistributeur.com/catalog/images/pixel_trans.gif100001: Unknown error.
If you prefer to use ups as your shipping method, please contact store owner

i need your help

08-04-2008, 11:21 AM
ok another question, i updated to 1.2.6 of the dimensional support and no matter how many items i add it it always puts in 3 or more boxes, ex if i set an item in admin to be in a 8x8x8 box with weight 2lbs when i check out it puts in 3 boxes ex http://swliquidators.com/store/images/pixel_trans.gif United Parcel Service (XML) (3 pkg(s), 2.69 lbs total) if i add 14 of the same item i get http://swliquidators.com/store/images/pixel_trans.gif United Parcel Service (XML) (3 pkg(s), 33.25 lbs total) another example is if i have a large item United Parcel Service (XML) (3 pkg(s), 71.56 lbs total) should be put in a 24x24x24 box at 60lbs as set in the admin, it cant be split cuz its a big ol oscilliscope. so where do i need to look to start troubleshooting.