This topic provides an overview of the cXML inbound Invoices and provides cXML specifications for integration with BuyerQuest.
Inbound Invoices and Credit Memos in cXML
When a cXML Invoice or Credit Memo is received, the Purchase Order number is compared against all BuyerQuest and ERP Purchase Order numbers in the system. When there is a match an Invoice or Credit Memo is created against the matching Purchase Order. When there is no match an error message is generated.
Invoice/Credit Memo cXML Specification
The excel version of the specification is included here:
Invoice and Credit Memo cXML Sections
The BuyerQuest Inbound Invoice and Credit Memo cXML is broken into the following sections. Each section contains a series of tags shown in brackets, which provide detailed information.
- Transaction Header
- Request
- Summary
Each of these sections is described in further detail below.
Note that comments can be added by the Supplier to a cXML Invoice and will be displayed on an Invoice detail page.
Invoice Specifications
An Invoice cXML message broadly consists of three important elements: Invoice Transaction Header, Invoice Request and Invoice Summary. These elements are described in further detail below.
Inbound Invoice Transaction Header
The invoice Transaction Header contains authentication and addressing information. Specific user information should not be included in the header, as it is not relevant to addressing or authentication.
Inbound Invoice Request
The Invoice Request Message follows the Header and contains a sub-heading that includes order-specific information, such as an order identification number or date.
Inbound Invoice Summary
The Invoice Summary section contains summary data for the invoice totals.
Invoice cXML Example
To show ‘Misc’ value in the Invoice <InvoiceHeaderModifications> tag is used.
- IF <InvoiceHeaderModifications> is provided in <InvoiceDetailSummary> THEN
- IF <ModificationDetail> is provided with name = "Misc" THEN
- The System sets in created Invoice:
- Header Misc = value provided in <AdditionalCost><Money>
- ELSE <ModificationDetail> tag is skipped
- ELSE the system ignores the <InvoiceHeaderModifications> tag
Note: If there are several Misc in the file, the System takes the first provided
<Modification> with <ModificationDetail> in <InvoiceHeaderModifications>
| Markup | Copy |
|
<?xml version="1.0"?> <!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.021/InvoiceDetail.dtd"> <cXML payloadID="1442348263.76879@ip-" xml:lang="en-US" timestamp="2019-07-09T15:30:55.5757633Z"> <Header> <From> <Credential domain="DUNS"> <Identity>123456987</Identity> </Credential> </From> <To> <Credential domain="NetworkID"> <Identity>4Hkj3zR9tV</Identity> </Credential> </To> <Sender> <Credential domain="DUNS"> <Identity>796258564</Identity> <SharedSecret>b8s7w9j50djg493jsgh</SharedSecret> </Credential> <UserAgent>Supplier System</UserAgent> </Sender> </Header> <Request> <InvoiceDetailRequest> <InvoiceDetailRequestHeader invoiceID="4686315499" purpose="standard" operation="new" invoiceDate="2019-07- 09T15:30:55.5757633Z"> <InvoiceDetailHeaderIndicator/> <InvoiceDetailLineIndicator isTaxInLine="yes"/> <InvoicePartner> <Contact role="remitTo" addressID="123_4567"> Markup Copy Page: 694 of 1911 <Name xml:lang="en-US">Accounts Payable</Name> <PostalAddress> <Street>123 Penny Lane</Street> <Street>Suite 684</Street> <City>Ypsilanti</City> <State>MI</State> <PostalCode>48198</PostalCode> <Country isoCountryCode="US">United States</Country> </PostalAddress> </Contact> </InvoicePartner> <InvoicePartner> <Contact role="shipTo" addressID="20500"> <Name xml:lang="en_US">Business Inc</Name> <PostalAddress> <DeliverTo>Bob Buyer</DeliverTo> <Street>999 Park Blvd</Street> <Street>Room 343</Street> <City>Wooster</City> <State>OH</State> <PostalCode>44691</PostalCode> <Country isoCountryCode="US">United States</Country> </PostalAddress> <Email name="default">bob@example.com</Email> <Phone name="work"> <TelephoneNumber> <CountryCode isoCountryCode="US">1</CountryCode> <AreaOrCityCode>330</AreaOrCityCode> <Number>555-1234</Number> </TelephoneNumber> </Phone> </Contact> </InvoicePartner> <InvoicePartner> <Contact role="billTo"> <Name xml:lang="en_US">Business Inc</Name> <PostalAddress> <DeliverTo>Accounts Payable</DeliverTo> <Street>P.O. Box 23426</Street> <City>Wooster</City> <State>OH</State> <PostalCode>44691</PostalCode> Page: 695 of 1911 <Country isoCountryCode="US">United States</Country> </PostalAddress> <Email name="default">AP@example.com</Email> <Phone name="work"> <TelephoneNumber> <CountryCode isoCountryCode="US">1</CountryCode> <AreaOrCityCode>330</AreaOrCityCode> <Number>555-1234</Number> </TelephoneNumber> </Phone> <Extrinsic name="BuyerContact">bob@example.com</Extrinsic> </Contact> </InvoicePartner> <InvoiceDetailShipping shippingDate="2019-07- 22T13:19:49"> <Contact role="shipFrom"> <Name xml:lang="en-US">Acme Logistics, LLC</Name> </Contact> </InvoiceDetailShipping> <Comments>This is the header-level comment on the invoice.</Comments> <PaymentTerm payInNumberOfDays="30"/> </InvoiceDetailRequestHeader> <InvoiceDetailOrder> <InvoiceDetailOrderInfo> <OrderReference orderID="PO-987654"/> <DocumentReference payloadID="1507128668.37307@ip- 127-0-0-1"/> <SupplierOrderInfo orderID="S4646589104"/> </InvoiceDetailOrderInfo> <InvoiceDetailItem invoiceLineNumber="1" quantity="1"> <UnitOfMeasure>EA</UnitOfMeasure> <UnitPrice> <Money currency="USD">31.12</Money> </UnitPrice> <InvoiceDetailItemReference lineNumber="4"> <ItemID> <SupplierPartID>36-3501-X4</SupplierPartID> <SupplierPartAuxiliaryID>00012345678905</SupplierPartAuxiliaryID> </ItemID> Page: 696 of 1911 <Description xml:lang="en-US">Wireless Keyboard/Mouse Kit</Description> </InvoiceDetailItemReference> <SubtotalAmount> <Money currency="USD">31.12</Money> </SubtotalAmount> <Tax> <Money currency="USD">2.02</Money> <Description xml:lang="en-US">Sales Tax</Description> <TaxDetail purpose="tax" category="sales" percentageRate="6.5000"> <TaxableAmount> <Money currency="USD">31.12</Money> </TaxableAmount> <TaxAmount> <Money currency="USD">2.02</Money> </TaxAmount> <Description>Michigan sales tax</Description> </TaxDetail> </Tax> <GrossAmount> <Money currency="USD">33.14</Money> </GrossAmount> <NetAmount> <Money currency="USD">33.14</Money> </NetAmount> </InvoiceDetailItem> </InvoiceDetailOrder> <InvoiceDetailSummary> <SubtotalAmount> <Money currency="USD">31.12</Money> </SubtotalAmount> <Tax> <Money currency="USD">2.35</Money> <Description xml:lang="en-US">Sales and Use Tax</Description> <TaxDetail purpose="tax" category="sales" percentageRate="6.5000"> <TaxableAmount> <Money currency="USD">31.12</Money> </TaxableAmount> <TaxAmount> <Money currency="USD">2.02</Money> </TaxAmount> Page: 697 of 1911 Credit Memo cXML Example Incoming Credit Memo Requirements <Description>Michigan sales tax</Description> </TaxDetail> </Tax> <SpecialHandlingAmount> <Money currency="USD">0.00</Money> </SpecialHandlingAmount> <ShippingAmount> <Money currency="USD">5.00</Money> </ShippingAmount> <GrossAmount> <Money currency="USD">38.47</Money> </GrossAmount> <InvoiceDetailDiscount> <Money currency="USD">-0.50</Money> </InvoiceDetailDiscount> <NetAmount> <Money currency="USD">37.97</Money> </NetAmount> <DueAmount> <Money currency="USD">37.97</Money> </DueAmount> <InvoiceHeaderModifications> <Modification> <AdditionalCost> <Money currency = "USD">10</Money> </AdditionalCost> <ModificationDetail name = "Misc"/> </Modification> </InvoiceHeaderModifications> </InvoiceDetailSummary> </InvoiceDetailRequest> </Request> </cXML> | |
Credit Memo cXML Example
Incoming Credit Memo Requirements
All amounts specified in the element <Money currency="{Currency Code}"> {Amount}</Money> should be negative, with the exception of <Discount>. If any amount specified is not negative, an error is generated
The Purchase Order ID in an incoming Credit Memo cXML is verified to determine that it exists in the system for the supplier creating the Credit Memo. If it does not exist, the Credit Memo is not created and an error is generated.
| Markup | Copy |
|
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.011/InvoiceDetail.dtd"> <cXML version="1.2.011" payloadID="0987654321.cXML.123456789.wRMTWDOLe5cf2dk9@example.com" timestamp="2016-04-13T02:10:27-05:00" xml:lang="en-US"> <Header> <From> <Credential domain="NetworkID"> <Identity>suppplier123</Identity> </Credential> </From> <To> <Credential domain="NetworkID"> <Identity>Business8765</Identity> </Credential> </To> <Sender> <Credential domain="NetworkID"> <Identity>supplier123</Identity> <SharedSecret>abc-p123-def-333-ghi-7878</SharedSecret> </Credential> <UserAgent>Supplier's Application</UserAgent> </Sender> </Header> <Request deploymentMode="production"> <InvoiceDetailRequest> <InvoiceDetailRequestHeader invoiceID="5465351684354" purpose="creditMemo" operation="new" invoiceDate="2017-11- 15T12:00:00-05:00"> <InvoiceDetailHeaderIndicator/> <InvoiceDetailLineIndicator/> <InvoicePartner> <Contact role="remitTo"> Markup Copy Page: 699 of 1911 <Name xml:lang="en-US">Accounts Payable</Name> <PostalAddress> <Street>123 Main Rd</Street> <Street>Suite 208C</Street> <City>San Jose</City> <State>CA</State> <PostalCode>94304</PostalCode> <Country isoCountryCode="US">US</Country> </PostalAddress> </Contact> </InvoicePartner> <InvoicePartner> <Contact role="billTo"> <Name xml:lang="en-US">Business Company, Inc. </Name> <Email xml:lang="en- US">werner@example.com</Email> <PostalAddress> <Street>Einestraße 12345</Street> <City>Heidelberg</City> <State>BW</State> <PostalCode>69121</PostalCode> <Country isoCountryCode="DE">Germany</Country> </PostalAddress> </Contact> </InvoicePartner> <InvoiceDetailShipping> <Contact role="shipFrom"> <Name xml:lang="en-US">Vendor Inc. dba Acme LLC</Name> <PostalAddress> <Street>123 Main Rd, Warehouse 5</Street> <City>San Jose</City> <State>CA</State> <PostalCode>94304</PostalCode> <Country isoCountryCode="US">US</Country> </PostalAddress> </Contact> </InvoiceDetailShipping> <PaymentTerm payInNumberOfDays="45"/> </InvoiceDetailRequestHeader> <InvoiceDetailOrder> <InvoiceDetailOrderInfo> <OrderReference orderID="PO-02768" Page: 700 of 1911 orderDate="2017-11-15"> <DocumentReference payloadID="12121212@ip- XXXXXXXX"/> </OrderReference> <SupplierOrderInfo orderID="6950"/> </InvoiceDetailOrderInfo> <InvoiceDetailItem invoiceLineNumber="1" quantity="10"> <UnitOfMeasure>PK</UnitOfMeasure> <UnitPrice> <Money currency="EUR">-21.18</Money> </UnitPrice> <InvoiceDetailItemReference lineNumber="4"> <ItemID> <SupplierPartID>AB123C-88776</SupplierPartID> </ItemID> <Description xml:lang="en-US">Legal Pad 8-1/2 x 11-3/4 Inches, Perforated, White Legal/Wide Rule, 80 Sheets per Pad, 10 Pads per Pack</Description> </InvoiceDetailItemReference> <Extrinsic name="UNSPSC">14111514</Extrinsic> <SubtotalAmount> <Money currency="EUR">-211.80</Money> </SubtotalAmount> <Tax> <Money currency="EUR">0</Money> <TaxDetail purpose="tax" category="vat" percentageRate="0" taxPointDate="2014-09-16T00:00:00+00:00"> <TaxableAmount> <Money currency="EUR">0</Money> </TaxableAmount> <TaxAmount> <Money currency="EUR">0</Money> </TaxAmount> <TaxLocation xml:lang="en">US</TaxLocation> </TaxDetail> </Tax> </InvoiceDetailItem> </InvoiceDetailOrder> <InvoiceDetailSummary> <SubtotalAmount> <Money currency="EUR">-211.80</Money> </SubtotalAmount> <Tax> <Money currency="EUR">0.00</Money> Page: 701 of 1911 BuyerQuest HTTP Response to Invoice or Credit Memo Next Steps Please prepare to provide the following required information upon request: 1. Supplier contact's information for setup and testing 2. Sample cXML invoice based off the order you received during PO testing BuyerQuest will supply the following required information: 1. URL the supplier will use to post their test cXML invoices <Description xml:lang="en-US">Tax</Description> <TaxDetail purpose="tax" category="sales"> <TaxAmount> <Money currency="EUR">0.00</Money> </TaxAmount> </TaxDetail> </Tax> <ShippingAmount> <Money currency="EUR">0.00</Money> </ShippingAmount> <GrossAmount> <Money currency="EUR">-211.80</Money> </GrossAmount> <InvoiceDetailDiscount> <Money currency="EUR">10.00</Money> </InvoiceDetailDiscount> <NetAmount> <Money currency="EUR">-201.80</Money> </NetAmount> </InvoiceDetailSummary> </InvoiceDetailRequest> </Request> </cXML> | |
BuyerQuest HTTP Response to Invoice or Credit Memo
Next Steps
Please prepare to provide the following required information upon request:
- Supplier contact's information for setup and testing
- Sample cXML invoice based off the order you received during PO testing
BuyerQuest will supply the following required information:
- URL the supplier will use to post their test cXML invoices
- URL the supplier will use to post their production cXML invoices
Comments
0 comments
Article is closed for comments.