Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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 complete follow the kb article: Data Migration – Import Methods and Configuration.

XML Format

Note

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).

Info

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

Code Block
languagexml
<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

customer portal / adminportal

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

Code Block
languagexml
<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

Code Block
languagexml
<ContactEmail User="billingtest3" ContactName="test test" Email="testcontact@logisense.com" ContactType="Billing" />
  • 'Email Address' contact point type must exist, no other names will buseree 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

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

Code Block
languagexml
<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

Code Block
languagexml
<ContactFax User="aen20@raif.com" ContactName="Alex Motte" Phone="8197673316" ContactType="Billing Contact" />

...

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.

Code Block
languagexml
<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

...

ContactID = the id of the contact on the customer account you need this added to, ie i.e. hover over the billing contact link on the contact tab page to find its ID.

Importing Company Details on Contacts

Code Block
languagexml
<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 sub up child account relationships between accounts. This can be at any level.

Warning

Alertthis 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.

Code Block
languagexml
<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

Info

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.

Code Block
languagexml
<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 here:

View file
nameDebitImport.xml

To Add Credits

Info

Note: to add a credit a negative debit value is used (as shown below)

...

Code Block

.


As of EngageIP 9.3.8, you can specify the bulk amount which multiplies the amount value for credits

Code Block
languagexml
<Invoice User="ejonesbsmith" DateDescription="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" /> 

...

Code Block
<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"/>Test Credit With BulkQuantity" ApplyTax="True" Package="Voip Package" Date="2023-10-15" Debit="-1500" PeriodStart="2023-10-15" PeriodEnd="2023-10-15" TaxCode="Default" Tax1="" Tax2="" Tax3="" Tax4="" Invoice="18332" AutoDisbursePayment="true" BulkQuantity = "15"/>

If you want to import a set of 'transactions' and then close the invoice before adding more 'transactions', use the close tag:  <CloseInvoice CloseInvoice="" />

ApplyTax element tells the system to calculate a tax on the import of this credit

Template credit import file: 

View file
namecreditimporttemplate.xml

Info

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.

Code Block
languagexml
<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

Code Block
languagexml
<Payments>
<Payment User="apple1" Date="8/15/2009 2:30:39 PM" Credit="5.00" Description="Credit Card Payment" PaymentType="Credit Card" Invoice="PREFIX0000000394" />
<Payment User="apple1" Date="8/15/2009 2:30:39 PM" Credit="2.02" Description="Credit Card Payment" PaymentType="Credit Card" 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.

Info

Note: you need to update the owner name in the tags to use this.

Code Block
languagexml
<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"/>

...

  • 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)

Code Block
languagexml
<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.

  1. Create 'Opening Balance' service

  2. 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

  3. A new invoice will be generated if one does not already exist on the account, close this invoice

  4. 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

Code Block
languagexml
<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. .

Code Block
languagexml
<UserPackage User="bsmithy" Name="Monthly DialUp" NextBillDate="2/18/2007"/>

For below, click 'Use Generic':

Code Block
languagexml
<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>
Info

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)

Code Block
languagexml
<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

Tip

New in EngageIP 9.3.3

Info

Note: 'UserService ServiceID' is the ID of the Service in the Product Catalog.

Code Block
languagexml
<UserService ServiceID="1" UserID="4" OptionalServiceStartDate="2019-12-20 00:00:00" UserPackageID="1" Optional="True"/>

...

User Package Discounts - allows the import of discounts that are attached specifically to the customer (if not a system wide package discount).

Code Block
languagexml
<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 User Package ServicesSetup Tab / Package Services

  • Attach services to packages in EngageIP

    Code Block
    languagexml
    <?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>
Info

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

Info

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

Code Block
languagexml
<UserAttributeChangeUserStatusTypes>
<UserAttributeChangeUserStatusType User="/User=postpaid" Date="5/31/2012 11:59:59 PM" UserStatusType="/Owner=Logisense Corporation/UserStatusType=Disabled" />
</UserAttributeChangeUserStatusTypes>

UserAttrbiutePrintGroup

Code Block
languagexml
<UserAttributePrintGroup>
<UserAttributePrintGroup PrintGroup="/Owner=Logisense Corporation/PrintGroup=test" User="admin" />
</UserAttributePrintGroup>


The telecom attribute attached to services at the account level

Code Block
languagexml
<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
Code Block
languagexml
<UserServiceAttributeTelecomBucket User="bsmith" UserService="Dialup Service" TelecomBucket="Test" Amount="0" Pool="false" Priority="0" />

...

The name needs to be exactly as shown on the setup tab page for the service or the profile question under the Role. This IS for Role profile questions and Service profile questions

Code Block
languagexml
<?xml version="1.0"?>
<UserAttributeProfileAnswers>
<UserAttributeProfileAnswer User="bsmith" DisplayName="UserName" ProfileValue="helloworld" />
</UserAttributeProfileAnswers>

