Reference - Customer Data XML Import Specification

Table of Contents

Product Version

7.10

Product To Version


Status

final

1 Introduction

This document describes customer and customer-user import XML format:

  • Minimal "skeleton" to import a customer (only mandatory attributes)
  • Optional attributes
  • Compose the address name

Customers are containers for users. In a B2C scenario exactly one user is assigned to a customer. In a B2B scenario at least one user is assigned to the customer. Besides the users a customer has an ID, a localizable name and a customer type.

1.1 Glossary

TermDescription
CustomerA natural person or an organizational unit
UserOnly a natural person
ProfileData structure that describes users

2 XML Definition

2.1 Root Elements

2.1.1 enfinity Element

enfinity element
<xsd:element name="enfinity">
	<xsd:complexType mixed="false">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="customer" minOccurs="0" maxOccurs="unbounded" />
		</xsd:choice>
		<xsd:attributeGroup ref="documentVersion" />
	</xsd:complexType>
</xsd:element>

2.1.2 customer Element

The following customer data attributes can be imported:

  • Customer number
  • Customer type
  • Approval status
  • Custom attributes

The following company profile data attributes can be imported:

  • Company name(s)
  • Description
  • Taxation
  • Industry
  • Enabled/Disabled

The following relations can be imported:

  • Addresses 
  • Users
customer element
<xsd:complexType name="Customer">
	<xsd:sequence>
		<xsd:element name="external-id" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="external-urn" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="customer-type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
		<xsd:element name="company-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="company-name2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="taxation-id" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="industry" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="enabled" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
		<xsd:element name="approval-status" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		<xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
		<xsd:element name="users" type="Users" minOccurs="1" maxOccurs="1" />
		<xsd:element name="preferred-invoice-to-address" type="complexType.BasicAddress" minOccurs="0" maxOccurs="1" />
		<xsd:element name="preferred-ship-to-address" type="complexType.BasicAddress" minOccurs="0" maxOccurs="1" />
		<xsd:element name="addresses"
			type="complexType.Customer.Addresses" minOccurs="0" maxOccurs="1" />
	</xsd:sequence>
	<xsd:attribute name="id" type="simpleType.Generic.String.256" use="required"/>
	<xsd:attribute name="import-mode" type="simpleType.ImportMode" />
</xsd:complexType>

2.1.2.1 customer Element for ICM B2X

You can import the same aspects as outlined above. In addition, Intershop Commerce Management B2X allows to import:

  • Account Managers
  • Cost Object Types
  • Cost Centers
customer element B2X
<xsd:complexType name="Customer">
    <xsd:sequence>
        <xsd:element name="external-id" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
        <xsd:element name="external-urn" type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
        <xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="customer-type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="company-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="company-name2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="taxation-id" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="industry" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="enabled" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
        <xsd:element name="approval-status" type="xsd:string" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
        <xsd:element name="users" type="Users" minOccurs="1" maxOccurs="1" />
        <xsd:element name="preferred-invoice-to-address" type="complexType.BasicAddress" minOccurs="0" maxOccurs="1" />
        <xsd:element name="preferred-ship-to-address" type="complexType.BasicAddress" minOccurs="0" maxOccurs="1" />
        <xsd:element name="addresses"
            type="complexType.Customer.Addresses" minOccurs="0" maxOccurs="1" />
        <xsd:element name="account-managers" type="complexType.AccountManagers" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="cost-object-types" type="complexType.CostObjectTypes" minOccurs="0" maxOccurs="1">
            <xsd:key name="costObjectTypeKey">
                <xsd:selector xpath="cost-object-type"/>
                <xsd:field xpath="@name"/>
            </xsd:key>
        </xsd:element>
        <xsd:element name="cost-centers" type="complexType.CostCenters" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="simpleType.Generic.String.256" use="required"/>
    <xsd:attribute name="import-mode" type="simpleType.ImportMode" />
</xsd:complexType>data structure that describes users

2.1.2.2 id Attribute

This attribute represents the ID of a customer. It is part of the semantic key used to identify identical customer objects throughout system boundaries. It should not be mixed up with primary keys that are used to identify identical database records.

id attribute
<xsd:attribute name="id" type="simpleType.Generic.String.256" use="required"/>

2.1.2.3 import-mode Attribute

This attribute defines the mode used when importing that element. If it is missing, it falls back to the import process configuration (via UI or DBInit). If that process configuration is also missing, it falls back to import mode OMIT.

import-mode attribute
<xsd:attribute name="import-mode" type="simpleType.ImportMode" />

