Update Invoice

Use the Update Invoice endpoint to bulk-invoice multiple orders at once. This marks the order as invoiced in Fynd OMS and allows partners to provide additional details like acknowledgment numbers, QR codes, and IRN numbers (if applicable).

Method: POST
Scheme: HTTPS
Endpoint: https://{{host}}/oms/v3/shipment/invoiceUpdate

Try out Fynd Konnect's Update Invoice Endpoint


Common Request Header

HeaderMandatoryDescription
x-access-tokenYesThe token required for authenticated calls to Fynd Konnect.
Important Considerations
  • Supports invoice update of upto 20 orders in one call.
  • Transitions orders to bag_invoiced after successful invoicing.
  • Recommended to poll order statuses using Fetch Orders with orderStatus=PROCESSING to confirm that bag items are in a confirmed state before invoicing.

Body

orderIdstringrequired

Shipment Id of the order to be invoiced

invoiceNumberstringrequired

Unique invoice reference number

invoiceTypestringrequired

Type of invoice (Either sale for the forward order invoice series or return for the customer return credit note)

invoiceQrCodestring

QR code data for the invoice

irnNumberstring

Invoice Reference Number for e-invoicing

signedInvoicestring

Digitally signed invoice data

ackNumberstring

Acknowledgment number from tax authority

ackDatestring

Date of acknowledgment receipt

orderItemsArray of objects

List of items included in the invoice

packagesArray of objects

Meta data for packaging if applicable; overwrites the existing package dimensions

Success Response

payloadCountinteger

Number of payloads in the request

successCountinteger

Number of successfully processed payloads

failedCountinteger

Number of payloads that failed

statusstring

Status of the API call

errorsArray of objects

Empty if everything succeeded

API Call Example

curl -i -X POST \
  https://fyndkonnect.konnect.uat.fyndx1.de/oms/v3/shipment/invoiceUpdate \
  -H 'Content-Type: application/json' \
  -H 'x-access-token: YOUR_API_KEY_HERE' \
  -d '[
    {
      "orderId": "string",
      "invoiceNumber": "string",
      "invoiceType": "string",
      "invoiceQrCode": "string",
      "irnNumber": "string",
      "signedInvoice": "string",
      "ackNumber": "string",
      "ackDate": "string",
      "orderItems": [
        {
          "orderItemId": "string",
          "quantity": 0,
          "imeiSerialNumber": [
            "string"
          ]
        }
      ],
      "packages": [
        {
          "packageId": "string",
          "packageLengthCm": 0,
          "packageWidthCm": 0,
          "packageHeightCm": 0,
          "packageWeightGms": 0
        }
      ]
    }
  ]'
Response
application/json
{ "payloadCount": 2, "successCount": 2, "failedCount": 0, "status": "SUCCESS", "errors": [] }

Error Codes

ReasonCodeDescription
Canceled by customer/sellerIN401If either the orderId or orderItemId is already canceled.
Invalid orderId/orderItemIdIN400If the orderId is not found in the authorized location or orderItemId doesn't exist for that order.
Invalid invoiceId/invoiceTypeIN422If the invoice identifiers or invoiceType do not align with Fynd's invoicing rules.
Order is already invoicedIN453A duplicate invoice request was raised when the shipment is already at or beyond the invoiced state.
Invalid requestIN403Invoicing was attempted too early (before the order was confirmed).
Next Steps
  • For self-ship orders (where auto-invoicing is enabled on Fynd Commerce), to provide Fynd with the Air Waybill number for the order, see Update AWB
  • To pass a pack call to Fynd for channel shipping orders (where auto-invoicing and auto courier assignment are enabled on Fynd Commerce), head over to Order Pack