UPS Realtime Negotiated ( discount ) Rates

Hi All,



We are new to CS-Cart, and are still setting up our shipping methods in the Admin panel. I have searched to forums and kind of followed directions along with some help from google and I feel like I may be stumped here. Please bare with me, as I want to make sure I explain everything.



We are trying to set up UPS Real Time Shipping Rates that will show our UPS negotiated rates. We understand that getting the real time rates requires the XML access key, and userid to pull from the UPS Online Tools API. Further the online tools API is accessed by an XML request generated by CS-Cart using these two items. We have acquired both the XML Key and the UserID from our UPS Rep and we are able to get real time rates, but they are not our negotiated rate. Usually, they are nearly half of what our daily pickup rates are.



Here’s our setup on the Admin Panel:



Administration → Settings → Shipping Settings → UPS



UPS Rates Access Key: “OUR KEY HERE” <— yes we have a key

Username: “OUR USERNAME”

Password: “OUR PASSWORD”

Test Mode: Not checked

Pickup Type: Daily Pickup

Package Type: Package

Width, Height, Length: 10



Shipping/Taxes → Shipping Methods → (New Method)



POS. = 0, Name = UPS Ground, Delivery Time = 3-5 Days, Weight Limit = 0.00, Membership = All, Status = Acive



Click on “edit” next to Active Status.



All fields are the same as the other page except for:

Shipping Service: “UPS USA: Ground”

Taxes: None checked

Rate Calculation: Realtime



Weight(lbs) = 5.0 Lbs , we click “Test” and then a window pops up giving us the real time rate. For this 5.0 lb package to this particular location, we are getting back $8.58 for the rate.



Our negotiated / discount rate to residential is more than a dollar less than this, and our rate to a business for ground is nearly half of this. So our negotiated rates are definitely not getting pulled.



So what gives? How can we get these rates?

[quote name=‘unique2’]Hi All,



We are new to CS-Cart, and are still setting up our shipping methods in the Admin panel. I have searched to forums and kind of followed directions along with some help from google and I feel like I may be stumped here. Please bare with me, as I want to make sure I explain everything.



We are trying to set up UPS Real Time Shipping Rates that will show our UPS negotiated rates. We understand that getting the real time rates requires the XML access key, and userid to pull from the UPS Online Tools API. Further the online tools API is accessed by an XML request generated by CS-Cart using these two items. We have acquired both the XML Key and the UserID from our UPS Rep and we are able to get real time rates, but they are not our negotiated rate. Usually, they are nearly half of what our daily pickup rates are.



Here’s our setup on the Admin Panel:



Administration → Settings → Shipping Settings → UPS



UPS Rates Access Key: “OUR KEY HERE” <— yes we have a key

Username: “OUR USERNAME”

Password: “OUR PASSWORD”

Test Mode: Not checked

Pickup Type: Daily Pickup

Package Type: Package

Width, Height, Length: 10



Shipping/Taxes → Shipping Methods → (New Method)



POS. = 0, Name = UPS Ground, Delivery Time = 3-5 Days, Weight Limit = 0.00, Membership = All, Status = Acive



Click on “edit” next to Active Status.



All fields are the same as the other page except for:

Shipping Service: “UPS USA: Ground”

Taxes: None checked

Rate Calculation: Realtime



Weight(lbs) = 5.0 Lbs , we click “Test” and then a window pops up giving us the real time rate. For this 5.0 lb package to this particular location, we are getting back $8.58 for the rate.



Our negotiated / discount rate to residential is more than a dollar less than this, and our rate to a business for ground is nearly half of this. So our negotiated rates are definitely not getting pulled.



So what gives? How can we get these rates?[/QUOTE]



Hello Unique2,



Did you ever get this resolved so that your Contract / Negotiated rates for UPS are actually being returned to CS-Cart?

I do not believe the “rating” API (which is what’s used by CS-cart) will return negotiated rates. I believe you would have to use the XML Shipping Tools API to get an account specific negotiated rate returned. But I’d have to dig through the UPS documentation to be sure.



To get an access key for XML Shipping Tools will require you to jump through a bunch of hoops to demonstrate that you a generating acceptable shipping labels even though you won’t be generating labels! That’s an issue with UPS.



Feel free to send an email to tonyb at ez-ms.com if you would like to discuss chaning the method in which cs-cart acquires shipping rates. You can also look at our recent addon at: [url]http://www.ez-ms.com/addonproducts/ups-dynamic-shipping.html[/url]. But this module won’t get you the rates you’re looking for, but it will give your customers all the available delivery options and specific delivery dates and times whether known to cs-cart or not.

Hello Tony,


[QUOTE]I do not believe the “rating” API (which is what’s used by CS-cart) will return negotiated rates. I believe you would have to use the XML Shipping Tools API to get an account specific negotiated rate returned. But I’d have to dig through the UPS documentation to be sure.[/QUOTE]



Although I am not yet absolutely certain, I don’t “think” you are correct regarding this. After the conversations I have had recently with UPS tech support, our negotiated contract rates will be returned during rating calls after approx. 5 days of requesting the negotiated rates to be displayed vs. retail.



Also, we just re-negotiated our rates and switched from Fedex back to UPS and our negotiated rates were indeed being displayed in CS-Cart from Fedex. I will report back as soon as our new UPS rates have been uploaded to their rates server to confirm if they are actually being displayed.



It amazes me that knowone else has confirmed that they are actually having their contract rates returned for UPS realtime calculations, either everyone else here on the forums ships tiddlywinks in flat rate envelopes or doesn’t know the difference! :slight_smile:

I hope you are correct. That would make the most sense (which is probably why I doubted it).



In my experience people (merchants) pay very little attention to shipping. They assume that what they charge is what they get charged. Rarely is that really the case.



If it were me, I would probably want to add a sur-charge to my negotiated rates to ensure profitability on shipping. But the freight_shipping item is applied to each item rather than each shipment so it’s basically useless as a flat-rate surchage. You’d have to have a different amount based on the estimated number of items for each product in a shipment.



If you sold those tiddlywinks as individual items for $0.50 each and had a shipping_freight charge of %0.50 and someone ordered a case (24) then you’d have $12 in extra shipping charges…



I think they try to do too much by the item (discounts, taxes, etc.) where the most applicable is on the order…



Be interested to hear your results.

Hello Tony,


[QUOTE]If it were me, I would probably want to add a sur-charge to my negotiated rates to ensure profitability on shipping. But the freight_shipping item is applied to each item rather than each shipment so it’s basically useless as a flat-rate surchage. You’d have to have a different amount based on the estimated number of items for each product in a shipment.[/QUOTE]



I actually have our CS-Cart store setup to display our realtime fedex negotiated rates exactly one dollar higher (per shipment) for each order. I have tested this a zillion times and it is exactly one dollar higher per shipment (not per item).



I just took a look & what I did was add $1.00 under cost dependencies for the particular realtime shipping methods. This takes care of our weekly misc charges such as the daily pickup charge, address correction BS fees, etc. etc. (Products Cost, More Than $0, Rate Value 1, Absolute $)

Tony,



I mentioned that I would follow up on this issue, and after digging into it further including recent discussions with UPS tech support, I have come to the conclusion that the reason we are not obtaining our Negotiated Rates when realtime rates are returned is because our UPS account number must ALSO be sent in the xml requests. CS-Cart only sends out the UPS “User ID” and “Access Key”, however, the 3rd parameter being Account Number must also be included, otherwise only Retail rates are returned!



Here is a recent response from UPS Tech Support:

