Skip to main content

 

 

Coupa Success Portal

Invoices API

The URL to access invoices is: https://<instance>/api/invoices

Currently, Coupa doesn't support POST of invoices using our API. if you need to load invoices into Coupa, consider using our Invoice flat file integration. See Invoice Payment API for more information on how to post invoice payment information back into Coupa from your financial system.

See Integration Best Practices for more info.

Actions

Invoice API allows you to:

Verb Path Action Description
GET|POST|PATCH /api/invoices(/:action(/:id))   {:image_scan=>"Update image scan attachment", :submit=>"Submit draft invoice for approval", :flip_to_advance_ship_notice=>"Flip invoice to Advance Ship Notice", :void=>"Void an approved invoice", :retrieve_image_scan=>"Retrieve/Download image scan", :index=>"Query invoices", :create=>"Create invoice", :show=>"Show invoice", :update=>"Update invoice", :destroy=>"Delete draft invoice", :submit_for_approval=>"Submit for approval", :update_line_accounts=>"Update line accounts", :dispute=>"Dispute invoice", :invoice_smash_etl=>"Post invoices after text extraction", :bypass_approvals=>"Bypass approvals", :bypass_current_approval=>"Bypass current approval", :restart_approvals=>"Restart approvals", :revalidate_tolerances=>"Revalidate tolerances", :withdraw_dispute=>"Withdraw dispute"}
PUT /api/invoices/:id/bypass_approvals bypass_approvals

Bypass approvals

Allows a 3rd-party system on the customers side to get an invoice approved and paid as quickly as possible.

PUT /api/invoices/:id/bypass_current_approval bypass_current_approval

Bypass current approval

Allows a 3rd-party system on the customers side to get an invoice approved from the current approver to get an invoice paid as quickly as possible.

PUT /api/invoices/:id/dispute dispute

Dispute invoice

Allows a 3rd-party system on the customers side to notify suppliers that there is an issue with an invoice and request that the supplier resubmits the invoice.

PUT /api/invoices/:id/flip_to_advance_ship_notice flip_to_advance_ship_notice

Flip invoice to Advance Ship Notice

 

PUT /api/invoices/:id/image_scan image_scan Update image scan attachment
GET /api/invoices index Query invoices
PUT /api/invoices/:id/restart_approvals restart_approvals

Restart approvals

Allows a 3rd-party system on the customers side to clear the current approval chain and regenerate an new approval chain for an invoice that has had modifications.

 

GET /api/invoices/:id/retrieve_image_scan retrieve_image_scan Retrieve/Download image scan
PUT /api/invoices/:id/revalidate_tolerances revalidate_tolerances

Revalidate tolerances

Allows a 3rd-party system on the customers side to resubmit an invoice that had issues.

GET /api/invoices/:id show Show invoice
PUT /api/invoices/:id/submit submit Submit draft invoice for approval
GET|POST /api/invoices/new/submit_for_approval submit_for_approval Submit for approval
PATCH /api/invoices/:id update

Update invoice

Do not use this anymore. Use PUT instead. This was previously used to updated information on the Invoice using the API.

PUT /api/invoices/:id update

Update invoice

Used to updated information on the Invoice using the API

PUT /api/invoices/:id/update_line_accounts update_line_accounts

Update line accounts

Used by mobile users to update Invoices

PUT /api/invoices/:id/void void

Void an approved invoice

This can be used on Invoices only on approved and pending receipt Invoices.

  • BUYER_VOIDABLE_STATUSES = [:pending_receipt, :approved, :draft]
  • SUPPLIER_VOIDABLE_STATUSES = [:pending_receipt, :approved]
PUT /api/invoices/:id/withdraw_dispute withdraw_dispute

Withdraw dispute

Due to supplier inaction or a mistake on the buyer side a disputed Invoice can be returned to the approval process.

Elements

 

