cXML-1-2-007-InvoiceDetailRequest-In
このセクションでは、cXML-1-2-007-InvoiceDetailRequest-Inメッセージ定義のデータ・マッピングおよびサンプル・ペイロードの概要を示します。
データ・マッピング
XSDファイルにアクセスするには、追加情報のためにメッセージ変換パッケージをエクスポートします。 請求書ヘッダーをマッピングすると、この表で説明されているように、InvoiceInterfaceHeaderに1行、InvoiceInterfaceLineに0行以上が作成されます。
InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます。 たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、4つのInvoiceInterfaceLinesが作成され、それぞれLineGroupNumber 1、2、3および4となります。
請求書ヘッダー・マッピング
インタフェース |
ペイロードおよび処理ルール |
XSLファイルに指定された値 |
---|---|---|
InvoiceInterfaceHeader InvoiceInterfaceHeaderに1行ずつ請求書ごとに作成されます |
該当なし |
該当なし |
Source |
該当なし |
B2B XML請求書 |
VendorId |
購買オーダーから導出 |
該当なし |
VendorSiteId |
購買オーダーから導出 |
該当なし |
説明 |
/InvoiceDetailRequest/InvoiceDetailRequestHeader/Comments |
該当なし |
InvoiceAmount |
ペイロードに存在する場合はInvoiceDetailRequest/InvoiceDetailSummary/DueAmount/Money、存在しない場合は/InvoiceDetailRequest/InvoiceDetailSummary/NetAmount/Moneyをマップ |
該当なし |
InvoiceCurrencyCode このフィールドには、定義済みのDVMが使用されています。 |
/InvoiceDetailRequest/InvoiceDetailSummary/DueAmount/Money/@currency ペイロードに存在する場合は、それ以外の場合はマップします。 InvoiceDetailRequest/InvoiceDetailSummary/NetAmount/Money/@currency |
該当なし |
InvoiceDate |
/InvoiceDetailRequest/InvoiceDetailRequestHeader/@invoiceDate |
該当なし |
InvoiceNumber |
/InvoiceDetailRequest/InvoiceDetailRequestHeader/@invoiceID |
該当なし |
InvoiceTypeLookupCode |
ノート: この値はXSLで設定され、InvoiceAmountが負の場合は"InvoiceTypeLookupCode"がCREDITに設定されます。それ以外の場合は、STANDARDに設定されます。 |
標準またはクレジット |
LegalEntityId |
購買オーダーから導出 |
該当なし |
ShipToLocation |
/InvoiceDetailRequest/InvoiceDetailRequestHeader/Extrinsic[@name='SHIPTOPARTNRIDX'] |
該当なし |
B2BProgramName |
該当なし |
AP_INV_B2B_SOA |
InvoiceInterfaceLine |
該当なし |
該当なし |
InvoiceInterfaceLine with LineTypeLookupCode=FREIGHT |
/InvoiceDetailRequest/InvoiceDetailSummary/ShippingAmountが存在する場合は、請求書に対してLineTypeLookupCode=FREIGHTのInvoiceInterfaceLineが1つ作成されます。 |
該当なし |
金額 |
/InvoiceDetailRequest/InvoiceDetailSummary/ShippingAmount/Money |
該当なし |
InvoiceInterfaceLine with LineTypeLookupCode=MISCELLANEOUS |
/InvoiceDetailRequest/InvoiceDetailSummary/SpecialHandlingAmountが存在する場合は、請求書に対してLineTypeLookupCode=MISCELLANEOUSのInvoiceInterfaceLineが1つ作成されます。 |
MISCELLANEOUS |
金額 |
/InvoiceDetailRequest/InvoiceDetailSummary/SpecialHandlingAmount/Money |
該当なし |
InvoiceInterfaceLine with LineTypeLookupCode=TAX |
税金が行レベルで指定されていない場合、LineTypeLookupCode=TAXのInvoiceInterfaceLineがTaxDetailごとに作成されます。これにより、InvoiceDetailRequest/InvoiceDetailSummary/Tax/TaxDetail要素ごとに1つずつ、複数のInvoiceInterfaceLinesが作成される可能性があります。 |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailSummary/Tax/TaxDetail/TaxAmount/Money |
該当なし |
InvoiceInterfaceLine with LineTypeLookupCode=TAX |
税金が明細レベルで指定されておらず、TaxDetailがヘッダー・レベルで指定されていない場合(/InvoiceDetailRequest/InvoiceDetailSummary/Tax/Amount/Moneyに値がある場合)、LineTypeLookupCode=TAXが指定されたInvoiceInterfaceLineが請求書に対して作成されます。 |
TAX |
金額 |
InvoiceDetailRequest/InvoiceDetailSummary/Tax/Money |
該当なし |
請求書明細マッピング
請求書明細マッピングでは、InvoiceInterfaceLineに多数の行(品目に1行ずつ)が作成され、XMLファイルに存在する税金、運送費および手数料要素ごとに0個以上の行が作成されます。
請求書明細は、InvoiceDetailRequest/InvoiceDetailOrderまたはInvoiceDetailRequest/InvoiceDetailHeaderOrderで表されます。
InvoiceDetailOrderマッピング
InvoiceInterfaceLine |
ペイロードおよび処理ルール |
XSLファイルに指定された値 |
---|---|---|
InvoiceInterfaceLine where LineTypeLookupCode = ITEM |
該当なし |
ITEM |
金額 |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/NetAmount/Money ペイロードに存在する場合は、それ以外の場合はマップします。 /InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/SubtotalAmount/Money |
該当なし |
LineGroupNumber |
LineGroupNumberは、InvoiceDetailItem要素と親InvoiceDetailOrder要素の配列位置から導出されます。 InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
1.n |
PONumber |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailOrderInfo/OrderIDInfo/@orderID ペイロードに存在する場合は、それ以外の場合はマップします。 /InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailOrderInfo/OrderReference/@orderID |
該当なし |
POLineNumber |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/InvoiceDetailItemReference/@lineNumber |
該当なし |
POShipmentNumber |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/Extrinsic[@name='SCHLINENUM'] |
該当なし |
InvoicedQuantity |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/@quantity |
該当なし |
UnitOfMeasLookupCode このフィールドには、定義済みのDVMが使用されています。 |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailItem/UnitOfMeasure |
該当なし |
LineLookupCode |
該当なし |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailOrderSummary/Tax/Money これは、行にTaxDetailが指定されていない場合にのみマップされます。 InvoiceDetailOrderがペイロード内にある場合も、同じマッピングが適用されます。 |
該当なし |
LineGroupNumber |
親InvoiceDetailItemの行グループ番号は、InvoiceDetailItemのすべてのTaxDetail行に割り当てられます InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
該当なし |
LineLookupCode |
該当なし |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailOrder/InvoiceDetailOrderSummary/Tax/TaxDetail/ TaxAmount/Money InvoiceDetailOrderには、これらの行の数が多くなる場合があります。 |
該当なし |
LineGroupNumber |
親InvoiceDetailItemの行グループ番号は、InvoiceDetailItemのすべてのTaxDetail行に割り当てられます InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
該当なし |
InvoiceDetailHeaderOrderマッピング
InvoiceDetailRequest/InvoiceDetailOrderが存在しない場合、請求書明細はInvoiceDetailRequest/InvoiceDetailHeaderOrderで表されます。
InvoiceInterfaceLine |
|
XSLファイルの値 |
---|---|---|
InvoiceInterfaceLine where LineTypeLookupCode =ITEM |
該当なし |
ITEM |
金額 |
/InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderSummary/NetAmount/Money ペイロードに存在する場合は、それ以外の場合はマップします。 /InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderSummary/SubtotalAmount/Money |
該当なし |
LineGroupNumber |
LineGroupNumberは、InvoiceDetailHeaderOrder要素の配列位置に基づいて移入されます。 InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
1.n |
PONumber |
/InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderInfo/OrderIDInfo/@orderID ペイロードに存在する場合は、それ以外の場合はマップします。 /InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderInfo/OrderReference/@orderID |
該当なし |
InvoiceInterfaceLine where LineTypeLookupCode = TAX |
該当なし |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderSummary/Tax/Money これは、行にTaxDetailが指定されていない場合にのみマップされます。 InvoiceDetailHeaderOrderがペイロード内にある場合も、同じマッピングが適用されます。 |
該当なし |
LineGroupNumber |
親InvoiceDetaillHeaderOrderの行グループ番号は、InvoiceDetailHeaderOrderのすべてのTaxDetail行に割り当てられます。 InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
該当なし |
InvoiceInterfaceLine where LineTypeLookupCode = TAX |
該当なし |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderSummary/Tax/TaxDetail/ TaxAmount/Money InvoiceDetailHeaderOrderには、これらの行の多くが作成されている場合があります。 |
該当なし |
LineGroupNumber |
親InvoiceDetaillHeaderOrderの行グループ番号は、InvoiceDetailHeaderOrderのすべてのTaxDetail行に割り当てられます。 InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
該当なし |
InvoiceInterfaceLine where LineTypeLookupCode = TAX |
該当なし |
TAX |
金額 |
/InvoiceDetailRequest/InvoiceDetailHeaderOrder/InvoiceDetailOrderSummary/Tax/TaxDetail/ TaxAmount/Money InvoiceDetailHeaderOrderには、これらの行の多くが作成されている場合があります。 |
該当なし |
LineGroupNumber |
親InvoiceDetaillHeaderOrderの行グループ番号は、InvoiceDetailHeaderOrderのすべてのTaxDetail行に割り当てられます InvoiceDetailOrder要素を持つ請求書明細の場合はLineGroupNumber: cXMLメッセージでは、1つの請求書に多数のInvoiceDetailOrdersを含めることができ、各InvoiceDetailOrderには多数のInvoiceDetailItem要素を含めることができます - たとえば、2つのInvoiceDetailOrder要素があり、それぞれに2つのInvoiceDetailItemが含まれている場合、それぞれLineGroupNumber 1、2、3および4で4つのInvoiceInterfaceLinesが作成されます。 |
該当なし |
サンプル・ペイロード
サンプル・ペイロードを次に示します:
<cXML xmlns:xml="http://www.w3.org/XML/1998/namespace" timestamp="2004-01-31T16:23:01-07:00" payloadID="1233444-2004@OSN.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<From>
<Credential domain="DUNS">
<Identity>11111111</Identity>
</Credential>
</From>
<To>
<Credential domain="DUNS">
<Identity>222222222</Identity>
</Credential>
</To>
<Sender>
<Credential domain="OracleSN">
<Identity>SellerIdentity</Identity>
<SharedSecret>welcome</SharedSecret>
</Credential>
<UserAgent>Oracle Supplier Network</UserAgent>
</Sender>
</Header>
<Request>
<InvoiceDetailRequest>
<InvoiceDetailRequestHeader invoiceID="Invoice-1234" purpose="creditMemo" invoiceDate="2020-09-21T01:00:00Z">
<InvoiceDetailHeaderIndicator />
<InvoiceDetailLineIndicator />
<InvoicePartner>
<Contact role="ShipTo" addressID="">
<Name xml:lang="en-US">Bill To Contact Name</Name>
<PostalAddress>
<Street>831 Cape Town Place Street</Street>
<City>San Jose City</City>
<State>CA State</State>
<PostalCode>95133</PostalCode>
<Country isoCountryCode="US">Bill United States Country</Country>
</PostalAddress>
</Contact>
</InvoicePartner>
<InvoicePartner>
<Contact role="remitTo">
<Name xml:lang="en-us">VendorSiteName</Name>
</Contact>
</InvoicePartner>
<InvoicePartner>
<Contact role="billTo">
<Name xml:lang="en-us">VendorSiteName</Name>
</Contact>
</InvoicePartner>
<Comments xml:lang="en-US">Header Comments</Comments>
<Extrinsic name="SHIPTOPARTNRIDX">ShipToLocation</Extrinsic>
</InvoiceDetailRequestHeader>
<InvoiceDetailOrder>
<InvoiceDetailOrderInfo>
<OrderReference orderID="1005037">
<DocumentReference payloadID="" />
</OrderReference>
<MasterAgreementReference>
<DocumentReference payloadID="" />
</MasterAgreementReference>
<OrderIDInfo orderID="1005041">
<!-- If OrderIDInfo element is here, we map its value. If not, we map OrderReference/@orderID. If both are there, this takes precedence-->
</OrderIDInfo>
</InvoiceDetailOrderInfo>
<InvoiceDetailItem invoiceLineNumber="1" quantity="500">
<UnitOfMeasure>Each</UnitOfMeasure>
<UnitPrice>
<Money currency="USD">56.00</Money>
</UnitPrice>
<InvoiceDetailItemReference lineNumber="1">
<ItemID>
<SupplierPartID>RCV-100</SupplierPartID>
</ItemID>
</InvoiceDetailItemReference>
<SubtotalAmount>
<Money currency="USD">456.00</Money>
</SubtotalAmount>
<Tax>
<!-- If this block -InvoiceDetailItem/Tax- is present, we don't map InvoiceDetailSummary/Tax>-->
<Money currency="USD">542</Money>
<TaxDetail category="">
<!-- If TaxDetail is here, we map taxAmount/Money from there. If not, map Tax/Money. If both are there, this takes precedence-->
<TaxAmount>
<Money currency="USD">2</Money>
</TaxAmount>
</TaxDetail>
<!-- added 2nd TaxDetail block to payload -->
<!--<TaxDetail category="">
<TaxAmount>
<Money currency="USD">3</Money>
</TaxAmount>
</TaxDetail> -->
</Tax>
<NetAmount>
<!-- If this block is here, we map NetAmount/Money. If not, map SubtotalAmount/Money. If both are there, this takes precedence-->
<Money currency="USD">123.00</Money>
</NetAmount>
<Extrinsic name="SCHLINENUM">1</Extrinsic>
</InvoiceDetailItem>
</InvoiceDetailOrder>
<InvoiceDetailSummary>
<SubtotalAmount>
<Money currency="Each">123.00</Money>
</SubtotalAmount>
<Tax>
<Money currency="USD">542</Money>
<Description xml:lang="en">total tax</Description>
<TaxDetail category="">
<!-- If TaxDetail is here, we map taxAmount/Money from there. If not, map Tax/Money. If both are there, this takes precedence-->
<TaxAmount>
<Money currency="USD">215</Money>
</TaxAmount>
</TaxDetail>
<!-- added 2nd TaxDetail block to payload -->
<!-- <TaxDetail category="">
<TaxAmount>
<Money currency="XYZ">152</Money>
</TaxAmount>
</TaxDetail>-->
</Tax>
<SpecialHandlingAmount>
<Money currency="USD">654</Money>
</SpecialHandlingAmount>
<ShippingAmount>
<Money currency="USD">321</Money>
</ShippingAmount>
<NetAmount>
<Money currency="CAD">-24.39</Money>
</NetAmount>
<DueAmount>
<Money currency="USD">435.00</Money>
<!-- If this has a value, we map that. If not, map NetAmount/Money. If both are there, this takes precedence-->
</DueAmount>
</InvoiceDetailSummary>
</InvoiceDetailRequest>
</Request>
</cXML>