vendorInvoices_submitInvoices

Submit vendor invoices or credit notes to Amazon.

destructiveAmazon Seller (SP-API)sp.vendorInvoices

Amazon write; blocks until the transaction reaches Success or Failure. Amazon SP-API · submitInvoices · POST /vendor/payments/v1/invoices Amazon SP-API · getTransaction · GET /vendor/transactions/v1/transactions/{transactionId} Gate: approve — interactive: show the change (Amazon's preview first where one exists), wait for an explicit approve; autopilot: only when the seller's own words asked for this change; otherwise ask.

Call it

In an AI client (MCP)

tools/call
{
  "name": "vendorInvoices_submitInvoices",
  "arguments": {
    "store": "myStore-US",
    "invoices_payload": {}
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/vendorInvoices_submitInvoices \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","invoices_payload":{}}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
storerequiredstringthe store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim.
invoices_payloadrequiredobject{"invoices": [Invoice, …]}. Per Invoice, required: invoiceType (Invoice | CreditNote), id (your unique invoice or credit-note number — NEVER reused), date (ISO-8601, now or earlier), remitToParty (a Party — partyId, address, taxRegistrationDetails; full shape in the Body block below), invoiceTotal (Money {currencyCode ISO-4217, amount as a decimal string}; non-zero and equal to items + charges − allowances). Optional: items: [{itemSequenceNumber (int), amazonProductIdentifier (ASIN) or vendorProductIdentifier, invoicedQuantity {amount (non-zero int), unitOfMeasure Cases | Eaches, unitSize}, netCost (Money), purchaseOrderNumber (8-char alphanumeric; required on an Invoice), hsnCode (India, digits), taxDetails, chargeDetails, allowanceDetails, creditNoteDetails (required on a CreditNote — {referenceInvoiceNumber, returnsReferenceNumber, goodsReturnDate, rmaId, debitNoteNumber})}]; billToParty (a Party); referenceNumber (India: the mandatory government ref); shipToParty; shipFromParty (required in India and the EU); paymentTerms {type Basic | EndOfMonth | FixedDate | Proximo | PaymentDueUponReceiptOfInvoice | LetterofCredit, discountPercent, discountDueDays, netDueDays}; taxDetails (required in India): [{taxType CGST | SGST | CESS | UTGST | IGST | MwSt. | PST | TVA | VAT | GST | ST | Consumption | MutuallyDefined | DomesticVAT, taxRate, taxAmount, taxableAmount}]; chargeDetails: [{type Freight | Packing | Duty | Service | SmallOrder | InsurancePlacementCost | InsuranceFee | SpecialHandlingService | CollectionAndRecyclingService | EnvironmentalProtectionService | TaxCollectedAtSource, description, chargeAmount, taxDetails}]; allowanceDetails: [{type Discount | DiscountIncentive | Defective | Promotional | UnsaleableMerchandise | Special, description, allowanceAmount, taxDetails}]; additionalDetails: [{type SUR | OCR | CartonCount, detail, languageCode}]. Full tree: https://developer-docs.amazon.com/sp-api/docs/submit-invoices

Result

Every tool answers {notification, data, human_action}; data carries:

  • data.status — SUCCESS, or Failure with data.errors [{code, message, details}] — fix them and resubmit with a NEW invoice id.
  • data.transactionId / data.raw — the finished transaction (raw on success only).

Body (Amazon schema; submitInvoices): {invoices: [Invoice]}, each item

invoiceType*: Invoice | CreditNote
id*: string
date*: string (date-time)
remitToParty*: {partyId*, address: {name*, addressLine1*, addressLine2, addressLine3, city, county, district, stateOrRegion, postalOrZipCode, countryCode*, phone}, taxRegistrationDetails: [{taxRegistrationType*, taxRegistrationNumber*}]}
invoiceTotal*: {currencyCode, amount}
+ 10 more: referenceNumber, shipToParty, shipFromParty, billToParty, paymentTerms, taxDetails,
  additionalDetails, chargeDetails, allowanceDetails, items
Full schema: the Docs link above.

Gotchas

  • India takes Invoice only (no CreditNote) and requires HSN, GST tax, shipFromParty and a 15-char GST id; Europe takes Invoice and CreditNote (PO number optional on a credit note) and requires VAT registration; North America takes Invoice only, tax optional. HTTP 502 = still Processing after 60 s; the error names the transactionId — check it with vendorTransactionStatus_getTransaction before resubmitting.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude