2026/07/21 - AWS Invoicing - 2 new3 updated api methods
Changes Added the SendProcurementPortalValidation and VerifyProcurementPortalValidation APIs. You can use the AWS SDKs to self-service activate your Procurement Portal Preferences created on the Billing Preferences page with a one-time-passcode (OTP) delivered to your portal.
This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews).
Submits a validation code to complete the validation of a procurement portal preference. Use this operation after calling SendProcurementPortalValidation to confirm ownership and connectivity of the configured procurement portal endpoint.
See also: AWS API Documentation
Request Syntax
client.verify_procurement_portal_validation(
ProcurementPortalPreferenceArn='string',
Code='string',
ClientToken='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the procurement portal preference to validate.
string
[REQUIRED]
The validation code received from the procurement portal in response to a previous SendProcurementPortalValidation request.
string
A unique, case-sensitive identifier that you provide to ensure idempotency of the request.
This field is autopopulated if not provided.
dict
Response Syntax
{
'ProcurementPortalPreferenceArn': 'string'
}
Response Structure
(dict) --
ProcurementPortalPreferenceArn (string) --
The Amazon Resource Name (ARN) of the procurement portal preference for which validation was completed.
This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews).
Sends a validation request for a procurement portal preference. This operation initiates the validation process by issuing a validation code that confirms ownership and connectivity of the configured procurement portal endpoint. Use VerifyProcurementPortalValidation to submit the received code and complete validation.
See also: AWS API Documentation
Request Syntax
client.send_procurement_portal_validation(
ProcurementPortalPreferenceArn='string',
ClientToken='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the procurement portal preference to validate.
string
A unique, case-sensitive identifier that you provide to ensure idempotency of the request.
This field is autopopulated if not provided.
dict
Response Syntax
{
'ProcurementPortalPreferenceArn': 'string'
}
Response Structure
(dict) --
ProcurementPortalPreferenceArn (string) --
The Amazon Resource Name (ARN) of the procurement portal preference for which the validation request was sent.
{'ProcurementPortalPreference': {'EinvoiceDeliveryPreferenceStatus': {'VALIDATED'},
'PurchaseOrderRetrievalPreferenceStatus': {'VALIDATED'}}}
This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews).
Retrieves the details of a specific procurement portal preference configuration.
See also: AWS API Documentation
Request Syntax
client.get_procurement_portal_preference(
ProcurementPortalPreferenceArn='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the procurement portal preference to retrieve.
dict
Response Syntax
{
'ProcurementPortalPreference': {
'AwsAccountId': 'string',
'ProcurementPortalPreferenceArn': 'string',
'ProcurementPortalName': 'SAP_BUSINESS_NETWORK'|'COUPA',
'BuyerDomain': 'NetworkID',
'BuyerIdentifier': 'string',
'SupplierDomain': 'NetworkID',
'SupplierIdentifier': 'string',
'Selector': {
'InvoiceUnitArns': [
'string',
],
'SellerOfRecords': [
'string',
]
},
'ProcurementPortalSharedSecret': 'string',
'ProcurementPortalInstanceEndpoint': 'string',
'PurchaseOrderRetrievalEndpoint': 'string',
'TestEnvPreference': {
'BuyerDomain': 'NetworkID',
'BuyerIdentifier': 'string',
'SupplierDomain': 'NetworkID',
'SupplierIdentifier': 'string',
'ProcurementPortalSharedSecret': 'string',
'ProcurementPortalInstanceEndpoint': 'string',
'PurchaseOrderRetrievalEndpoint': 'string'
},
'EinvoiceDeliveryEnabled': True|False,
'EinvoiceDeliveryPreference': {
'EinvoiceDeliveryDocumentTypes': [
'AWS_CLOUD_INVOICE'|'AWS_CLOUD_CREDIT_MEMO'|'AWS_MARKETPLACE_INVOICE'|'AWS_MARKETPLACE_CREDIT_MEMO'|'AWS_REQUEST_FOR_PAYMENT',
],
'EinvoiceDeliveryAttachmentTypes': [
'INVOICE_PDF'|'RFP_PDF',
],
'Protocol': 'CXML',
'PurchaseOrderDataSources': [
{
'EinvoiceDeliveryDocumentType': 'AWS_CLOUD_INVOICE'|'AWS_CLOUD_CREDIT_MEMO'|'AWS_MARKETPLACE_INVOICE'|'AWS_MARKETPLACE_CREDIT_MEMO'|'AWS_REQUEST_FOR_PAYMENT',
'PurchaseOrderDataSourceType': 'ASSOCIATED_PURCHASE_ORDER_REQUIRED'|'PURCHASE_ORDER_NOT_REQUIRED'
},
],
'ConnectionTestingMethod': 'PROD_ENV_DOLLAR_TEST'|'TEST_ENV_REPLAY_TEST',
'EinvoiceDeliveryActivationDate': datetime(2015, 1, 1)
},
'PurchaseOrderRetrievalEnabled': True|False,
'Contacts': [
{
'Name': 'string',
'Email': 'string'
},
],
'EinvoiceDeliveryPreferenceStatus': 'PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
'EinvoiceDeliveryPreferenceStatusReason': 'string',
'PurchaseOrderRetrievalPreferenceStatus': 'PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
'PurchaseOrderRetrievalPreferenceStatusReason': 'string',
'Version': 123,
'CreateDate': datetime(2015, 1, 1),
'LastUpdateDate': datetime(2015, 1, 1)
}
}
Response Structure
(dict) --
ProcurementPortalPreference (dict) --
The detailed configuration of the requested procurement portal preference.
AwsAccountId (string) --
The Amazon Web Services account ID associated with this procurement portal preference.
ProcurementPortalPreferenceArn (string) --
The Amazon Resource Name (ARN) of the procurement portal preference.
ProcurementPortalName (string) --
The name of the procurement portal.
BuyerDomain (string) --
The domain identifier for the buyer in the procurement portal.
BuyerIdentifier (string) --
The unique identifier for the buyer in the procurement portal.
SupplierDomain (string) --
The domain identifier for the supplier in the procurement portal.
SupplierIdentifier (string) --
The unique identifier for the supplier in the procurement portal.
Selector (dict) --
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.
InvoiceUnitArns (list) --
The Amazon Resource Name (ARN) of invoice unit identifiers to which this preference applies.
(string) --
SellerOfRecords (list) --
The list of seller of record IDs to which this preference applies.
(string) --
ProcurementPortalSharedSecret (string) --
The shared secret or authentication credential used for secure communication with the procurement portal.
ProcurementPortalInstanceEndpoint (string) --
The endpoint URL where e-invoices are delivered to the procurement portal.
PurchaseOrderRetrievalEndpoint (string) --
The endpoint URL used for retrieving purchase orders from the procurement portal.
TestEnvPreference (dict) --
Configuration on settings for the test environment of the procurement portal.
BuyerDomain (string) --
The domain identifier for the buyer in the test environment of the procurement portal.
BuyerIdentifier (string) --
The unique identifier for the buyer in the test environment of the procurement portal.
SupplierDomain (string) --
The domain identifier for the supplier in the test environment of the procurement portal.
SupplierIdentifier (string) --
The unique identifier for the supplier in the test environment of the procurement portal.
ProcurementPortalSharedSecret (string) --
The shared secret or authentication credential used for secure communication with the test environment.
ProcurementPortalInstanceEndpoint (string) --
The endpoint URL where e-invoices are delivered in the test environment.
PurchaseOrderRetrievalEndpoint (string) --
The endpoint URL used for retrieving purchase orders in the test environment.
EinvoiceDeliveryEnabled (boolean) --
Indicates whether e-invoice delivery is enabled for this procurement portal preference.
EinvoiceDeliveryPreference (dict) --
The configuration settings that specify how e-invoices are delivered to the procurement portal.
EinvoiceDeliveryDocumentTypes (list) --
The types of e-invoice documents to be delivered.
(string) --
EinvoiceDeliveryAttachmentTypes (list) --
The types of attachments to include with the e-invoice delivery.
(string) --
Protocol (string) --
The communication protocol to use for e-invoice delivery.
PurchaseOrderDataSources (list) --
The sources of purchase order data to use for e-invoice generation and delivery.
(dict) --
Specifies the source configuration for retrieving purchase order data.
EinvoiceDeliveryDocumentType (string) --
The type of e-invoice document that requires purchase order data.
PurchaseOrderDataSourceType (string) --
The type of source for purchase order data.
ConnectionTestingMethod (string) --
The method to use for testing the connection to the procurement portal.
EinvoiceDeliveryActivationDate (datetime) --
The date when e-invoice delivery should be activated for this preference.
PurchaseOrderRetrievalEnabled (boolean) --
Indicates whether purchase order retrieval is enabled for this procurement portal preference.
Contacts (list) --
List of contact information for portal administrators and technical contacts.
(dict) --
Represents contact information for a person or role associated with the procurement portal preference.
Name (string) --
The name of the contact person or role.
Email (string) --
The email address of the contact person or role.
EinvoiceDeliveryPreferenceStatus (string) --
The current status of the e-invoice delivery preference.
EinvoiceDeliveryPreferenceStatusReason (string) --
The reason for the current e-invoice delivery preference status.
PurchaseOrderRetrievalPreferenceStatus (string) --
The current status of the purchase order retrieval preference.
PurchaseOrderRetrievalPreferenceStatusReason (string) --
The reason for the current purchase order retrieval preference status.
Version (integer) --
The version number of the procurement portal preference configuration.
CreateDate (datetime) --
The date and time when the procurement portal preference was created.
LastUpdateDate (datetime) --
The date and time when the procurement portal preference was last updated.
{'ProcurementPortalPreferences': {'EinvoiceDeliveryPreferenceStatus': {'VALIDATED'},
'PurchaseOrderRetrievalPreferenceStatus': {'VALIDATED'}}}
This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews).
Retrieves a list of procurement portal preferences associated with the Amazon Web Services account.
See also: AWS API Documentation
Request Syntax
client.list_procurement_portal_preferences(
NextToken='string',
MaxResults=123
)
string
The token for the next set of results. (You received this token from a previous call.)
integer
The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.
dict
Response Syntax
{
'ProcurementPortalPreferences': [
{
'AwsAccountId': 'string',
'ProcurementPortalPreferenceArn': 'string',
'ProcurementPortalName': 'SAP_BUSINESS_NETWORK'|'COUPA',
'BuyerDomain': 'NetworkID',
'BuyerIdentifier': 'string',
'SupplierDomain': 'NetworkID',
'SupplierIdentifier': 'string',
'Selector': {
'InvoiceUnitArns': [
'string',
],
'SellerOfRecords': [
'string',
]
},
'EinvoiceDeliveryEnabled': True|False,
'PurchaseOrderRetrievalEnabled': True|False,
'EinvoiceDeliveryPreferenceStatus': 'PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
'EinvoiceDeliveryPreferenceStatusReason': 'string',
'PurchaseOrderRetrievalPreferenceStatus': 'PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
'PurchaseOrderRetrievalPreferenceStatusReason': 'string',
'Version': 123,
'CreateDate': datetime(2015, 1, 1),
'LastUpdateDate': datetime(2015, 1, 1)
},
],
'NextToken': 'string'
}
Response Structure
(dict) --
ProcurementPortalPreferences (list) --
The list of procurement portal preferences associated with the Amazon Web Services account.
(dict) --
Provides a summary of a procurement portal preference, including key identifiers and status information.
AwsAccountId (string) --
The Amazon Web Services account ID associated with this procurement portal preference summary.
ProcurementPortalPreferenceArn (string) --
The Amazon Resource Name (ARN) of the procurement portal preference.
ProcurementPortalName (string) --
The name of the procurement portal.
BuyerDomain (string) --
The domain identifier for the buyer in the procurement portal.
BuyerIdentifier (string) --
The unique identifier for the buyer in the procurement portal.
SupplierDomain (string) --
The domain identifier for the supplier in the procurement portal.
SupplierIdentifier (string) --
The unique identifier for the supplier in the procurement portal.
Selector (dict) --
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.
InvoiceUnitArns (list) --
The Amazon Resource Name (ARN) of invoice unit identifiers to which this preference applies.
(string) --
SellerOfRecords (list) --
The list of seller of record IDs to which this preference applies.
(string) --
EinvoiceDeliveryEnabled (boolean) --
Indicates whether e-invoice delivery is enabled for this procurement portal preference.
PurchaseOrderRetrievalEnabled (boolean) --
Indicates whether purchase order retrieval is enabled for this procurement portal preference.
EinvoiceDeliveryPreferenceStatus (string) --
The current status of the e-invoice delivery preference in this summary.
EinvoiceDeliveryPreferenceStatusReason (string) --
The reason for the current e-invoice delivery preference status in this summary.
PurchaseOrderRetrievalPreferenceStatus (string) --
The current status of the purchase order retrieval preference in this summary.
PurchaseOrderRetrievalPreferenceStatusReason (string) --
The reason for the current purchase order retrieval preference status in this summary.
Version (integer) --
The version number of the procurement portal preference configuration in this summary.
CreateDate (datetime) --
The date and time when the procurement portal preference was created.
LastUpdateDate (datetime) --
The date and time when the procurement portal preference was last updated.
NextToken (string) --
The token to use to retrieve the next set of results, or null if there are no more results.
{'EinvoiceDeliveryPreferenceStatus': {'VALIDATED'},
'PurchaseOrderRetrievalPreferenceStatus': {'VALIDATED'}}
This feature API is subject to changing at any time. For more information, see the Amazon Web Services Service Terms (Betas and Previews).
Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features.
See also: AWS API Documentation
Request Syntax
client.update_procurement_portal_preference_status(
ProcurementPortalPreferenceArn='string',
EinvoiceDeliveryPreferenceStatus='PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
EinvoiceDeliveryPreferenceStatusReason='string',
PurchaseOrderRetrievalPreferenceStatus='PENDING_VERIFICATION'|'VALIDATED'|'TEST_INITIALIZED'|'TEST_INITIALIZATION_FAILED'|'TEST_FAILED'|'ACTIVE'|'SUSPENDED',
PurchaseOrderRetrievalPreferenceStatusReason='string',
ClientToken='string'
)
string
[REQUIRED]
The Amazon Resource Name (ARN) of the procurement portal preference to update.
string
The updated status of the e-invoice delivery preference.
string
The reason for the e-invoice delivery preference status update, providing context for the change.
string
The updated status of the purchase order retrieval preference.
string
The reason for the purchase order retrieval preference status update, providing context for the change.
string
A unique, case-sensitive identifier that you provide to ensure idempotency of the request.
This field is autopopulated if not provided.
dict
Response Syntax
{
'ProcurementPortalPreferenceArn': 'string'
}
Response Structure
(dict) --
ProcurementPortalPreferenceArn (string) --
The Amazon Resource Name (ARN) of the procurement portal preference with updated status.