ESXML field mapping
This table shows how Tungsten AP Essentials maps internal fields with ESXML.
Tungsten AP Essentials internal field name | ESXML |
---|---|
Buyer fields | |
CorporateGroupNumber | /invoiceFile/invoice/buyerParty/buyerAddress/internalReference |
Name | /invoiceFile/invoice/buyerParty/buyerAddress/addressName |
Street | /invoiceFile/invoice/buyerParty/buyerAddress/streetAddress |
City | /invoiceFile/invoice/buyerParty/buyerAddress/cityAddress |
CountryCode | /invoiceFile/invoice/buyerParty/buyerAddress/countryId |
DeliveryAddressLocationId | /invoiceFile/invoice/deliveryAddress/location/locationId |
TelephoneNumber | /invoiceFile/invoice/buyerParty/buyerAddress/contact/phone |
FaxNumber | /invoiceFile/invoice/buyerParty/buyerAddress/contact/fax |
/invoiceFile/invoice/buyerParty/buyerAddress/contact/emailAddress | |
BuyerDUNSNumber | /invoiceFile/invoice/buyerParty/partyIdentifier[1]/identifier (when /invoiceFile/invoice/buyerParty/partyIdentifier[1]/partyIdentifierType =DUNS) |
BuyerVATRegistrationCountry |
When /invoiceFile/invoice/buyerParty/partyIdentifier[1]/partyIdentifierType = VAT, BuyerVATRegistrationCountry is mapped to: /invoiceFile/invoice/buyerParty/partyIdentifier[1]/countryId |
BuyerTaxNumberCountry1 |
When /invoiceFile/invoice/buyerParty/partyIdentifier[1]/partyIdentifierType = org, BuyerTaxNumberCountry1 is mapped to: /invoiceFile/invoice/buyerParty/partyIdentifier[1]/countryId |
Supplier fields | |
Identifier | /invoiceFile/invoice/supplierParty/partyIdentifier |
Name | /invoiceFile/invoice/supplierParty/supplierAddress/addressName or if it is empty /invoiceFile/invoice/supplierParty/legalName |
Street | /invoiceFile/invoice/supplierParty/supplierAddress/streetAddress |
City | /invoiceFile/invoice/supplierParty/supplierAddress/cityAddress |
CountryCode | /invoiceFile/invoice/supplierParty/supplierAddress/countryId |
CountryName | /invoiceFile/invoice/supplierParty/supplierAddress/country |
CorporateGroupNumber | /invoiceFile/invoice/supplierParty/supplierAddress/internalReference |
TelephoneNumber | /invoiceFile/invoice/supplierParty/supplierAddress/contact/phone |
FaxNumber | /invoiceFile/invoice/supplierParty/supplierAddress/contact/fax |
/invoiceFile/invoice/supplierParty/supplierAddress/contact/emailAddress | |
SupplierDUNSNumber |
When /invoiceFile/invoice/supplierParty/partyIdentifier[1]/partyIdentifierType = DUNS, SupplierDUNSNumber is mapped to: /invoiceFile/invoice/supplierParty/partyIdentifier[1]/identifier |
SupplierVATRegistrationCountry | When /invoiceFile/invoice/supplierParty/partyIdentifier[1]/partyIdentifierType = VAT,
SupplierVATRegistrationCountry is mapped to:
/invoiceFile/invoice/supplierParty/partyIdentifier[1]/countryId |
SupplierTaxNumberCountry1 |
When/invoiceFile/invoice/supplierParty/partyIdentifier[1]/partyIdentifierType = org, SupplierTaxNumberCountry1 is mapped to: /invoiceFile/invoice/supplierParty/partyIdentifier[1]/countryId |
Header fields | |
AdditionalReference1, AdditionalReference2 |
/invoiceFile/invoice/attachments/externalReference[1]/id /invoiceFile/invoice/attachments/externalReference[2]/id |
AdditionalReference1URL, AdditionalReference2URL |
/invoiceFile/invoice/attachments/externalReference[1]/URL /invoiceFile/invoice/attachments/externalReference[2]/URL |
AmountRounding | /invoiceFile/invoice/invoiceTrailer/roundOffAmount |
BuyerAddressPostalCode | /invoiceFile/invoice/buyerParty/buyerAddress/zipCode |
BuyerContactPersonName | /invoiceFile/invoice/buyerParty/buyerAddress/contact/contactName |
BuyerContactReference | /invoiceFile/invoice/customerProfitCentre |
BuyerTaxNumber1 |
When /invoiceFile/invoice/buyerParty/partyIdentifier[1]/partyIdentifierType = org, BuyerTaxNumber1 is mapped to: /invoiceFile/invoice/buyerParty/partyIdentifier[1]/identifier |
BuyerVATRegistrationNumber |
When /invoiceFile/invoice/buyerParty/partyIdentifier[1]/partyIdentifierType = VAT , BuyerVATRegistrationNumber is mapped to: /invoiceFile/invoice/buyerParty/partyIdentifier[1]/identifier |
ContractNumber | /invoiceFile/invoice/agreementReference/referenceNumber |
CreditedInvoiceNumber |
If the document type in AP Essentials is a credit note, CreditedInvoiceNumber is mapped to: invoiceFile/invoice/creditedInvoiceReference/referenceNumber |
DeliveryAddressName | /invoiceFile/invoice/deliveryAddress/addressName |
DeliveryAddressStreet | /invoiceFile/invoice/deliveryAddress/streetAddress |
DeliveryAddressCity | /invoiceFile/invoice/deliveryAddress/cityAddress |
DeliveryAddressState | /invoiceFile/invoice/deliveryAddress/countrySubentity |
DeliveryAddressCountry | /invoiceFile/invoice/deliveryAddress/country |
DeliveryAddressZIP | /invoiceFile/invoice/deliveryAddress/zipCode |
DeliveryCost | /invoiceFile/invoice/invoiceTrailer/totalCharge |
DeliveryDate | /invoiceFile/invoice/deliveryDate |
DeliveryNote | /invoiceFile/invoice/deliveryNoteReference/referenceNumber |
DeliveryTerms | /invoiceFile/invoice/deliveryTerms/deliveryTermsText |
InvoiceCode | invoiceFile/invoice/clearanceOperatorNumber |
InvoiceCredit | /invoiceFile/invoice/invoiceTypeId
If =CR then 1, else 0 |
InvoiceCurrency | /invoiceFile/invoice/invoiceCurrencyCode |
InvoiceDate | /invoiceFile/invoice/invoiceDate |
InvoiceDiscountAmount | /invoiceFile/invoice/invoiceTrailer/totalAllowance |
InvoicePrepaidAmount | /invoiceFile/invoice/invoiceTrailer/prepaidAmount |
ChargeAmount1, ChargeAmount2, ChargeAmount3, ChargeAmount4 |
Each of the four charge amount fields are mapped by iterating through each invoiceFile/invoice/allowanceAndCharge node whose child node, alcType, equals C. The field value is then taken from /invoiceFile/invoice/allowanceAndCharge/alcAmount. The first matching node is mapped to ChargeAmount1. The second matching node is mapped to ChargeAmount2 and so on.
Charge amount fields are designated by
alcType nodes with a value of "C", whereas discount amount fields are designated by
alcType nodes with a value of "A".
|
ChargeCode1, ChargeCode2, ChargeCode3, ChargeCode4 |
When /invoiceFile/invoice/allowanceAndCharge/alcType = "C" /invoiceFile/invoice/allowanceAndCharge[1]/alcReasonCode /invoiceFile/invoice/allowanceAndCharge[2]/alcReasonCode /invoiceFile/invoice/allowanceAndCharge[3]/alcReasonCode /invoiceFile/invoice/allowanceAndCharge[4]/alcReasonCode |
ChargeReason1, ChargeReason2, ChargeReason3, ChargeReason4 |
When /invoiceFile/invoice/allowanceAndCharge/alcType = "C" /invoiceFile/invoice/allowanceAndCharge[1]/alcReasonText /invoiceFile/invoice/allowanceAndCharge[2]/alcReasonText /invoiceFile/invoice/allowanceAndCharge[3]/alcReasonText /invoiceFile/invoice/allowanceAndCharge[4]/alcReasonText |
DiscountAmount1, DiscountAmount2, DiscountAmount3, DiscountAmount4 |
Each of the four discount amount fields are mapped by iterating through each invoiceFile/invoice/allowanceAndCharge node whose child node, alcType, equals A. The field value is then taken from /invoiceFile/invoice/allowanceAndCharge/alcAmount. The first matching node is mapped to DiscountAmount1. The second matching node is mapped to DiscountAmount2 and so on.
Charge amount fields are designated by
alcType nodes with a value of "C", whereas discount amount fields are designated by
alcType nodes with a value of "A".
|
InvoiceDueDate | /invoiceFile/invoice/dueDate |
InvoiceNumber | /invoiceFile/invoice/invoiceId |
InvoiceObject | /invoiceFile/invoice/invoiceObject |
InvoiceOrderNumber |
If... invoiceFile/invoice/orderInformation/orderType = ORDERER ...then InvoiceOrderNumber is mapped to: invoiceFile/invoice/orderInformation/orderNumber Otherwise, InvoiceOrderNumber is mapped to: /invoiceFile/invoice/customersOrder |
InvoiceTaxAmount1, InvoiceTaxAmount2, InvoiceTaxAmount3, InvoiceTaxAmount4 |
/invoiceFile/invoice/invoiceTrailer/invoiceVat[1]/vatAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[2]/vatAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[3]/vatAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[4]/vatAmount |
InvoiceTaxRate1, InvoiceTaxRate2, InvoiceTaxRate3, InvoiceTaxRate4 |
/invoiceFile/invoice/invoiceTrailer/invoiceVat[1]/vatPercentage /invoiceFile/invoice/invoiceTrailer/invoiceVat[2]/vatPercentage /invoiceFile/invoice/invoiceTrailer/invoiceVat[3]/vatPercentage /invoiceFile/invoice/invoiceTrailer/invoiceVat[4]/vatPercentage |
InvoiceNetAmount1, InvoiceNetAmount2, InvoiceNetAmount3, InvoiceNetAmount4 |
/invoiceFile/invoice/invoiceTrailer/invoiceVat[1]/taxableAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[2]/taxableAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[3]/taxableAmount /invoiceFile/invoice/invoiceTrailer/invoiceVat[4]/taxableAmount |
InvoiceTaxCode1, InvoiceTaxCode2, InvoiceTaxCode3, InvoiceTaxCode4 |
/invoiceFile/invoice/invoiceTrailer/invoiceVat[1]/taxTypeCode /invoiceFile/invoice/invoiceTrailer/invoiceVat[2]/taxTypeCode /invoiceFile/invoice/invoiceTrailer/invoiceVat[3]/taxTypeCode /invoiceFile/invoice/invoiceTrailer/invoiceVat[4]/taxTypeCode |
InvoiceTaxCurrency | /invoiceFile/invoice/taxCurrencyCode |
InvoiceTaxDescription1, InvoiceTaxDescription2, InvoiceTaxDescription3, InvoiceTaxDescription4 |
/invoiceFile/invoice/invoiceTrailer/invoiceVat[1]/lawText /invoiceFile/invoice/invoiceTrailer/invoiceVat[2]/lawText /invoiceFile/invoice/invoiceTrailer/invoiceVat[3]/lawText /invoiceFile/invoice/invoiceTrailer/invoiceVat[4]/lawText |
InvoiceTotalLineAmount | /invoiceFile/invoice/invoiceTrailer/lineSumAmount |
InvoiceTotalVATAmount | /invoiceFile/invoice/invoiceTrailer/invoiceVatTotalAmount |
InvoiceTotalVatExcludedAmount | /invoiceFile/invoice/invoiceTrailer/taxableAmount |
InvoiceTotalVatIncludedAmount | /invoiceFile/invoice/invoiceTrailer/invoiceTotalAmount |
InvoiceTotalVatRatePercent | /invoiceFile/invoice/invoiceTrailer/invoiceVat/vatPercentage |
InvoicingPeriodEnd | /invoiceFile/invoice/invoicePeriodTo |
InvoicingPeriodStart | /invoiceFile/invoice/invoicePeriodFrom |
PaymentReferenceNumber |
|
PaymentTerms | /invoiceFile/invoice/paymentTerms |
PaymentTermsInterest | /invoiceFile/invoice/delayTerms/penaltyInterestRate |
ProjectNumber | /invoiceFile/invoice/projectReference |
SupplierAccountNumber1 |
When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "SE_PlusGiro", SupplierAccountNumber1 is mapped to: /invoiceFile/invoice/paymentMeans[paymentMeansType='SE_PlusGiro']/accountNo Otherwise, if paymentMeansType is not IBAN, SE_PlusGiro, SE_BankGiro, DK_FIK, or DK_Giro, SupplierAccountNumber1 is mapped to: /invoiceFile/invoice/paymentMeans[1]/accountNo |
SupplierAccountNumber2 |
When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "SE_BankGiro", SupplierAccountNumber2 is mapped to: /invoiceFile/invoice/paymentMeans[paymentMeansType='SE_BankGiro']/accountNo When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "DK_FIK", SupplierAccountNumber2 is mapped to: /invoiceFile/invoice/paymentMeans[paymentMeansType='DK_FIK']/accountNo If none of the above conditions are met, the field is populated with the next available free node based on the first account field (SupplierAccountNumber1). This free node should not have a paymentMeansType equal to IBAN, SE_PlusGiro, SE_BankGiro, DK_FIK, or DK_Giro. |
SupplierAccountNumber3 |
When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "DK_Giro", SupplierAccountNumber3 is mapped to: /invoiceFile/invoice/paymentMeans[paymentMeansType='DK_Giro']/accountNo If the condition above is not met, the field is populated with the next available free node based on the first two account fields (SupplierAccountNumber1, SupplierAccountNumber2). This free node should not have paymentMeansType equal to IBAN, SE_PlusGiro, SE_BankGiro, DK_FIK, or DK_Giro." |
SupplierAccountNumber4 |
When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType is not IBAN, SE_PlusGiro, SE_BankGiro, DK_FIK, or DK_Giro, SupplierAccountNumber4 is mapped to: /invoiceFile/invoice/paymentMeans[1]/accountNo The field is populated with the next available free node based on the first three account fields (SupplierAccountNumber1, SupplierAccountNumber2, SupplierAccountNumber3). This free node should not have a paymentMeansType equal to IBAN, SE_PlusGiro, SE_BankGiro, DK_FIK, or DK_Giro. |
SupplierBankCodeNumber1, SupplierBankCodeNumber2, SupplierBankCodeNumber3, SupplierBankCodeNumber4 |
//invoiceFile/invoice/paymentMeans[paymentMeansType='BANK'][1]/accountNo //invoiceFile/invoice/paymentMeans[paymentMeansType='BANK'][2]/accountNo //invoiceFile/invoice/paymentMeans[paymentMeansType='BANK'][3]/accountNo //invoiceFile/invoice/paymentMeans[paymentMeansType='BANK'][4]/accountNo |
SupplierBankClearingNumber |
//invoiceFile/invoice/paymentMeans[paymentMeansType='BANK']/branchCode |
SupplierIBAN1, SupplierIBAN2, SupplierIBAN3, SupplierIBAN4 |
/invoiceFile/invoice/paymentMeans[1]/accountNo When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[2]/accountNo When /invoiceFile/invoice/paymentMeans[2]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[3]/accountNo When /invoiceFile/invoice/paymentMeans[3]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[4]/accountNo When /invoiceFile/invoice/paymentMeans[4]/paymentMeansType = "IBAN" |
SupplierSWIFT1, SupplierSWIFT2, SupplierSWIFT3, SupplierSWIFT4 |
/invoiceFile/invoice/paymentMeans[1]/swiftCode When /invoiceFile/invoice/paymentMeans[1]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[2]/swiftCode When /invoiceFile/invoice/paymentMeans[2]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[3]/swiftCode When /invoiceFile/invoice/paymentMeans[3]/paymentMeansType = "IBAN" /invoiceFile/invoice/paymentMeans[4]/swiftCode When /invoiceFile/invoice/paymentMeans[4]/paymentMeansType = "IBAN" |
SupplierAddressPostalCode | /invoiceFile/invoice/supplierParty/supplierAddress/zipCode |
SupplierBankDetails1 |
If the first instance (if any) of... /invoiceFile/invoice/paymentMeans/paymentMeansType" is = BANK ...then SupplierBankDetails1 is set to the value of: /invoiceFile/invoice/paymentMeans/institutionName |
SupplierTaxNumber1 |
When /invoiceFile/invoice/supplierParty/partyIdentifier[1]/partyIdentifierType = org, SupplierTaxNumber1 is mapped to: /invoiceFile/invoice/supplierParty/partyIdentifier[1]/identifier |
SupplierTaxRepresentativeName |
/invoiceFile/invoice/taxRepresentativeParty/partyAddress/addressname |
SupplierTaxRepresentativeTaxID |
/invoiceFile/invoice/taxRepresentativeParty/partyIdentifier/identifier |
SupplierTaxRepresentativeTaxIDCountry |
/invoiceFile/invoice/taxRepresentativeParty/partyIdentifier/countryId |
SupplierVATRegistrationNumber |
When /invoiceFile/invoice/supplierParty/partyIdentifier[1]/partyIdentifierType = VAT, SupplierVATRegistrationNumber is mapped to: /invoiceFile/invoice/supplierParty/partyIdentifier[1]/identifier |
TotalTaxAmountInTaxCurrency | /invoiceFile/invoice/invoiceTrailer/vatTotalAmountInOtherCurrency |
WithholdingTaxAmount | /invoiceFile/invoice/invoiceTrailer/withholdingTax/withholdingAmount |
WithholdingTaxCode | /invoiceFile/invoice/invoiceTrailer/withholdingTax/withholdingReasonCode |
WithholdingTaxType | /invoiceFile/invoice/invoiceTrailer/withholdingTax/withholdingType |
Line-item fields | |
LIT_AdditionalReference |
If SchemeID is anything other than "ON" or "OP", LIT_AdditionalReference is mapped to: invoiceFile/invoice/invoiceLine/documentReferenceId Additionally, LIT_AdditionalReferenceType is set to the value of SchemeID. |
LIT_AdditionalReferenceType | If LIT_AdditionalReference is specified as noted above, LIT_AdditionalReferenceType is set to the value of SchemeID. |
LIT_ArticleAttributeType1 | /invoiceFile/invoice/invoiceLine/additionalItemAttribute[1]/attributeName |
LIT_ArticleAttribute1 | /invoiceFile/invoice/invoiceLine/additionalItemAttribute[1]/attributeValue |
LIT_ArticleClassificationCode | The first instance of:
/invoiceFile/invoice/invoiceLine/itemClassificationCode |
LIT_ArticleCountryOrigin | /invoiceFile/invoice/invoiceLine/countryOfOrigin |
LIT_ArticleIdentifier | /invoiceFile/invoice/invoiceLine/supplierArticleId |
LIT_ArticleManufactureDate | /invoiceFile/invoice/invoiceLine[2]/itemInstance/manufactureDate |
LIT_ArticleName | /invoiceFile/invoice/invoiceLine/articleDescription |
LIT_ArticleRegNo | /invoiceFile/invoice/invoiceLine[2]/itemInstance/registrationNo |
LIT_ArticleSerialNo | /invoiceFile/invoice/invoiceLine[2]/itemInstance/serialNo |
LIT_ArticleTraceNo | /invoiceFile/invoice/invoiceLine[2]/itemInstance/productTraceNo |
LIT_BuyerArticleNumber | /invoiceFile/invoice/invoiceLine/buyerArticleId |
LIT_BuyerContactReference | /invoiceFile/invoice/invoiceLine/customerProfitCentre |
LIT_DeliveryDate1, LIT_DeliveryDate2 |
LIT_DeliveryDate1 is set to: /invoiceFile/invoice/invoiceLine[1]/deliveryDate Alternatively, LIT_DeliveryDate1 is set to: /invoiceFile/invoice/invoiceLine[1]/invoicePeriodFrom ...and LIT_DeliveryDate2 is set to: /invoiceFile/invoice/invoiceLine[1]/invoicePeriodTo |
LIT_DeliveryNote | /invoiceFile/invoice/invoiceLine[1]/deliveryNoteReference |
LIT_DeliveredQuantity | /invoiceFile/invoice/invoiceLine/invoiceQuantity/quantity |
LIT_DeliveredQuantityUnitCode | /invoiceFile/invoice/invoiceLine/price/unit/value |
LIT_DiscountAmount | If allowanceAndCharge/alcType = A, allowanceAndCharge/alcType/alcAmountis used. Otherwise, /invoiceFile/invoice/invoiceLine/discountAmount is used. |
LIT_DiscountPercent |
If allowanceAndCharge/alcType = A, allowanceAndCharge/alcType/alcPercentage is used. Otherwise, /invoiceFile/invoice/invoiceLine/discountPercent is used. |
LIT_ManufacturerArticleNumber | /invoiceFile/invoice/invoiceLine/manufacturerArticleId |
LIT_Note | /invoiceFile/invoice/invoiceLine/invoiceLineText |
LIT_OrderNumber |
If... SchemeID=ON or SchemeID=OP ...then LIT_OrderNumber is mapped to the first instance of: /invoiceFile/invoice/invoiceLine/documentReferenceId Otherwise, LIT_OrderNumber is mapped to: /invoiceFile/invoice/invoiceLine/orderReference/referenceNumber |
LIT_PO_RowIdentifier | invoiceFile/invoice/invoiceLine/orderLineReference/referenceNumber |
LIT_RowIdentifier | /invoiceFile/invoice/invoiceLine/invoiceLineId |
LIT_UnitPriceAmount | /invoiceFile/invoice/invoiceLine/price/contractPrice |
LIT_UnitPriceBasis | /invoiceFile/invoice/invoiceLine[1]/price/unitPriceBasis |
LIT_UniqueArticleNumber |
/invoiceFile/invoice/invoiceLine/articleGTIN If /invoiceFile/invoice/invoiceLine/articleGTIN is empty or missing, LIT_UniqueArticleNumber is mapped to: /invoiceFile/invoice/invoiceLine/standardItemIdentification |
LIT_VatAmount | /invoiceFile/invoice/invoiceLine/vatInfo/taxAmount |
LIT_VATCode | /invoiceFile/invoice/invoiceLine[1]/vatInfo/taxTypeCode |
LIT_VATDescription | /invoiceFile/invoice/invoiceLine[1]/vatInfo/lawText |
LIT_VatExcludedAmount | /invoiceFile/invoice/invoiceLine/invoiceLineAmount |
LIT_VatRate | /invoiceFile/invoice/invoiceLine/vatInfo/taxPercentage |
Attachment fields | |
ID | /invoiceFile/invoice/attachments/attachment/objectId |
FileName | /invoiceFile/invoice/attachments/attachment/encodedData/filename |
EmbeddedValue | /invoiceFile/invoice/attachments/attachment/encodedData |
DataType | /invoiceFile/invoice/attachments/attachment/encodedData/format |
AdditionalInfo | /invoiceFile/invoice/attachments/attachment/encodedData/mimeCode |
Invoice note field | |
InvoiceNote | /invoiceFile/invoice/invoiceFreeText |
Field mappings from incoming XML formats only map to standard fields. They do not map to custom fields. Consider using the XML document type if your current document type does not support the field mappings you require.