> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Invoice

> Upload an invoice document for a previously created order. The returned `documentId` can later be used with `GetInvoiceDocument`.



## OpenAPI

````yaml /openapi/scx/seller.json post /v1/seller/order/invoice
openapi: 3.0.2
info:
  title: SCX Seller API
  version: '1.0'
  x-logo:
    url: https://scx-sandbox.ui.jtl-software.com/docs/scx.png
  description: |
    SCX Seller API
servers:
  - url: https://scx-sbx.api.jtl-software.com
    description: Sandbox Environment
security: []
tags:
  - name: Account
    description: Seller account management
  - name: Offer
    description: Seller offer management
  - name: Events
    description: Channel and system events for the seller
  - name: Meta
    description: Channel meta information (categories, attributes, rules)
  - name: Order
    description: Order processing, payments, shipping, cancellations and refunds
  - name: Report
    description: Seller report generation and retrieval
  - name: Ticket
    description: Channel ticket management
paths:
  /v1/seller/order/invoice:
    post:
      tags:
        - Order
      summary: Upload Invoice
      description: >-
        Upload an invoice document for a previously created order. The returned
        `documentId` can later be used with `GetInvoiceDocument`.
      operationId: UploadInvoice
      requestBody:
        $ref: '#/components/requestBodies/Invoice'
      responses:
        '201':
          description: Invoice received
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '429':
          $ref: '#/components/responses/RequestThrottled'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - SellerAuth: []
components:
  requestBodies:
    Invoice:
      description: >-
        Invoice metadata together with the binary PDF document for a marketplace
        order.
      content:
        multipart/form-data:
          schema:
            type: object
            required:
              - invoice
              - document
            properties:
              invoice:
                description: >-
                  Invoice Meta Data as JSON to identify for which order a
                  invoice document is uploaded.
                type: object
                required:
                  - channel
                allOf:
                  - $ref: '#/components/schemas/SellerInvoiceMetaData'
                  - properties:
                      channel:
                        $ref: '#/components/schemas/Channel'
              document:
                description: >-
                  The Invoice document as binary data must be type of PDF and
                  have a maximum size of 16 MB.
                type: string
                format: binary
          encoding:
            document:
              contentType: application/pdf
  responses:
    AccessForbidden:
      description: Access forbidden, invalid or unknown Token was used.
    ResourceNotFound:
      description: Requested resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: GEN404
                message: Not found
                severity: error
                hint: null
    RequestThrottled:
      description: User has send to many requests
    ServerError:
      description: Unexpected Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: GEN500
                message: Internal Server Error
                severity: error
                hint: null
  schemas:
    SellerInvoiceMetaData:
      type: object
      required:
        - type
        - sellerId
        - orderId
        - invoiceNumber
      properties:
        type:
          $ref: '#/components/schemas/InvoiceDocumentType'
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        invoiceNumber:
          type: string
          minLength: 1
          maxLength: 256
    Channel:
      description: |
        This is the unique Channel name.
      type: string
      example: MYBESTDEALCOMDE
      pattern: ^\w{5,15}$
    ErrorResponseList:
      type: object
      properties:
        errorList:
          nullable: true
          type: array
          example:
            - code: GEN700
              message: Seller SELLER_4711 does not exist on channel kaufland.
              severity: error
              hint: i9n-order22
          items:
            title: Error
            type: object
            properties:
              code:
                type: string
                example: GEN700
              message:
                type: string
                example: Seller SELLER_4711 does not exist on channel kaufland.
              severity:
                type: string
                enum:
                  - error
                  - warning
                  - info
                default: error
              hint:
                type: string
                nullable: true
                example: i9n-order22
    InvoiceDocumentType:
      type: string
      enum:
        - INVOICE
        - CREDITNOTE
      default: INVOICE
    SellerId:
      description: >
        A unique Id identify a Seller on a specific SalesChannel. The SellerId
        is generated

        from the Channel itself during the Seller SignUp Process.
      type: string
      example: '4711'
      pattern: ^\w{1,50}$
    ChannelOrderId:
      type: string
      minLength: 1
      maxLength: 150
      example: 43523-43432-43532
  securitySchemes:
    SellerAuth:
      description: >
        Bearer JWT issued to a seller after they sign up for a JTL-Scx
        subscription via the JTL

        Customer Center. Usage format: `Bearer <JWT>`.
      type: http
      scheme: bearer
      bearerFormat: JWT

````