...

Applies TaxClass to user specifically

Info

Note: this uses the 'generic' format, as different from most of the other import items.

Code Block
languagexml
<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

Code Block
languagexml
<UserAttributeTaxCode User="apollo" TaxCode="Ontario" />
<UserAttributeTaxCode User="jmain" TaxCode="Ontario"  />

...

UserAttributeTaxExempt Component

Code Block
languagexml
<UserAttributeTaxExempts>
<UserAttributeTaxExempt User="dw124226"/>
<UserAttributeTaxExempt User="dw12423445"/>
</UserAttributeTaxExempts>

...

UserAttributeTaxExemptLevels

Code Block
languagexml
<?xml version="1.0"?>
<UserAttributeTaxExemptLevels>
<UserAttributeTaxExemptLevel User="admin" TaxExemptLevel="State" TaxExemptType="Sales" />
</UserAttributeTaxExemptLevels>

...

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:

Code Block
languagexml
<UserAttributeNote Name="admin" Type="Default" Text="just testing the import..." />

Generic method:

Code Block
languagexml
<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:

Code Block
languagexml
<?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

Code Block
languagexml
<?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>

...

The below will import a userpackage, along with the associated UserPackageExtendedAttribute

Code Block
languagexml
<?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

Code Block
languagexml
<UserExt User="/User=admin" market="a" />

...


Importing UserPackageAttributes

Code Block
languagexml
<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.

Code Block
languagexml
<UserAttributeChangeUserPackageStatusType Date="2022-06-1" User="/Owner=Logisense corporation/User=Admin" StatusTypeID="1" UserPackageID="123" UserPackageStatusTypeID="77" />

Importing UserServiceAttributes

Importing UserServiceAttributeContact

Code Block
languagexml
<UserServiceAttributeContact User="bsmith" UserPackage="DialUp"  UserService="Dialup" Contact="Fred Lee" ContactType="Billing Contact"/>

...

UserServiceAttributeTelecom

Code Block
languagexml
<UserServiceAttributeTelecom User="admin" UserService="Extreme DSL" TelecomRatePlan="Main" InboundTelecomRatePlan ="NO InBound rate plan" LocalMinutes="500" RegionalMinutes="500" NationalMinutes="500" />

...

Importing UserServiceAttributeTelecomBucket

Code Block
languagexml
<UserServiceAttributeTelecomBucket User="bsmith" UserService="Dialup" TelecomBucket="Test" Amount ="0" Pool="false" Priority="0"/>

...

Importing UserServiceTechData

Code Block
languagexml
<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. NOTE: If more than one service of the same name exists on an account, the profile answer will be completed for each of those instances. If you need this to be specific per user service ID, use the generic method further below

Code Block
languagexml
<UserServiceAttributeProfileAnswers>
<UserServiceAttributeProfileAnswer User="admin" Service="Optional 3" Name="WTN1" ProfileValue="HH887HH" />
</UserServiceAttributeProfileAnswers>

Generic Method here allowing you to import to a specific userserviceID:

Code Block
<import>
<ProfileAnswer ProfileQuestionID="4107" TerminalIDValue=""CIRAUserNamePassword="11111" FundsReferenceName="pa00001" />

Importing UserServiceAttributeProfileAnswers

Import answers for user services if there is a profile question on the service

Code Block
<UserServiceAttributeProfileAnswers>
<UserServiceAttributeProfileAnswer UserUserServiceID="admin8102" ServiceProfileAnswer="Optional 3@pa00001" NameServiceAttributeProfileQuestionID="WTN11008" ProfileValue="HH887HH" />
</UserServiceAttributeProfileAnswers>import>

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...)

Code Block
languagexml
<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

Code Block
languagexml
<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 customerportal

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.

Info

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:

Code Block
languagexml
<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" />

...

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.

Code Block
languagexml
<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 UserPaymentMethodCash

Code Block
languagexml
<?xml version="1.0"?>
<UserPaymentMethodCashs>
<UserPaymentMethodCash User="david" Owner="Logisense Corporation" PaymentTypeName="TelephoneMonthly" />
<UserPaymentMethodCash User="mike" Owner="Logisense Corporation" PaymentTypeName="TelephoneMonthly" />
</UserPaymentMethodCashs>


Importing UserPaymentMethodCreditCard

Code Block
languagexml
<?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

Code Block
languagexml
<?xml version="1.0"?>
<UserPaymentMethodChecks>
<UserPaymentMethodCheck User="bsmith" Owner="admin" />
<UserPaymentMethodCheck User="apollo" Owner="admin" />
</UserPaymentMethodChecks>

...

The first line below adds the UserPaymentMethod object and creates a reference to it to be used in the UserPaymentMethodACH object.

Code Block
languagexml
<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>