Skip to main content

Import definition

Explore the comprehensive XML definition of the import supplier cXML message

Proactis supplier API uses the cXML message standard. We suggest you refer to the cXML User's Guide at cxml.org to learn more. Sample messages including annotation can be found on the sample messages page.

Basic supplier example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.048/cXML.dtd">
<cXML payloadID="[email protected]" timestamp="2024-01-11T13:26:41+0100" xml:lang="en">
<Header>
<From>...</From>
<To>...</To>
<Sender>...</Sender>
</Header>
<Request deploymentMode="test">
<OrganizationChangeMessage type="new">
<Organization>
<Name xml:lang="en">Northwest Goods</Name>
<Credential domain="Number">...</Credential>
<Credential domain="DUNS">...</Credential>
<Credential domain="VAT">...</Credential>
<Credential domain="COC">...</Credential>
<Credential domain="GLN">...</Credential>
<OrganizationRole name="supplier"/>
<Address>...</Address>
<Person>...</Person>
<Commodity>...</Commodity>
<PaymentInformation>...</PaymentInformation>
<Extrinsic name="ProactisOnlineFlag">true</Extrinsic>
<Extrinsic name="ERPSystem">001</Extrinsic>
</OrganizationChangeMessage>
</Request>
</cXML>

The supplier starts with the Header which can used to authenticate the message and understand which Proactis customer is sending the supplier message.

<Header>
<From>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
</To>
<Sender>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
<SharedSecret></SharedSecret>
</Credential>
<UserAgent></UserAgent>
</Sender>
</Header>

The From Credential domain attribute and Identity element are used to identify the customer who created the supplier.

The To Credential domain attribute and Identity element are used to identify the customer who created the supplier.

The Sender Credential domain attribute and Identity element are used to identify the customer who created the supplier. The SharedSecret element remains empty.

Request

The Request element contains the the OrganizationChangeMessage and shows if this supplier has been sent from a test or production environment.

<Request deploymentMode="test">

OrganizationChangeMessage

The OrganizationChangeMessage contains an attribute that describe the action.

<OrganizationChangeMessage type="new">

The type attribute is type of supplier change. Possible values are new, update or delete.

info

In case the supplier already exists in Proactis make sure to use the update value to update the supplier. Using the new value to update an existing supplier will fail.

Name

The Name element will contain the name of the supplier.

<Name xml:lang="en">Organization name</Name>

Credentials

Each supplier has identifiers to identify the supplier in all kinds of systems. Credential elements are used for various supplier identifiers.

Supplier Number

The Number Credential element contains the supplier number as known in Proactis. This is the only mandatory Credential element.

<Credential domain="Number">
<Identity>SUP001</Identity>
</Credential>

DUNS Number

The DUNS Credential element contains a DUNS-number.

<Credential domain="DUNS">
<Identity>Demo_SUP001</Identity>
</Credential>

VAT Identifier

The VAT Credential element contains the VAT number for the supplier.

<Credential domain="VAT">
<Identity>NL123456789B01</Identity>
</Credential>

Chamber of Commerce

The COC Credential element contains the Chamber of Commerce number for the supplier.

<Credential domain="COC">
<Identity>123456789</Identity>
</Credential>

GLN Number

The GLN Credential element contains the GLN (Global Location Number) for the supplier.

<Credential domain="GLN">
<Identity>1234567890123</Identity>
</Credential>

Addresses

For each supplier two different address types can be stored, the visiting address and postal address.

Postal Address

This Address element contains PO box and contact information for the supplier

<Address>
<Name xml:lang="en"/>
<PostalAddress>
<Street>PO box 12</Street>
<City>Amsterdam</City>
<PostalCode>1111AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
<Email>[email protected]</Email>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode=""/>
<AreaOrCityCode></AreaOrCityCode>
<Number>0123456789</Number>
</TelephoneNumber>
</Phone>
<Fax>
<TelephoneNumber>
<CountryCode isoCountryCode=""/>
<AreaOrCityCode></AreaOrCityCode>
<Number>0123456789</Number>
</TelephoneNumber>
</Fax>
<URL>www.northwestgoods.com</URL>
</Address>