<xsd:simpleType name="simpleType.ImportMode">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="OMIT" />
		<xsd:enumeration value="IGNORE" />
		<xsd:enumeration value="INITIAL" />
		<xsd:enumeration value="DELETE" />
		<xsd:enumeration value="REPLACE" />
		<xsd:enumeration value="UPDATE" />
	</xsd:restriction>
</xsd:simpleType>

2.2 Elements of Type Customer

2.2.1 external-id

This element acts as identity describing material inside the boundaries of some arbitrary external system.

Example: <external-id>0017</external-id>

2.2.2 external-urn

This can be used to describe the information on how to reach the external system.

Example: <external-urn>urn:address:MSDynamics365:Contoso:0017</external-urn>

2.2.3 dispay-name

This element is ignored during the import process.

display-name element
<xsd:element name="display-name" type="complexType.Generic.Attribute.String" minOccurs="0" maxOccurs="1"/>

2.2.4 customer-type

This is a type of the customer with one possible type for individual customers. The value PRIVATE is used for individual customers only.

customer-type element
<xsd:element name="customer-type" type="xsd:string" minOccurs="1" maxOccurs="1"/>

Example:

<customer-type>SMB</customer-type>

<customer-type>PRIVATE</customer-type>

2.2.5 company-name and company-name2

Both element values map to the corresponding fields in the database table COMPANYPROFILE.

For non-private customers (see customer-type) the company-name element is mandatory. This means that its value must not be missing or empty.

company-name and company-name2 element
<xsd:element name="company-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="company-name2" type="xsd:string" minOccurs="0" maxOccurs="1"/>

Example: <company-name>Oil Corp</company-name>

2.2.6 description

This is an optional descriptive text about the customer. The value is stored in the equally named field of the database table COMPANYPROFILE.

As the type suggests, the descriptive text is taken as is. It is not stored together with a java Locale.

description element
<xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>

Example: <description>Oil Corp is one of the world's leading oil companies.</description>

2.2.7 taxation-id

This is an optional taxation ID of the customer. The value is stored in the equally named field of the database table COMPANYPROFILE.

taxation-id element
<xsd:element name="taxation-id" type="xsd:string" minOccurs="0" maxOccurs="1"/>

Example: <taxation-id>89548681508155</taxation-id>

2.2.8 industry

This is an optional value for the industry of the customer. The value is stored in the equally named field of the database table COMPANYPROFILE.

industry element
<xsd:element name="industry" type="xsd:string" minOccurs="0" maxOccurs="1"/>

Example: <industry>Communication</industry>

2.2.9 enabled

It determines if a customer is enabled or disabled.

StatusValue
Enabled<enabled>1</enabled>
Disabled<enabled>0</enabled>
enabled element
<xsd:element name="enabled" type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />

2.2.10 approval-status

This serves to specify the approval status of the associated customer. Mind that whether or not this approval status is indeed optional is determined by preferences during the import. See Cookbook - Customer Approval for more information on the topic.

One out of the following possible values can be used.

StatusValue
PENDING<approval-status>0</approval-status>
APPROVED<approval-status>1</approval-status>
REJECTED<approval-status>2</approval-status>


approval-status element
<xsd:element name="approval-status" type="xsd:string" minOccurs="0" maxOccurs="1"/>

2.2.11 custom-attributes

The custom-attributes tag specifies that a list with all custom attributes is following. This tag can be used to set up the custom attributes of some customer data record. Each custom attribute has to be defined in a different custom-attribute tag.

Example:

<custom-attributes>

<custom-attribute />

<custom-attribute />

...

</custom-attributes>

custom-attributes element
<xsd:element name="custom-attributes" type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
 
<xsd:complexType name="complexType.CustomAttributes" mixed="false">
    <xsd:sequence>
        <xsd:element name="custom-attribute" type="complexType.CustomAttribute" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
</xsd:complexType>

2.2.12 users

References assigned users. Only one user per individual customer is allowed. Individual customers are identified by customer-type element value equals PRIVATE.

<xsd:complexType name="Users">
	<xsd:annotation>
		<xsd:documentation>References assigned users.</xsd:documentation>
	</xsd:annotation>
	<xsd:sequence>
		<xsd:element name="user" type="complexType.User" minOccurs="1" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

user Element

You can import:

  • Business-partner-no
  • Mapping data to external systems
  • Profile data
  • User group assignment data