```php Thank you for your inquiry. I apologize for the difficulty you are encountering with the rates returned. Negotiated Rates are only returned for qualified Shipper Account Numbers and eligibility is determined using the combination of User ID and the Shipper’s Shipper Account Number in the XML request. If the User ID is qualified, both Published Rates and Negotiated Rates are returned. If the User ID or Shipper Account Number is not qualified for Negotiated Rates, only Published Rates are returned in the response.



The approved shipper number needs to be associated with the User ID used in the XML by adding it the Account Summary under Manage MyUPS at UPS.com.



To receive Negotiated Rates some XML additions are required that are slightly different from a basic request.


  1. The approved User ID associated with the Negotiated Rates must be used in the AccessRequest container along with the Access Key and Password.


  2. The approved shipper number must be included in the RatingServiceSelectionRequest/Shipment/Shipper/ShipperNumber container.


  3. The empty node must be included in the RatingServiceSelectionRequest/Shipment/RateInformation container. The RateInformation container may need to be added as well.


  4. The node is required in the RatingServiceSelectionRequest/Shipment/Shipper/Address container or RatingServiceSelectionRequest/Shipment/ShipFrom/Address container depending on the absence or presence of the ShipFrom container. If the container is present, the node is required there. In the absence of a container the node is required in the container. It is also required in the RatingServiceSelectionRequest/Shipment/ShipTo/Address container.



    Please see the XML snippet below for examples of element placement. Note these are in addition to the already required tags for all Rates Tool requests:







    XXXXXXXXXXXXXXXX

    XXX…XXX

    XXXX…XXXX











    XXXXXX

XX




XX




XX







5) Negotiated rates are returned in the NegotiatedRates node of the XML response and only at the shipment level. Published rates are still returned in the normal locations.




16.08





6) Lastly, please note that the Customer Integration Environment (CIE) only returns a 1% discount regardless of you actual negotiated rates. You will need to move to production to see your actual rates.

Please contact us if you need any additional assistance. ```

This is frustrating because CS-Cart does not have an option to enter the UPS Account Number, thus out of the box it is not even possible to obtain Negotiated Rates...........Nice! :rolleyes: Just another deficiency in the CS-Cart shipping capabilities.

Most any business that does any real shipping volume is going to need to start working with their negotiated rates, and add additional percentages or flat fees to this when desired, it is not practical (or really even possible) to start with Retail rates & work downwards by discounting the realtime rates being returned!

So, any thoughts or comments are appreciated!

Struck-



Maybe you should add this as a bug in the Bug Tracker. CS-Cart claims that they offer UPS support but fails to include a pretty basic feature; I consider pulling the appropriate rates pretty basic. This would be a very easy fix for them - add the account number to the UPS settings and then transmit it to UPS in the XML request. I doubt there are any changes required beyond that since they simply display the rated returned.



Bob

[quote name=‘jobosales’]Struck-



Maybe you should add this as a bug in the Bug Tracker. CS-Cart claims that they offer UPS support but fails to include a pretty basic feature; I consider pulling the appropriate rates pretty basic. This would be a very easy fix for them - add the account number to the UPS settings and then transmit it to UPS in the XML request. I doubt there are any changes required beyond that since they simply display the rated returned.



Bob[/QUOTE]



Hello Bob,



I will do this more or less as an attempt to make CS-Cart better for all of us in the long run, however, do you really think there is a snowball’s chance they will consider this as a bug? Guess we will find out! :wink:



My problem is that I need/must have our negotiated rates returned from UPS now! So I can’t wait to have this added by CS-Cart to the core release. And although I am not a coder, it would appear to me as well that it should not be that difficult for someone that knows what they are doing to add another parameter to the xml rates request, even if our UPS Shipper Number is hardcoded in a file someplace.



If anyone wants to tackle this soon (full fee or shared cost, either way) let me know!

[quote name=‘Struck’]I will do this more or less as an attempt to make CS-Cart better for all of us in the long run, however, do you really think there is a snowball’s chance they will consider this as a bug? Guess we will find out! :wink: [/QUOTE]

You are probably right that they will not consider this a bug, especially since they seem quite busy with the 2.1 stuff. I am sure this will get a “working as designed” status but it is worth a shot.