Visiting Address

The Person element contains the visiting address of the supplier.

<Person>
<Contact role="visitingAddress">
<Name xml:lang="en">Visiting Address</Name>
<PostalAddress>
<Street>Damrak 1</Street>
<Street></Street>
<City>Amsterdam</City>
<State>NH</State>
<PostalCode>1111AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
</Contact>
<PersonRole name="supplier"/>
</Person>

Spending Pool & Commodity Code

Spending Pools and Commodity Codes assigned to the supplier will be added as Commodity elements. The domain attribute will contain a default value (CommodityCode or SpendingPool), the code attribute will contain the value of the spending pool or spending pool.

<Commodity>
<Classification domain="CommodityCode" code="4010">ICT Besturing software</Classification>
</Commodity>
<Commodity>
<Classification domain="SpendingPool" code="4000">ICT Software</Classification>
</Commodity>
<Commodity>
<Classification domain="SpendingPool" code="3000">ICT Hardware</Classification>
</Commodity>

Payment Information

Each supplier can have multiple bank accounts. Depending on the bank account type various options are available.

<PaymentMethodRemittanceInformation preferredPaymentMethod="other">
<Contact role="payee">
<Name xml:lang="en">Northwest Goods</Name>
<PostalAddress>
<City>Amsterdam</City>
</PostalAddress>
<IdReference identifier="NL18RABO0123459876" domain="ibanID"/>
<IdReference identifier="RABONL2U" domain="swiftID"/>
<Extrinsic name="ProactisDefaultAccount">false</Extrinsic>
</Contact>
</PaymentMethodRemittanceInformation>
The Name element contains the account name of the bank account, usually this is the supplier name.

The City element contains the city for this bank account.

Depending on the bank account type there are one or more IdReference elements. The domain attribute tells more about the contents of the identified attribute.

The Extrinsic with the name ProactisDefaultAccount identifies the default bank account for this supplier. A maximum of one default bank account per supplier is allowed.

Extrinsics

Extrinsic elements are added for fields which are Proactis specific or did not have a good alternative within the cXML standard.

Vendor Group

The Extrinsic with the name ProactisSupplierGroup contains the supplier group to which the supplier is assigned to.

<Extrinsic name="ProactisSupplierGroup">ICT</Extrinsic>

Order Preferences

The Extrinsic with the name ProactisOrderEmail shows the email address which will be used to send the purchase order to the supplier. Multiple mail address are supported when separated by semicolons.

The Extrinsic elements with the name ProactisOrderEmailDoNotAttachPDF or ProactisOrderEmailDoNotAttachXML are used when sending the purchase order to the supplier. In case the value is set to true, these documents will not be attached to the email.

The Extrinsic element with the name ProactisOrderLocale contains the locale used by the supplier. This element is mandatory whenever the Extrinsic element ProactisOrderEmail is included in the message.

<Extrinsic name="ProactisOrderEmail">[email protected]</Extrinsic>
<Extrinsic name="ProactisOrderEmailDoNotAttachPDF">false</Extrinsic>
<Extrinsic name="ProactisOrderEmailDoNotAttachXML">false</Extrinsic>
<Extrinsic name="ProactisOrderLocale">en_US</Extrinsic>

Payment Discount and Term

In case a payment discount and payment terms are set for the supplier, the Extrinsics with the name ProactisPaymentDiscount and ProactisPaymentTerm are used.

<Extrinsic name="ProactisPaymentDiscount">5.00</Extrinsic>
<Extrinsic name="ProactisPaymentTerm">30</Extrinsic>

Terms and Conditions

Payment or delivery terms and conditions use the Extrinsics with the name ProactisPaymentTerms or ProactisDeliveryTerms.

<Extrinsic name="ProactisPaymentTerms">Invoice has to be paid within 30 days</Extrinsic>
<Extrinsic name="ProactisDeliveryTerms">Delivery will be done in 7 days</Extrinsic>

Base Currency

The Extrinsic with the name ProactisBaseCurrency show the default currency for this supplier. The currency has to be configured within Proactis.

<Extrinsic name="ProactisBaseCurrency">EUR</Extrinsic>

Default VAT Code

The Extrinsic with the name ProactisDefaultVat is used to specify the default tax code for the supplier. Available codes are configured on organisation level in Proactis.

<Extrinsic name="ProactisDefaultVat">03</Extrinsic>

Matching Type

The Extrinsic with the name ProactisInvoiceMatchingMethod contains the matching type of the supplier. Possible options are 2Way and 3Way. If nothing has been set, it will default to 3-way matching.

<Extrinsic name="ProactisInvoiceMatchingMethod">3Way</Extrinsic>

Apply Value Added Tax

The Extrinsic with the name ProactisApplyValueAddedTax is used to specify whether value added tax is applied for the supplier. It will use organisation defaults when this has not been set.

<Extrinsic name="ProactisApplyValueAddedTax">true</Extrinsic>

Online Flag

The Extrinsic with the name ProactisOnlineFlag is used to specify whether the supplier is active or not.

<Extrinsic name="ProactisOnlineFlag">true</Extrinsic>

Status of Vendor

The Extrinsic with the name ProactisStatusOfVendor specifies the vendor status. Possible values are empty, Preferred, Alternative, Strategic, Excellent, Prospect, No Preference, Not-Accepted and Not-Creditable.

<Extrinsic name="ProactisStatusOfVendor">Preferred</Extrinsic>

Company Legality

The Extrinsic with the name ProactisCompanyLegality contains the present legality of the supplier.

<Extrinsic name="ProactisCompanyLegality">Inc</Extrinsic>

Preferred Payment Method

The Extrinsic with the name ProactisPaymentMethod specifies the preferred payment method. Possible values are Cash, Bank, Giro, Incasso and Acceptgiro.

<Extrinsic name="ProactisPaymentMethod">Bank</Extrinsic>

Registered Chamber of Commerce

The Extrinsic with the name ProactisRegisteredChamberOfCommerce contains the location of the Chamber of Commerce where the supplier is registered.

<Extrinsic name="ProactisRegisteredChamberOfCommerce">Amsterdam</Extrinsic>

Default Order Cost Account

The Extrinsic with the name ProactisDefaultCostAccount specifies the cost account to be used by default when creating a requisition for this supplier. The cost account has to be available in Proactis, but can be offline.

<Extrinsic name="ProactisDefaultCostAccount">kst-001</Extrinsic>

Extra Info

To add Extra Info to the supplier, additional Extrinsic elements have to be added to the request. The name attribute contains the name of the Extra Info value.

<Extrinsic name="ERPSystem">001</Extrinsic>

Common cXML Elements

The tables show some examples on where to find common fields used.

DetailPathExample
Supplier NamecXML/Message/OrganizationChangeMessage/Organization/NameNorthwest Goods
Supplier NumbercXML/Message/OrganizationChangeMessage/Organization/Credential[domain="Number"]/IdentitySUP001
DUNS NumbercXML/Message/OrganizationChangeMessage/Organization/Credential[domain="DUNS"]/IdentityDemo_SUP001
VAT NumbercXML/Message/OrganizationChangeMessage/Organization/Credential[domain="VAT"]/IdentityNL123456789B01
Chamber of Commerce NumbercXML/Message/OrganizationChangeMessage/Organization/Credential[domain="COC"]/Identity123456789
GLN NumbercXML/Message/OrganizationChangeMessage/Organization/Credential[domain="GLN"]/Identity1234567890123
Postal AddresscXML/Message/OrganizationChangeMessage/Organization/Address
Visiting AddresscXML/Message/OrganizationChangeMessage/Organization/Person/Contact[role="visitingAddress"]
Bank AccountcXML/Message/OrganizationChangeMessage/Organization/PaymentInformation/PaymentMethodRemittanceInformation[*]
Order Mail AddresscXML/Message/OrganizationChangeMessage/Organization/Extrinsic[name="ProactisOrderEmail"][email protected]
Online FlagcXML/Message/OrganizationChangeMessage/Organization/Extrinsic[name="ProactisOnlineFlag"]true