type User
<xsd:complexType name="complexType.User" mixed="false">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name="business-partner-no"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="external-id"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="external-urn"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="profile" type="complexType.Profile"
			minOccurs="0" maxOccurs="1" />
		<xsd:element name="user-groups"
			type="complexType.UserGroups" minOccurs="0" maxOccurs="1" />
		<xsd:element name="custom-data"
			type="complexType.CustomData" minOccurs="0" maxOccurs="1" />
	</xsd:choice>
	<xsd:attribute name="refid" type="simpleType.UUID" />
	<xsd:attribute name="import-mode" type="simpleType.ImportMode" />
	<xsd:attribute name="business-partner-no"
		type="simpleType.Generic.String.256" />
</xsd:complexType>

2.2.12.1 user Element refid Attribute

This is outdated and only kept for backward compatibility. It denotes the UUID of the user's profile (see table BASICPROFILE).

If omitted, import falls back to perform lookup by business-partner-no attribute (see below).

2.2.12.2 user Element import-mode Attribute

The same semantics as for the element customer apply (see above).

2.2.12.3 user Element business-partner-no Attribute

During the validation process the import performs certain lookup operations to find an existing user profile. It uses a fallback chain of different xml values to do that. Depending on the success of the operation, it proceeds with ignoring the other values.

  1. refid attribute value
  2. business-partner-no attribute value
  3. business-partner-no element value

PRIVATE customers share equal values for business-partner-no (element or attribute) and id attribute (of customer element).

2.2.13 preferred-ship-to-address

Example:

<preferred-ship-to-address name="customeraddr-mVt_AAABOzgAAAFyr257Uxic">
  <address-name>customeraddr-mVt_AAABOzgAAAFyr257Uxic</address-name>
  <address-id>mVt_AAABOzgAAAFyr257Uxic</address-id>
  <city>Gotham City</city>
  <country-code>XY</country-code>
  <postal-code>KE8453</postal-code>
  <company-name1>Acme Inc.</company-name1>
  <last-name>Bunny</last-name>
  <first-name>Bugs</first-name>
  <address-line1>Rabit hole 2</address-line1>
  <ship-to-address>1</ship-to-address>
  <invoice-to-address>1</invoice-to-address>
</preferred-ship-to-address>

2.2.14 preferred-invoice-to-address

Example:

<preferred-invoice-to-address name="customeraddr-_ZN_AAABBPsAAAFyfWN7Uxid">
  <address-name>customeraddr-_ZN_AAABBPsAAAFyfWN7Uxid</address-name>
  <address-id>_ZN_AAABBPsAAAFyfWN7Uxid</address-id>
  <city>John Doe City</city>
  <country-code>XX</country-code>
  <postal-code>MN73834</postal-code>
  <company-name1>Doe Ltd.</company-name1>
  <last-name>Doe</last-name>
  <first-name>John</first-name>
  <address-line1>1633 Somewhere Rd North</address-line1>
  <ship-to-address>1</ship-to-address>
  <invoice-to-address>1</invoice-to-address>
</preferred-invoice-to-address>

2.2.15 addresses

Customer addresses

addresses type
<xsd:complexType name="complexType.Customer.Addresses" mixed="false">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="address" type="complexType.BasicAddress"
			minOccurs="0" maxOccurs="unbounded" />
		</xsd:choice>
</xsd:complexType>

address Element

You can import:

  • Address data
basic address type
<xsd:complexType name="complexType.BasicAddress" mixed="false">
        <xsd:complexContent>
                <xsd:extension base="complexType.Address">
                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
                                <xsd:element name="ship-from-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                                <xsd:element name="ship-to-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                                <xsd:element name="invoice-to-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                                <xsd:element name="service-to-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                                <xsd:element name="install-to-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                                <xsd:element name="store-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />                                                                                                                                        
                                <xsd:element name="default-address"
                                        type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
                        </xsd:choice>
                </xsd:extension>
        </xsd:complexContent>
</xsd:complexType>

2.2.16 account-managers

This applies only for Intershop Commerce Management B2X.

You can import:

  • Users that can fulfill administrative roles for a particular customer (i.e. buying organization)
account-managers elment B2X
<xsd:element name="account-managers" type="complexType.AccountManagers" minOccurs="0" maxOccurs="1"/>

<xsd:complexType name="complexType.AccountManagers" mixed="false">
	<xsd:sequence>
		<xsd:element name="account-manager" type="complexType.AccountManager"
			minOccurs="1" maxOccurs="unbounded" />
	</xsd:sequence>
</xsd:complexType>

Example:

<account-managers><account-manager id="lworms"/></account-managers>

account-manager Element

You can import a fixed role relation between a user and a customer. This element influences the database table CUSTOMERACCOUNTMGRASSIGNMENT.

