• Last edited on: 12 August 2019

Invoices API Example Calls

Different query options for Invoices

Here are more examples of how to use the invoice API to query and get the result set you want. 

This query will return all invoices with CDW as supplier: 

https://<instance>.coupahost.com/api/invoices?supplier[name]=CDW
 
This query will return all invoices with Euro as currency: 

https://<instance>.coupahost.com/api/invoices?currency[code]=EUR
 
This query will return all invoices that was created after January 1, 2010 12:00:00: 

https://<instance>.coupahost.com/api/invoices?invoice-date[gt]=2010-01-01T12:00:00
 

GET Single Invoice

In this example, we queried for a single invoice record with an ID of 1.

We did a GET to the URL:

https://<instance>.coupahost.com/api/invoices/1
or

https://<instance>.coupahost.com/api/invoices?id=1

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <comments />
	 <created-at type="datetime">2008-10-28T11:19:49-07:00</created-at>
	 <handling-amount type="decimal">0.0</handling-amount>
	 <id type="integer">1</id>
	 <internal-note />
	 <invoice-date type="datetime">2008-10-28T00:00:00-07:00</invoice-date>
	 <invoice-number type="integer">500</invoice-number>
	 <line-level-taxation type="boolean">false</line-level-taxation>
	 <misc-amount type="decimal">0.0</misc-amount>
	 <shipping-amount type="decimal">0.0</shipping-amount>
	 <status>approved</status>
	 <supplier-note />
	 <tax-amount type="decimal">35.14</tax-amount>
	 <tax-rate type="float">8.25</tax-rate>
	 <updated-at type="datetime">2008-10-28T11:24:44-07:00</updated-at>
	 <paid type="boolean">false</paid>
	 <payment-date type="datetime" />
	 <payment-notes />
	 <exported type="boolean">false</exported>
	 <invoice-description type="string" />
	 <account-type>
			<id type="integer">1</id>
			<name>Ace Corporate</name>
	 </account-type>
	 <created-by>
			<email>upgrade+am@coupa.com</email>
			<employee-number />
			<firstname>Anna (AP Director)</firstname>
			<id type="integer">10</id>
			<lastname>Manning</lastname>
			<login>amanning</login>
	 </created-by>
	 <currency>
			<code>USD</code>
			<id type="integer">1</id>
	 </currency>
	 <supplier>
			<id type="integer">17</id>
			<name>Insight</name>
			<number nil="true" />
			<primary-contact>
				 <email>upgrade@coupa.com</email>
				 <id type="integer">18</id>
				 <name-additional nil="true" />
				 <name-family>Henderson</name-family>
				 <name-fullname nil="true" />
				 <name-given>Steve</name-given>
				 <name-prefix nil="true" />
				 <name-suffix nil="true" />
				 <notes nil="true" />
				 <phone-work>
						<area-code>650</area-code>
						<country-code>1</country-code>
						<extension nil="true" />
						<number>5856306</number>
				 </phone-work>
				 <phone-mobile>
						<area-code>650</area-code>
						<country-code>1</country-code>
						<extension nil="true" />
						<number>5856306</number>
				 </phone-mobile>
				 <phone-fax>
						<area-code>650</area-code>
						<country-code>1</country-code>
						<extension nil="true" />
						<number>5856306</number>
				 </phone-fax>
			</primary-contact>
			<primary-address>
				 <attention nil="true" />
				 <city>Tempe</city>
				 <id type="integer">24</id>
				 <name>Insight</name>
				 <postal-code>85283</postal-code>
				 <state>AZ</state>
				 <street1>6820 South Harl Avenue</street1>
				 <street2 />
				 <country>
						<code>US</code>
						<id type="integer">223</id>
						<name>United States</name>
				 </country>
			</primary-address>
	 </supplier>
	 <tax-code>
			<code>CA</code>
			<id type="integer">1</id>
	 </tax-code>
	 <updated-by>
			<email>upgrade+cj@coupa.com</email>
			<employee-number />
			<firstname>Carl (Central Receiving)</firstname>
			<id type="integer">11</id>
			<lastname>Johnson</lastname>
			<login>cjohnson</login>
	 </updated-by>
	 <attachments />
	 <invoice-lines>
			<invoice-line>
				 <accounting-total type="decimal">425.99</accounting-total>
				 <created-at type="datetime">2008-10-28T11:19:49-07:00</created-at>
				 <description>Adobe Acrobat Professional -( v. 9 ) -complete package</description>
				 <id type="integer">1</id>
				 <line-num type="integer">1</line-num>
				 <order-header-num type="integer">7</order-header-num>
				 <order-line-id type="integer">10</order-line-id>
				 <order-line-num type="integer">1</order-line-num>
				 <price type="decimal">425.99</price>
				 <quantity type="float">1.0</quantity>
				 <status>matched</status>
				 <tax-rate type="float" />
				 <tax-location />
				 <tax-amount type="decimal">0.00</tax-amount>
				 <tax-description />
				 <tax-supply-date type="datetime" />
				 <total type="decimal">425.99</total>
				 <type>InvoiceQuantityLine</type>
				 <updated-at type="datetime">2008-10-28T11:24:44-07:00</updated-at>
				 <treasury-codes type="string" />
				 <account>
						<active type="boolean">true</active>
						<code>SF-IT-Assets</code>
						<id type="integer">18</id>
						<name>San Francisco -IT, Assets</name>
						<segment-1>SF</segment-1>
						<segment-10 />
						<segment-11 />
						<segment-12 />
						<segment-13 />
						<segment-14 />
						<segment-15 />
						<segment-16 />
						<segment-17 />
						<segment-18 />
						<segment-19 />
						<segment-2>IT</segment-2>
						<segment-20 />
						<segment-3>Assets</segment-3>
						<segment-4 />
						<segment-5 />
						<segment-6 />
						<segment-7 />
						<segment-8 />
						<segment-9 />
						<account-type>
							 <id type="integer">1</id>
							 <name>Ace Corporate</name>
						</account-type>
				 </account>
				 <accounting-total-currency>
						<code>USD</code>
						<id type="integer">1</id>
				 </accounting-total-currency>
				 <created-by>
						<email>upgrade+am@coupa.com</email>
						<employee-number />
						<firstname>Anna (AP Director)</firstname>
						<id type="integer">10</id>
						<lastname>Manning</lastname>
						<login>amanning</login>
				 </created-by>
				 <currency>
						<code>USD</code>
						<id type="integer">1</id>
				 </currency>
				 <item>
						<id type="integer">23</id>
						<created-at type="datetime">2008-10-28T10:12:02-07:00</created-at>
						<description>Adobe Acrobat 9 Professional software enables business professionals	to reliably create, combine, and control Adobe PDF documents for easy, more secure distribution, collaboration, and data collection.</description>
						<item-number>3235</item-number>
						<name>Adobe Acrobat Professional -( v. 9 ) -complete package</name>
						<updated-at type="datetime">2009-05-04T17:19:51-07:00</updated-at>
						<commodity>
							 <active type="boolean">true</active>
							 <created-at type="datetime">2008-10-28T17:13:45Z</created-at>
							 <id type="integer">8</id>
							 <name>Software</name>
							 <updated-at type="datetime">2009-08-14T16:34:54Z</updated-at>
							 <created-by>
									<email>upgrade@coupa.com</email>
									<employee-number nil="true" />
									<firstname>Coupa</firstname>
									<id type="integer">1</id>
									<lastname>Support</lastname>
									<login>coupasupport</login>
							 </created-by>
							 <updated-by>
									<email>upgrade+ke@coupa.com</email>
									<employee-number />
									<firstname>Kyle</firstname>
									<id type="integer">16</id>
									<lastname>Eisner</lastname>
									<login>administrator</login>
							 </updated-by>
						</commodity>
						<support-user>
							 <email>upgrade@coupa.com</email>
							 <employee-number nil="true" />
							 <firstname>Coupa</firstname>
							 <id type="integer">1</id>
							 <lastname>Support</lastname>
							 <login>coupasupport</login>
						</support-user>
						<uom>
							 <code>EA</code>
							 <id type="integer">1</id>
						</uom>
						<support-user>
							 <email>upgrade@coupa.com</email>
							 <employee-number nil="true" />
							 <firstname>Coupa</firstname>
							 <id type="integer">1</id>
							 <lastname>Support</lastname>
							 <login>coupasupport</login>
						</support-user>
						<reorder-alerts />
				 </item>
				 <uom>
						<code>EA</code>
						<id type="integer">1</id>
				 </uom>
				 <updated-by>
						<email>upgrade+cj@coupa.com</email>
						<employee-number />
						<firstname>Carl (Central Receiving)</firstname>
						<id type="integer">11</id>
						<lastname>Johnson</lastname>
						<login>cjohnson</login>
				 </updated-by>
			</invoice-line>
	 </invoice-lines>
