diff --git a/StorefrontUtilitiesConfig.xml b/StorefrontUtilitiesConfig.xml
new file mode 100644
index 0000000..1fb9b1b
--- /dev/null
+++ b/StorefrontUtilitiesConfig.xml
@@ -0,0 +1,2330 @@
+
+
+
+
+ ADA
+ http://diabetes-storefront.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+ None
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+ None
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentChargeCode
+ PaymentChargeCode
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+ None
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+ None
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+ None
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+ None
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+ None
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+ None
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+ None
+
+
+ Shipping Field: ShippingState
+ ShippingState
+ None
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+ None
+
+
+ Document ID
+ DetailDocumentID
+ None
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+ None
+
+
+ Item Status
+ None
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+ None
+
+
+ Product Name
+ DetailProductName
+ None
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+ None
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDataListRecordCount
+ None
+
+
+ Printing Option: OverrunQuantity
+ OverrunQuantity
+ DetailOverrunQuantity
+ None
+
+
+ Printing Option: OptionalDataList
+ OptionalDataList
+ DetailOptionalDataList
+ None
+
+
+ Printing Option: OptionalDownload
+ OptionalDownload
+ None
+
+
+ Checkout Field: PaymentChargeCode
+ PaymentChargeCode
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+ None
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+ None
+
+
+ Owner Profile: UserProfilePhoneNumber
+ UserProfilePhone
+ Text
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+ None
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+ None
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+ None
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+ None
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+ None
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+ None
+
+
+ Shipping Field: ShippingState
+ ShippingState
+ None
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+ Shipping Field: ShippingPhoneNumber
+ ShippingPhoneNumber
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ CCM
+ http://ccm.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Payment Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Product Metadata Field: PRODUCT_SKU
+ CCM Item #
+ DetailCCMItem
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfilePhoneNumber
+ UserProfilePhone
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+ Shipping Field: ShippingPhoneNumber
+ ShippingPhoneNumber
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ CFF
+ http://cff.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingEmailAddress
+ InvoiceEmailAddress
+
+
+ Shipping Field: ShippingCompany
+ ShippingCompany
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDataListRecordCount
+
+
+ Printing Option: OverrunQuantity
+ OverrunQuantity
+ DetailOverrunQuantity
+
+
+ Printing Option: OptionalDataList
+ OptionalDataList
+ DetailOptionalDataList
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfilePhone
+ UserProfilePhone
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+ Shipping Field: ShippingPhone
+ ShippingPhoneNumber
+ Text
+
+
+ Printing Option: AppealCode_1
+ Appeal Code 1
+ Text
+
+
+ Printing Option: AppealCode_1_Quantity
+ Appeal Code 1 Quantity
+
+
+ Printing Option: AppealCode_2
+ Appeal Code 2
+ Text
+
+
+ Printing Option: AppealCode_2_Quantity
+ Appeal Code 2 Quantity
+
+
+ Printing Option: AppealCode_3
+ Appeal Code 3
+ Text
+
+
+ Printing Option: AppealCode_3_Quantity
+ Appeal Code 3 Quantity
+
+
+ Printing Option: AppealCode_4
+ Appeal Code 4
+ Text
+
+
+ Printing Option: AppealCode_4_Quantity
+ Appeal Code 4 Quantity
+
+
+ Printing Option: AppealCode_5
+ Appeal Code 5
+ Text
+
+
+ Printing Option: AppealCode_5_Quantity
+ Appeal Code 5 Quantity
+
+
+ Printing Option: AppealCode_6
+ Appeal Code 6
+ Text
+
+
+ Printing Option: AppealCode_7_Quantity
+ Appeal Code 7 Quantity
+
+
+ Printing Option: AppealCode_8
+ Appeal Code 8
+ Text
+
+
+ Printing Option: AppealCode_9_Quantity
+ Appeal Code 9 Quantity
+
+
+ Printing Option: AppealCode_10
+ Appeal Code 10
+ Text
+
+
+ Printing Option: AppealCode_10_Quantity
+ Appeal Code 10 Quantity
+
+
+ Printing Option: AppealCode_11
+ Appeal Code 11
+ Text
+
+
+ Printing Option: AppealCode_11_Quantity
+ Appeal Code 11 Quantity
+
+
+ Printing Option: AppealCode_12
+ Appeal Code 12
+ Text
+
+
+ Printing Option: AppealCode_12_Quantity
+ Appeal Code 12 Quantity
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ FOMO
+ http://fomocc.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDataListRecordCount
+
+
+ Printing Option: OverrunQuantity
+ OverrunQuantity
+ DetailOverrunQuantity
+
+
+ Printing Option: OptionalDataList
+ OptionalDataList
+ DetailOptionalDataList
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ LLS
+ http://llsmarketingassets.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDataListRecordCount
+
+
+ Printing Option: OverrunQuantity
+ OverrunQuantity
+ DetailOverrunQuantity
+
+
+ Printing Option: OptionalDataList
+ OptionalDataList
+ DetailOptionalDataList
+
+
+ Printing Option: OptionalDownload
+ OptionalDownload
+ DetailOptionalDownload
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ Printing Option: BusinessUnits
+ Business Unit
+
+
+ Printing Option: Subledger
+ Subledger
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfilePhoneNumber
+ UserProfilePhone
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ LLSStationary
+ http://demo-punchout.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDataListRecordCount
+
+
+ Printing Option: OptionalDownload
+ OptionalDownload
+ DetailOptionalDownload
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ MCFA
+ http://webbasedmarketing.aksess-it.com/mcfa/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Order Price
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentMethodOfPayment
+ Payment Method
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileCompany
+ UserProfileCompanyName
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Data List Record Count
+ DetailDatalistRecordCount
+
+
+ Printing Option: OverrunQuantity
+ OverrunQuantity
+ DetailOverrunQuantity
+
+
+ Printing Option: OptionalDataList
+ OptionalDataList
+ DetailOptionalDataList
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ TIMKEN
+ http://timkendesign4u.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Order Price
+ Currency
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentMethodOfPayment
+ Payment Method
+
+
+ Checkout Field: PaymentChargeCode
+ Payment Charge Code
+ Text
+
+
+ Checkout Field: PaymentCreditCardType
+ Credit Card Type
+
+
+ User Logon
+ Text
+ SummaryUserLogon
+
+
+ Owner Profile: UserProfileCompany
+ UserProfileCompanyName
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Date/Time Shipped
+ DateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Printing Option: OptionalDownload
+ OptionalDownload
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ Westfield
+ http://westfield.gli.us.com/store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Order Price
+ Currency
+
+
+ Checkout Field: PaymentMethodOfPayment
+ Payment Method
+
+
+ Shipping Field: DepartmentCode
+ DepartmentCode
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+ DetailGLIJobID
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Printing Option: ReasonCodes
+ Reason Codes
+
+
+ Product Metadata Field: PromailProductID
+ PromailProductID
+
+
+ Shipping Field: DepartmentCode
+ ShippingDepartmentCode
+
+
+ Shipping Field: AgencyCode
+ ShippingAgencyCode
+
+
+ Checkout Field: DepartmentCode
+ DepartmentCode
+ Text
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfilePhoneNumber
+ UserProfilePhone
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+ Shipping Field: ShippingPhone
+ ShippingPhoneNumber
+ Text
+
+
+ Document's Description
+ Document's Description
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+ Status
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ User Profile: AgencyQuestion
+ Agency Question
+
+
+ User Profile: AgencyCode
+ Agency Code
+ Text
+
+
+ User Profile: DepartmentCode
+ Department Code
+ Text
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+ Soprema
+ http://soprema.gli.us.com/Store/storefrontapi.asmx
+
+
+
+
+ Order ID
+ SummaryOrderID
+
+
+ Date/Time Created
+ DateTime
+ SummaryDateTime
+
+
+ Order Status
+
+
+ Order Price
+ Currency
+
+
+ Balance Due
+ Currency
+ SummaryBalanceDue
+
+
+ Checkout Field: PaymentMethodOfPayment
+ Payment Method
+
+
+
+ Checkout Field: PaymentCreditCardType
+ Credit Card Type
+
+
+ User Logon
+ Text
+ SummaryUserLogon
+
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+ Order ID
+ DetailOrderID
+
+
+ Document ID
+ DetailDocumentID
+
+
+ Date/Time Order Created
+ DateTime
+ DetailDateTime
+
+
+ Date/Time Shipped
+ DateTime
+
+
+ Item Status
+
+
+ Printing Option: HagenJobID
+ GLI Job #
+
+
+ Product Name
+ DetailProductName
+
+
+ Printing Option: PrintingQuantity
+ Quantity
+ DetailQuantity
+
+
+ Item Price
+ Currency
+ DetailItemPrice
+
+
+ Printing Option: OptionalDownload
+ OptionalDownload
+
+
+ User Logon
+ Text
+
+
+ Owner Profile: UserProfileFirstName
+ UserProfileFirstName
+
+
+ Owner Profile: UserProfileLastName
+ UserProfileLastName
+
+
+ Owner Profile: UserProfileEmailAddress
+ UserProfileEmailAddress
+
+
+ Shipping Field: ShippingFirstName
+ ShippingFirstName
+
+
+ Shipping Field: ShippingLastName
+ ShippingLastName
+
+
+ Shipping Field: ShippingAddress1
+ ShippingAddress1
+
+
+ Shipping Field: ShippingAddress2
+ ShippingAddress2
+
+
+ Shipping Field: ShippingCity
+ ShippingCity
+
+
+ Shipping Field: ShippingState
+ ShippingState
+
+
+ Shipping Field: ShippingPostalCode
+ ShippingPostalCode
+ Text
+
+
+
+
+
+
+
+
+ Login
+ Text
+ UserAccounts
+
+
+
+ First Name
+
+
+ Last Name
+
+
+ User Profile: UserProfileEmailAddress
+ Email
+ Text
+
+
+ Date/Time Last Logged In
+ DateTime
+
+
+ Date/Time Created
+ DateTime
+
+
+ Is Admin
+
+
+ Is User
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/XMLTesting.py b/XMLTesting.py
index a3fb254..662d881 100644
--- a/XMLTesting.py
+++ b/XMLTesting.py
@@ -2,14 +2,20 @@ from bs4 import BeautifulSoup as bs
# import csv
from openpyxl import workbook
+external_ids = ['G-ADA-13B0D9D1', 'G-ADA-13A8D9CF', 'G-ADA-13B0D9CF', 'G-ADA-13B0D9CE', 'G-ADA-13A7D9D5', 'G-ADA-13ACD9D5', 'G-ADA-13B2D9D5', 'G-ADA-13AED9D4', 'G-ADA-13B1D9D4', 'G-ADA-13ACD9D3', 'G-ADA-13B1D9D3', 'G-ADA-13AED9D2', 'G-ADA-9F17D9CB', 'G-ADA-9F15D9CB', 'G-ADA']
+
+for z in external_ids:
+ report_filter = """<?xml version="1.0"?> <PFWebFilter:UserFilter xmlns:PFWebFilter="http://www.pageflex.com/schemas/2004/Storefront/UserFilters/20040817" filterClass="Items"> <PFWebFilter:Step publicFieldName="Order ID" query="ExactEquals" minValue=""""" + z + """"" maxValue="" /> </PFWebFilter:UserFilter>"""
+ print(report_filter)
-report_filter = """
-
-
-"""
+#
+# report_filter = """
+#
+#
+# """
+
-print(report_filter)
# ####XML OUTPUT TESTS#####
#
diff --git a/main.py b/main.py
index 7ccbd5d..eb6323c 100644
--- a/main.py
+++ b/main.py
@@ -40,6 +40,10 @@ def Release_Ticket(ticket, URL, HOST):
response = requests.post(url=URL, data=ReleaseTicket, headers=headers).text
# print("released ticket "+ticket)
+def Westfield():
+ print("Westfield")
+ exit()
+
def Run_Report(ticket, URL, HOST, REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIELDS):
ExternalID = []
@@ -166,10 +170,50 @@ def Run_Report(ticket, URL, HOST, REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIEL
for row in ws:
value = "=H"+str(count)+"-G"+str(count)+"-F"+str(count)
ws.cell(column=5, row=count, value=value)
- count = count + 1
+ count =+ 1
-############# Order Summary tab #############
+############# Order Details tab #############
+ print("Getting Item Detail")
+ # ExternalID = ['G-ADA-13B0D9D1', 'G-ADA-13A8D9CF']
+ for z in ExternalID:
+ report_filter = """<?xml version="1.0"?> <PFWebFilter:UserFilter xmlns:PFWebFilter="http://www.pageflex.com/schemas/2004/Storefront/UserFilters/20040817" filterClass="Items"> <PFWebFilter:Step publicFieldName="Order ID" query="ExactEquals" minValue=\"""" + z + """\" maxValue="" /> </PFWebFilter:UserFilter>"""
+ send = """
+
+
+
+ """+ticket+"""
+ Items
+ false
+ """+report_filter+""""
+ """+DETAIL_REPORT_FIELDS+"""
+
+
+ """
+
+
+ headers = {'Host': HOST, 'Content-Type': 'application/soap+xml; charset=utf-8', 'Content-Length': 'length', 'SOAPAction': 'http://www.pageflex.com/XmlWebServices/2004/StorefrontAPI/20041111/GetReport'}
+ response = requests.post(url=URL, data=send, headers=headers).text
+ temp1 = response.split('')
+ temp2 = temp1[1].split('')
+ report = (temp2[0])
+
+
+ y = bs(report, "lxml")
+ results = []
+
+ # Opens report file and writes each row
+ for child in y.report:
+ for childs in child:
+ if '$' in childs.text:
+ convert = childs.text
+ apply = convert[1:]
+ results.append(float(apply.replace(',', '')))
+ else:
+ results.append(childs.text)
+ ws2.append(results)
+ results = []
# Finalize Spreadsheet and save
@@ -178,6 +222,8 @@ def Run_Report(ticket, URL, HOST, REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIEL
cell.font = bold
for cell in ws2["1:1"]:
cell.font = bold
+ print("Enter a filename for the report: ")
+ filename = input()
wb.save('report.xlsx')
def loadMenu():
@@ -232,6 +278,7 @@ def loadMenu():
CLIENT_SUMMARY_TAB = []
client_headers = []
+
# Get Monthly Report Item Detail Fields
for w in y.find_all('client'):
for x in w.find_all('monthlyreport'):
@@ -245,6 +292,7 @@ def loadMenu():
CLIENT_DETAIL_TAB = []
client_detail_headers = []
+
choice = 0
for x in ClientName:
print(choice, x)
@@ -252,6 +300,9 @@ def loadMenu():
option = int(input())
+ if ClientName[option] == "Westfield":
+ Westfield()
+
# create new report file and add headers based on config file
wb = workbook.Workbook()
ws = wb.active
@@ -262,6 +313,8 @@ def loadMenu():
ws2.append(detail_headers[option])
# converts summary_tab values to a string, adds everything to the URL_HOST array and returns it
+
+
REPORT_FIELDS = '\n'.join(map(str, SUMMARY_TAB[option]))
DETAIL_REPORT_FIELDS = '\n'.join(map(str, DETAIL_TAB[option]))
URL_HOST = [SF_URL[option], SF_HOST[option], REPORT_FIELDS, wb, ws, ws2, DETAIL_REPORT_FIELDS]