Account Manager type
<xsd:complexType name="complexType.AccountManager">
	<xsd:attribute name="id" type="simpleType.Generic.String.256"
		use="required" />
</xsd:complexType>

id Attribute

This is a reference to an existing user that acts as account manager for this B2B customer. The reference value must be the user's business-partner-no.

Example: <account-manager id="lworms"/>

2.2.17 cost-object-types

This applies only for Intershop Commerce Management B2X.

Cost object types describe what kind of object the cost object represents.

Cost Object Types type
<xsd:complexType name="complexType.CostObjectTypes" mixed="false">
	<xsd:sequence>
		<xsd:element name="cost-object-type" type="complexType.CostObjectType" minOccurs="0" maxOccurs="unbounded">
			<xsd:key name="descriptionLanguageKey">
				<xsd:selector xpath="description"/>
				<xsd:field xpath="@xml:lang"/>
			</xsd:key>
			<xsd:key name="displayNameLanguageKey">
				<xsd:selector xpath="display-name"/>
				<xsd:field xpath="@xml:lang"/>
			</xsd:key>
		</xsd:element>
	</xsd:sequence>
</xsd:complexType>

Example:

<cost-object-types>
  <cost-object-type name="Project">
   <display-name xml:lang="en-US">Project</display-name>
   <description xml:lang="en-US">Cost object type representing the projects of the company.</description>
   <display-name xml:lang="de-DE">Projekt</display-name>
   <description xml:lang="de-DE">Kostenträgertyp für Projekte des Unternehmens.</description>
  </cost-object-type>
  <cost-object-type name="PurchaseOrderNumber">
    <display-name xml:lang="en-US">Purchase Order Number</display-name>
    <description xml:lang="en-US">The related purchase order number of the company.</description>
    <display-name xml:lang="de-DE">Interne Bestellnummer</display-name>
    <description xml:lang="de-DE">Die zugehörige interne Bestellnummer des Unternehmens.</description>
  </cost-object-type>
</cost-object-types>

cost-object-type Element

Using localized data (description, display name) this element explains what kind of cost object it represents.

You can import:

  • Cost object type with optional description and display name
  • Assignment between a customer and a cost object type
Cost Object Type type
<xsd:complexType name="complexType.CostObjectType">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name ="display-name" type="complexType.TranslatableField" />
		<xsd:element name ="description" type="complexType.TranslatableField" />
	</xsd:choice>
	<xsd:attribute name="name" type="simpleType.Generic.String.256" use="required"/>
</xsd:complexType>


name
 Attribute

This is a unique name that denotes the type within a given customer.

2.2.18 cost-centers

This applies only for Intershop Commerce Management B2X.

This is a collection of cost center references to which this customer is assigned to.

Cost Centers type
<xsd:complexType name="complexType.CostCenters" mixed="false">
	<xsd:sequence>
		<xsd:element name="cost-center" type="complexType.CostCenter"
			minOccurs="1" maxOccurs="unbounded" />
	</xsd:sequence>
</xsd:complexType>

Example:

cost-center Element

The database tables COSTCENTERBASE and COSTCENTERBUYERASGMT are touched by this import element.

You can import:

  • A budget
  • A budget period
  • Owner assignment (to user)
  • Buyer assignments (to users)
Cost Center type
<xsd:complexType name="complexType.CostCenter">
	<xsd:sequence>
		<xsd:element name="budget" type="complexType.CostCenterBudget" minOccurs="1" maxOccurs="1"/>
		<xsd:element name="owner" type="complexType.UserByLogin" minOccurs="1" maxOccurs="1"/>

		<xsd:element name="buyers" type="complexType.CostCenterBuyers" minOccurs="0" maxOccurs="1"/>
	</xsd:sequence>

	<xsd:attribute name="id" type="simpleType.Generic.String.256" use="required"/>
	<xsd:attribute name="name" type="simpleType.Generic.String.256" use="required"/>
	<xsd:attribute name="active" type="simpleType.Boolean" use="optional"/>
</xsd:complexType>

2.2.18.1 cost-center Element id Attribute

It specifies the ID of a contact center. It must be a unique value within one customer.

2.2.18.2 cost-center Element name Attribute

This represents the non-localizable display name of a cost center.

2.2.18.3 cost-center Element active Attribute

It determines the active state of a cost center object. The default value is unspecified. Though newly created cost centers will be active by default.

MeaningExample
active cost center<cost-center active="1">
inactive cost center<cost-center active="0">

2.3 Elements of Type BasicAddress

