createProcurementPortalPreference
abstract suspend fun createProcurementPortalPreference(input: CreateProcurementPortalPreferenceRequest): CreateProcurementPortalPreferenceResponse
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.
Samples
import aws.sdk.kotlin.services.invoicing.model.BuyerDomain
import aws.sdk.kotlin.services.invoicing.model.ConnectionTestingMethod
import aws.sdk.kotlin.services.invoicing.model.Contact
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryAttachmentType
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryDocumentType
import aws.sdk.kotlin.services.invoicing.model.EinvoiceDeliveryPreference
import aws.sdk.kotlin.services.invoicing.model.ProcurementPortalName
import aws.sdk.kotlin.services.invoicing.model.ProcurementPortalPreferenceSelector
import aws.sdk.kotlin.services.invoicing.model.Protocol
import aws.sdk.kotlin.services.invoicing.model.PurchaseOrderDataSource
import aws.sdk.kotlin.services.invoicing.model.PurchaseOrderDataSourceType
import aws.sdk.kotlin.services.invoicing.model.ResourceTag
import aws.sdk.kotlin.services.invoicing.model.SupplierDomain
import aws.sdk.kotlin.services.invoicing.model.TestEnvPreferenceInput
import aws.smithy.kotlin.runtime.time.Instant
import aws.smithy.kotlin.runtime.time.fromEpochMilliseconds
fun main() {
//sampleStart
// CreateProcurementPortalPreference for Coupa
val resp = invoicingClient.createProcurementPortalPreference {
procurementPortalName = ProcurementPortalName.fromValue("COUPA")
buyerDomain = BuyerDomain.fromValue("NetworkID")
buyerIdentifier = "BuyerId_1"
supplierDomain = SupplierDomain.fromValue("NetworkID")
supplierIdentifier = "SupplierId_1"
selector = ProcurementPortalPreferenceSelector {
invoiceUnitArns = listOf<String>(
"arn:aws:invoicing::111111111111:invoice-unit/12345678",
"arn:aws:invoicing::111111111111:invoice-unit/12345679"
)
sellerOfRecords = listOf<String>(
"AWS_INC",
"AWS_EUROPE"
)
}
procurementPortalSharedSecret = "Coupa_Secret"
procurementPortalInstanceEndpoint = "https://www.placeholder-domain.test"
testEnvPreference = TestEnvPreferenceInput {
buyerDomain = BuyerDomain.fromValue("NetworkID")
buyerIdentifier = "BuyerId_1_Test"
supplierDomain = SupplierDomain.fromValue("NetworkID")
supplierIdentifier = "SupplierId_1_Test"
procurementPortalSharedSecret = "Coupa_Secret_test"
procurementPortalInstanceEndpoint = "https://www.placeholder-domain.test"
}
einvoiceDeliveryEnabled = true
einvoiceDeliveryPreference = EinvoiceDeliveryPreference {
einvoiceDeliveryDocumentTypes = listOf<EinvoiceDeliveryDocumentType>(
EinvoiceDeliveryDocumentType.fromValue("AWS_CLOUD_INVOICE")
)
einvoiceDeliveryAttachmentTypes = listOf<EinvoiceDeliveryAttachmentType>(
EinvoiceDeliveryAttachmentType.fromValue("INVOICE_PDF")
)
protocol = Protocol.fromValue("CXML")
purchaseOrderDataSources = listOf<PurchaseOrderDataSource>(
PurchaseOrderDataSource {
einvoiceDeliveryDocumentType = EinvoiceDeliveryDocumentType.fromValue("AWS_CLOUD_INVOICE")
purchaseOrderDataSourceType = PurchaseOrderDataSourceType.fromValue("ASSOCIATED_PURCHASE_ORDER_REQUIRED")
}
)
connectionTestingMethod = ConnectionTestingMethod.fromValue("PROD_ENV_DOLLAR_TEST")
einvoiceDeliveryActivationDate = Instant.fromEpochMilliseconds(1750279280091)
}
purchaseOrderRetrievalEnabled = true
contacts = listOf<Contact>(
Contact {
name = "John Doe"
email = "example-placeholder@amazon.com"
}
)
resourceTags = listOf<ResourceTag>(
ResourceTag {
key = "testKey"
value = "testValue"
}
)
clientToken = "e362c68e-4e74-48d7-9228-0bc5aa447b42"
}
//sampleEnd
}