How to configure Ordering API for multi-legal entities
Multi-legal entities (MLE) refers to a business structure where a single company or organization operates through multiple legally distinct entities, such as corporations, limited liability companies (LLCs), subsidiaries, affiliates, or cost centers. When customers onboard to Amazon Business (AB), they can mimic their legal structures by configuring MLE and groups. AB orders will then be recorded against the appropriate legal entity.
Ordering API supports MLE by identifying legal entities in the request. For example, if your company is called ACME Corp and has two legal entities, ACME Finance Germany and Acme Analytik GmbH, the Ordering API request will include identifiers for the legal entities that will own the order. Each placed order will then be recorded against the appropriate entity.
Once MLE is configured for an Ordering API group, you cannot place an order for that group without identifying a legal entity or group in the request.
To enable MLE for Ordering API, follow these steps:
Prerequisites
Before configuring MLE, complete onboarding to Ordering API. For more information, see Developer partner onboarding.
Step 1. Configure your purchasing system
Configure a purchasing system for the master group. This configuration will then be extended to all legal entities under the group. To create this master group and configure a purchasing system, complete the steps in Customer onboarding.
Step 2. Choose your legal entity identifiers
Define the identifiers your organization will pass in the API request to identify legal entities. Ordering API identifies legal entities with an Auxiliary
attribute type that contains key/value pairs.
The key is an object containing a value
field. The name of the key can be any string defined by your organization for legal entities. The value
must be a valid identifier type used to identify the entity. You can use the same key for multiple legal entities, but each value
must be unique. Ordering API supports the following identifier types:
Identifier type | Description | Sample key | Sample value |
---|---|---|---|
Legal entity name | Name of the legal entity. | AcmeCorpCostCenter | CostCenter |
Tax ID | Tax identifier. | AcmeCorpTaxId | vatid14156352 |
Custom field | User-defined custom identifier. | AcmeCorpMLE | AcmeCorp123 |
For example, if you want to use custom fields to identify legal entities for ACME Corp, you may have the following values defined:
Legal Entity | Custom field mapping |
---|---|
ACME Finance Germany | 146452 |
ACME Analytik GmbH | 146451 |
ACME Product Service GmbH | 146250 |
Here is how this would look in a payload for ACME Finance Germany, where the “key” is LegalEntity
:
"attributes": [
{
"attributeType": "Auxiliary",
"values": {
"LegalEntity": {
"value" : "146452"
}
}
},
You can also identify legal entities by Tax ID and legal entity name. Here are sample payloads for each:
"attributes": [
{
"attributeType": "Auxiliary",
"values": {
"LegalEntityName": {
"value" : "AcmeCostCenter"
}
}
},
"attributes": [
{
"attributeType": "Auxiliary",
"values": {
"TaxId": {
"value" : "vatid14156352"
}
}
},
Step 3. Work with Amazon Business to configure your MLE setup
After determining how you will identify your legal entities, share your key/value pair(s) with your Amazon Business technical contact. Amazon Business will configure your backend MLE setup with your selected identifiers to record and identify each order. Your Amazon Business contact will confirm when MLE is configured for your group and you are able to proceed with placing orders via Ordering API.
For ACME Corp, for example, you would share the following key/value pairs with AB:
Legal Entity | Key | Custom field mapping |
---|---|---|
ACME Finance Germany | legalEntityId | 146452 |
ACME Analytik GmbH | legalEntityId | 146451 |
ACME Product Service GmbH | legalEntityId | 146250 |
Step 4. Include auxiliary
fields in API request
auxiliary
fields in API requestAfter backend configuration, include the auxiliary fields in each Ordering API request to identify the legal entity or group to record and identify an order. If you want to route an order to multiple legal entities, you can include several key/value pairs in a single request.
A successful request will record the order against the specified legal entity or entities. Here is a sample request where the Auxiliary
attribute contains a key of LegalEntityName
and a value of ACMECostCenter
:
POST /ordering/2022-10-30/orders
{
"externalId": "ExternalID-OrderLevel-IT-{{$randomPhoneNumber}}",
"lineItems": [
{
"externalId": "LineLevel-1",
"quantity": 1,
"attributes": [
{
"attributeType": "SelectedProductReference",
"productReference": {
"id": "B00CA31590",
"productReferenceType": "ProductIdentifier"
}
}
],
"expectations": [
{
"expectationType": "ExpectedUnitPrice",
"amount": {
"currencyCode": "EUR",
"amount": 115
}
},
{
"expectationType": "ExpectedCharge",
"amount": {
"currencyCode": "EUR",
"amount": 10000
},
"source": "SUBTOTAL"
}
]
}
],
"attributes": [
{
"attributeType": "Auxiliary",
"values": {
"LegalEntityName": {
"value": "ACMECostCenter"
}
}
},
{
"attributeType": "PurchaseOrderNumber",
"purchaseOrderNumber": "PO2"
},
{
"attributeType": "BuyerReference",
"userReference": {
"userReferenceType": "UserEmail",
"emailAddress": "example@amazon.com"
}
},
{
"attributeType": "BuyingGroupReference",
"groupReference": {
"groupReferenceType": "GroupIdentity",
"identifier": "Leg5Grp1"
}
},
{
"attributeType": "Region",
"region": "IT"
},
{
"attributeType": "SelectedPaymentMethodReference",
"paymentMethodReference": {
"paymentMethodReferenceType": "StoredPaymentMethod"
}
},
{
"attributeType": "ShippingAddress",
"address": {
"addressType": "PhysicalAddress",
"fullName": "Amazon Test Order- Return",
"phoneNumber": "9898989898",
"companyName": "companyName_amazoncompany",
"addressLine1": "Viale Monte Grappa 3/5",
"addressLine2": "",
"city": "Milano",
"stateOrRegion": "Milano",
"postalCode": "28045",
"countryCode": "IT"
}
},
{
"attributeType": "BillingAddress",
"address": {
"addressType": "PhysicalAddress",
"fullName": "i2 IT test2",
"phoneNumber": "4402075501000",
"companyName": "",
"addressLine1": "325 9th Ave N,",
"addressLine2": "",
"city": "Seattle",
"stateOrRegion": "WA",
"postalCode": "98109",
"countryCode": "US"
}
}
],
"expectations": [
{
"expectationType": "ExpectedCharge",
"amount": {
"currencyCode": "EUR",
"amount": 20
},
"source": "SUBTOTAL"
},
{
"expectationType": "ExpectedCharge",
"amount": {
"currencyCode": "EUR",
"amount": 10
},
"source": "TAX"
},
{
"expectationType": "ExpectedCharge",
"amount": {
"currencyCode": "EUR",
"amount": 1
},
"source": "SHIPPING"
}
]
}
Step 5. Place the order
Send your Ordering API request. Once an order is placed successfully, the order will appear in the “Your Orders” section of the AB website. Each order will be identified with the correct legal entity as specified in the API request.

If you need to remove MLE configurations from an ordering API group, work with your Amazon Business contact.
Updated 5 months ago