All elements contained in here are internally mapped to a bit mask value. Types of address usage are represented by these bit codes on the database layer. On the Business Object Layer the usage is defined by a Java enum type or EnumSet.

2.3.1 ship-from-address

This element signals the given address to be used for ship-from purposes.

Bit Code in Column USAGE

Meaning

Element Value
(4 =) 0000 0100ship-from address<ship-from-address>1</ship-from-address>
0no ship-from address<ship-from-address>0</ship-from-address>

2.3.2 ship-to-address

This element signals the given address to be used for ship-to purposes.

Bit Code in Column USAGE

Meaning

Element Value
(2 =) 0000 0010ship-to address<ship-to-address>1</ship-to-address>
0no ship-to address<ship-to-address>0</ship-to-address>

2.3.3 invoice-to-address

This element signals the given address to be used for invoice-to purposes.

Bit Code in Column USAGE

Meaning

Element Value
(1 =) 0000 0001invoice-to address<invoice-to-address>1</invoice-to-address>
0no invoice-to address<invoice-to-address>0</invoice-to-address>

2.3.4 service-to-address

This element signals the given address to be used for service-to purposes.

Bit Code in Column USAGE

Meaning

Element Value
(8 =) 0000 1000service-to address<service-to-address>1</service-to-address>
0no service-to address<service-to-address>0</service-to-address>

2.3.5 install-to-address

This element signals the given address to be used for install-to purposes.

Bit Code in Column USAGE

Meaning

Element Value
(16 =) 0001 0000install-to address<install-to-address>1</install-to-address>
0no install-to address<install-to-address>0</install-to-address>

2.3.6 store-address

This element signals the given address to be a store address.

Bit code in column USAGE

Meaning

Element Value
(32 =) 0010 0000store address<store-address>1</store-address>
0not a store address<store-address>0</store-address>

2.3.7 default-address

This element is not used anymore. See preferred invoice-to or ship-to address elements of type Customer.

2.3.8 Extended type Address

As referred complexType.BasicAddress is an extension of complexType.Address the definition of that type is included here as well.

Address type
<xsd:complexType name="complexType.Address" mixed="false">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="address-nr"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="address-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="address-id"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="external-id"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="external-urn"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="city"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="country-code"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. use sub-division instead-->
		<xsd:element name="county"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="postbox"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="postal-code"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. use sub-division instead -->
		<xsd:element name="prefecture"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />	
		<!--  @Deprecated since 7.8. use main-division instead-->
		<xsd:element name="province"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="region"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. use main-division instead-->
		<xsd:element name="state"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="sub-division"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="main-division"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="street-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="homepage"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="mobile"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-mobile"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-home"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-business"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-business-direct"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="company-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="company-name1"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="company-name2"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="company-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="honorific"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="aristocratic-title"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="title"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="job-title"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="suffix"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="first-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="last-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="last-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="first-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="second-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="second-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="second-lastname"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="street"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="street2"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<!--  @Deprecated since 7.8. -->
		<xsd:element name="street3"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="address-line1"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="address-line2"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="address-line3"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="email"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="fax" type="simpleType.Generic.String.256"
			minOccurs="0" maxOccurs="1" />
		<xsd:element name="custom-attributes"
			type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
	</xsd:choice>
	<xsd:attribute name="name" type="simpleType.Generic.String.256" />
</xsd:complexType>

Example:

<address name="customeraddr-HkzrtGmaRquNLacIOukuNkBJEv">
  <address-name>customeraddr-HkzrtGmaRquNLacIOukuNkBJEv</address-name>
  <first-name>Gertrud</first-name>
  <last-name>Grauhof</last-name>
  <city>Graz</city>
  <postal-code>8010</postal-code>
  <address-line1>Dorfstr. 7</address-line1>
  <country-code>AT</country-code>
  <phone-home>43655890</phone-home>
  <default-address>1</default-address>
  <ship-to-address>1</ship-to-address>
  <invoice-to-address>1</invoice-to-address>
</address>

2.4 Elements of Type Address

2.4.1 name Attribute

This element is not used anymore.

2.4.2 address-name Element

This refers to the name of the address.

2.4.3 address-id

This element can be used to uniquely identify a customer address.

Note

This ID value must be unique over all customer addresses. If omitted, the system generates a UUID value on import. 

2.4.4 external-id

This acts as identity describing material inside the boundaries of some arbitrary external system.

Example: <external-id>0017</external-id>

2.4.5 external-urn

This element can be used to describe the information on how to reach the external system.

Example: <external-urn>urn:address:MSDynamics365:Contoso:0017</external-urn>

