Summary
This article covers the recommended and proper order for importing customer data into EngageIP. When importing large amounts of data it is recommended to use the DataMigration Utility.
Before you can proceed with any import process here please follow the article: Data Migration – Import Methods and Configuration.
XML Format
Warning: Format is important. XML files for the migrator are case sensitive for element names and element values (those of which are being matched to data already in the system such as bill groups, or credit rating items).
Special Characters Note: If you have special characters ( % ^ & * # @ ! ) in usernames for example when importing and its causing issues, you can replace the special character with its ASCII code and it will import as the correct symbol.
Importing Owner Accounts
See the System Configuration Import kb article for details on importing Owner accounts.
Importing User Accounts
<User Name="test_customer" Password="test" Owner="admin" Role="Admin" Culture="English" Currency="USA" Language="English" CreatedDate="1/15/2007 12:00:00 AM" StatusType="MyCustomAccountStatusType" TaxCode="Residential" BillGroup="Default" CreditRating="Default" BillDay="1" DisableReason="Cancelled"/>
Name | Name of user, can be alpha numeric, any unique identifier for customers, companies or accounts | ‘Bob McCowan’ or ‘CUST2838382’ or ‘3334445555’ etc. |
Password | Password belonging to the user account for login to the AdminPortal | ‘password’ or ‘FidDz73Ds’ |
Owner | Name of the Owner the country belongs to | this will be based on previous import |
Role | The intended role of the account once in the system | Predefined by previous import, Customer role or Admin role |
Culture | Culture of account | Predefined in database table called 'Culture'. The name of the culture needs to exist so that it can look up the name and enter the ID in the USER table. |
Currency | The alpha character currency of account | ‘USA’ or ‘USD’ for United States or ‘CAD’ for Canada, or ‘EUR’ |
Language | The primary language of the account, to be used when determining the language the interface displays in | ‘English’, ‘Spanish’, etc. |
CreatedDate | The creation date of the account if it exists, or enter the same date for all accounts | ‘10/10/2006 11:00:14 AM’. Format based on system configuration, mm/dd/yyyy or dd/mm/yyyy depending on regional settings on the SQLserver |
StatusType | Status of the account on import, this is a configured account status type | These are based on already imported values in the interface. May be ‘Enabled’, ‘Active’, see your previously imported StatusTypes for this. |
TaxCode | Name of the customers intended taxcode | This is predefined in EngageIP by previous import |
BillGroup | Name of the billgroup customer should be using | This is predefined in EngageIP by previous import |
CreditRating | Name of credit rating in system | This is predefined in EngageIP by previous import |
BilllDay | Day on which to bill customer recurring | this is a numeric value, 1, 2, through 28 (no 29, 30, 31). This is the day on which the customer will bill every month |
Disable Reason | This is a cancelation reason which is not used anymore | Can be left blank |
Importing Account Contacts
<Contact User="billingtest" ContactName="test test" ContactFirstName="test" ContactLastName="test" ContactTitle="Billing Contact" ContactType="Billing Contact" ContactCompany="CompanyName" />
User | 'jsmith' or '5192490508' or 'Company X' |
|
ContactName | Customer name or contact name | 'John Smith' |
ContactFirstName | First name of contact | 'John' |
ContactLastName | Last name of contact | 'Smith' |
ContactTitle | Title of contact | 'CEO' or 'Network Administrator' or 'Director of Marketing' |
ContactType | Contact type as defined in interface | Predefined contact type on setup tab, usually 'Billing Contact' or 'Technical Contact' or 'Administrative Contact' but not limited to those. |
ContactCompany | Company Name | 'Logisense Corporation' or Company X |
Importing Account Contact's Email Address
<ContactEmail User="billingtest3" ContactName="test test" Email="testcontact@logisense.com" ContactType="Billing" />
'Email Address' contact point type must exist, no other names will be found by the system
Contact Name = Firstname + Lastname on the contact
User | Account identifier | 'jsmith' or '5192490508' or 'Company X' |
ContactName | Customer name or contact name. This name needs to exist already on original Contact.xml file | Preexisting value here based on contact.xml. 'John Smith' |
Email address of contact | 'username@domain.com' | |
ContactType | Contact type as defined in interface | Predefined contact type on setup tab, usually 'Billing Contact' or 'Technical Contact' or 'Administrative Contact' but not limited to those |
Importing Account Contact's Phone Number
<ContactPhone User="bsmith" ContactName="Billy Smith" Phone="15196526432" ContactType="Billing" ContactPointType="Phone" />
User | Account identifier | 'jsmith' or '5192490508' or 'Company X' |
ContactName | Customer name or contact name | 'John Smith' |
Phone | Phone number for billing contact in this case | 5192490508 or '011 345 4565 6765' |
ContactType | Contact type as defined in interface | Predefined contact type on setup tab, usually 'Billing Contact' or 'Technical Contact' or 'Administrative Contact' but not limited to those |
ContactPointType | Name of contact point type | This should exist already in the system 'Work Phone' |
Importing Account Contact's Fax Number
<ContactFax User="aen20@raif.com" ContactName="Alex Motte" Phone="8197673316" ContactType="Billing Contact" />
Importing Extra Contact Data
If you need to make more contact points besides the ones already available, of if you want to rename them, you can use this below xml to import differently named or extra contact points.
<ContactPoint ContactPointType="/Owner=Logisense Corporation/ContactType=Billing Contact/ContactPointType=extra" Value="123-345-3333" ContactID="29" />
Logisense Corporation = Your owner
ContactPointType = the name of your contactpoint you want to add, ie, Phone Number, Email Address, Extra Info
Value = the data to be added on customer
ContactID = the id of the contact on the customer account you need this added to, i.e. hover over the billing contact link on the contact page to find its ID
Importing Company Details on Contacts
<Company User="logisense" Company="LogiSense Corporation" />
User | Name of user account this applies to | bsmith |
Company | Name of the company to import | 'LogiSense Corporation' (note: Import does not allow '&' ampersand. Replace with 'and') |
Importing Child Accounts
Sets up child account relationships between accounts. This can be at any level.
Alert: this approach is only to be used for initial import. If this import is used after a parent account has transactions / invoices, the invoices will not transfer and display correctly on the new parent. This should never be used on accounts where transactions / invoices exist. If it has been used in this fashion, you can 'reset' the invoices by using the tools page on the account to move it back up to a parent and back down as the child, this executes the logic to move the invoices as expected to the new parent account.
<Child Name="userchild" Parent="userparent"/>
Name | Name of sub account | 'Sally Jones' (where this is the name of a daughter in this example) |
Parent | Name of direct parent account or main account. This is the account the user should be directly under | 'Mr Jones' (this is the name of the father in this case, orparent account) |
Importing Account Invoices
To Add Debits
Note: when entering the package element, this refers to the Service name specifically as that is what this will be applied to rather then the overall package (often packages and services have the same names so this is a key item). Enter Service name here.
For taxes to import, ensure you have a taxcode that exists and that the taxcode also has tax rates associated, up to four rates if you want the rates to associate here. Without this config, the tax value will be ignored.
<Invoice User="ejones" Date="1/31/2007 12:00:00 AM" Debit="0" Tax1="0" Tax2="0" Tax3="0" Tax4="0" TaxCode="Residential" Description="Opening Balance" Package="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" />
Sample Debit import file:
To Add Credits
Note: to add a credit a negative debit value is used (as shown below).
<Invoice User="ejones" Date="1/31/2007 12:00:00 AM" Debit="-10" Tax1="0" Tax2="0" Tax3="0" Tax4="0" TaxCode="Residential" Description="Opening Balance" Package="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" />
As of EngageIP 9.3.3, you can specify an invoice to disburse to during import similar to payments import:
<Invoice User="testuser" Description="description" Date="1/15/2020 2:30:39 PM" Debit="-20" PeriodStart="2020-1-2" PeriodEnd = "2020-2-2" TaxCode="" Tax1="" Tax2="" Tax3="" Tax4="" Invoice="123456" AutoDisbursePayment="false"/>
If you want to import a set of 'transactions' and then close the invoice before adding more 'transactions', use the close tag: <CloseInvoice CloseInvoice="" />
Template credit import file:
Note: along with the tag, you need at least one element, i.e. CloseInvoice="". CloseInvoice element does not need a value, it simply needs to exist as shown. The import tool when seeing this invoice close tag assumes all other invoices in the system are closed and so it will close anything that is OPEN in the system. It is not to be used on a system that has valid OPEN invoices.
For example, the below will create two invoices. One for January (then you can see the close tag) and another for February (with another close tag after it). So you can group these 'transactions' into their individual invoices as needed.
<Invoice User="ejones" Date="1/28/2007 12:00:00 AM" Debit="0" Tax1="0" Tax2="0" Tax3="0" Tax4="0" TaxCode="Residential" Description="Opening Balance" Package="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" /> <Invoice User="ejones" Date="1/31/2007 12:00:00 AM" Debit="0" Tax1="0" Tax2="0" Tax3="0" Tax4="0" TaxCode="Residential" Description="Opening Balance" Package="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" /> <CloseInvoice CloseInvoice="" /> <Invoice User="ejones" Date="2/4/2007 12:00:00 AM" Debit="0" Tax1="0" Tax2="0" Tax3="0" Tax4="0" TaxCode="Residential" Description="Opening Balance" Package="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" /> <CloseInvoice CloseInvoice="" />
For Payments
<Payments> <Payment User="apple1" Date="8/15/2009 2:30:39 PM" Credit="5.00" Description="Credit Card Payment" Invoice="PREFIX0000000394" /> <Payment User="apple1" Date="8/15/2009 2:30:39 PM" Credit="2.02" Description="Credit Card Payment" Invoice="PREFIX0000000394" /> </Payments>
The generic method is below, this allows more elements such as defining the PaymentType so you can enter credit card or other predefined types.
Note: you need to update the owner name in the tags to use this.
<Payment User="/User=admin" Date="2017-1-1" Amount="88.84" Detail="Lock Box" CheckNumber="19243" PaymentType="/Owner=Logisense Corporation/PaymentType=Check" PaidBy_User="/User=admin" Disbursed="False" AutomaticDisburse="True" Deposit="False" AddedBy_User="/User=admin" PostingDate="2017-1-1" BatchNumber="0"/>
NOTES:
Automatic disbursement is NOT checked when you enter an Invoice. There is no way to tell this method to mark a payment as autodisburse when an invoice value is present. When the payment is imported, it IS disbursed to the invoice specified as much as it can be, if it is more than the invoice, the left over amount sits undisbursed and the payment is not set as auto disburse and will need to be manually fully disbursed
If you leave invoice blank, the payment WILL be set to automatic disburse, BUT it will not disburse until something triggers it on the account, a new debit is created, or billing closes aninvoice perhaps
If the invoice is specified, it will tag itself to the invoice selected for display purposes in addition to disbursement purposes. If you do NOT want the payment to show potentially on an old invoice, rather you would like it to be available to display on the next open invoice, leave this blank
Where invoice = name of the invoice (not necessarily the ID)
<CloseInvoice CloseInvoice="" /> <Invoice User="bsmithy" Date="6/30/2006 12:00:00 AM" Debit="26.7" Tax1="0" Tax2="0" Tax3="0" Tax4="0" Description="Opening Balance" PeriodStart="mm/dd/yyyy" PeriodEnd="mm/dd/yyyy" />
User | Name of existing account | 'ejones' |
Date | Date of transaction | '6/30/2006 12:00:00 AM' |
Debit | Value of debit | '26.7' or '23.15' (these need to be absolute values) |
Credit | Value of credit | 0 (these need to be absolute values) |
Tax1 | Value of tax charged | 0 or '1.47' |
Tax2 | Value of tax charged | 0 or '1.47' |
Tax3 | Value of tax charged | 0 or '1.47' |
Tax4 | Value of tax charged | 0 or '1.47' |
TaxCode | Name of taxcode that exists in the system | 'State Taxcode' |
Description | Description of transaction | 'Opening balance' |
Package | Name of SERVICE (Package is the legacy name for service) that the transaction applies to | 'Broadband Wifi Access' |
PeriodStart | Service period dates |
|
PeriodEnd | Service period dates |
|
User | Name of account under which payment should b e applied. May be a child of bsmith as shown in above example | 'bsmith' or a child of bsmith 'frank' |
Date | Date of transaction | 1/18/2007 2:26:28 PM |
Credit | Value of credit, in dollars and cents | '2.0000' |
Description | Description of payment | 'Credit Card payment' |
Importing Opening Balances
When moving data from another system to EngageIP, often you will want to import existing debit or credit balances for historical purposes. The correct procedure would be to import a debit or credit as shown above, and then close the invoice and mark it as delivered. Its suggested that you create a service called 'Opening Balance' to be used to tag to the amount imported for reporting purposes. The balance of the created invoice will then move forward onto the 'real' invoices as a previous balance whether credit or debit.
Create 'Opening Balance' service
Add a transaction to a user (via import or manually)
Enter the amount of the existing balance (add transaction for debit balance, add credit for a credit balance)
Select the service as 'Opening Balance'
Add date as required
A new invoice will be generated if one does not already exist on the account, close this invoice
Mark invoice as printed. Check the box beside the invoice and click 'Printed'. This will ensure the invoice does not get sent to the customer.
Importing Account Payments
<Payment User="admin" Date="10/21/2004 2:21:35 PM" Credit="425.0000" PaymentType="Cash" Description="Batch Payment" />
User | Name of account under which payment should b e applied. May be a child of bsmith as shown in above example | 'bsmith' or a child of bsmith 'frank' |
Date | Date of transaction | 1/18/2007 2:26:28 PM |
Credit | Value of credit, in dollars and cents | '2.0000' |
Description | Description of payment | 'Credit Card payment' |
Importing UserPackage
The account's package. An account can have multiple packages which will bill according to their Bill Cycle. Any package added which does not match the billing cycle will be prorated to the account's bill cycle. .
<UserPackage User="bsmithy" Name="Monthly DialUp" NextBillDate="2/18/2007"/>
For below, click 'Use Generic':
<import> <UserPackage Package="/Owner=Logisense Corporation/Package=testonce" User="/User=admin" CreatedDate="02/02/2018" NextBillDate="02/02/2018" Name="testonce" StatusType="Active" Pending="0" LastStatusChangedDate="02/02/2018" EffectiveDate="02/02/2018" LastUpdatedDate="02/02/2018" BulkQuantity="1" UserPackageStatusType="/Owner=Logisense Corporation/UserPackageStatusType=Enable" CreatedBy_User="admin" ReferenceName="test"/> </import>
Note: Created Date equals 'Today' when imported.
User | Name or letter combination that is restricted | English or 'Residential Customer Invoice 2 Page' |
Name | Name of the package that will show to the customer and in reports | this package should exist from previous import ofpackage.xml |
NextBillDate | Date on which the package will be next for the customer | 2/18/2007 |
Importing UserService
This is a generic method for importing user-services (non-optional)
<UserService Service="/Owner=Logisense Corporation/Service=Global Bucketting" User="MyTestUser" CreatedDate="2017-07-07 16:43:21" UserPackageID="67350" Name="PackageName" Amount="0.00" Optional="False" OneTimeAmount="0.00" LastUpdateDate="2017-07-07 16:43:21" CreatedBy_User="admin" />
Importing Optional UserService
New in EngageIP 9.3.3
Note: 'UserService ServiceID' is the ID of the Service in the Product Catalog.
<UserService ServiceID="1" UserID="4" OptionalServiceStartDate="2019-12-20 00:00:00" UserPackageID="1" Optional="True"/>
Importing UserPackageAttributeDiscount
User Package Discounts - allows the import of discounts that are attached specifically to the customer (if not a system wide package discount).
<UserPackageAttributeDiscount DiscountType = "Price" Amount="30.00" User="bsmithy" UserPackage="Monthly DialUp" UserService="Dialup"/>
Discount Type | Type of the discount | Fixed | Price | Percent |
Amount | Value of the discount | 29.99 or 30 |
User | User to which the discount should be applied | bsmith |
UserPackage | Package to which the discount should be applied | Monthly DialUp |
UserService | Service to which the discount should be applied | Dialup |
Importing Setup Tab / Package Services
Attach services to packages in EngageIP
<?xml version="1.0"?> <PackageServices> <PackageService Package="Annual DSL" Service="Setup" Owner="Quality_Assurance"/> <PackageService Package="Annual DSL" Service="DSL" Owner="Quality_Assurance"/> <PackageService Package="Monthly DialUp" Service="DialUp" Owner="Quality_Assurance"/> <PackageService Package="PackageAttribute" Service="DialUp" Owner="Quality_Assurance"/> <PackageService Package="VOIP" Service="VOIP" Owner="Quality_Assurance" /> </PackageServices>
Note: if you are importing one time services that have billed already in another system and you simply want the service to import without again billing / charging, you would need to update the table called 'UserService', and update 'BillTimes', set it to zero. NULL reflects recurring services, '1' reflects that the service needs to be billed, and '0' reflects that the one time service has been billed.
Importing UserAttributes
Apply expiry date to user account
UserAttributeChangeUserStatusType
Note: this is the generic method. The status type of 'Disabled' must exist, the date format in this case is mm/dd/yyyy.
For correct prorating, ensure that the time is completed as well, in this case, the end of day on the 31st is when the account should be canceled and if prorating applies, that will be considered
<UserAttributeChangeUserStatusTypes> <UserAttributeChangeUserStatusType User="/User=postpaid" Date="5/31/2012 11:59:59 PM" UserStatusType="/Owner=Logisense Corporation/UserStatusType=Disabled" /> </UserAttributeChangeUserStatusTypes>
UserAttrbiutePrintGroup
<UserAttributePrintGroup> <UserAttributePrintGroup PrintGroup="/Owner=Logisense Corporation/PrintGroup=test" User="admin" /> </UserAttributePrintGroup>
The telecom attribute attached to services at the account level
<UserServiceAttributeTelecom User="bsmith" UserService="Dialup Service" TelecomRatePlan="Main" LocalMinutes="0" RegionalMinutes="0" National Minutes="0" />
The telecom bucket assigned to the account's service
<UserServiceAttributeTelecomBucket User="bsmith" UserService="Dialup Service" TelecomBucket="Test" Amount="0" Pool="false" Priority="0" />
Profile Answer Import
The name needs to be exactly as shown on the setup page for the service or the profile question under the Role. This IS for Role profile questions and Service profile questions
<?xml version="1.0"?> <UserAttributeProfileAnswers> <UserAttributeProfileAnswer User="bsmith" DisplayName="UserName" ProfileValue="helloworld" /> </UserAttributeProfileAnswers>
Profile Answers Import for Parent/Child Profile hierarchy questions
<RoleAttributeProfileQuestions> <ProfileQuestion DataType='Text' Name='test question' Question='test question' Required='True' UniqueAnswer='False' ShowOnOverview='True' MultipleAnswers='False' DisplayName='test question' ParentQuestion='True' ProfileQuestionListProviderMultiSelect='False' ShowOnUserPackage='False' IncludeInInvoiceXML='True' ShowOnCustomerPortalSignup='True' ShowOnCustomerPortal='True' ShowOnViewFilter='False' ReferenceName='PROFILEQUESTION802' /> <RoleAttributeProfileQuestion RoleID='6' ProfileQuestion='@PROFILEQUESTION802' /> <ProfileQuestion DataType='Memo' Name='test question child' Question='test question child' Required='True' UniqueAnswer='False' Parent_ProfileQuestion='@PROFILEQUESTION802' ShowOnOverview='True' MultipleAnswers='False' DisplayName='test question child' ParentQuestion='False' ProfileQuestionListProviderMultiSelect='False' ShowOnUserPackage='False' IncludeInInvoiceXML='True' ShowOnCustomerPortalSignup='True' ShowOnCustomerPortal='True' ShowOnViewFilter='False' ReferenceName='PROFILEQUESTION804' /> </RoleAttributeProfileQuestions>
Applies TaxClass to user specifically
Note: this uses the 'generic' format, as different from most of the other import items.
<UserAttributeTaxClass TaxClass="/Owner=Logisense Corporation/TaxClass=Hardware" User="/User=bsmith" /> <UserAttributeTaxClass TaxClass="/Owner=Logisense Corporation/TaxClass=Hardware" User="/User=mike" />
Applies Taxcode to user - as seen on Overview of account
<UserAttributeTaxCode User="apollo" TaxCode="Ontario" /> <UserAttributeTaxCode User="jmain" TaxCode="Ontario" />
UserAttributeTaxExempt Component
<UserAttributeTaxExempts> <UserAttributeTaxExempt User="dw124226"/> <UserAttributeTaxExempt User="dw12423445"/> </UserAttributeTaxExempts>
UserAttributeTaxExemptLevels
<?xml version="1.0"?> <UserAttributeTaxExemptLevels> <UserAttributeTaxExemptLevel User="admin" TaxExemptLevel="State" TaxExemptType="Sales" /> </UserAttributeTaxExemptLevels>
UserAttributeNote
Misc Notes from users, Type must define the 'Note Type' as specified on the setup tab. There may be one or more note types as of version 8.3.x. If nothing exists, add 'Default' as the note type and it can be used to import notes to that type. When using branded owners, the generic method needs to be used:
<UserAttributeNote Name="admin" Type="Default" Text="just testing the import..." />
Generic method:
<UserAttributeNote User="3001093094-00" Text="Reminder Notice Sent" NoteType="/Owner=MyOwner/NoteType=Retail Reminder Notice\Email Sent" CreatedDate="5/15/2013" CreatedBy_User="/User=admin" ShowOnOverviewComponents="true" />
When using branded owners, the generic method needs to be used:
<?xml version="1.0"?> <UserAttributeNotes> <UserAttributeNote User="brandedOwner" Text="just testing the import..." NoteType="/Owner=brandedOwner/NoteType=Default" CreatedDate="2011-09-01 00:00:00" LastModifiedDate="2011-09-01 00:00:00" CreatedBy_User="/User=brandedOwner" UpdatedBy_User="/User=brandedOwner" ShowOnOverviewComponents="false" /> </UserAttributeNotes>
Importing UserExtendedAttributes
<?xml version="1.0" standalone="yes"?> <ExtAttributes> <UserPackage User="admin" Package="DSL" Amount="10" CreatedDate="2005-01-05 01:23:11.000" NextBillDate="2005-10-24 00:00:00.000" Name="DSL" StatusType="/Owner=Logisense Corporation/StatusType=Active" Current_StatusType="/Owner=Logisense Corporation/StatusType=Active" ReferenceName="UserPackage1"/> <ProfileQuestion Name="UserExtAttribute" Question="UserExtAttribute" DataType="/DataType=Text" Required="False" DefaultAnswer="" Options="" Table="" UniqueAnswer="False" ShowOnOverview="True" MultipleAnswers="False" DisplayName="" ParentQuestion="False" ProfileQuestionListProviderMultiSelect="False" HelpText="" ShowOnUserPackage="False" IncludeInInvoiceXML="True" ShowOnCustomerPortalSignup="False" ShowOnCustomerPortal="False" ShowOnViewFilter="True" ReferenceName="UserExtAttribute"/> <UserExtendedAttribute ProfileQuestion="@UserExtAttribute" Owner="Logisense Corporation" IsInactive="False"/> <ProfileQuestion Name="UserPackageExtAttribute" Question="UserPackageExtAttribute" DataType="/DataType=Text" Required="False" DefaultAnswer="" Options="" Table="" UniqueAnswer="False" ShowOnOverview="True" MultipleAnswers="False" DisplayName="" ParentQuestion="False" ProfileQuestionListProviderMultiSelect="False" HelpText="" ShowOnUserPackage="False" IncludeInInvoiceXML="True" ShowOnCustomerPortalSignup="False" ShowOnCustomerPortal="False" ShowOnViewFilter="True" ReferenceName="UserPackageExtAttribute"/> <UserPackageExtendedAttribute ProfileQuestion="@UserPackageExtAttribute" Owner="Logisense Corporation" IsInactive="False"/> <UserExt User="admin" UserExtAttribute="testValue1" /> <UserExt User="apollo" UserExtAttribute="testValue2" /> <UserPackageExt UserPackage="@UserPackage1" UserPackageExtAttribute="UserPackageExtAttributeValue" /> </ExtAttributes>
UserPackage and UserPackageExtendedAttribute:
The below will import a userpackage, along with the associated UserPackageExtendedAttribute
<?xml version="1.0" standalone="yes"?> <ExtAttributes> <UserPackage User="admin" Package="/Owner=Logisense Corporation/Package=Monthly Package" Amount="10" CreatedDate="2005-01-05 01:23:11.000" NextBillDate="2005-10-24 00:00:00.000" Name="Monthly Package" StatusType="/Owner=Logisense Corporation/StatusType=Active" Current_StatusType="/Owner=Logisense Corporation/StatusType=Active" ReferenceName="UserPackage1"/> <ProfileQuestion Name="UserPackageExtAttribute" Question="UserPackageExtAttribute" DataType="/DataType=Text" Required="False" DefaultAnswer="" Options="" Table="" UniqueAnswer="False" ShowOnOverview="True" MultipleAnswers="False" DisplayName="" ParentQuestion="False" ProfileQuestionListProviderMultiSelect="False" HelpText="" ShowOnUserPackage="False" IncludeInInvoiceXML="True" ShowOnCustomerPortalSignup="False" ShowOnCustomerPortal="False" ShowOnViewFilter="True" ReferenceName="UserPackageExtAttribute"/> <UserPackageExtendedAttribute ProfileQuestion="@UserPackageExtAttribute" Owner="Logisense Corporation" IsInactive="False"/> <UserPackageExt UserPackage="@UserPackage1" UserPackageExtAttribute="UserPackageExtAttributeValue" /> </ExtAttributes>
Importing UserExt Profile Answers
<UserExt User="/User=admin" market="a" />
Where ‘market’ is the profile question name, ‘a’ is the answer to that profile question you want to import and ‘admin’ is the user it should be assigned to. On import screen, do not select generic even though this is a generic import style.
Importing UserPackageAttributes
<UserPackageAttributeDiscount DiscountType = "Price" Amount="30.00" User="bsmithy" UserPackage="Monthly DialUp" UserService="Dialup"/>
Import UserAttributeChangeUserPackageStatusType
NOTE: This uses the generic method requiring that you know and insert the correct owner specific IDs for the status types (StatusTypeID, UserPackageStatusTypeID), and also the specific user package ID you want to associate this change to.
<UserAttributeChangeUserPackageStatusType Date="2022-06-1" User="/Owner=Logisense corporation/User=Admin" StatusTypeID="1" UserPackageID="123" UserPackageStatusTypeID="77" />
Importing UserServiceAttributes
Importing UserServiceAttributeContact
<UserServiceAttributeContact User="bsmith" UserPackage="DialUp" UserService="Dialup" Contact="Fred Lee" ContactType="Billing Contact"/>
UserServiceAttributeTelecom
<UserServiceAttributeTelecom User="admin" UserService="Extreme DSL" TelecomRatePlan="Main" InboundTelecomRatePlan ="NO InBound rate plan" LocalMinutes="500" RegionalMinutes="500" NationalMinutes="500" />
Importing UserServiceAttributeTelecomBucket
<UserServiceAttributeTelecomBucket User="bsmith" UserService="Dialup" TelecomBucket="Test" Amount ="0" Pool="false" Priority="0"/>
Importing UserServiceTechData
<UserServiceTechData User="billingtest" Service="Monthly DSL"ModemSerial=""ServicePhone=""StaticIPAddress=""SPID1=""SPID2=""VLAN=""DomainName=""FTPUserName=""FTPPassword="" TerminalID=""CIRAUserNamePassword=""Funds="" /> <UserServiceTechData User="teststatus" Service="This is my service name that is really long " ModemSerial=""ServicePhone="234234" StaticIPAddress="" SPID1="" SPID2="" VLAN=""DomainName="" FTPUserName=""FTPPassword="" TerminalID=""CIRAUserNamePassword="" Funds="" />
Importing UserServiceAttributeProfileAnswers
Import answers for user services if there is a profile question on the service
<UserServiceAttributeProfileAnswers> <UserServiceAttributeProfileAnswer User="admin" Service="Optional 3" Name="WTN1" ProfileValue="HH887HH" /> </UserServiceAttributeProfileAnswers>
Importing UserServiceResource attachment
the xml below allows you to import resources to a user service and to specify which user service to attach it to based on the userserviceID. The IDs would need to be found in the database (select id from userservice where...)
<UserServiceAttributeResources> <UserServiceAttributeResource UserServiceID="2307" ResourceItem="/Owner=Logisense Corporation/ResourceType=Service Number/ResourceItem=300234010083630" /> <UserServiceAttributeResource UserServiceID="2308" ResourceItem="/Owner=Logisense Corporation/ResourceType=Service Number/ResourceItem=300234010780550" /> </UserServiceAttributeResources>
Importing Account Tickets
<Ticket User="tasklist" Reference="2 test" Subject="test" Description="" Resolution="" Assignedto="bsmithy" Loggedby="bsmithy" Date="1/15/2007 12:51:52 PM" Timespent="0" Status="Open" Priority="Normal" Closedby="User" Dateclosed="mm/dd/yyyy" Category="Support" Contactmethod="Email" Fromaddress="bsmithy@logisense.com" Totaltimespent="0" Currenttimespent="0" Lastmodifiedby="bsmithy" Lastmodifieddate="1/15/2007 12:51:52 PM" Hiddenresolution="" Showtouser="False" Duedate="1/15/2007 12:00:00 AM" TicketID="2" />
User | Account identifier | 'jsmith' or '5192490508' or 'Company X' |
Reference |
|
|
Subject | Subject of ticket | 'customer DSL is slow' |
Description | Description of ticket | this is the main body of the ticket |
Resolution | Resolution section of ticket | this is the resolution field, or the answer to the question |
AssignedTo | Username of admin this is assigned to | 'bsmith' |
Loggedby | Username of account that logged the ticket | 'ljones' |
Date | Date the ticket was added | '1/15/2007 12:51:52 PM' |
TimeSpent | Value in minutes of the time spent | 0 |
Status | Current status of the ticket | 'Open', 'Closed' |
Priority | Priority of the ticket | Low, Normal, High (these will be configured in Adminportalalready, match the names of preexisting priorities) |
ClosedBy | Username of admin that closed the ticket if status is closed | 'nburns' |
Dateclosed | Date the ticket was closed | '2/18/2007 12:51:52 PM' |
Category | Category of ticket | predefined on setup tab |
Contactmethod | The method used to contact customer support |
|
Fromaddress | bsmithy@logisense.com |
|
Totaltimespent | Total time in minutes spend on ticket so far | 0 |
Currenttimespent | Value in minutes of current time spend | 0 |
Lastmodifiedby | Username of admin that modified the ticket | bsmithy |
Hiddenresolution | Text from ticket that was hidden from end user (background discussion) | text that was on ticket but hidden from customer |
Showtouser | Flag defining whether end user (customer) can see this ticket if logged into the customerportal | True or False |
Duedate | Date on which the ticket should be completed | 1/15/2007 12:00:00 AM |
TicketID | ID reference for ticket | 32194 |
Importing Ticket Tracking Records
Ticket Tracking records are the detail attached to the ticket, the inline comments or appended text on tickets.
Note: the ticket is the core ticket. Ticket Tracking is the detail of the ticket.
An example of the ticket tracking XML is shown below:
<TicketTracking Reference="1 test" Date="1/11/2007 3:02:49 PM" Loggedby="bsmithy" Description="adsfds" Status="Closed" Category="Support" Priority="Normal" Assignedto="bsmithy" Hiddenresolution="" SolutionCode="Ticket Resolved" TicketID="2" /> <TicketTracking Reference="1 test" Date="1/11/2007 1:27:45 PM" Loggedby="bsmithy" Description="test" Status="Open" Category="Support" Priority="Normal" Assignedto="bsmithy" Hiddenresolution="" SolutionCode="Ticket Resolved" TicketID="1" />
Importing Ticket Attachments
With Ticket Attachment, you can import attachments to tickets. Any file can be attached. If there are errors, check the size of the attachment as files over 2 MBs may produce errors. If this is a concern, attempt to import a large file by itself to confirm that it will import without issue.
<TicketDetailAttachment TicketID="4" FileName="List.txt" LocalFile="C:\List.txt" Hidden="false"/> <TicketDetailAttachment TicketID="4" FileName="nuclear-test.jpg" URL="d:\folder\image.jpg" Hidden="false"/>
Importing Payment Methods
Importing UserPaymentMethodCash
<?xml version="1.0"?> <UserPaymentMethodCashs> <UserPaymentMethodCash User="david" Owner="Logisense Corporation" PaymentTypeName="TelephoneMonthly" /> <UserPaymentMethodCash User="mike" Owner="Logisense Corporation" PaymentTypeName="TelephoneMonthly" /> </UserPaymentMethodCashs>
Importing UserPaymentMethodCreditCard
<?xml version="1.0"?> <CreditCards> <CreditCard Name="bsmithy" Owner="Quality_Assurance" Card="4111111111123333" ExpireMonth="01" ExpireYear="2011" AccountHolder="firstname lastname" CardType="MasterCard" /> </CreditCards>
Importing UserPaymentMethodCheck
<?xml version="1.0"?> <UserPaymentMethodChecks> <UserPaymentMethodCheck User="bsmith" Owner="admin" /> <UserPaymentMethodCheck User="apollo" Owner="admin" /> </UserPaymentMethodChecks>
Importing UserPaymentMethodACH
The first line below adds the UserPaymentMethod object and creates a reference to it to be used in the UserPaymentMethodACH object.
<test> <UserPaymentMethod User="RC300093-Test" Value="Check" PaymentType="/Owner=test/PaymentType=Check" ReferenceName='pm1'/> <UserPaymentMethodACH Bank="test" Route="123" Account="556677" AccountHolder="test test" UserPaymentMethod="@pm1" BankAccountType="Checking" DriverLicenseNumber="m0123456789" DriverLicenseState="ON" DriverLicenseDateOfBirth="10/8/2013 00:00:00" Phone="555-555-5555" Country="Canada" State="ON" City="Guelph" Address="123 test street" ZipCode="N0G1N0" Email="test@test.com" /> </test>