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)
{
"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
| Name | Type | Description |
|---|---|---|
storerequired | string | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
invoices_payloadrequired | object | {"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.