CreateProcurementPortalPreference - Amazon Billing and Cost Management
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

CreateProcurementPortalPreference

This feature API is subject to changing at any time. For more information, see the Amazon Service Terms (Betas and Previews).

Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval. This preference defines how invoices are delivered to a procurement portal and how purchase orders are retrieved.

Request Syntax

{ "BuyerDomain": "string", "BuyerIdentifier": "string", "ClientToken": "string", "Contacts": [ { "Email": "string", "Name": "string" } ], "EinvoiceDeliveryEnabled": boolean, "EinvoiceDeliveryPreference": { "ConnectionTestingMethod": "string", "EinvoiceDeliveryActivationDate": number, "EinvoiceDeliveryAttachmentTypes": [ "string" ], "EinvoiceDeliveryDocumentTypes": [ "string" ], "Protocol": "string", "PurchaseOrderDataSources": [ { "EinvoiceDeliveryDocumentType": "string", "PurchaseOrderDataSourceType": "string" } ] }, "ProcurementPortalInstanceEndpoint": "string", "ProcurementPortalName": "string", "ProcurementPortalSharedSecret": "string", "PurchaseOrderRetrievalEnabled": boolean, "ResourceTags": [ { "Key": "string", "Value": "string" } ], "Selector": { "InvoiceUnitArns": [ "string" ], "SellerOfRecords": [ "string" ] }, "SupplierDomain": "string", "SupplierIdentifier": "string", "TestEnvPreference": { "BuyerDomain": "string", "BuyerIdentifier": "string", "ProcurementPortalInstanceEndpoint": "string", "ProcurementPortalSharedSecret": "string", "SupplierDomain": "string", "SupplierIdentifier": "string" } }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

BuyerDomain

The domain identifier for the buyer in the procurement portal.

Type: String

Valid Values: NetworkID

Required: Yes

BuyerIdentifier

The unique identifier for the buyer in the procurement portal.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: \S+

Required: Yes

ClientToken

A unique, case-sensitive identifier that you provide to ensure idempotency of the request.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: \S+

Required: No

Contacts

List of contact information for portal administrators and technical contacts responsible for the e-invoice integration.

Type: Array of Contact objects

Array Members: Fixed number of 1 item.

Required: Yes

EinvoiceDeliveryEnabled

Indicates whether e-invoice delivery is enabled for this procurement portal preference. Set to true to enable e-invoice delivery, false to disable.

Type: Boolean

Required: Yes

EinvoiceDeliveryPreference

Specifies the e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.

Type: EinvoiceDeliveryPreference object

Required: No

ProcurementPortalInstanceEndpoint

The endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: \S+

Required: No

ProcurementPortalName

The name of the procurement portal.

Type: String

Valid Values: SAP_BUSINESS_NETWORK | COUPA

Required: Yes

ProcurementPortalSharedSecret

The shared secret or authentication credential used to establish secure communication with the procurement portal. This value must be encrypted at rest.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: \S+

Required: No

PurchaseOrderRetrievalEnabled

Indicates whether purchase order retrieval is enabled for this procurement portal preference. Set to true to enable PO retrieval, false to disable.

Type: Boolean

Required: Yes

ResourceTags

The tags to apply to this procurement portal preference resource. Each tag consists of a key and an optional value.

Type: Array of ResourceTag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No

Selector

Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.

Type: ProcurementPortalPreferenceSelector object

Required: No

SupplierDomain

The domain identifier for the supplier in the procurement portal.

Type: String

Valid Values: NetworkID

Required: Yes

SupplierIdentifier

The unique identifier for the supplier in the procurement portal.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: \S+

Required: Yes

TestEnvPreference

Configuration settings for the test environment of the procurement portal. Includes test credentials and endpoints that are used for validation before production deployment.

Type: TestEnvPreferenceInput object

Required: No

Response Syntax

{ "ProcurementPortalPreferenceArn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ProcurementPortalPreferenceArn

The Amazon Resource Name (ARN) of the created procurement portal preference.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You don't have sufficient access to perform this action.

resourceName

You don't have sufficient access to perform this action.

HTTP Status Code: 400

ConflictException

The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.

resourceId

The identifier of the resource that caused the conflict.

resourceType

The type of resource that caused the conflict.

HTTP Status Code: 400

InternalServerException

The processing request failed because of an unknown error, exception, or failure.

retryAfterSeconds

The processing request failed because of an unknown error, exception, or failure.

HTTP Status Code: 500

ServiceQuotaExceededException

The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.

HTTP Status Code: 400

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 400

ValidationException

The input fails to satisfy the constraints specified by an Amazon Web Services service.

fieldList

The input fails to satisfy the constraints specified by an Amazon Web Services service.

reason

You don't have sufficient access to perform this action.

resourceName

You don't have sufficient access to perform this action.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: