Sample cXML Invoice Backed by Contract

Use this sample cXML invoice that's backed by a contract to test your Coupa integration.

Coupa allows to post non-PO backed invoices against contract via cXML.  The only difference in the spec from a PO backed invoice is that Document Reference payloadID in InvoiceDetailOrderInfo tag includes contract number instead of PO number under Master Agreement Reference.


<InvoiceDetailOrderInfo>
	 <MasterAgreementReference>
			<!-- payloadID is the Contract number -->
			<DocumentReference payloadID="2257" />
	 </MasterAgreementReference>
</InvoiceDetailOrderInfo>

cXML Invoice Against a Contract


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.020/InvoiceDetail.dtd">
<cXML version="1.0" payloadID="1240598937@SUBDOMAIN.coupahost.com" timestamp="2009-05-01T01:24:51-07:00">
	 <Header>
			<From>
				 <Credential domain="DUNS">
						<Identity>Kyle</Identity>
				 </Credential>
			</From>
			<To>
				 <Credential domain="DUNS">
						<Identity>Coupa</Identity>
				 </Credential>
			</To>
			<Sender>
				 <Credential domain="DUNS">
						<Identity>Kyle</Identity>
						<SharedSecret>Shhh</SharedSecret>
				 </Credential>
				 <UserAgent>Your Very Own Agent 1.23</UserAgent>
			</Sender>
	 </Header>
	 <Request deploymentMode="production">
			<InvoiceDetailRequest>
				 <InvoiceDetailRequestHeader invoiceID="735675n3" purpose="standard" operation="new" invoiceDate="2009-05-01T11:45:51-07:00">
						<InvoiceDetailHeaderIndicator />
						<InvoiceDetailLineIndicator isAccountingInLine="yes" />
						<PaymentTerm payInNumberOfDays="30" />
				 </InvoiceDetailRequestHeader>
				 <InvoiceDetailOrder>
						<InvoiceDetailOrderInfo>
							 <MasterAgreementReference>
									<!-- payloadID is the Contract number -->
									<DocumentReference payloadID="2257" />
							 </MasterAgreementReference>
						</InvoiceDetailOrderInfo>
						<!-- First invoice quantity line. -->
						<InvoiceDetailItem invoiceLineNumber="1" quantity="1">
							 <UnitOfMeasure>EA</UnitOfMeasure>
							 <UnitPrice>
									<Money currency="USD">365</Money>
							 </UnitPrice>
							 <!-- The lineNumber here is the backing PO line number, i.e. in this case, line 2 of PO #10 -->
							 <InvoiceDetailItemReference lineNumber="1">
									<!-- The Description will show up on the invoice's line description. Although it can be anything, 
											 Coupa recommends that you make this the same as the backing PO line's description. -->
									<Description xml:lang="en">NEW 1 NINTENDO WII GAME CONSOLE + WII FIT BUNDLE +GAMES</Description>
							 </InvoiceDetailItemReference>
							 <!-- Shows up as "Total" on the invoice line -->
							 <SubtotalAmount>
									<Money currency="USD">365</Money>
							 </SubtotalAmount>
						</InvoiceDetailItem>
				 </InvoiceDetailOrder>
				 <InvoiceDetailSummary>
						<!-- Should add-up and be consistent with the subtotals on the invoice lines -->
						<SubtotalAmount>
							 <Money currency="USD">365</Money>
						</SubtotalAmount>
						<Tax>
							 <Money currency="USD">8</Money>
							 <Description xml:lang="en">total tax</Description>
							 <TaxDetail purpose="tax" category="VAT" percentageRate="1" taxPointDate="2009-04-24T11:45:51-07:00">
									<TaxableAmount>
										 <Money currency="USD">365</Money>
									</TaxableAmount>
									<TaxAmount>
										 <Money currency="USD">8</Money>
									</TaxAmount>
									<TaxLocation xml:lang="en">CA</TaxLocation>
							 </TaxDetail>
						</Tax>
						<SpecialHandlingAmount>
							 <Money currency="USD">5</Money>
						</SpecialHandlingAmount>
						<!-- Shipping costs -->
						<ShippingAmount>
							 <Money currency="USD">30</Money>
						</ShippingAmount>
						<NetAmount>
							 <Money currency="USD" />
						</NetAmount>
				 </InvoiceDetailSummary>
			</InvoiceDetailRequest>
	 </Request>
</cXML>