AWS Invoicing

2026/07/21 - AWS Invoicing - 2 new 3 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.

SendProcurementPortalValidation (new) Link ¶

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'
)
type ProcurementPortalPreferenceArn:

string

param ProcurementPortalPreferenceArn:

[REQUIRED]

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

type ClientToken:

string

param ClientToken:

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

This field is autopopulated if not provided.

rtype:

dict

returns:

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.

VerifyProcurementPortalValidation (new) Link ¶

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'
)
type ProcurementPortalPreferenceArn:

string

param ProcurementPortalPreferenceArn:

[REQUIRED]

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

type Code:

string

param Code:

[REQUIRED]

The validation code received from the procurement portal in response to a previous SendProcurementPortalValidation request.

type ClientToken:

string

param ClientToken:

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

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'ProcurementPortalPreferenceArn': 'string'
}

Response Structure

  • (dict) --

    • ProcurementPortalPreferenceArn (string) --

      The Amazon Resource Name (ARN) of the procurement portal preference for which validation was completed.

GetProcurementPortalPreference (updated) Link ¶
Changes (response)
{'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'
)
type ProcurementPortalPreferenceArn:

string

param ProcurementPortalPreferenceArn:

[REQUIRED]

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

rtype:

dict

returns:

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.

ListProcurementPortalPreferences (updated) Link ¶
Changes (response)
{'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
)
type NextToken:

string

param NextToken:

The token for the next set of results. (You received this token from a previous call.)

type MaxResults:

integer

param MaxResults:

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

rtype:

dict

returns:

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.

UpdateProcurementPortalPreferenceStatus (updated) Link ¶
Changes (request)
{'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'
)
type ProcurementPortalPreferenceArn:

string

param ProcurementPortalPreferenceArn:

[REQUIRED]

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

type EinvoiceDeliveryPreferenceStatus:

string

param EinvoiceDeliveryPreferenceStatus:

The updated status of the e-invoice delivery preference.

type EinvoiceDeliveryPreferenceStatusReason:

string

param EinvoiceDeliveryPreferenceStatusReason:

The reason for the e-invoice delivery preference status update, providing context for the change.

type PurchaseOrderRetrievalPreferenceStatus:

string

param PurchaseOrderRetrievalPreferenceStatus:

The updated status of the purchase order retrieval preference.

type PurchaseOrderRetrievalPreferenceStatusReason:

string

param PurchaseOrderRetrievalPreferenceStatusReason:

The reason for the purchase order retrieval preference status update, providing context for the change.

type ClientToken:

string

param ClientToken:

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

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'ProcurementPortalPreferenceArn': 'string'
}

Response Structure

  • (dict) --

    • ProcurementPortalPreferenceArn (string) --

      The Amazon Resource Name (ARN) of the procurement portal preference with updated status.