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>
Header
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.
- UAT environment
- Production environment
<Request deploymentMode="test">
<Request deploymentMode="production">
OrganizationChangeMessage
The OrganizationChangeMessage contains an attribute that describe the action.
- New supplier
- Update supplier
- Delete supplier
<OrganizationChangeMessage type="new">
<OrganizationChangeMessage type="update">
<OrganizationChangeMessage type="delete">
The type attribute is type of supplier change. Possible values are new, update or delete.
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.
- cXML
- Proactis
<Credential domain="Number">
<Identity>SUP001</Identity>
</Credential>

DUNS Number
The DUNS Credential element contains a DUNS-number.
- cXML
- Proactis
<Credential domain="DUNS">
<Identity>Demo_SUP001</Identity>
</Credential>

VAT Identifier
The VAT Credential element contains the VAT number for the supplier.
- cXML
- Proactis
<Credential domain="VAT">
<Identity>NL123456789B01</Identity>
</Credential>

Chamber of Commerce
The COC Credential element contains the Chamber of Commerce number for the supplier.
- cXML
- Proactis
<Credential domain="COC">
<Identity>123456789</Identity>
</Credential>

GLN Number
The GLN Credential element contains the GLN (Global Location Number) for the supplier.
- cXML
- Proactis
<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
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- SEPA
- G-account SEPA
- Bank
- Foreign account
- Other Bank
- Proactis
<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>
<PaymentMethodRemittanceInformation preferredPaymentMethod="other">
<Contact role="payee">
<Name xml:lang="en">Northwest Goods</Name>
<PostalAddress>
<City>Amsterdam</City>
</PostalAddress>
<IdReference identifier="NL18RABO0123459876" domain="ibanGAccountID"/>
<IdReference identifier="RABONL2U" domain="swiftID"/>
<Extrinsic name="ProactisDefaultAccount">false</Extrinsic>
</Contact>
</PaymentMethodRemittanceInformation>
<PaymentMethodRemittanceInformation preferredPaymentMethod="other">
<Contact role="payee">
<Name xml:lang="en">Northwest Goods</Name>
<PostalAddress>
<City>London</City>
</PostalAddress>
<IdReference identifier="55555555" domain="accountID"/>
<IdReference identifier="BARCGB22XXX" domain="swiftID"/>
<IdReference identifier="202015" domain="bankNationalID"/>
<Extrinsic name="ProactisDefaultAccount">false</Extrinsic>
</Contact>
</PaymentMethodRemittanceInformation>
<PaymentMethodRemittanceInformation preferredPaymentMethod="other">
<Contact role="payee">
<Name xml:lang="en">Northwest Goods</Name>
<PostalAddress>
<City>London</City>
</PostalAddress>
<IdReference identifier="55555555" domain="bankForeignAccountID"/>
<IdReference identifier="BARCGB22XXX" domain="swiftID"/>
<Extrinsic name="ProactisDefaultAccount">false</Extrinsic>
</Contact>
</PaymentMethodRemittanceInformation>
<PaymentMethodRemittanceInformation preferredPaymentMethod="other">
<Contact role="payee">
<Name xml:lang="en">Northwest Goods</Name>
<PostalAddress>
<City>Amsterdam</City>
</PostalAddress>
<IdReference identifier="ABNANL2A" domain="swiftID"/>
<IdReference identifier="0416961347" domain="bankAccountID"/>
<Extrinsic name="ProactisDefaultAccount">false</Extrinsic>
</Contact>
</PaymentMethodRemittanceInformation>

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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- 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.
- cXML
- 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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<Extrinsic name="ProactisApplyValueAddedTax">true</Extrinsic>

Online Flag
The Extrinsic with the name ProactisOnlineFlag is used to specify whether the supplier is active or not.
- cXML
- Proactis
<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.
- cXML
- Proactis
<Extrinsic name="ProactisStatusOfVendor">Preferred</Extrinsic>

Company Legality
The Extrinsic with the name ProactisCompanyLegality contains the present legality of the supplier.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<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.
- cXML
- Proactis
<Extrinsic name="ERPSystem">001</Extrinsic>

Common cXML Elements
The tables show some examples on where to find common fields used.
| Detail | Path | Example |
|---|---|---|
| Supplier Name | cXML/Message/OrganizationChangeMessage/Organization/Name | Northwest Goods |
| Supplier Number | cXML/Message/OrganizationChangeMessage/Organization/Credential[domain="Number"]/Identity | SUP001 |
| DUNS Number | cXML/Message/OrganizationChangeMessage/Organization/Credential[domain="DUNS"]/Identity | Demo_SUP001 |
| VAT Number | cXML/Message/OrganizationChangeMessage/Organization/Credential[domain="VAT"]/Identity | NL123456789B01 |
| Chamber of Commerce Number | cXML/Message/OrganizationChangeMessage/Organization/Credential[domain="COC"]/Identity | 123456789 |
| GLN Number | cXML/Message/OrganizationChangeMessage/Organization/Credential[domain="GLN"]/Identity | 1234567890123 |
| Postal Address | cXML/Message/OrganizationChangeMessage/Organization/Address | |
| Visiting Address | cXML/Message/OrganizationChangeMessage/Organization/Person/Contact[role="visitingAddress"] | |
| Bank Account | cXML/Message/OrganizationChangeMessage/Organization/PaymentInformation/PaymentMethodRemittanceInformation[*] | |
| Order Mail Address | cXML/Message/OrganizationChangeMessage/Organization/Extrinsic[name="ProactisOrderEmail"] | [email protected] |
| Online Flag | cXML/Message/OrganizationChangeMessage/Organization/Extrinsic[name="ProactisOnlineFlag"] | true |