2.4.6 city

This refers to the name of the city.

Example: <city>Berlin</city>

2.4.7 country-code

This is the IANA top level domain for the country in which this address is located.

Example: <country-code>DE</country-code>

2.4.8 postbox

The post-office box or post office box (commonly referred to as a PO box or a postal box) is a box with a number in a post office to which your letters and parcels can be sent and from which they can be collected.

2.4.9 postal-code

This refers to the code of letters and digits used as part of a postal address to aid the sorting of mail. It is also called (in Britain and certain other countries) postcode US equivalent zip code.

Example: <postal-code>24103</postal-code>

2.4.10 main-division

This refers to the main division of the country, e.g. state or province.

2.4.11 phone-mobile

This refers to the number of the contact person's cell phone.

2.4.12 phone-home

This refers to the phone number of the house or apartment where the contact person lives.

2.4.13 phone-business

This is the number of the contact person's company.

2.4.14 phone-business-direct

This is a business phone number extension that allows an outside caller to connect directly to the contact person without any help from an attendant or operator.

2.4.15 company-name1

This refers to the company name.

2.4.16 company-name2

This line is optional if room is needed to include more information of the company.

2.4.17 honorific

This is the honorific title of the contact person that denotes the honored person's occupation, like Captain, Coach, Officer, Reverend or the academic title, like PhD.

2.4.18 aristocratic-title

This refers to the title of the contact person, an aristocratic title like Lord or Lady.

2.4.19 title

This refers to the personal title, like Ms. or Mr.

2.4.20 job-title

This refers to the job title of the contact person. By correctly addressing the job title of the recipient, you can ensure that it gets to the right person, especially in large companies which may have more than one person with the same name.

2.4.21 last-name

This is the last name of the address holder.

Example: <last-name>Weiers</last-name>

2.4.22 first-name

This is the first name of the address holder.

Example: <first-name>Daniela</first-name>

2.4.23 second-name

This refers to the second given name of the contact person. Allocation depends on the culture area: In European countries this would be regarded as the second name, whereas in the United States a person usually has one middle name.

2.4.24 second-lastname

This refers to the second last name of the contact person. Allocation depends on the culture area: The second last (sure) name is common in the Hispanic culture.

2.4.25 address-line1

This is the first address line that usual contains street and house number.

2.4.26 address-line2

This is the second address line. This line is optional if room is needed to include more identifying information than a simple street and house number.

2.4.27 address-line3

This is the third address line. This line is optional if room is needed to include additional information, e.g. apartment or building.

2.4.28 email

This refers to the contact person's e-mail account.

2.4.29 fax

This is the number of the contact person's for facsimile machine.

2.4.30 custom-attributes

See Elements of Type Customer for a description.

Example:

<custom-attributes>
   <custom-attribute name="attribute name" dt:dt="string">attribute value</custom-attribute>
</custom-attributes>

2.5 Elements of Type User

2.5.1 business-partner-no

See explanation of the equally named attribute.

2.5.2 external-id

This element acts as identity describing material inside the boundaries of some arbitrary external systems.

Example: <external-id>0017</external-id>

2.5.3 external-urn

This element can be used to describe the information on how to reach the external system.

Example: <external-urn>urn:address:MSDynamics365:Contoso:0017</external-urn>

2.5.4 profile

You can import:

  • Profile data
  • Custom attribute data

The following relations can be imported:

  • User addresses
  • Credentials
profile element
<xsd:complexType name="complexType.Profile" mixed="false">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name="credentials"
			type="complexType.Profile.Credentials" minOccurs="0" maxOccurs="1" />
		<xsd:element name="creation-date" 
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="department"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-home"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-business"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="phone-mobile"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="fax"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="email"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="anniversary"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="birthday"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="birthday-date" type="simpleType.DateTime"
			minOccurs="0" maxOccurs="1" />
		<xsd:element name="company-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="company-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="first-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="last-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="last-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="first-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="second-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="second-name-transcription"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="second-lastname"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="gender"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="hobbies"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="honorific"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="title"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="job-title"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="keywords"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="nick-name"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="preferred-currency"
			type="simpleType.Generic.String.10" minOccurs="0" maxOccurs="1" />
		<xsd:element name="preferred-language"
			type="simpleType.Generic.String.10" minOccurs="0" maxOccurs="1" />
		<xsd:element name="preferred-locale"
			type="simpleType.Generic.String.10" minOccurs="0" maxOccurs="1" />
		<xsd:element name="preferred-timezone-id"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="profession"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="suffix"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="description"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="custom-attributes"
			type="complexType.CustomAttributes" minOccurs="0" maxOccurs="1" />
		<xsd:element name="addresses"
			type="complexType.Profile.Addresses" minOccurs="0" maxOccurs="1" />
		<xsd:element name="mail-confirmation"
			type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
		<xsd:element name="fax-confirmation"
			type="simpleType.Boolean" minOccurs="0" maxOccurs="1" />
	</xsd:choice>
