Difference between revisions of "ITrack/Pro/UPS and FedEx Integration"

From ISoft Wiki
< ITrack‎ | Pro
Jump to navigationJump to search
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==The Gist of It==
==How It All Works==
#There is a view in the itrackpro database: v_invoice_shipping_address.(Already exists as it went out on the AU)
#There are two views in the itrackpro database: v_invoice_shipping_address and v_quote_shipping_address.(Already exists as they went out on the AU)
#A MySQL user(ups) exists that only has access to that view.(Already exists as it went out on the AU)
#MySQL users(ups and fedex) exist that only have access to that view.(For self-hosted customers, this already exists as they went out on the AU. For hosted customers, talk to Brian and have him create a UPS user specifically for their DB)
#A ODBC data source is configured using the ups account.
#A ODBC data source is configured using the ups or fedex account.
#UPS Worldship is configured to access shipping information for customers via the ODBC data source and fields are mapped in UPS Worldship.
#UPS Worldship or FedEx is configured to access shipping information for customers via the ODBC data source and fields are mapped in UPS Worldship or FedEx.
#Via some option in the menu, the user of Worldship can enter in the quote #(they have to tell us if they want to use invoice # instead of quote #) and it will automatically fill out the correct fields in Worldship so the user doesn't have to manually enter it.
#Via some option in the menu, the user of Worldship or FedEx can enter in the invoice # or quote #(depending on which they are using) and it will automatically fill out the correct fields in Worldship/FedEx so the user doesn't have to manually enter it.


For any other shipping application to use this functionality it would need to support ODBC data sources.
For any other shipping application to use this functionality it would need to support ODBC data sources.
Line 28: Line 28:
This has been rolled out on the AU so everyone should already have this view:
This has been rolled out on the AU so everyone should already have this view:
<source lang="mysql">
<source lang="mysql">
DROP VIEW IF EXISTS `v_invoice_shipping_address`;
DROP VIEW IF EXISTS `v_quote_shipping_address`;


CREATE VIEW `v_invoice_shipping_address` AS  
CREATE VIEW `v_quote_shipping_address` AS  
(
(
SELECT `quote`.`invoicenum` AS `OrderNumber`,  
SELECT `quote`.`invoicenum` AS `OrderNumber`,  
Line 42: Line 42:
`quote`.`shipphone` AS `PhoneNumber`,
`quote`.`shipphone` AS `PhoneNumber`,
`customer`.`email` AS `Email`
`customer`.`email` AS `Email`
FROM `itrackpro`.`quote`
FROM `quote`
   JOIN `customer`
   JOIN `customer`
     ON `quote`.`customernum` = `customer`.`customernum`
     ON `quote`.`customernum` = `customer`.`customernum`
WHERE `itrackpro`.`quote`.`document` != 'VOID'
WHERE `quote`.`document` != 'VOID'
)
)
;
;
Line 51: Line 51:


==Using Invoice Number==
==Using Invoice Number==
Some users may want the integration to use the invoice number. If so, they will no longer be able to use the quote number from within UPS.
Some users may want the integration to use the invoice number. If so, they will no longer be able to use the quote number from within UPS/FedEx.
<source lang="mysql">
<source lang="mysql">
DROP VIEW IF EXISTS `v_invoice_shipping_address`;
DROP VIEW IF EXISTS `v_invoice_shipping_address`;
Line 66: Line 66:
`invoice`.`shipzip` AS PostalCode,  
`invoice`.`shipzip` AS PostalCode,  
`invoice`.`shipphone` AS PhoneNumber,
`invoice`.`shipphone` AS PhoneNumber,
`customer`.`email` AS Email
`customer`.`email` AS Email,
`invoice`.`trackingnum` AS TrackingNumber,
`invoice`.`shipdate` AS ShipDate
FROM `invoice`  
FROM `invoice`  
   JOIN `customer`  
   JOIN `customer`  
Line 77: Line 79:
==Using It==
==Using It==
===In UPS Worldship===
===In UPS Worldship===
Go to '''Import/Export Data''' at the top menu > '''Keyed Import''' > <import name given>
[[Image:UPSWorldshipImportExportMenu.png|UPS Worldship Import/Export Menu]]
The user will then be able to enter in the quote #(by default) and the customer shipping will automatically be pulled into UPS.
[[Image:UPSCreateMap.png|UPS Map Creation]]
[[Image:UPSFieldMapping.png|UPS Field Mapping]]
[[Image:UPSKeyedImport.png|UPS Keyed Import Menu]]
 
===Problems setting up Worldship===
If you've created the ITrack Import Map, and attempt to key in a Salesorder or Invoice # and get this error returned:
 
[[Image:worldship_error.png|Prepared Statements Error]]
 
Then you need to open the ODBC Profile that the ITrack Import map is utilizing, open the advanced settings at the bottom, go to the Misc section and check "Prepare Statements on the client."
 
[[Image:odbc_config.png|ODBC Config Panel for Prepared Statements]]
 
Make sure to restart UPS Worldship before you attempt to key in another Sales Order.
 
===For Hosted Customers===
 
A user permissioned to the view will need to be created for the integration to work right.
 
===In FedEx===
I'd love to know.
 
[[Category:Integrations]]

Latest revision as of 13:30, 25 April 2024

How It All Works

  1. There are two views in the itrackpro database: v_invoice_shipping_address and v_quote_shipping_address.(Already exists as they went out on the AU)
  2. MySQL users(ups and fedex) exist that only have access to that view.(For self-hosted customers, this already exists as they went out on the AU. For hosted customers, talk to Brian and have him create a UPS user specifically for their DB)
  3. A ODBC data source is configured using the ups or fedex account.
  4. UPS Worldship or FedEx is configured to access shipping information for customers via the ODBC data source and fields are mapped in UPS Worldship or FedEx.
  5. Via some option in the menu, the user of Worldship or FedEx can enter in the invoice # or quote #(depending on which they are using) and it will automatically fill out the correct fields in Worldship/FedEx so the user doesn't have to manually enter it.

For any other shipping application to use this functionality it would need to support ODBC data sources.

Details below.

Contact UPS or FedEx

UPS

If a user requests UPS integration you will most likely need to contact this UPS rep to setup things on the UPS Worldship side:

Paul Walker
UPS Customer Solutions
Solutions Engagement Supervisor
Telephone (904)994-2971
pwalker at ups dot com

FedEx

If a user requests FedEx integration you will most likely need to contact this FedEx rep to setup things on the FedEx side:

Brian
(850)210-2182

Using Quote Number

This has been rolled out on the AU so everyone should already have this view:

DROP VIEW IF EXISTS `v_quote_shipping_address`;

CREATE VIEW `v_quote_shipping_address` AS 
(
SELECT `quote`.`invoicenum` AS `OrderNumber`, 
	IF(`quote`.`shipcompany` = '', `quote`.`shipname`, `quote`.`shipcompany`) AS `Name`,
	IF(`quote`.`shipcompany` = '', '', `quote`.`shipname`) AS `Attn`, 
	`quote`.`shipstreet` AS `Address`, 
	`quote`.`shipmailing` AS `Address2`,
	`quote`.`shipcity` AS `City`, 
	`quote`.`shipstate` AS `State`, 
	`quote`.`shipzip` AS `PostalCode`, 
	`quote`.`shipphone` AS `PhoneNumber`,
	`customer`.`email` AS `Email`
FROM `quote`
   JOIN `customer`
     ON `quote`.`customernum` = `customer`.`customernum`
WHERE `quote`.`document` != 'VOID'
)
;

Using Invoice Number

Some users may want the integration to use the invoice number. If so, they will no longer be able to use the quote number from within UPS/FedEx.

DROP VIEW IF EXISTS `v_invoice_shipping_address`;

CREATE VIEW `v_invoice_shipping_address` AS 
(
SELECT `invoice`.`invoicenum` AS OrderNumber, 
	IF(`invoice`.`shipcompany` = '', `invoice`.`shipname`, `invoice`.`shipcompany`) AS `Name`,
	IF(`invoice`.`shipcompany` = '', '', `invoice`.`shipname`) AS `Attn`, 
	`invoice`.`shipstreet` AS Address, 
	`invoice`.`shipmailing` AS Address2,
	`invoice`.`shipcity` AS City, 
	`invoice`.`shipstate` AS State, 
	`invoice`.`shipzip` AS PostalCode, 
	`invoice`.`shipphone` AS PhoneNumber,
	`customer`.`email` AS Email,
	`invoice`.`trackingnum` AS TrackingNumber,
	`invoice`.`shipdate` AS ShipDate
FROM `invoice` 
   JOIN `customer` 
     ON `invoice`.`customernum` = `customer`.`customernum`
WHERE document = 'Invoice'
)
;

Using It

In UPS Worldship

UPS Worldship Import/Export Menu UPS Map Creation UPS Field Mapping UPS Keyed Import Menu

Problems setting up Worldship

If you've created the ITrack Import Map, and attempt to key in a Salesorder or Invoice # and get this error returned:

Prepared Statements Error

Then you need to open the ODBC Profile that the ITrack Import map is utilizing, open the advanced settings at the bottom, go to the Misc section and check "Prepare Statements on the client."

ODBC Config Panel for Prepared Statements

Make sure to restart UPS Worldship before you attempt to key in another Sales Order.

For Hosted Customers

A user permissioned to the view will need to be created for the integration to work right.

In FedEx

I'd love to know.