SDK for PHP V3

Client: Aws\Invoicing\InvoicingClient
Service ID: invoicing
Version: 2024-12-01

This page describes the parameters and results for the operations of the AWS Invoicing (2024-12-01), and shows how to use the Aws\Invoicing\InvoicingClient object to call the described operations. This documentation is specific to the 2024-12-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

BatchGetInvoiceProfile ( array $params = [] )
This gets the invoice profile associated with a set of accounts.
CreateInvoiceUnit ( array $params = [] )
This creates a new invoice unit with the provided definition.
CreateProcurementPortalPreference ( array $params = [] )
Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval.
DeleteInvoiceUnit ( array $params = [] )
This deletes an invoice unit with the provided invoice unit ARN.
DeleteProcurementPortalPreference ( array $params = [] )
Deletes an existing procurement portal preference.
GetInvoicePDF ( array $params = [] )
Returns a URL to download the invoice document and supplemental documents associated with an invoice.
GetInvoiceUnit ( array $params = [] )
This retrieves the invoice unit definition.
GetProcurementPortalPreference ( array $params = [] )
Retrieves the details of a specific procurement portal preference configuration.
ListInvoiceSummaries ( array $params = [] )
Retrieves your invoice details programmatically, without line item details.
ListInvoiceUnits ( array $params = [] )
This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date.
ListProcurementPortalPreferences ( array $params = [] )
Retrieves a list of procurement portal preferences associated with the Amazon Web Services account.
ListTagsForResource ( array $params = [] )
Lists the tags for a resource.
PutProcurementPortalPreference ( array $params = [] )
Updates an existing procurement portal preference configuration.
TagResource ( array $params = [] )
Adds a tag to a resource.
UntagResource ( array $params = [] )
Removes a tag from a resource.
UpdateInvoiceUnit ( array $params = [] )
You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month.
UpdateProcurementPortalPreferenceStatus ( array $params = [] )
Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListInvoiceSummaries
ListInvoiceUnits
ListProcurementPortalPreferences

Operations

BatchGetInvoiceProfile

$result = $client->batchGetInvoiceProfile([/* ... */]);
$promise = $client->batchGetInvoiceProfileAsync([/* ... */]);

This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization.

Parameter Syntax

