Difference between revisions of "ITrack/Pro/UPS and FedEx Integration"
Daytonlowell (talk | contribs) |
|||
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= | ==How It All Works== | ||
#There | #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) | ||
# | #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 | #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 10: | Line 10: | ||
Details below. | Details below. | ||
=Contact UPS= | ==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:<br> | If a user requests UPS integration you will most likely need to contact this UPS rep to setup things on the UPS Worldship side:<br> | ||
<br> | <br> | ||
Line 18: | Line 19: | ||
Telephone (904)994-2971<br> | Telephone (904)994-2971<br> | ||
pwalker at ups dot com | 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:<br> | |||
<br> | |||
Brian<br> | |||
(850)210-2182 | |||
=Using Quote Number= | ==Using Quote Number== | ||
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 ` | DROP VIEW IF EXISTS `v_quote_shipping_address`; | ||
CREATE VIEW ` | CREATE VIEW `v_quote_shipping_address` AS | ||
( | ( | ||
SELECT `quote`.`invoicenum` AS `OrderNumber`, | SELECT `quote`.`invoicenum` AS `OrderNumber`, | ||
Line 36: | Line 42: | ||
`quote`.`shipphone` AS `PhoneNumber`, | `quote`.`shipphone` AS `PhoneNumber`, | ||
`customer`.`email` AS `Email` | `customer`.`email` AS `Email` | ||
FROM | FROM `quote` | ||
JOIN `customer` | JOIN `customer` | ||
ON `quote`.`customernum` = `customer`.`customernum` | ON `quote`.`customernum` = `customer`.`customernum` | ||
WHERE | WHERE `quote`.`document` != 'VOID' | ||
) | ) | ||
; | ; | ||
</source> | </source> | ||
=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 60: | 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 69: | Line 77: | ||
</source> | </source> | ||
=In UPS Worldship= | ==Using It== | ||
===In UPS Worldship=== | |||
[[Image:UPSWorldshipImportExportMenu.png|UPS Worldship Import/Export Menu]] | |||
[[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
- 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)
- 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 or fedex account.
- 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 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
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:
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."
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.