Personally, I would prefer they take the time needed to deliver a solid 2.1 release and would make sure that bugs be addressed quickly while working on the new release. Here’s hoping that they review the effort needed to implement this and decide that it is important enough to tackle immediately.



Traveler asked in another thread whether there would be a 2.0.15 release. At first I was thinking that I do not really want a release before 2.1 but, after giving it more thought, I think it might be a good idea. There are currently about 25 patches in the Bug Tracker which have not been delivered in a production release, the most important of which addresses a Paypal Express problem ([url]http://forum.cs-cart.com/vbugs.php?do=view&vbug_id=1860[/url]). I think that they should work at addressing as many bugs as they can in the next couple of weeks and then package them up for a release at the end of April/beginning of May. They should also include in this 2.0.15 release whatever patches are necessary to address the new MasterCard/Discover requirements ([url]http://forum.cs-cart.com/vbugs.php?do=view&vbug_id=1861[/url]). Then they can deliver a 2.1 beta late May or early June (using their same optimistic schedule).



Bob

Bob,



I just added it to the bugtracker, so hopefully some others will jump on it & add to the importance of this.



Regardless, as i mentioned, I have to obtain this functionality like yesterday! :slight_smile:



Here is our dilemna… We just renegotiated our parcel shipping business with UPS & switched back to them from Fedex. While using Fedex, our Negotiated rates were returned to CS-Cart, everything was working as planned! Now, I setup our UPS details in CS-Cart, make the switch and then realize that our UPS rates are being returned to our store as flippin Retail! :twisted: That just absolutely ain’t gonna work…



So, who wants to tackle this meager task? :wink:

Yes, all that’s passed i s the username, pasword and access key. They do handle the element in requesting wholesale or retail rates.



Still not overly clear to me why one would want to priovide their negotiated rate to their customers. Seems like providing the “wholesale” or “retail” rate would be what most would want to “sell” the shipping for. The difference would be profit. But then, that should be a Merchant’s choice.



Thanks for clarifying it.



tony

[quote name=‘tbirnseth’]Still not overly clear to me why one would want to priovide their negotiated rate to their customers. Seems like providing the “wholesale” or “retail” rate would be what most would want to “sell” the shipping for. The difference would be profit. But then, that should be a Merchant’s choice. [/QUOTE]

What would be nice is if you could specify a markup on the shipping rate returned. Currently, you can only do markups based on order parameters.



Bob

Hello Tony,


[QUOTE]Still not overly clear to me why one would want to priovide their negotiated rate to their customers. Seems like providing the “wholesale” or “retail” rate would be what most would want to “sell” the shipping for. The difference would be profit. But then, that should be a Merchant’s choice.[/QUOTE]



Without making for a long drawn out explanation, it really depends upon things like

  • How large are your total order amounts
  • What is the total shipping costs for these orders
  • What is your client base (b2b or b2c)
  • What is your average gross profit margin



    As an example, if you mostly catered to b2c, and the shipping weight of an average order was say less than 5 Lbs, then yes, you can typically charge a higher amount for shipping and actually consider shipping as a profitable item (especially with highly discounted shipping rates). In our case we consider passing our discounts on to our customers as a way of making us more competitive in our industry, so the more effort we put into reducing shipping charges, the more competitive we become! And considering the majority of our customers are b2b, rest assurred they can quickly spot overpriced shipping costs! In this case they will simply ask “Can you ship this order freight collect on our UPS account?” And, typically we can, however our shipment volumes against our UPS account then drops giving US less negotiating power for shipping rates!



    Just like most other aspects of business, it is all about volume. :wink:



    Now, this does not necessarily mean we will pass on our entire shipping discount to the customer, we may add 5% back to cover extraneous charges, or we may consider increasing our overall profit margin by 2-3%. Regardless, we need the added flexibility of having our negotiated rates returned to the store, from there we can easily tweak up when needed. :wink:



    So, how soon can you create this mod to have negotiated rates returned to CS-Cart?? :wink:

Bob,

[QUOTE]What would be nice is if you could specify a markup on the shipping rate returned. Currently, you can only do markups based on order parameters.[/QUOTE]



I have been experimenting for a while using “Weight Dependencies” along with realtime shipping methods. I think this is the way we will end up doing “final upward tweaks” to our negotiated rates before they are displayed.



Tony,

Here is some additional food for thought:

Have you read of any CS-Cart users complaining that Fedex was returning their negotiated rates to their stores for realtime rate requests (because Fedex negotiated rates are already being returned in CS-Cart)?



So, does not make sense to not also return the negotiated rate version for UPS request, right?

[quote name=‘Struck’]

Tony,

Here is some additional food for thought:

Have you read of any CS-Cart users complaining that Fedex was returning their negotiated rates to their stores for realtime rate requests (because Fedex negotiated rates are already being returned in CS-Cart)?



So, does not make sense to not also return the negotiated rate version for UPS request, right?[/QUOTE]



No, sorry I have not kept up on the Fed-ex stuff.



In all fairness to cs-cart, the UPS real time rates is really a mess. If you want delivery dates/times, you use the UPS Time In Transit module which returns you all the guaranteed delivery options for that shipment based on that pickup date/time. But the shipping codes it returns do not match those returned by the Rating API. They have NO method for returning a quote and a guaranteed delivery time in the same request and one has to do a lot of “fiddling” to either map between the two or (as I do in my UPS Time In Transit addon) use a completely different quoting API to get the quotes but it does not use negotiated rates.



So as I understand it, you want UPS to return the negotiated rate and then you want to apply a surcharge to those rates to be applied to the shipping cost the customer would see.



Can’t you use the “weight dependencies” and just add your fixed amount for 0-9999 pounds (assuming you would get the negotiated rates returned)?

[quote name=‘Struck’]Bob,











Have you read of any CS-Cart users complaining that Fedex was returning their negotiated rates to their stores for realtime rate requests (because Fedex negotiated rates are already being returned in CS-Cart)?



So, does not make sense to not also return the negotiated rate version for UPS request, right?[/QUOTE]



Fedex configuration requires an account number but not UPS which needs a username. I think UPS is making this complicated if they require an account number CS cart will be forced to implement this and you would not be having this problem, nevertheless it is a problem and it can easily be fixed by CS if they want to.

[QUOTE]I think UPS is making this complicated if they require an account number CS cart will be forced to implement this and you would not be having this problem[/QUOTE]



Look, this is nothing that was just required yesterday!

This is one of those situations of which “It is what it is”.



We are talking about proper integration with the largest parcel package delivery company in the world, not some poh dunk toss it in the back of my pickup truck delivery service! :smiley:



And of course UPS makes integration far more difficult than it would need to be if this part of their business was properly managed (but, hey, their ecommerce TV commercials sure are cute…)



This is no different than integrating with Paypal, of course they tend to make everything far more difficult & confusing than it should be when it comes to integrating their services, however, considering the size of their market share, they have to be taken seriously!:wink:

[quote name=‘Struck’]Look, this is nothing that was just required yesterday!

This is one of those situations of which “It is what it is”.



We are talking about proper integration with the largest parcel package delivery company in the world, not some poh dunk toss it in the back of my pickup truck delivery service! :smiley:



And of course UPS makes integration far more difficult than it would need to be if this part of their business was properly managed (but, hey, their ecommerce TV commercials sure are cute…)



This is no different than integrating with Paypal, of course they tend to make everything far more difficult & confusing than it should be when it comes to integrating their services, however, considering the size of their market share, they have to be taken seriously!;)[/QUOTE]



I understand what you’re saying , and I agree with you, I was just comparing UPS to Fedex in regard to the account number requirement which makes sense in getting the rates tied to your account and I still don’t see how difficult it would be for CS cart to implement this so you can pass the required info to UPS rate server to get the right rates for your account. I’m a UPS daily pick up account but I don’t have any negotiated rates with them and my rates are coming back right on with about 23% discount on retail rates for ground service.