$result = $client->batchGetInvoiceProfile([
    'AccountIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
AccountIds
Required: Yes
Type: Array of strings

Retrieves the corresponding invoice profile data for these account IDs.

Result Syntax

[
    'Profiles' => [
        [
            'AccountId' => '<string>',
            'Issuer' => '<string>',
            'ReceiverAddress' => [
                'AddressLine1' => '<string>',
                'AddressLine2' => '<string>',
                'AddressLine3' => '<string>',
                'City' => '<string>',
                'CompanyName' => '<string>',
                'CountryCode' => '<string>',
                'DistrictOrCounty' => '<string>',
                'PostalCode' => '<string>',
                'StateOrRegion' => '<string>',
            ],
            'ReceiverEmail' => '<string>',
            'ReceiverName' => '<string>',
            'TaxRegistrationNumber' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Profiles
Type: Array of InvoiceProfile structures

A list of invoice profiles corresponding to the requested accounts.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: BatchGetInvoiceProfile
$result = $client->batchGetInvoiceProfile([
    'AccountIds' => [
        '111111111111',
    ],
]);

Result syntax:

[
    'Profiles' => [
        [
            'AccountId' => '111111111111',
            'Issuer' => 'Test',
            'ReceiverAddress' => [
                'AddressLine1' => 'Test',
                'City' => 'Test',
                'CountryCode' => 'LU',
                'PostalCode' => 'Test',
                'StateOrRegion' => 'Test',
            ],
            'ReceiverEmail' => 'test@amazon.com',
            'ReceiverName' => 'TestAccount',
        ],
    ],
]

CreateInvoiceUnit

$result = $client->createInvoiceUnit([/* ... */]);
$promise = $client->createInvoiceUnitAsync([/* ... */]);

This creates a new invoice unit with the provided definition.

Parameter Syntax

$result = $client->createInvoiceUnit([
    'Description' => '<string>',
    'InvoiceReceiver' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'ResourceTags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Rule' => [ // REQUIRED
        'BillSourceAccounts' => ['<string>', ...],
        'LinkedAccounts' => ['<string>', ...],
    ],
    'TaxInheritanceDisabled' => true || false,
]);

Parameter Details

Members
Description
Type: string

The invoice unit's description. This can be changed at a later time.

InvoiceReceiver
Required: Yes
Type: string

The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.

Name
Required: Yes
Type: string

The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate.

ResourceTags
Type: Array of ResourceTag structures

The tag structure that contains a tag key and value.

Rule
Required: Yes
Type: InvoiceUnitRule structure

The InvoiceUnitRule object used to create invoice units.

TaxInheritanceDisabled
Type: boolean

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

Result Syntax

[
    'InvoiceUnitArn' => '<string>',
]

Result Details

Members
InvoiceUnitArn
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Errors

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: CreateInvoiceUnit
$result = $client->createInvoiceUnit([
    'Description' => 'Example Invoice Unit Description',
    'InvoiceReceiver' => '111111111111',
    'Name' => 'Example Invoice Unit',
    'ResourceTags' => [
        [
            'Key' => 'TagKey',
            'Value' => 'TagValue',
        ],
    ],
    'Rule' => [
        'LinkedAccounts' => [
            '222222222222',
        ],
    ],
    'TaxInheritanceDisabled' => ,
]);

Result syntax:

[
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]

CreateProcurementPortalPreference

$result = $client->createProcurementPortalPreference([/* ... */]);
$promise = $client->createProcurementPortalPreferenceAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createProcurementPortalPreference([
    'BuyerDomain' => 'NetworkID', // REQUIRED
    'BuyerIdentifier' => '<string>', // REQUIRED
    'ClientToken' => '<string>',
    'Contacts' => [ // REQUIRED
        [
            'Email' => '<string>',
            'Name' => '<string>',
        ],
        // ...
    ],
    'EinvoiceDeliveryEnabled' => true || false, // REQUIRED
    'EinvoiceDeliveryPreference' => [
        'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST|TEST_ENV_REPLAY_TEST', // REQUIRED
        'EinvoiceDeliveryActivationDate' => <integer || string || DateTime>, // REQUIRED
        'EinvoiceDeliveryAttachmentTypes' => ['<string>', ...],
        'EinvoiceDeliveryDocumentTypes' => ['<string>', ...], // REQUIRED
        'Protocol' => 'CXML', // REQUIRED
        'PurchaseOrderDataSources' => [ // REQUIRED
            [
                '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',
            ],
            // ...
        ],
    ],
    'ProcurementPortalInstanceEndpoint' => '<string>',
    'ProcurementPortalName' => 'SAP_BUSINESS_NETWORK|COUPA', // REQUIRED
    'ProcurementPortalSharedSecret' => '<string>',
    'PurchaseOrderRetrievalEnabled' => true || false, // REQUIRED
    'ResourceTags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Selector' => [
        'InvoiceUnitArns' => ['<string>', ...],
        'SellerOfRecords' => ['<string>', ...],
    ],
    'SupplierDomain' => 'NetworkID', // REQUIRED
    'SupplierIdentifier' => '<string>', // REQUIRED
    'TestEnvPreference' => [
        'BuyerDomain' => 'NetworkID', // REQUIRED
        'BuyerIdentifier' => '<string>', // REQUIRED
        'ProcurementPortalInstanceEndpoint' => '<string>',
        'ProcurementPortalSharedSecret' => '<string>',
        'SupplierDomain' => 'NetworkID', // REQUIRED
        'SupplierIdentifier' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
BuyerDomain
Required: Yes
Type: string

The domain identifier for the buyer in the procurement portal.

BuyerIdentifier
Required: Yes
Type: string

The unique identifier for the buyer in the procurement portal.

ClientToken
Type: string

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

Contacts
Required: Yes
Type: Array of Contact structures

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

EinvoiceDeliveryEnabled
Required: Yes
Type: boolean

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

EinvoiceDeliveryPreference
Type: EinvoiceDeliveryPreference structure

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

ProcurementPortalInstanceEndpoint
Type: string

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

ProcurementPortalName
Required: Yes
Type: string

The name of the procurement portal.

ProcurementPortalSharedSecret
Type: string

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

PurchaseOrderRetrievalEnabled
Required: Yes
Type: boolean

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

ResourceTags
Type: Array of ResourceTag structures

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

Selector

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

SupplierDomain
Required: Yes
Type: string

The domain identifier for the supplier in the procurement portal.

SupplierIdentifier
Required: Yes
Type: string

The unique identifier for the supplier in the procurement portal.

TestEnvPreference
Type: TestEnvPreferenceInput structure

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

Result Syntax

[
    'ProcurementPortalPreferenceArn' => '<string>',
]

Result Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Errors

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.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: CreateProcurementPortalPreference for Coupa
$result = $client->createProcurementPortalPreference([
    'BuyerDomain' => 'NetworkID',
    'BuyerIdentifier' => 'BuyerId_1',
    'ClientToken' => 'e362c68e-4e74-48d7-9228-0bc5aa447b42',
    'Contacts' => [
        [
            'Email' => 'example-placeholder@amazon.com',
            'Name' => 'John Doe',
        ],
    ],
    'EinvoiceDeliveryEnabled' => 1,
    'EinvoiceDeliveryPreference' => [
        'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST',
        'EinvoiceDeliveryActivationDate' => ,
        'EinvoiceDeliveryAttachmentTypes' => [
            'INVOICE_PDF',
        ],
        'EinvoiceDeliveryDocumentTypes' => [
            'AWS_CLOUD_INVOICE',
        ],
        'Protocol' => 'CXML',
        'PurchaseOrderDataSources' => [
            [
                'EinvoiceDeliveryDocumentType' => 'AWS_CLOUD_INVOICE',
                'PurchaseOrderDataSourceType' => 'ASSOCIATED_PURCHASE_ORDER_REQUIRED',
            ],
        ],
    ],
    'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
    'ProcurementPortalName' => 'COUPA',
    'ProcurementPortalSharedSecret' => 'Coupa_Secret',
    'PurchaseOrderRetrievalEnabled' => 1,
    'ResourceTags' => [
        [
            'Key' => 'testKey',
            'Value' => 'testValue',
        ],
    ],
    'Selector' => [
        'InvoiceUnitArns' => [
            'arn:aws:invoicing::111111111111:invoice-unit/12345678',
            'arn:aws:invoicing::111111111111:invoice-unit/12345679',
        ],
        'SellerOfRecords' => [
            'AWS_INC',
            'AWS_EUROPE',
        ],
    ],
    'SupplierDomain' => 'NetworkID',
    'SupplierIdentifier' => 'SupplierId_1',
    'TestEnvPreference' => [
        'BuyerDomain' => 'NetworkID',
        'BuyerIdentifier' => 'BuyerId_1_Test',
        'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
        'ProcurementPortalSharedSecret' => 'Coupa_Secret_test',
        'SupplierDomain' => 'NetworkID',
        'SupplierIdentifier' => 'SupplierId_1_Test',
    ],
]);

Result syntax:

[
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/a34fd666-7810-4414-9360-aaa4bcab0abd',
]

DeleteInvoiceUnit

$result = $client->deleteInvoiceUnit([/* ... */]);
$promise = $client->deleteInvoiceUnitAsync([/* ... */]);

This deletes an invoice unit with the provided invoice unit ARN.

Parameter Syntax

$result = $client->deleteInvoiceUnit([
    'InvoiceUnitArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
InvoiceUnitArn
Required: Yes
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Result Syntax

[
    'InvoiceUnitArn' => '<string>',
]

Result Details

Members
InvoiceUnitArn
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: DeleteInvoiceUnit
$result = $client->deleteInvoiceUnit([
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]);

Result syntax:

[
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]

DeleteProcurementPortalPreference

$result = $client->deleteProcurementPortalPreference([/* ... */]);
$promise = $client->deleteProcurementPortalPreferenceAsync([/* ... */]);

Deletes an existing procurement portal preference. This action cannot be undone. Active e-invoice delivery and PO retrieval configurations will be terminated.

Parameter Syntax

$result = $client->deleteProcurementPortalPreference([
    'ProcurementPortalPreferenceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Result Syntax

[
    'ProcurementPortalPreferenceArn' => '<string>',
]

Result Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: DeleteProcurementPortalPreference call
$result = $client->deleteProcurementPortalPreference([
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
]);

Result syntax:

[
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
]

GetInvoicePDF

$result = $client->getInvoicePDF([/* ... */]);
$promise = $client->getInvoicePDFAsync([/* ... */]);

Returns a URL to download the invoice document and supplemental documents associated with an invoice. The URLs are pre-signed and have expiration time. For special cases like Brazil, where Amazon Web Services generated invoice identifiers and government provided identifiers do not match, use the Amazon Web Services generated invoice identifier when making API requests. To grant IAM permission to use this operation, the caller needs the invoicing:GetInvoicePDF policy action.

Parameter Syntax

$result = $client->getInvoicePDF([
    'InvoiceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
InvoiceId
Required: Yes
Type: string

Your unique invoice ID.

Result Syntax

[
    'InvoicePDF' => [
        'DocumentUrl' => '<string>',
        'DocumentUrlExpirationDate' => <DateTime>,
        'InvoiceId' => '<string>',
        'SupplementalDocuments' => [
            [
                'DocumentUrl' => '<string>',
                'DocumentUrlExpirationDate' => <DateTime>,
            ],
            // ...
        ],
    ],
]

Result Details

Members
InvoicePDF
Type: InvoicePDF structure

The invoice document and supplemental documents associated with the invoice.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: GetInvoicePDF without supplemental documents
$result = $client->getInvoicePDF([
    'InvoiceId' => 'abc123',
]);

Result syntax:

[
    'InvoicePDF' => [
        'DocumentUrl' => 'https://abcd123.com?securityTokenForDoc',
        'DocumentUrlExpirationDate' => ,
        'InvoiceId' => 'abc123',
        'SupplementalDocuments' => [
        ],
    ],
]
Example 2: GetInvoicePDF with supplemental documents
$result = $client->getInvoicePDF([
    'InvoiceId' => 'abc123',
]);

Result syntax:

[
    'InvoicePDF' => [
        'DocumentUrl' => 'https://abcd123.com?securityTokenForDoc',
        'DocumentUrlExpirationDate' => ,
        'InvoiceId' => 'abc123',
        'SupplementalDocuments' => [
            [
                'DocumentUrl' => 'https://abcd123.com?securityTokenForSupplementalDoc',
                'DocumentUrlExpirationDate' => ,
            ],
        ],
    ],
]

GetInvoiceUnit

$result = $client->getInvoiceUnit([/* ... */]);
$promise = $client->getInvoiceUnitAsync([/* ... */]);

This retrieves the invoice unit definition.

Parameter Syntax

$result = $client->getInvoiceUnit([
    'AsOf' => <integer || string || DateTime>,
    'InvoiceUnitArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
AsOf
Type: timestamp (string|DateTime or anything parsable by strtotime)

The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.

InvoiceUnitArn
Required: Yes
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Result Syntax

[
    'Description' => '<string>',
    'InvoiceReceiver' => '<string>',
    'InvoiceUnitArn' => '<string>',
    'LastModified' => <DateTime>,
    'Name' => '<string>',
    'Rule' => [
        'BillSourceAccounts' => ['<string>', ...],
        'LinkedAccounts' => ['<string>', ...],
    ],
    'TaxInheritanceDisabled' => true || false,
]

Result Details

Members
Description
Type: string

The assigned description for an invoice unit.

InvoiceReceiver
Type: string

The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.

InvoiceUnitArn
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

LastModified
Type: timestamp (string|DateTime or anything parsable by strtotime)

The most recent date the invoice unit response was updated.

Name
Type: string

The unique name of the invoice unit that is shown on the generated invoice.

Rule
Type: InvoiceUnitRule structure

This is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is LINKED_ACCOUNT.

TaxInheritanceDisabled
Type: boolean

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: GetInvoiceUnit as of current time
$result = $client->getInvoiceUnit([
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]);

Result syntax:

[
    'Description' => 'Description changed on 1733788800',
    'InvoiceReceiver' => '111111111111',
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
    'LastModified' => ,
    'Name' => 'Example Invoice Unit A',
    'Rule' => [
        'LinkedAccounts' => [
            '222222222222',
        ],
    ],
    'TaxInheritanceDisabled' => ,
]
Example 2: GetInvoiceUnit as of specified time
$result = $client->getInvoiceUnit([
    'AsOf' => ,
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/87654321',
]);

Result syntax:

[
    'Description' => 'Description changed on 1733011200',
    'InvoiceReceiver' => '333333333333',
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/87654321',
    'LastModified' => ,
    'Name' => 'Example Invoice Unit B',
    'Rule' => [
        'LinkedAccounts' => [
            '333333333333',
        ],
    ],
    'TaxInheritanceDisabled' => ,
]

GetProcurementPortalPreference

$result = $client->getProcurementPortalPreference([/* ... */]);
$promise = $client->getProcurementPortalPreferenceAsync([/* ... */]);

Retrieves the details of a specific procurement portal preference configuration.

Parameter Syntax

$result = $client->getProcurementPortalPreference([
    'ProcurementPortalPreferenceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Result Syntax

[
    'ProcurementPortalPreference' => [
        'AwsAccountId' => '<string>',
        'BuyerDomain' => 'NetworkID',
        'BuyerIdentifier' => '<string>',
        'Contacts' => [
            [
                'Email' => '<string>',
                'Name' => '<string>',
            ],
            // ...
        ],
        'CreateDate' => <DateTime>,
        'EinvoiceDeliveryEnabled' => true || false,
        'EinvoiceDeliveryPreference' => [
            'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST|TEST_ENV_REPLAY_TEST',
            'EinvoiceDeliveryActivationDate' => <DateTime>,
            'EinvoiceDeliveryAttachmentTypes' => ['<string>', ...],
            'EinvoiceDeliveryDocumentTypes' => ['<string>', ...],
            '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',
                ],
                // ...
            ],
        ],
        'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
        'EinvoiceDeliveryPreferenceStatusReason' => '<string>',
        'LastUpdateDate' => <DateTime>,
        'ProcurementPortalInstanceEndpoint' => '<string>',
        'ProcurementPortalName' => 'SAP_BUSINESS_NETWORK|COUPA',
        'ProcurementPortalPreferenceArn' => '<string>',
        'ProcurementPortalSharedSecret' => '<string>',
        'PurchaseOrderRetrievalEnabled' => true || false,
        'PurchaseOrderRetrievalEndpoint' => '<string>',
        'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
        'PurchaseOrderRetrievalPreferenceStatusReason' => '<string>',
        'Selector' => [
            'InvoiceUnitArns' => ['<string>', ...],
            'SellerOfRecords' => ['<string>', ...],
        ],
        'SupplierDomain' => 'NetworkID',
        'SupplierIdentifier' => '<string>',
        'TestEnvPreference' => [
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => '<string>',
            'ProcurementPortalInstanceEndpoint' => '<string>',
            'ProcurementPortalSharedSecret' => '<string>',
            'PurchaseOrderRetrievalEndpoint' => '<string>',
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => '<string>',
        ],
        'Version' => <integer>,
    ],
]

Result Details

Members
ProcurementPortalPreference
Required: Yes
Type: ProcurementPortalPreference structure

The detailed configuration of the requested procurement portal preference.

Errors

ResourceNotFoundException:

The resource could not be found.

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.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: GetProcurementPortalPreference for Coupa pref
$result = $client->getProcurementPortalPreference([
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/a34fd666-7810-4414-9360-aaa4bcab0abd',
]);

Result syntax:

[
    'ProcurementPortalPreference' => [
        'AwsAccountId' => '111111111111',
        'BuyerDomain' => 'NetworkID',
        'BuyerIdentifier' => 'BuyerId_1',
        'Contacts' => [
            [
                'Email' => 'example-placeholder@amazon.com',
                'Name' => 'John Doe',
            ],
        ],
        'CreateDate' => ,
        'EinvoiceDeliveryEnabled' => 1,
        'EinvoiceDeliveryPreference' => [
            'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST',
            'EinvoiceDeliveryActivationDate' => ,
            'EinvoiceDeliveryAttachmentTypes' => [
                'INVOICE_PDF',
            ],
            'EinvoiceDeliveryDocumentTypes' => [
                'AWS_CLOUD_INVOICE',
            ],
            'Protocol' => 'CXML',
            'PurchaseOrderDataSources' => [
                [
                    'EinvoiceDeliveryDocumentType' => 'AWS_CLOUD_INVOICE',
                    'PurchaseOrderDataSourceType' => 'ASSOCIATED_PURCHASE_ORDER_REQUIRED',
                ],
            ],
        ],
        'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION',
        'LastUpdateDate' => ,
        'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
        'ProcurementPortalName' => 'COUPA',
        'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/a34fd666-7810-4414-9360-aaa4bcab0abd',
        'ProcurementPortalSharedSecret' => 'Coupa_Secret',
        'PurchaseOrderRetrievalEnabled' => 1,
        'PurchaseOrderRetrievalEndpoint' => 'https://www.placeholder-domain.test',
        'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION',
        'Selector' => [
            'InvoiceUnitArns' => [
                'arn:aws:invoicing::111111111111:invoice-unit/12345678',
                'arn:aws:invoicing::111111111111:invoice-unit/12345679',
            ],
            'SellerOfRecords' => [
                'AWS_INC',
                'AWS_EUROPE',
            ],
        ],
        'SupplierDomain' => 'NetworkID',
        'SupplierIdentifier' => 'SupplierId_1',
        'TestEnvPreference' => [
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => 'BuyerId_1_Test',
            'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
            'ProcurementPortalSharedSecret' => 'Coupa_Secret_test',
            'PurchaseOrderRetrievalEndpoint' => 'https://www.placeholder-domain.test',
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => 'SupplierId_1_Test',
        ],
        'Version' => 1,
    ],
]

ListInvoiceSummaries

$result = $client->listInvoiceSummaries([/* ... */]);
$promise = $client->listInvoiceSummariesAsync([/* ... */]);

Retrieves your invoice details programmatically, without line item details.

Parameter Syntax

$result = $client->listInvoiceSummaries([
    'Filter' => [
        'BillingPeriod' => [
            'Month' => <integer>, // REQUIRED
            'Year' => <integer>, // REQUIRED
        ],
        'InvoicingEntity' => '<string>',
        'TimeInterval' => [
            'EndDate' => <integer || string || DateTime>, // REQUIRED
            'StartDate' => <integer || string || DateTime>, // REQUIRED
        ],
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Selector' => [ // REQUIRED
        'ResourceType' => 'ACCOUNT_ID|INVOICE_ID', // REQUIRED
        'Value' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
Filter
Type: InvoiceSummariesFilter structure

Filters you can use to customize your invoice summary.

MaxResults
Type: int

The maximum number of invoice summaries a paginated response can contain.

NextToken
Type: string

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

Selector
Required: Yes
Type: InvoiceSummariesSelector structure

The option to retrieve details for a specific invoice by providing its unique ID. Alternatively, access information for all invoices linked to the account by providing an account ID.

Result Syntax

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '<string>',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'Fees' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'SubTotalAmount' => '<string>',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                ],
                'CurrencyCode' => '<string>',
                'CurrencyExchangeDetails' => [
                    'Rate' => '<string>',
                    'SourceCurrencyCode' => '<string>',
                    'TargetCurrencyCode' => '<string>',
                ],
                'TotalAmount' => '<string>',
                'TotalAmountBeforeTax' => '<string>',
            ],
            'BillingPeriod' => [
                'Month' => <integer>,
                'Year' => <integer>,
            ],
            'DueDate' => <DateTime>,
            'Entity' => [
                'InvoicingEntity' => '<string>',
            ],
            'InvoiceId' => '<string>',
            'InvoiceType' => 'INVOICE|CREDIT_MEMO',
            'IssuedDate' => <DateTime>,
            'OriginalInvoiceId' => '<string>',
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'Fees' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'SubTotalAmount' => '<string>',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                ],
                'CurrencyCode' => '<string>',
                'CurrencyExchangeDetails' => [
                    'Rate' => '<string>',
                    'SourceCurrencyCode' => '<string>',
                    'TargetCurrencyCode' => '<string>',
                ],
                'TotalAmount' => '<string>',
                'TotalAmountBeforeTax' => '<string>',
            ],
            'PurchaseOrderNumber' => '<string>',
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'Fees' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                    'SubTotalAmount' => '<string>',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '<string>',
                                'Description' => '<string>',
                                'Rate' => '<string>',
                            ],
                            // ...
                        ],
                        'TotalAmount' => '<string>',
                    ],
                ],
                'CurrencyCode' => '<string>',
                'CurrencyExchangeDetails' => [
                    'Rate' => '<string>',
                    'SourceCurrencyCode' => '<string>',
                    'TargetCurrencyCode' => '<string>',
                ],
                'TotalAmount' => '<string>',
                'TotalAmountBeforeTax' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InvoiceSummaries
Required: Yes
Type: Array of InvoiceSummary structures

List of key (summary level) invoice details without line item details.

NextToken
Type: string

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: ListInvoiceSummaries with InvoiceId as selector
$result = $client->listInvoiceSummaries([
    'Selector' => [
        'ResourceType' => 'INVOICE_ID',
        'Value' => '1111111111',
    ],
]);

Result syntax:

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '111111111111',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'BillingPeriod' => [
                'Month' => 1,
                'Year' => 2025,
            ],
            'DueDate' => ,
            'Entity' => [
                'InvoicingEntity' => 'Amazon Web Services, Inc.',
            ],
            'InvoiceId' => '1111111111',
            'InvoiceType' => 'INVOICE',
            'IssuedDate' => ,
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
        ],
    ],
]
Example 2: ListInvoiceSummaries with AccountId as selector and billing period
$result = $client->listInvoiceSummaries([
    'Filter' => [
        'BillingPeriod' => [
            'Month' => 1,
            'Year' => 2025,
        ],
    ],
    'Selector' => [
        'ResourceType' => 'ACCOUNT_ID',
        'Value' => '111111111111',
    ],
]);

Result syntax:

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '111111111111',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'BillingPeriod' => [
                'Month' => 1,
                'Year' => 2025,
            ],
            'DueDate' => ,
            'Entity' => [
                'InvoicingEntity' => 'Amazon Web Services, Inc.',
            ],
            'InvoiceId' => '1111111111',
            'InvoiceType' => 'INVOICE',
            'IssuedDate' => ,
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
        ],
    ],
]
Example 3: ListInvoiceSummaries with AccountId as selector and time interval
$result = $client->listInvoiceSummaries([
    'Filter' => [
        'TimeInterval' => [
            'EndDate' => ,
            'StartDate' => ,
        ],
    ],
    'Selector' => [
        'ResourceType' => 'ACCOUNT_ID',
        'Value' => '111111111111',
    ],
]);

Result syntax:

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '111111111111',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'BillingPeriod' => [
                'Month' => 1,
                'Year' => 2025,
            ],
            'DueDate' => ,
            'Entity' => [
                'InvoicingEntity' => 'Amazon Web Services, Inc.',
            ],
            'InvoiceId' => '1111111111',
            'InvoiceType' => 'INVOICE',
            'IssuedDate' => ,
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
        ],
    ],
]
Example 4: ListInvoiceSummaries with AccountId as selector and a billing period and max results
$result = $client->listInvoiceSummaries([
    'Filter' => [
        'BillingPeriod' => [
            'Month' => 1,
            'Year' => 2025,
        ],
    ],
    'MaxResults' => 1,
    'Selector' => [
        'ResourceType' => 'ACCOUNT_ID',
        'Value' => '111111111111',
    ],
]);

Result syntax:

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '111111111111',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'BillingPeriod' => [
                'Month' => 1,
                'Year' => 2025,
            ],
            'DueDate' => ,
            'Entity' => [
                'InvoicingEntity' => 'Amazon Web Services, Inc.',
            ],
            'InvoiceId' => '1111111111',
            'InvoiceType' => 'INVOICE',
            'IssuedDate' => ,
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
        ],
    ],
    'NextToken' => 'abcde12345',
]
Example 5: ListInvoiceSummaries with AccountId as selector and a billing period and next token
$result = $client->listInvoiceSummaries([
    'Filter' => [
        'BillingPeriod' => [
            'Month' => 1,
            'Year' => 2025,
        ],
    ],
    'NextToken' => 'abcde12345',
    'Selector' => [
        'ResourceType' => 'ACCOUNT_ID',
        'Value' => '111111111111',
    ],
]);