</invoice-header>

Invoice Put Example

In this example, we are updating a single attribute on the invoice record:

This field must be a custom field of the invoice.

We did a PUT to the URL: https://<instance>.coupahost.com/api/invoices/<invoice id> 

URL:  https://<instance>.coupahost.com/api/invoices/33

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <invoice_description>Invoice Test Description</invoice_description>
</invoice-header>

The following example illustrates the put call for adding an invoice line:

<?xml version="1.0" encoding="UTF-8"?>
<invoice-header>
	 <invoice-number>320</invoice-number>
	 <status>draft</status>
	 <invoice-lines type="array">
			<invoice-line>
				 <accounting-total type="decimal">499.00</accounting-total>
				 <description>iPad with Wi-Fi is ideal if you have a wireless high- speed Internet router in your home</description>
				 <price type="decimal">499.00</price>
				 <price-per-uom type="decimal">0.00</price-per-uom>
				 <quantity type="decimal">1.0</quantity>
				 <status>new</status>
				 <tax-amount type="decimal">0.00</tax-amount>
				 <total type="decimal">499.00</total>
				 <type>InvoiceQuantityLine</type>
				 <account>
						<name>HQ - IT, Assets</name>
						<code>HQ-IT-Assets</code>
						<active type="boolean">true</active>
						<segment-1>HQ</segment-1>
						<segment-2>IT</segment-2>
						<segment-3>Assets</segment-3>
						<account-type>
							 <name>Ace Corporate</name>
						</account-type>
				 </account>
				 <account-allocations type="array" />
				 <accounting-total-currency>
						<id type="integer">1</id>
						<code>USD</code>
				 </accounting-total-currency>
				 <currency>
						<id type="integer">1</id>
						<code>USD</code>
				 </currency>
				 <tax-lines type="array" />
			</invoice-line>
	 </invoice-lines>
</invoice-header>

Related Items


Expense Violation API

24 April 2017

Use the Expense Violation API to send expense violations to your third-party system.

Expense Line Mileage API

29 November 2017

Expense Line Allocation API

30 November 2017

Expense Line Mileage Allocation API

30 November 2017