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 AccountType 
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 TaxRegistration 
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
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 IntegrationHistoryRecord 
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
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 FailedTolerance
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 InboundInvoice 
internal-note Internal Note       yes yes text
invoice-charges Invoice charges       yes yes InvoiceCharge 
invoice-date Date of Invoice yes     yes yes datetime
invoice-from-address Invoice from address yes       yes SupplierRemitTo 
invoice-lines Record identifier       yes yes InvoiceLine 
invoice-number Invoice number yes     yes yes string(40)
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
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-notes Notes included with payment for invoice       yes yes text
payment-term Payment term code on invoice       yes yes PaymentTerm 
payments Payments       yes yes Payment 
pre-payment-date Pre-Payment Date       yes yes datetime
remit-to-address Remit to Address yes     yes yes RemitToAddress 
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)
ship-from-address Ship from address yes       yes SupplierRemitTo 
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 ShippingTerm 
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 SupplierRemitTo 
supplier-tax-registration Supplier tax registration yes       yes TaxRegistration 
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 TaxLine 
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
updated-at Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
updated-by User who updated         yes User 

 

  • Was this article helpful?