Result syntax:

[
    'InvoiceSummaries' => [
        [
            'AccountId' => '111111111111',
            'BaseCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'BillingPeriod' => [
                'Month' => 1,
                'Year' => 2025,
            ],
            'DueDate' => ,
            'Entity' => [
                'InvoicingEntity' => 'Amazon Web Services, Inc.',
            ],
            'InvoiceId' => '1111111111',
            'InvoiceType' => 'INVOICE',
            'IssuedDate' => ,
            'PaymentCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
            'TaxCurrencyAmount' => [
                'AmountBreakdown' => [
                    'Discounts' => [
                        'TotalAmount' => '1.00',
                    ],
                    'SubTotalAmount' => '1.00',
                    'Taxes' => [
                        'Breakdown' => [
                            [
                                'Amount' => '1',
                                'Description' => 'VAT',
                                'Rate' => '1.0',
                            ],
                        ],
                        'TotalAmount' => '1.00',
                    ],
                ],
                'CurrencyCode' => 'USD',
                'CurrencyExchangeDetails' => [
                    'Rate' => '1.0',
                    'SourceCurrencyCode' => 'USD',
                    'TargetCurrencyCode' => 'USD',
                ],
                'TotalAmount' => '1.00',
                'TotalAmountBeforeTax' => '1.00',
            ],
        ],
    ],
]