</xsd:complexType>

2.5.5 user-groups

You can import assignments between user and user groups. 

user-groups element
<xsd:complexType name="complexType.UserGroups" mixed="false">
	<xsd:sequence>
		<xsd:element name="user-group" type="complexType.UserGroup"
			minOccurs="0" maxOccurs="unbounded" />
	</xsd:sequence>
</xsd:complexType>

Example:

<user-groups>
  <user-group id="IG_PrivateCustomers" domain="inSPIRED-inTRONICS-Anonymous"/>
</user-groups>

2.6 Elements of Type Profile

2.6.1 credentials

You can import:

  • Password hash
  • Enabled state
  • Password reminder e-mail
  • Password creation date
credentials element
<xsd:complexType name="complexType.Profile.Credentials"
	mixed="false">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name="login"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="password"
			type="complexType.Profile.Credentials.Password" minOccurs="0"
			maxOccurs="1" />
		<xsd:element name="password-reminder"
			type="complexType.Profile.Credentials.PasswordReminder"
			minOccurs="0" maxOccurs="1" />
		<xsd:element name="enabled" type="simpleType.Boolean"
			minOccurs="0" maxOccurs="1" />
		<xsd:element name="reminder-email"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
		<xsd:element name="ip-addresses"
			type="simpleType.Generic.IPAddress" minOccurs="0" maxOccurs="1" />
		<xsd:element name="security-question"
			type="simpleType.Generic.String.1024" minOccurs="0" maxOccurs="1" />				
		<xsd:element name="last-logged-in" 
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
	    <xsd:element name="password-creation-date" 
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />
	</xsd:choice>
	<xsd:attribute name="login"
		type="simpleType.Generic.String.256" />
</xsd:complexType>

Example:

<credentials>
  <login>ina.weidel@test.intershop.de</login>
  <password>some-clear-text-password</password>
  <enabled>1</enabled>
  <password-reminder>intershop</password-reminder>
  <reminder-email>ina.weidel@test.intershop.de</reminder-email>
  <security-question>Who was your first employer?</security-question>
</credentials>

2.6.2 creation-date

This refers to the time of account creation. This element is optional. Depending on the import mode, it can be created automatically by the system. If a element value is present, it is overruling any system-generated value.

Example: <creation-date>2020-06-02T09:59:32+02:00</creation-date>

2.6.3 email

This refers to the e-mail of the account. This element is mandatory and must be a valid e-mail.

Example: <email>d.weiers@test.intershop.de</email>

2.6.4 last-name

This refers to the user's last name. This element is mandatory.

Example: <last-name>Weiers</last-name>

2.6.5 first-name

This refers to the user's first name. This element is mandatory.

Example: <first-name>Daniela</first-name>

2.6.6 addresses

This is the container of user addresses. It remains for legacy purposes only. Please use the customer address element instead. Both elements are equally typed (e.g. complexType.BasicAddress).

addresses type
<xsd:complexType name="complexType.Profile.Addresses" mixed="false">
	<xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name="address" type="complexType.BasicAddress"
			minOccurs="0" maxOccurs="unbounded" />
	</xsd:choice>
</xsd:complexType>

2.7 Elements of Type UserGroups

2.7.1 user-group

This element represents the reference to a user group within the system. User groups have a semantic compound key consisting of the id and domain name value.

user-group element
<xsd:complexType name="complexType.UserGroup" mixed="false">
	<xsd:attribute name="id" type="simpleType.Generic.String.256"
		use="required" />
	<xsd:attribute name="domain"
		type="simpleType.Generic.String.256" />
</xsd:complexType>

2.7.1.1 id Attribute

This attribute refers to the system identifier used to identify a user group record within one domain.

Example:

<user-group id="IG_SMBCustomers">

<user-group id="IG_PrivateCustomers">

2.7.1.2 domain Attribute

This is the system name used to scope user group records. This element is optional. The import process falls back to the execution domain of the process itself. It is configured as part of the DBInit or back office management UI.

Example:

<user-group id="IG_PrivateCustomers" domain="inSPIRED-inTRONICS-Anonymous"/>