Element Description Required Field? Unique? Allowable Value Api_In Field? Api_Out Field? Data Type
account-type Chart Of Account Reference       yes yes Account Type 
advance-payment-received-amount Amount of advance payment received       yes yes decimal(30,4)
approvals Approvals         yes Approval 
attachments attachments not documented ... yet         yes Attachment 
bill-to-address Bill to Address yes     yes yes Address 
buyer-tax-registration Buyer tax registration yes       yes Tax Registration 
cash-accounting-scheme-reference Note if using cash accounting scheme       yes yes string(255)
comments comments       yes yes string(255)
compliant Invoice compliance indicator         yes boolean
confirmation Confirmation         yes string(255)
contract Backing contract number       yes yes Contract 
created-at Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
created-by User who created         yes User 
credit-note-differences-with-original-invoice Credit Note Differences With Original Invoice       yes yes decimal(30,4)
credit-reason The reason of creating the credit       yes yes string(255)
currency Currency code       yes yes Currency 
current-integration-history-records Current Integration History Records         yes Integration History Record 
customs-declaration-date Customs Declaration Date       yes yes datetime
customs-declaration-number Customs Declaration Number       yes yes string(255)
customs-office Customs Office       yes yes text
destination-country Country of destination used for compliance         yes Country 
discount-amount Discount Amount provided by supplier       yes yes decimal(32,4)
discount-due-date Discount Due Date calculated based on the discount payment terms         yes datetime
discount-percent Discount %       yes yes float
dispute-reason Dispute reason         yes Dispute Reason
document-type Invoice or Credit Note         yes Invoice
early-payment-provisions Early payment incentives       yes yes string(255)
exchange-rate Exchange Rate       yes yes decimal(30,9)
exported Indicates if transaction has been exported         yes boolean
failed-tolerances Failed tolerances         yes Failed Tolerance
folio-number Folio Number         yes string(255)
form-of-payment Payment form         yes string(255)
gross-total Gross Total         yes decimal
handling-amount Handling amount       yes yes decimal(32,4)
id Coupa unique identifier         yes integer
image-scan Invoice Image Scan attachment filename         yes string(255)
image-scan-url Invoice Image Scan URL. Must begin with 'http://' or 'https://'.         yes string(255)
inbound-invoice Inbound invoice reference         yes Inbound Invoice 
internal-note Internal Note       yes yes text
invoice-charges Invoice charges       yes yes Invoice Charge 
invoice-date Date of Invoice yes     yes yes datetime
invoice-from-address Invoice from address yes       yes Supplier Remit To 
invoice-lines Record identifier       yes yes Invoice Line 
invoice-number Invoice number yes     yes yes string(40)
issuance-place Issuance Place         yes string(255)
last-exported-at Date and time transaction was last exported in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
late-payment-penalties Late Payment Penalties       yes yes string(255)
legal-destination-country Legal desitnation country used for compliance         yes Country 
line-level-taxation Flag indicating whether taxes are provided at line level in this invoice yes     yes yes boolean
lock-version-key Lock Version         yes integer
margin-scheme Reason for using margin scheme       yes yes string(255)
misc-amount Miscellaneous Amount       yes yes decimal(32,4)
net-due-date Net Due Date calculated based on the net payment terms         yes datetime
origin-country Country of origin used for compliance         yes Country 
origin-currency-gross Local Currency Gross yes       yes decimal(32,4)
origin-currency-net Local Currency Net yes       yes decimal(32,4)
original-invoice-date Original invoice date used in case of a Credit Note yes       yes datetime
original-invoice-number Original invoice number used in case of a Credit Note yes       yes string(40)
paid Paid       yes yes boolean
payment-date Date of payment for invoice       yes yes datetime
payment-method Payment Method         yes string(255)
payment-notes Notes included with payment for invoice       yes yes text
payment-term Payment term code on invoice       yes yes Payment Term 
payments Payments       yes yes Payment 
pre-payment-date Pre-Payment Date       yes yes datetime
remit-to-address Remit to Address yes     yes yes RemitTo Address 
requested-by Requester on the invoice         yes User 
reverse-charge-reference Reverse Charge Reference       yes yes string(255)
self-billing-reference Self billing reference on the invoice       yes yes string(255)
series Series         yes string(255)
ship-from-address Ship from address yes       yes Supplier Remit To 
ship-to-address Ship to Address yes     yes yes Address 
shipping-amount Shipping Amount       yes yes decimal(32,4)
shipping-term Shipping term code on invoice         yes Shipping Term 
status Invoice Status         yes string(50)
supplier Supplier Name or Number       yes yes Supplier 
supplier-created Supplier created indicator for invoice         yes boolean
supplier-note Note provided by supplier       yes yes text
supplier-remit-to Supplier provided remit to address yes     yes yes Supplier Remit To 
supplier-tax-registration Supplier tax registration yes       yes Tax Registration 
supplier-total Supplier Total         yes decimal
taggings Taggings       yes yes Tagging 
tags Tags       yes yes Tag 
tax-amount Tax amount (not used if tax is provided at line level)       yes yes decimal
tax-amount-engine Tax amount calculated by either Coupa Native or External Tax Engine based on configuration         yes decimal
tax-code Tax code (not used if tax is provided at line level)       yes yes string(255)
tax-lines Line tax code (not used if tax is provided at header level)       yes yes Tax Line 
tax-rate Tax rate (not used if tax is provided at line level)       yes yes float
taxes-in-origin-country-currency Local Currency Tax yes       yes decimal(32,4)
tolerance-failures Tolerance Failure         yes string(512)
total-with-taxes Total with taxes         yes decimal
type-of-receipt Type of Receipt         yes string(255)
updated-at Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
use-of-invoice Use of the invoice         yes string(255)
updated-by User who updated         yes User 
withholding-tax-override Withholding Tax Override         yes decimal(30,3)

 

  • Was this article helpful?