ListInvoiceUnits

$result = $client->listInvoiceUnits([/* ... */]);
$promise = $client->listInvoiceUnitsAsync([/* ... */]);

This fetches a list of all invoice unit definitions for a given account, as of the provided AsOf date.

Parameter Syntax

$result = $client->listInvoiceUnits([
    'AsOf' => <integer || string || DateTime>,
    'Filters' => [
        'Accounts' => ['<string>', ...],
        'BillSourceAccounts' => ['<string>', ...],
        'InvoiceReceivers' => ['<string>', ...],
        'Names' => ['<string>', ...],
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AsOf
Type: timestamp (string|DateTime or anything parsable by strtotime)

The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the AsOf time is set to before it was deleted. If an AsOf is not provided, the default value is the current time.

Filters
Type: Filters structure

An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts.

MaxResults
Type: int

The maximum number of invoice units that can be returned.

NextToken
Type: string

The next token used to indicate where the returned list should start from.

Result Syntax

[
    'InvoiceUnits' => [
        [
            'Description' => '<string>',
            'InvoiceReceiver' => '<string>',
            'InvoiceUnitArn' => '<string>',
            'LastModified' => <DateTime>,
            'Name' => '<string>',
            'Rule' => [
                'BillSourceAccounts' => ['<string>', ...],
                'LinkedAccounts' => ['<string>', ...],
            ],
            'TaxInheritanceDisabled' => true || false,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
InvoiceUnits
Type: Array of InvoiceUnit structures

An invoice unit is a set of mutually exclusive accounts that correspond to your business entity.

NextToken
Type: string

The next token used to indicate where the returned list should start from.

Errors

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: ListInvoiceUnits without filters as of current time
$result = $client->listInvoiceUnits([
]);

Result syntax:

[
    'InvoiceUnits' => [
        [
            'Description' => 'Description changed on 1733788800',
            'InvoiceReceiver' => '111111111111',
            'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
            'LastModified' => ,
            'Name' => 'Example Invoice Unit A',
            'Rule' => [
                'LinkedAccounts' => [
                    '222222222222',
                ],
            ],
            'TaxInheritanceDisabled' => ,
        ],
        [
            'Description' => 'Description changed on 1733788800',
            'InvoiceReceiver' => '333333333333',
            'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/87654321',
            'LastModified' => ,
            'Name' => 'Example Invoice Unit B',
            'Rule' => [
                'LinkedAccounts' => [
                    '333333333333',
                ],
            ],
            'TaxInheritanceDisabled' => 1,
        ],
    ],
]
Example 2: ListInvoiceUnits with filters as of specified time
$result = $client->listInvoiceUnits([
    'AsOf' => ,
    'Filters' => [
        'InvoiceReceivers' => [
            '333333333333',
        ],
    ],
]);

Result syntax:

[
    'InvoiceUnits' => [
        [
            'Description' => 'Description changed on 1733011200',
            'InvoiceReceiver' => '333333333333',
            'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/87654321',
            'LastModified' => ,
            'Name' => 'Example Invoice Unit B',
            'Rule' => [
                'LinkedAccounts' => [
                    '333333333333',
                ],
            ],
            'TaxInheritanceDisabled' => ,
        ],
    ],
]
Example 3: ListInvoiceUnits with pagination - first page
$result = $client->listInvoiceUnits([
    'MaxResults' => 1,
]);

Result syntax:

[
    'InvoiceUnits' => [
        [
            'Description' => 'Description changed on 1733788800',
            'InvoiceReceiver' => '111111111111',
            'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
            'LastModified' => ,
            'Name' => 'Example Invoice Unit A',
            'Rule' => [
                'LinkedAccounts' => [
                    '222222222222',
                ],
            ],
            'TaxInheritanceDisabled' => ,
        ],
    ],
    'NextToken' => 'nextTokenExample',
]
Example 4: ListInvoiceUnits with pagination - second page
$result = $client->listInvoiceUnits([
    'MaxResults' => 1,
    'NextToken' => 'nextTokenExample',
]);

Result syntax:

[
    'InvoiceUnits' => [
        [
            'Description' => 'Description changed on 1733788800',
            'InvoiceReceiver' => '333333333333',
            'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/87654321',
            'LastModified' => ,
            'Name' => 'Example Invoice Unit B',
            'Rule' => [
                'LinkedAccounts' => [
                    '333333333333',
                ],
            ],
            'TaxInheritanceDisabled' => 1,
        ],
    ],
]

ListProcurementPortalPreferences

$result = $client->listProcurementPortalPreferences([/* ... */]);
$promise = $client->listProcurementPortalPreferencesAsync([/* ... */]);

Retrieves a list of procurement portal preferences associated with the Amazon Web Services account.

Parameter Syntax

$result = $client->listProcurementPortalPreferences([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

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

NextToken
Type: string

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

Result Syntax

[
    'NextToken' => '<string>',
    'ProcurementPortalPreferences' => [
        [
            'AwsAccountId' => '<string>',
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => '<string>',
            'CreateDate' => <DateTime>,
            'EinvoiceDeliveryEnabled' => true || false,
            'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
            'EinvoiceDeliveryPreferenceStatusReason' => '<string>',
            'LastUpdateDate' => <DateTime>,
            'ProcurementPortalName' => 'SAP_BUSINESS_NETWORK|COUPA',
            'ProcurementPortalPreferenceArn' => '<string>',
            'PurchaseOrderRetrievalEnabled' => true || false,
            'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
            'PurchaseOrderRetrievalPreferenceStatusReason' => '<string>',
            'Selector' => [
                'InvoiceUnitArns' => ['<string>', ...],
                'SellerOfRecords' => ['<string>', ...],
            ],
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => '<string>',
            'Version' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results, or null if there are no more results.

ProcurementPortalPreferences
Type: Array of ProcurementPortalPreferenceSummary structures

The list of procurement portal preferences associated with the Amazon Web Services account.

Errors

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.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: ListProcurementPortalPreferences for Coupa prefs. First Call with following pages
$result = $client->listProcurementPortalPreferences([
    'MaxResults' => 2,
]);

Result syntax:

[
    'NextToken' => 'AAQA-EFRSURBSGpkVFU5MVNUVWNXTzNoUEptWEFGcEt0QzBBeHZaZmRUU2w3L0hRQmdDeEx3R0NuSnF2NjM5NGNmM1I5KzNIQzNnT0FBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTVhPSnhEQ04rWk1idnAyb1RBZ0VRZ0RzbFJBeFlXMk9RRGFtTU8vdFc0MUJlTFFNU2hPR1E5bDM3MHcyS05mSjIzbU93MG1aVXk1MzBiWWVsZ3FaZzhjMndhTjZtNzNYTWd3bnpsZz09E8JRNUKK1r2-b9X8Qd1RAOSKHZOCy-UCpOQjJdSfZHcUefTH0YmlIW8ykllegYUWB1D1NjDjC3u2z2e4cLBTmQhrQewSBW-I_i8okXup9RWN60eMOnB6dl5jUiinJ-FjY_jGjbOkiWuJhXteDKP16RfVRW7mxp2-v1-B8gPPxGLolXHBHrb8gt18P8eWs8RcvRRmmbGUy5qa6nFH5WiCq9Bx2fTUTy9Iz_xZooNuiqC6y119EGQqJ9WsWsIUa8MbWHFXtn9-Uriz7osYocbFm1Evv_NCn3YK-wFy9rUlUskcM2n9AqvPYhOyf0reV7E8cErZFR_Ev8l008QcxQfaqK19-gKR9clddwoDzMVfVuyiW3vbzUXz7fzQLr-UMLCGdE3yHf1oz2SEbcxhHZ2eh7-9wEYDv0v92wXg7m7xaYvaKuVBPKqBaq66GdpS1HTfakkjRGvsoBStXWVgPahISglPO__-Ym5NnXOw2wENBVXZ7RsVe6nJ1X15bB1RDkqLV8xJD0L83snuCEBtM9pyUUQOPvfGHzC4yRusMgBav_y1kq0wjqsbJV5EhHV_SIwf-WZa_A==',
    'ProcurementPortalPreferences' => [
        [
            'AwsAccountId' => '111111111111',
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => 'BuyerId_2',
            'CreateDate' => ,
            'EinvoiceDeliveryEnabled' => 1,
            'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION',
            'LastUpdateDate' => ,
            'ProcurementPortalName' => 'COUPA',
            'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/1c7c6d71-fbc1-45bd-a18c-40cb61810679',
            'PurchaseOrderRetrievalEnabled' => 1,
            'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION',
            'Selector' => [
                'InvoiceUnitArns' => [
                    'arn:aws:invoicing::111111111111:invoice-unit/12345679',
                ],
                'SellerOfRecords' => [
                    'AWS_INC',
                ],
            ],
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => 'SupplierId_1',
            'Version' => 1,
        ],
        [
            'AwsAccountId' => '111111111111',
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => 'BuyerId_4',
            'CreateDate' => ,
            'EinvoiceDeliveryEnabled' => 1,
            'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION',
            'LastUpdateDate' => ,
            'ProcurementPortalName' => 'COUPA',
            'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/ae467ebd-ec8c-4089-b904-a7cd9e76f970',
            'PurchaseOrderRetrievalEnabled' => 1,
            'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION',
            'Selector' => [
                'InvoiceUnitArns' => [
                    'arn:aws:invoicing::111111111111:invoice-unit/12345678',
                ],
                'SellerOfRecords' => [
                    'AWS_INC',
                ],
            ],
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => 'SupplierId_1',
            'Version' => 1,
        ],
    ],
]
Example 2: ListProcurementPortalPreferences for Coupa prefs. Second Call with the last page
$result = $client->listProcurementPortalPreferences([
    'MaxResults' => 2,
    'NextToken' => 'AAQA-EFRSURBSGpkVFU5MVNUVWNXTzNoUEptWEFGcEt0QzBBeHZaZmRUU2w3L0hRQmdDeEx3R0NuSnF2NjM5NGNmM1I5KzNIQzNnT0FBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTVhPSnhEQ04rWk1idnAyb1RBZ0VRZ0RzbFJBeFlXMk9RRGFtTU8vdFc0MUJlTFFNU2hPR1E5bDM3MHcyS05mSjIzbU93MG1aVXk1MzBiWWVsZ3FaZzhjMndhTjZtNzNYTWd3bnpsZz09E8JRNUKK1r2-b9X8Qd1RAOSKHZOCy-UCpOQjJdSfZHcUefTH0YmlIW8ykllegYUWB1D1NjDjC3u2z2e4cLBTmQhrQewSBW-I_i8okXup9RWN60eMOnB6dl5jUiinJ-FjY_jGjbOkiWuJhXteDKP16RfVRW7mxp2-v1-B8gPPxGLolXHBHrb8gt18P8eWs8RcvRRmmbGUy5qa6nFH5WiCq9Bx2fTUTy9Iz_xZooNuiqC6y119EGQqJ9WsWsIUa8MbWHFXtn9-Uriz7osYocbFm1Evv_NCn3YK-wFy9rUlUskcM2n9AqvPYhOyf0reV7E8cErZFR_Ev8l008QcxQfaqK19-gKR9clddwoDzMVfVuyiW3vbzUXz7fzQLr-UMLCGdE3yHf1oz2SEbcxhHZ2eh7-9wEYDv0v92wXg7m7xaYvaKuVBPKqBaq66GdpS1HTfakkjRGvsoBStXWVgPahISglPO__-Ym5NnXOw2wENBVXZ7RsVe6nJ1X15bB1RDkqLV8xJD0L83snuCEBtM9pyUUQOPvfGHzC4yRusMgBav_y1kq0wjqsbJV5EhHV_SIwf-WZa_A==',
]);

Result syntax:

[
    'ProcurementPortalPreferences' => [
        [
            'AwsAccountId' => '111111111111',
            'BuyerDomain' => 'NetworkID',
            'BuyerIdentifier' => 'BuyerId_1',
            'CreateDate' => ,
            'EinvoiceDeliveryEnabled' => 1,
            'EinvoiceDeliveryPreferenceStatus' => 'TEST_INITIALIZED',
            'EinvoiceDeliveryPreferenceStatusReason' => 'test initialized example reason',
            'LastUpdateDate' => ,
            'ProcurementPortalName' => 'COUPA',
            'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
            'PurchaseOrderRetrievalEnabled' => 1,
            'PurchaseOrderRetrievalPreferenceStatus' => 'TEST_INITIALIZED',
            'PurchaseOrderRetrievalPreferenceStatusReason' => 'test initialized example reason',
            'Selector' => [
                'InvoiceUnitArns' => [
                    'arn:aws:invoicing::111111111111:invoice-unit/12345678',
                ],
                'SellerOfRecords' => [
                    'AWS_INC',
                ],
            ],
            'SupplierDomain' => 'NetworkID',
            'SupplierIdentifier' => 'SupplierId_1',
            'Version' => 3,
        ],
    ],
]

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists the tags for a resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of tags to list.

Result Syntax

[
    'ResourceTags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ResourceTags
Type: Array of ResourceTag structures

Adds a tag to a resource.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: ListTagsForResource
$result = $client->listTagsForResource([
    'ResourceArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]);

Result syntax:

[
    'ResourceTags' => [
        [
            'Key' => 'TagKey',
            'Value' => 'TagValue',
        ],
    ],
]

PutProcurementPortalPreference

$result = $client->putProcurementPortalPreference([/* ... */]);
$promise = $client->putProcurementPortalPreferenceAsync([/* ... */]);

Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval.

Parameter Syntax

$result = $client->putProcurementPortalPreference([
    'Contacts' => [ // REQUIRED
        [
            'Email' => '<string>',
            'Name' => '<string>',
        ],
        // ...
    ],
    'EinvoiceDeliveryEnabled' => true || false, // REQUIRED
    'EinvoiceDeliveryPreference' => [
        'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST|TEST_ENV_REPLAY_TEST', // REQUIRED
        'EinvoiceDeliveryActivationDate' => <integer || string || DateTime>, // REQUIRED
        'EinvoiceDeliveryAttachmentTypes' => ['<string>', ...],
        'EinvoiceDeliveryDocumentTypes' => ['<string>', ...], // REQUIRED
        'Protocol' => 'CXML', // REQUIRED
        'PurchaseOrderDataSources' => [ // REQUIRED
            [
                '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',
            ],
            // ...
        ],
    ],
    'ProcurementPortalInstanceEndpoint' => '<string>',
    'ProcurementPortalPreferenceArn' => '<string>', // REQUIRED
    'ProcurementPortalSharedSecret' => '<string>',
    'PurchaseOrderRetrievalEnabled' => true || false, // REQUIRED
    'Selector' => [
        'InvoiceUnitArns' => ['<string>', ...],
        'SellerOfRecords' => ['<string>', ...],
    ],
    'TestEnvPreference' => [
        'BuyerDomain' => 'NetworkID', // REQUIRED
        'BuyerIdentifier' => '<string>', // REQUIRED
        'ProcurementPortalInstanceEndpoint' => '<string>',
        'ProcurementPortalSharedSecret' => '<string>',
        'SupplierDomain' => 'NetworkID', // REQUIRED
        'SupplierIdentifier' => '<string>', // REQUIRED
    ],
]);

Parameter Details

Members
Contacts
Required: Yes
Type: Array of Contact structures

Updated list of contact information for portal administrators and technical contacts.

EinvoiceDeliveryEnabled
Required: Yes
Type: boolean

Updated flag indicating whether e-invoice delivery is enabled for this procurement portal preference.

EinvoiceDeliveryPreference
Type: EinvoiceDeliveryPreference structure

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

ProcurementPortalInstanceEndpoint
Type: string

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

ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

ProcurementPortalSharedSecret
Type: string

The updated shared secret or authentication credential for the procurement portal. This value must be encrypted at rest.

PurchaseOrderRetrievalEnabled
Required: Yes
Type: boolean

Updated flag indicating whether purchase order retrieval is enabled for this procurement portal preference.

Selector

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

TestEnvPreference
Type: TestEnvPreferenceInput structure

Updated configuration settings for the test environment of the procurement portal.

Result Syntax

[
    'ProcurementPortalPreferenceArn' => '<string>',
]

Result Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Errors

ResourceNotFoundException:

The resource could not be found.

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.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: PutProcurementPortalPreference for Coupa pref
$result = $client->putProcurementPortalPreference([
    'Contacts' => [
        [
            'Email' => 'example-placeholder2@amazon.com',
            'Name' => 'John Doe2',
        ],
    ],
    'EinvoiceDeliveryEnabled' => 1,
    'EinvoiceDeliveryPreference' => [
        'ConnectionTestingMethod' => 'PROD_ENV_DOLLAR_TEST',
        'EinvoiceDeliveryActivationDate' => ,
        'EinvoiceDeliveryAttachmentTypes' => [
            'INVOICE_PDF',
        ],
        'EinvoiceDeliveryDocumentTypes' => [
            'AWS_CLOUD_INVOICE',
        ],
        'Protocol' => 'CXML',
        'PurchaseOrderDataSources' => [
            [
                'EinvoiceDeliveryDocumentType' => 'AWS_CLOUD_INVOICE',
                'PurchaseOrderDataSourceType' => 'ASSOCIATED_PURCHASE_ORDER_REQUIRED',
            ],
        ],
    ],
    'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
    'ProcurementPortalSharedSecret' => 'Coupa_Secret_2',
    'PurchaseOrderRetrievalEnabled' => 1,
    'Selector' => [
        'InvoiceUnitArns' => [
            'arn:aws:invoicing::111111111111:invoice-unit/12345679',
        ],
        'SellerOfRecords' => [
            'AWS_INC',
        ],
    ],
    'TestEnvPreference' => [
        'BuyerDomain' => 'NetworkID',
        'BuyerIdentifier' => 'BuyerId_1_Test',
        'ProcurementPortalInstanceEndpoint' => 'https://www.placeholder-domain.test',
        'ProcurementPortalSharedSecret' => 'Coupa_Secret_test_2',
        'SupplierDomain' => 'NetworkID',
        'SupplierIdentifier' => 'SupplierId_1_Test',
    ],
]);

Result syntax:

[
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
]

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds a tag to a resource.

Parameter Syntax

$result = $client->tagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'ResourceTags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the tags.

ResourceTags
Required: Yes
Type: Array of ResourceTag structures

Adds a tag to a resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: TagResource
$result = $client->tagResource([
    'ResourceArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
    'ResourceTags' => [
        [
            'Key' => 'TagKey',
            'Value' => 'TagValue',
        ],
    ],
]);

Result syntax:

[
]

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes a tag from a resource.

Parameter Syntax

$result = $client->untagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'ResourceTagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) to untag.

ResourceTagKeys
Required: Yes
Type: Array of strings

Keys for the tags to be removed.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: UntagResource
$result = $client->untagResource([
    'ResourceArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
    'ResourceTagKeys' => [
        'TagKey',
    ],
]);

Result syntax:

[
]

UpdateInvoiceUnit

$result = $client->updateInvoiceUnit([/* ... */]);
$promise = $client->updateInvoiceUnitAsync([/* ... */]);

You can update the invoice unit configuration at any time, and Amazon Web Services will use the latest configuration at the end of the month.

Parameter Syntax

$result = $client->updateInvoiceUnit([
    'Description' => '<string>',
    'InvoiceUnitArn' => '<string>', // REQUIRED
    'Rule' => [
        'BillSourceAccounts' => ['<string>', ...],
        'LinkedAccounts' => ['<string>', ...],
    ],
    'TaxInheritanceDisabled' => true || false,
]);

Parameter Details

Members
Description
Type: string

The assigned description for an invoice unit. This information can't be modified or deleted.

InvoiceUnitArn
Required: Yes
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Rule
Type: InvoiceUnitRule structure

The InvoiceUnitRule object used to update invoice units.

TaxInheritanceDisabled
Type: boolean

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

Result Syntax

[
    'InvoiceUnitArn' => '<string>',
]

Result Details

Members
InvoiceUnitArn
Type: string

The ARN to identify an invoice unit. This information can't be modified or deleted.

Errors

ResourceNotFoundException:

The resource could not be found.

ValidationException:

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

InternalServerException:

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

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: UpdateInvoiceUnit with all updatable fields
$result = $client->updateInvoiceUnit([
    'Description' => 'Updated IU description',
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
    'Rule' => [
        'LinkedAccounts' => [
            '111111111111',
            '222222222222',
        ],
    ],
    'TaxInheritanceDisabled' => ,
]);

Result syntax:

[
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]
Example 2: UpdateInvoiceUnit with specific fields
$result = $client->updateInvoiceUnit([
    'Description' => 'Updated IU description. All other fields remain unchanged',
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]);

Result syntax:

[
    'InvoiceUnitArn' => 'arn:aws:invoicing::000000000000:invoice-unit/12345678',
]

UpdateProcurementPortalPreferenceStatus

$result = $client->updateProcurementPortalPreferenceStatus([/* ... */]);
$promise = $client->updateProcurementPortalPreferenceStatusAsync([/* ... */]);

Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features.

Parameter Syntax

$result = $client->updateProcurementPortalPreferenceStatus([
    'EinvoiceDeliveryPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
    'EinvoiceDeliveryPreferenceStatusReason' => '<string>',
    'ProcurementPortalPreferenceArn' => '<string>', // REQUIRED
    'PurchaseOrderRetrievalPreferenceStatus' => 'PENDING_VERIFICATION|TEST_INITIALIZED|TEST_INITIALIZATION_FAILED|TEST_FAILED|ACTIVE|SUSPENDED',
    'PurchaseOrderRetrievalPreferenceStatusReason' => '<string>',
]);

Parameter Details

Members
EinvoiceDeliveryPreferenceStatus
Type: string

The updated status of the e-invoice delivery preference.

EinvoiceDeliveryPreferenceStatusReason
Type: string

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

ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

PurchaseOrderRetrievalPreferenceStatus
Type: string

The updated status of the purchase order retrieval preference.

PurchaseOrderRetrievalPreferenceStatusReason
Type: string

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

Result Syntax

[
    'ProcurementPortalPreferenceArn' => '<string>',
]

Result Details

Members
ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

Errors

ResourceNotFoundException:

The resource could not be found.

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.

ValidationException:

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

InternalServerException:

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

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.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

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

Examples

Example 1: UpdateProcurementPortalPreference for EinvoiceDeliveryPreferenceStatus and PurchaseOrderRetrievalPreferenceStatus
$result = $client->updateProcurementPortalPreferenceStatus([
    'EinvoiceDeliveryPreferenceStatus' => 'SUSPENDED',
    'EinvoiceDeliveryPreferenceStatusReason' => 'suspended example reason',
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
    'PurchaseOrderRetrievalPreferenceStatus' => 'SUSPENDED',
    'PurchaseOrderRetrievalPreferenceStatusReason' => 'suspended example reason',
]);

Result syntax:

[
    'ProcurementPortalPreferenceArn' => 'arn:aws:invoicing::111111111111:procurement-portal-preference/f71dd02e-f855-4b13-b793-0fd25c0b3ecd',
]

Shapes

AccessDeniedException

Description

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

Members
message
Type: string
resourceName
Type: string

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

AmountBreakdown

Description

Details about how the total amount was calculated and categorized.

Members
Discounts
Type: DiscountsBreakdown structure

The discounted amount.

Fees
Type: FeesBreakdown structure

The fee amount.

SubTotalAmount
Type: string

The total of a set of the breakdown.

Taxes
Type: TaxesBreakdown structure

The tax amount.

BillingPeriod

Description

The billing period for which you want to retrieve invoice-related documents.

Members
Month
Required: Yes
Type: int

The billing period month.

Year
Required: Yes
Type: int

The billing period year.

ConflictException

Description

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.

Members
message
Type: string
resourceId
Type: string

The identifier of the resource that caused the conflict.

resourceType
Type: string

The type of resource that caused the conflict.

Contact

Description

Represents contact information for a person or role associated with the procurement portal preference.

Members
Email
Type: string

The email address of the contact person or role.

Name
Type: string

The name of the contact person or role.

CurrencyExchangeDetails

Description

The details of currency exchange.

Members
Rate
Type: string

The currency exchange rate.

SourceCurrencyCode
Type: string

The exchange source currency.

TargetCurrencyCode
Type: string

The exchange target currency.

DateInterval

Description

The time period that you want invoice-related documents for.

Members
EndDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time period that you want invoice-related documents for. The end date is exclusive. For example, if end is 2019-01-10, Amazon Web Services retrieves invoice-related documents from the start date up to, but not including, 2018-01-10.

StartDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The beginning of the time period that you want invoice-related documents for. The start date is inclusive. For example, if start is 2019-01-01, AWS retrieves invoices starting at 2019-01-01 up to the end date.

DiscountsBreakdown

Description

The discounts details.

Members
Breakdown
Type: Array of DiscountsBreakdownAmount structures

The list of discounts information.

TotalAmount
Type: string

The discount's total amount.

DiscountsBreakdownAmount

Description

The discounted amount.

Members
Amount
Type: string

The discounted amount.

Description
Type: string

The list of discounts information.

Rate
Type: string

The details for the discount rate..

EinvoiceDeliveryPreference

Description

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

Members
ConnectionTestingMethod
Required: Yes
Type: string

The method to use for testing the connection to the procurement portal.

EinvoiceDeliveryActivationDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when e-invoice delivery should be activated for this preference.

EinvoiceDeliveryAttachmentTypes
Type: Array of strings

The types of attachments to include with the e-invoice delivery.

EinvoiceDeliveryDocumentTypes
Required: Yes
Type: Array of strings

The types of e-invoice documents to be delivered.

Protocol
Required: Yes
Type: string

The communication protocol to use for e-invoice delivery.

PurchaseOrderDataSources
Required: Yes
Type: Array of PurchaseOrderDataSource structures

The sources of purchase order data to use for e-invoice generation and delivery.

Entity

Description

The organization name providing Amazon Web Services services.

Members
InvoicingEntity
Type: string

The name of the entity that issues the Amazon Web Services invoice.

FeesBreakdown

Description

The details of fees.

Members
Breakdown
Type: Array of FeesBreakdownAmount structures

The list of fees information.

TotalAmount
Type: string

The total amount of fees.

FeesBreakdownAmount

Description

The fee amount.

Members
Amount
Type: string

The fee amount.

Description
Type: string

The list of fees information.

Rate
Type: string

Details about the rate amount.

Filters

Description

An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are InvoiceReceivers, Names, and Accounts.

Members
Accounts
Type: Array of strings

You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. The specified account IDs are matched with either the receiver or the linked accounts in the rules.

BillSourceAccounts
Type: Array of strings

A list of Amazon Web Services account account IDs used to filter invoice units. These are payer accounts from other Organizations that have delegated their billing responsibility to the receiver account through the billing transfer feature.

InvoiceReceivers
Type: Array of strings

You can specify a list of Amazon Web Services account IDs inside filters to return invoice units that match only the specified accounts. If multiple accounts are provided, the result is an OR condition (match any) of the specified accounts. This filter only matches the specified accounts on the invoice receivers of the invoice units.

Names
Type: Array of strings

An optional input to the list API. You can specify a list of invoice unit names inside filters to return invoice units that match only the specified invoice unit names. If multiple names are provided, the result is an OR condition (match any) of the specified invoice unit names.

InternalServerException

Description

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

Members
message
Type: string
retryAfterSeconds
Type: int

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

InvoiceCurrencyAmount

Description

The amount charged after taxes, in the preferred currency.

Members
AmountBreakdown
Type: AmountBreakdown structure

Details about the invoice currency amount.

CurrencyCode
Type: string

The currency dominion of the invoice document.

CurrencyExchangeDetails
Type: CurrencyExchangeDetails structure

The details of currency exchange.

TotalAmount
Type: string

The invoice currency amount.

TotalAmountBeforeTax
Type: string

Details about the invoice total amount before tax.

InvoicePDF

Description

Invoice document data.

Members
DocumentUrl
Type: string

The pre-signed URL to download the invoice document.

DocumentUrlExpirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The pre-signed URL expiration date of the invoice document.

InvoiceId
Type: string

Your unique invoice ID.

SupplementalDocuments
Type: Array of SupplementalDocument structures

List of supplemental documents associated with the invoice.

InvoiceProfile

Description

Contains high-level information about the invoice receiver.

Members
AccountId
Type: string

The account ID the invoice profile is generated for.

Issuer
Type: string

This specifies the issuing entity of the invoice.

ReceiverAddress
Type: ReceiverAddress structure

The address of the receiver that will be printed on the invoice.

ReceiverEmail
Type: string

The email address for the invoice profile receiver.

ReceiverName
Type: string

The name of the person receiving the invoice profile.

TaxRegistrationNumber
Type: string

Your Tax Registration Number (TRN) information.

InvoiceSummariesFilter

Description

Filters for your invoice summaries.

Members
BillingPeriod
Type: BillingPeriod structure

The billing period associated with the invoice documents.

InvoicingEntity
Type: string

The name of the entity that issues the Amazon Web Services invoice.

TimeInterval
Type: DateInterval structure

The date range for invoice summary retrieval.

InvoiceSummariesSelector

Description

Specifies the invoice summary.

Members
ResourceType
Required: Yes
Type: string

The query identifier type (INVOICE_ID or ACCOUNT_ID).

Value
Required: Yes
Type: string

The value of the query identifier.

InvoiceSummary

Description

The invoice that the API retrieved.

Members
AccountId
Type: string

The Amazon Web Services account ID.

BaseCurrencyAmount
Type: InvoiceCurrencyAmount structure

The summary with the product and service currency.

BillingPeriod
Type: BillingPeriod structure

The billing period of the invoice-related document.

DueDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The invoice due date.

Entity
Type: Entity structure

The organization name providing Amazon Web Services services.

InvoiceId
Type: string

The invoice ID.

InvoiceType
Type: string

The type of invoice.

IssuedDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The issued date of the invoice.

OriginalInvoiceId
Type: string

The initial or original invoice ID.

PaymentCurrencyAmount
Type: InvoiceCurrencyAmount structure

The summary with the customer configured currency.

PurchaseOrderNumber
Type: string

The purchase order number associated to the invoice.

TaxCurrencyAmount
Type: InvoiceCurrencyAmount structure

The summary with the tax currency.

InvoiceUnit

Description

An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you separate Amazon Web Services account costs and configures your invoice for each business entity going forward.

Members
Description
Type: string

The assigned description for an invoice unit. This information can't be modified or deleted.

InvoiceReceiver
Type: string

The account that receives invoices related to the invoice unit.

InvoiceUnitArn
Type: string

ARN to identify an invoice unit. This information can't be modified or deleted.

LastModified
Type: timestamp (string|DateTime or anything parsable by strtotime)

The last time the invoice unit was updated. This is important to determine the version of invoice unit configuration used to create the invoices. Any invoice created after this modified time will use this invoice unit configuration.

Name
Type: string

A unique name that is distinctive within your Amazon Web Services.

Rule
Type: InvoiceUnitRule structure

An InvoiceUnitRule object used the categorize invoice units.

TaxInheritanceDisabled
Type: boolean

Whether the invoice unit based tax inheritance is/ should be enabled or disabled.

InvoiceUnitRule

Description

This is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is LINKED_ACCOUNT.

Members
BillSourceAccounts
Type: Array of strings

A list of Amazon Web Services account account IDs that have delegated their billing responsibility to the receiver account through transfer billing. Unlike linked accounts, these bill source accounts can be payer accounts from other organizations that have authorized billing transfer to this account.

LinkedAccounts
Type: Array of strings

The list of LINKED_ACCOUNT IDs where charges are included within the invoice unit.

ProcurementPortalPreference

Description

Represents the full configuration of a procurement portal preference, including settings for e-invoice delivery and purchase order retrieval.

Members
AwsAccountId
Required: Yes
Type: string

The Amazon Web Services account ID associated with this procurement portal preference.

BuyerDomain
Required: Yes
Type: string

The domain identifier for the buyer in the procurement portal.

BuyerIdentifier
Required: Yes
Type: string

The unique identifier for the buyer in the procurement portal.

Contacts
Type: Array of Contact structures

List of contact information for portal administrators and technical contacts.

CreateDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the procurement portal preference was created.

EinvoiceDeliveryEnabled
Required: Yes
Type: boolean

Indicates whether e-invoice delivery is enabled for this procurement portal preference.

EinvoiceDeliveryPreference
Type: EinvoiceDeliveryPreference structure

The configuration settings that specify how e-invoices are delivered to the procurement portal.

EinvoiceDeliveryPreferenceStatus
Type: string

The current status of the e-invoice delivery preference.

EinvoiceDeliveryPreferenceStatusReason
Type: string

The reason for the current e-invoice delivery preference status.

LastUpdateDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the procurement portal preference was last updated.

ProcurementPortalInstanceEndpoint
Type: string

The endpoint URL where e-invoices are delivered to the procurement portal.

ProcurementPortalName
Required: Yes
Type: string

The name of the procurement portal.

ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

ProcurementPortalSharedSecret
Type: string

The shared secret or authentication credential used for secure communication with the procurement portal.

PurchaseOrderRetrievalEnabled
Required: Yes
Type: boolean

Indicates whether purchase order retrieval is enabled for this procurement portal preference.

PurchaseOrderRetrievalEndpoint
Type: string

The endpoint URL used for retrieving purchase orders from the procurement portal.

PurchaseOrderRetrievalPreferenceStatus
Type: string

The current status of the purchase order retrieval preference.

PurchaseOrderRetrievalPreferenceStatusReason
Type: string

The reason for the current purchase order retrieval preference status.

Selector

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

SupplierDomain
Required: Yes
Type: string

The domain identifier for the supplier in the procurement portal.

SupplierIdentifier
Required: Yes
Type: string

The unique identifier for the supplier in the procurement portal.

TestEnvPreference
Type: TestEnvPreference structure

Configuration on settings for the test environment of the procurement portal.

Version
Required: Yes
Type: long (int|float)

The version number of the procurement portal preference configuration.

ProcurementPortalPreferenceSelector

Description

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

Members
InvoiceUnitArns
Type: Array of strings

The Amazon Resource Name (ARN) of invoice unit identifiers to which this preference applies.

SellerOfRecords
Type: Array of strings

The list of seller of record IDs to which this preference applies.

ProcurementPortalPreferenceSummary

Description

Provides a summary of a procurement portal preference, including key identifiers and status information.

Members
AwsAccountId
Required: Yes
Type: string

The Amazon Web Services account ID associated with this procurement portal preference summary.

BuyerDomain
Required: Yes
Type: string

The domain identifier for the buyer in the procurement portal.

BuyerIdentifier
Required: Yes
Type: string

The unique identifier for the buyer in the procurement portal.

CreateDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the procurement portal preference was created.

EinvoiceDeliveryEnabled
Required: Yes
Type: boolean

Indicates whether e-invoice delivery is enabled for this procurement portal preference.

EinvoiceDeliveryPreferenceStatus
Type: string

The current status of the e-invoice delivery preference in this summary.

EinvoiceDeliveryPreferenceStatusReason
Type: string

The reason for the current e-invoice delivery preference status in this summary.

LastUpdateDate
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the procurement portal preference was last updated.

ProcurementPortalName
Required: Yes
Type: string

The name of the procurement portal.

ProcurementPortalPreferenceArn
Required: Yes
Type: string

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

PurchaseOrderRetrievalEnabled
Required: Yes
Type: boolean

Indicates whether purchase order retrieval is enabled for this procurement portal preference.

PurchaseOrderRetrievalPreferenceStatus
Type: string

The current status of the purchase order retrieval preference in this summary.

PurchaseOrderRetrievalPreferenceStatusReason
Type: string

The reason for the current purchase order retrieval preference status in this summary.

Selector

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

SupplierDomain
Required: Yes
Type: string

The domain identifier for the supplier in the procurement portal.

SupplierIdentifier
Required: Yes
Type: string

The unique identifier for the supplier in the procurement portal.

Version
Required: Yes
Type: long (int|float)

The version number of the procurement portal preference configuration in this summary.

PurchaseOrderDataSource

Description

Specifies the source configuration for retrieving purchase order data.

Members
EinvoiceDeliveryDocumentType
Type: string

The type of e-invoice document that requires purchase order data.

PurchaseOrderDataSourceType
Type: string

The type of source for purchase order data.

ReceiverAddress

Description

The details of the address associated with the receiver.

Members
AddressLine1
Type: string

The first line of the address.

AddressLine2
Type: string

The second line of the address, if applicable.

AddressLine3
Type: string

The third line of the address, if applicable.

City
Type: string

The city that the address is in.

CompanyName
Type: string

A unique company name.

CountryCode
Type: string

The country code for the country the address is in.

DistrictOrCounty
Type: string

The district or country the address is located in.

PostalCode
Type: string

The postal code associated with the address.

StateOrRegion
Type: string

The state, region, or province the address is located.

ResourceNotFoundException

Description

The resource could not be found.

Members
message
Type: string
resourceName
Type: string

The resource could not be found.

ResourceTag

Description

The tag structure that contains a tag key and value.

Members
Key
Required: Yes
Type: string

The object key of your of your resource tag.

Value
Required: Yes
Type: string

The specific value of the resource tag.

ServiceQuotaExceededException

Description

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.

Members
message
Required: Yes
Type: string

SupplementalDocument

Description

Supplemental document associated with the invoice.

Members
DocumentUrl
Type: string

The pre-signed URL to download invoice supplemental document.

DocumentUrlExpirationDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The pre-signed URL expiration date of invoice supplemental document.

TaxesBreakdown

Description

The details of the taxes.

Members
Breakdown
Type: Array of TaxesBreakdownAmount structures

A list of tax information.

TotalAmount
Type: string

The total amount for your taxes.

TaxesBreakdownAmount

Description

The tax amount.

Members
Amount
Type: string

The tax amount.

Description
Type: string

The details of the taxes.

Rate
Type: string

The details of the tax rate.

TestEnvPreference

Description

Contains configuration settings for testing the procurement portal integration in a non-production environment.

Members
BuyerDomain
Required: Yes
Type: string

The domain identifier for the buyer in the test environment of the procurement portal.

BuyerIdentifier
Required: Yes
Type: string

The unique identifier for the buyer in the test environment of the procurement portal.

ProcurementPortalInstanceEndpoint
Type: string

The endpoint URL where e-invoices are delivered in the test environment.

ProcurementPortalSharedSecret
Type: string

The shared secret or authentication credential used for secure communication with the test environment.

PurchaseOrderRetrievalEndpoint
Type: string

The endpoint URL used for retrieving purchase orders in the test environment.

SupplierDomain
Required: Yes
Type: string

The domain identifier for the supplier in the test environment of the procurement portal.

SupplierIdentifier
Required: Yes
Type: string

The unique identifier for the supplier in the test environment of the procurement portal.

TestEnvPreferenceInput

Description

Input parameters for configuring test environment preferences for a procurement portal.

Members
BuyerDomain
Required: Yes
Type: string

The domain identifier to use for the buyer in the test environment.

BuyerIdentifier
Required: Yes
Type: string

The unique identifier to use for the buyer in the test environment.

ProcurementPortalInstanceEndpoint
Type: string

The endpoint URL where e-invoices will be delivered in the test environment.

ProcurementPortalSharedSecret
Type: string

The shared secret or authentication credential to use for secure communication in the test environment.

SupplierDomain
Required: Yes
Type: string

The domain identifier to use for the supplier in the test environment.

SupplierIdentifier
Required: Yes
Type: string

The unique identifier to use for the supplier in the test environment.

ThrottlingException

Description

The request was denied due to request throttling.

Members
message
Type: string

ValidationException

Description

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

Members
fieldList
Type: Array of ValidationExceptionField structures

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

message
Type: string
reason
Type: string

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

resourceName
Type: string

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

ValidationExceptionField

Description

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

Members
message
Required: Yes
Type: string

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

name
Required: Yes
Type: string

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