<user-group id="IG_SMBCustomers" domain="inSPIRED-inTRONICS_Business-Anonymous"/>

2.8 Elements of Type Credentials

Only mandatory elements are described.

2.8.1 login

This element refers to the login of the user. Only e-mail is accepted.

login element
<xsd:element name="login"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

Example: <login>d.weiers@test.intershop.de</login>

2.8.2 password

This is the password of the user.

With the additional encrypted attribute you can specify how the elements value should be processed.

Encrypted Attribute ValueElement's Node Value
1 (default if omitted)Will be treated as encrypted password hash
0

Will be treated as clear text password

password element
<xsd:element name="password"
			type="complexType.Profile.Credentials.Password" minOccurs="0" maxOccurs="1" />

Example:

<password>Clear-Text-password</password>

<password encrypted="1">!InterShop00!</password>

2.8.3 enabled

This element determines if the user account is enabled or not.

enabled element
<xsd:element name="enabled" type="simpleType.Boolean"
			minOccurs="0" maxOccurs="1" />

Example: <enabled>1</enabled>

2.8.4 reminder-email

This refers to the reminder e-mail, which must be a valid e-mail.

reminder-email element
<xsd:element name="reminder-email"
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

Example: <reminder-email>d.weiers@test.intershop.de</reminder-email>

2.8.5 password-creation-date

This shows the time of the creation of the password.

password-creation-date element
<xsd:element name="password-creation-date" 
			type="simpleType.Generic.String.256" minOccurs="0" maxOccurs="1" />

Example: <password-creation-date>2015-06-02T09:59:32+02:00</password-creation-date>

2.9 Elements of Type Cost Object Type

2.9.1 display-name

Example: <display-name xml:lang="en-US">Project</display-name>

2.9.2 description

Example: <description xml:lang="en-US">Cost object type representing the projects of the company.</description>

2.10 Elements of Type Cost Center

2.10.1 budget

You can import:

  • A time-based budget for a cost center
budget element and Cost Center Budget type
<xsd:element name="budget" type="complexType.CostCenterBudget" minOccurs="1" maxOccurs="1"/>

<xsd:complexType name="complexType.CostCenterBudget" mixed="false">
	<xsd:attribute name="period" type="simpleType.Generic.String.256" use="required" />
	<xsd:attribute name="value" type="simpleType.Generic.String.256" use="required" />
</xsd:complexType>

2.10.1.1 period Attribute

It controls whether the budget value is fixed or renews after a given period of time. This value is written in lower-case into the column budgetperiod of the table COSTCENTERBASE.

If the budget element has a value attribute, it must also have a period attribute. Both are required.

Possible ValueExample
fixed<budget period="fixed" value="100 USD"/>
weekly<budget period="weekly" value="100 USD"/>
monthly<budget period="monthly" value="100 USD"/>
quarterly<budget period="quarterly" value="100 USD"/>

2.10.1.2 value Attribute

This is a money value that represents the cost center's budget. The import process converts the string into a money value using the impex money pattern, which is a concatenation of the money value as plain decimal (e.g 100 or 100.00 ), followed by a blank space and the currency mnemonic (e.g. USD, EUR or IDR).

Info

Internally it uses java.math.BigDecimal for string to decimal conversion.

Example: See period attribute.

2.10.2 owner

You can import:

  • Approver for cost center requisitions (e.g basket with cost center)
owner element and User By Login type
<xsd:element name="owner" type="complexType.UserByLogin" minOccurs="1" maxOccurs="1"/>

<xsd:complexType name="complexType.UserByLogin">
	<xsd:attribute name="login" type="simpleType.Generic.String.256" use="required" />
</xsd:complexType>

2.10.3 buyers

You can import:

  • Assignments between buyer (a user) and cost center
  • An optional budget for the referenced buyer
buyers element and Cost Center Buyers type
<xsd:element name="buyers" type="complexType.CostCenterBuyers" minOccurs="0" maxOccurs="1"/>

<xsd:complexType name="complexType.CostCenterBuyers" mixed="false">
	<xsd:sequence>
		<xsd:element name="buyer" type="complexType.CostCenterBuyer" minOccurs="1" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

buyer element

Cost Center Buyer type
<xsd:complexType name="complexType.CostCenterBuyer">
	<xsd:complexContent>
		<xsd:extension base="complexType.UserByLogin">
			<xsd:sequence>
				<xsd:element name="budget" type="complexType.CostCenterBudget" minOccurs="0" maxOccurs="1"/>
			</xsd:sequence>
		</xsd:extension>
	</xsd:complexContent>
</xsd:complexType>

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets