Light v1 - Invoice Payables API

The v1 - Invoice Payables API from Light — 17 operation(s) for v1 - invoice payables.

OpenAPI Specification

light-v1-invoice-payables-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Light Authorization v1 - Invoice Payables API
  version: 1.0.0
security:
- apiKeyAuth: []
- bearerAuth: []
tags:
- name: v1 - Invoice Payables
paths:
  /v1/bff/invoice-payables:
    get:
      tags:
      - v1 - Invoice Payables
      summary: List invoice payables
      description: Returns a paginated list of invoice payables
      operationId: listInvoicePayables
      parameters:
      - name: sort
        in: query
        schema:
          type: string
          description: "Sort string in the format `field:direction`. To provide multiple sort fields, separate them with commas.\n\nAvailable directions: `asc`, `desc`. \n\nAvailable fields: `amount`, `canceledAt`, `companyEntityName`, `description`, `dueDate`, `fromAccountName`, `createdAt`, `invoiceNumber`, `issuedDate`, `ocrCompletedAt`, `paymentAt`, `senderEmail`, `state`, `vendorName`, `businessPartnerName`, `nextApproverName`."
          example: amount:desc,createdAt:asc
      - name: filter
        in: query
        schema:
          type: string
          description: "Filter string in the format `field:operator:value`. To provide multiple filters, separate them with commas.\n\nAvailable operators: `eq`, `ne`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`.\n - For `in` and `not_in` operators, provide multiple values separated by the pipe character (`|`). \n\nAvailable fields: `approverUserId`, `id`, `vendorId`, `userId`, `companyEntityId`, `senderBankAccountId`, `amount`, `description`, `documentNumber`, `dueDate`, `issuedDate`, `paymentAt`, `createdAt`, `updatedAt`, `state`, `vendorName`, `userFirstName`, `userLastName`, `type`."
          example: state:in:IN_DRAFT|SCHEDULED|PAID,amount:gte:500,vendorId:ne:null
      - name: limit
        in: query
        description: Maximum number of items to return. Default is 50, maximum is 200.
        schema:
          maximum: 200
          type: integer
          format: int32
      - name: offset
        in: query
        description: Number of items to skip before starting to collect the result set. Deprecated, use 'cursor' instead.
        deprecated: true
        schema:
          type: integer
          format: int64
      - name: cursor
        in: query
        description: 'The cursor position to start returning results from.

          To opt-in into cursor-based pagination, provide `0` for the initial request.

          For subsequent requests, use `nextCursor` and `prevCursor` from the previous response to navigate.

          Cursor values are opaque and should not be constructed manually.'
        schema:
          type: string
      - name: include
        in: query
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
            description: ⚠️ This enum is not exhaustive; new values may be added in the future.
            enum:
            - REIMBURSEMENT
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalPaginatedResponseV1ModelExternalBffInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/approve:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Approve invoice payable
      description: Approves an invoice payable for payment processing
      operationId: approveInvoicePayable
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalApproveInvoicePayableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/cancel:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Cancel invoice payable
      description: Cancels an invoice payable
      operationId: cancelInvoicePayable
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalCancelInvoicePayableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Create invoice payable
      description: Creates a new invoice payable document. Supports inline line items via the `lineItems` field for single-request creation.
      operationId: createInvoicePayableDetails
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalCreateInvoicePayableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/document/upload-url:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Generate document upload URL
      description: Generates a secure upload URL for invoice payable documents
      operationId: createInvoicePayableDocumentUploadUrl
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUploadInvoicePayableDocumentRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableUploadUrlResponseV1Model'
  /v1/invoice-payables/{invoicePayableId}/line-items:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Create invoice payable line item
      description: Creates an invoice payable line item
      operationId: createInvoicePayableLineItem
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalCreateInvoicePayableLineItemRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableLineItemV1Model'
  /v1/invoice-payables/{invoicePayableId}/decline:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Decline invoice payable
      description: Declines an invoice payable
      operationId: declineInvoicePayable
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalDeclineInvoicePayableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/line-items/{lineItemId}:
    get:
      tags:
      - v1 - Invoice Payables
      summary: Get invoice payable line item
      description: Gets an invoice payable line item
      operationId: getInvoicePayableLineItem
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: lineItemId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableLineItemV1Model'
    put:
      tags:
      - v1 - Invoice Payables
      summary: Update invoice payable line item
      description: Updates an invoice payable line item
      operationId: updateInvoicePayableLineItem
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: lineItemId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUpdateInvoicePayableLineItemRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableLineItemV1Model'
    delete:
      tags:
      - v1 - Invoice Payables
      summary: Delete invoice payable line item
      description: Deletes an invoice payable line item
      operationId: deleteInvoicePayableLineItem
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: lineItemId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8: {}
  /v1/invoice-payables/{invoicePayableId}:
    get:
      tags:
      - v1 - Invoice Payables
      summary: Get invoice payable
      description: Returns a specific invoice payable by ID
      operationId: getInvoicePayableDetails
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: includeOutstandingBalance
        in: query
        schema:
          type: boolean
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
    patch:
      tags:
      - v1 - Invoice Payables
      summary: Update invoice payable
      description: Updates an existing invoice payable document header
      operationId: updateInvoicePayable
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUpdateInvoicePayablePatchRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/document:
    get:
      tags:
      - v1 - Invoice Payables
      summary: Get invoice document
      description: Returns the attached document for an invoice payable
      operationId: getInvoicePayableDocument
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: documentType
        in: query
        schema:
          type: string
          description: ⚠️ This enum is not exhaustive; new values may be added in the future.
          enum:
          - ORIGINAL
          - GENERATED
      responses:
        default:
          description: default response
          content:
            application/pdf: {}
  /v1/invoice-payables/{invoicePayableId}/credit-notes:
    get:
      tags:
      - v1 - Invoice Payables
      summary: Get linked credit notes
      description: Returns all credit notes linked to the invoice payable
      operationId: getLinkedCreditNotes
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalCreditNoteInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/payments:
    get:
      tags:
      - v1 - Invoice Payables
      summary: List invoice payable payments
      description: Returns all clearings (bank payments and credit notes) linked to the invoice payable. Each entry carries a `type` discriminator (`BP` for bank payments, `CN` for credit notes) so consumers can filter client-side if only one kind is needed. Reversed clearings are excluded.
      operationId: listInvoicePayablePayments
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExternalInvoicePayablePaymentV1Model'
  /v1/invoice-payables/{invoicePayableId}/mark-as-paid:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Mark invoice payable as paid
      description: Marks an invoice payable as paid by recording a bank payment that clears it. Use `paymentOption=FULL` to clear the remaining outstanding balance, or `paymentOption=PARTIAL` to record an installment. The invoice transitions to `PAID` (full) or `PARTIALLY_PAID` (partial).
      operationId: markInvoicePayableAsPaid
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalMarkInvoicePayableAsPaidRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/post:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Post invoice payable without approval
      description: Posts an invoice payable directly to the ledger without going through the approval workflow. The invoice must be in `IN_DRAFT` state. After posting, linked credit notes are applied and unlinked credit notes may be auto-allocated. If the invoice is fully cleared by credit notes, it transitions to `COMPLETED`; otherwise it transitions to `UNPAID`.
      operationId: postInvoicePayable
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/reverse-clearing:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Reverse invoice payable payment
      description: Reverses a clearing applied to an invoice payable — either a bank payment (`BP`) or a credit note (`CN`) — identified by its accounting document ID. Use the `List invoice payable payments` endpoint to obtain the `accountingDocumentId` and `type` of the clearing to reverse. Reversing removes the clearing's effect from the ledger and transitions the invoice back to `UNPAID` or `PARTIALLY_PAID` depending on the remaining outstanding balance. Optionally set `shouldArchiveClearingDocument` to also archive the underlying bank payment or credit note.
      operationId: reverseInvoicePayableClearing
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalReverseInvoicePayableClearingRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/submit-for-approval:
    post:
      tags:
      - v1 - Invoice Payables
      summary: Submit for approval
      description: Submits an invoice for approval
      operationId: submitInvoicePayableForApproval
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalSubmitForApprovalRequestV1Model'
      responses:
        '200':
          description: 'Invoice approval submitted successfully. The invoice state will change to `APPROVAL_REQUESTED`. You must poll the invoice to check when it changes to `APPROVAL_PENDING`.

            If the invoice fails to submit for approval, the state will change back to `IN_DRAFT` and the `failureContext` field will be populated with the error details.'
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
  /v1/invoice-payables/{invoicePayableId}/custom-properties:
    patch:
      tags:
      - v1 - Invoice Payables
      summary: Update the custom properties of a posted invoice payable
      description: Replaces all custom fields on an invoice payable after it has been posted/approved (e.g. ready for payment release, scheduled, unpaid, partially paid, completed). Any custom property group not included in the request is removed. Use this to set fields such as a reconciliation link once the invoice has left the inbox. Editing is locked while approval is actively pending.
      operationId: updateInvoicePayableCustomProperties
      parameters:
      - name: invoicePayableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUpdateInvoicePayableCustomPropertiesRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoicePayableV1Model'
components:
  schemas:
    ExternalPropertyObjectValueV1Model:
      type: object
      properties:
        propertyId:
          type: string
          format: uuid
        value:
          type: string
        valueId:
          type: string
          format: uuid
    ExternalInvoicePayableLineItemV1Model:
      type: object
      properties:
        id:
          type: string
          description: ID of the invoice payable line item.
          format: uuid
        invoicePayableId:
          type: string
          description: ID of the invoice payable this line item belongs to.
          format: uuid
        type:
          type: string
          description: 'Type of the invoice payable line item (vendor invoice or reimbursement).


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          nullable: false
          deprecated: false
          enum:
          - REIMBURSEMENT
          - VENDOR_INVOICE
        metadata:
          $ref: '#/components/schemas/ExternalInvoicePayableLineItemMetadataV1Model'
        amount:
          type: integer
          description: Amount in cents, including tax. When `lineItemsIncludeTax` is true, `amount` represents the full tax-inclusive amount for this line.
          format: int64
          nullable: true
        netAmount:
          type: integer
          description: Net line amount in cents, excluding tax. When `lineItemsIncludeTax` is false, `netAmount` represents the base amount on which tax is calculated.
          format: int64
          nullable: true
        description:
          type: string
          description: Description of this invoice payable line item.
          nullable: true
        taxCodeId:
          type: string
          description: ID of the tax code applied to this line item.
          format: uuid
          nullable: true
        taxAmount:
          type: integer
          description: Tax amount in cents for this line item.
          format: int64
          nullable: true
        accountId:
          type: string
          description: ID of the ledger account used to book this line item.
          format: uuid
          nullable: true
        costCenterId:
          type: string
          description: ID of the cost center associated with this line item, if applicable.
          format: uuid
          nullable: true
        amortizationStartDate:
          type: string
          description: Start date for amortization of this line item.
          format: date
          nullable: true
        amortizationEndDate:
          type: string
          description: End date for amortization of this line item.
          format: date
          nullable: true
        amortizationTemplateId:
          type: string
          description: ID of the amortization template to use for this line item within Light Ledger.
          format: uuid
          nullable: true
        customPropertiesOld:
          $ref: '#/components/schemas/ExternalCustomPropertiesObjectValuesV1Model'
        aiValueSuggestions:
          type: array
          description: AI-generated suggestions for line item values (e.g. account, cost center, tax code).
          nullable: true
          items:
            $ref: '#/components/schemas/ExternalAiValueSuggestionV1Model'
        customProperties:
          type: array
          description: Custom properties set on this invoice payable line item.
          nullable: true
          items:
            $ref: '#/components/schemas/ExternalCustomPropertyV1Model'
        createdAt:
          type: string
          description: Timestamp when this invoice payable line item was created.
          format: date-time
        updatedAt:
          type: string
          description: Timestamp when this invoice payable line item was last updated.
          format: date-time
    ExternalInvoicePayablePaymentCreditNoteEntryV1Model:
      title: Credit note
      type: object
      allOf:
      - $ref: '#/components/schemas/ExternalInvoicePayablePaymentEntryV1Model'
      - type: object
        properties:
          accountingDocumentId:
            type: string
            description: ID of the accounting document
            format: uuid
          amount:
            type: integer
            description: Credit note amount in smallest denomination
            format: int64
            nullable: true
          documentNumber:
            type: string
            description: Document number
            nullable: true
    ExternalApproveInvoicePayableRequestV1Model:
      type: object
      properties:
        note:
          type: string
          description: Optional note.
          nullable: true
    ExternalInvoicePayableLineItemMetadataV1Model:
      type: object
      properties:
        type:
          type: string
          description: 'Type of the invoice payable line item (vendor invoice or reimbursement).


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          nullable: false
          deprecated: false
          enum:
          - REIMBURSEMENT
          - VENDOR_INVOICE
      description: Metadata for the invoice payable line item (ERP-specific fields and context).
      discriminator:
        propertyName: type
    ExternalUpdateInvoicePayableCustomPropertiesRequestV1Model:
      type: object
      properties:
        customProperties:
          type: array
          description: 'The full set of custom properties for the invoice payable. This replaces all existing custom properties: any group not included is removed, and sending an empty `valueIds`/`inlineValues` for a group clears that group. Can be used after the invoice has been posted/approved.'
          items:
            $ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
    ExternalInvoicePayablePaymentEntryV1Model:
      type: object
      properties:
        type:
          type: string
          description: '- `BP` - Bank payment

            - `CN` - Credit note


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          enum:
          - BP
          - CN
      description: Type of payment entry for an invoice payable payment
      nullable: true
      discriminator:
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/ExternalInvoicePayablePaymentBankPaymentEntryV1Model'
      - $ref: '#/components/schemas/ExternalInvoicePayablePaymentCreditNoteEntryV1Model'
    ExternalMarkInvoicePayableAsPaidRequestV1Model:
      type: object
      properties:
        amount:
          type: integer
          description: Amount paid in cents, in the invoice's currency. Must be greater than zero.
          format: int64
        bankAccountId:
          type: string
          description: ID of the bank account the payment was made from.
          format: uuid
        paymentAt:
          type: string
          description: Date/time the payment was made. Defaults to now if omitted.
          format: date-time
          nullable: true
        comment:
          type: string
          description: Optional comment describing the payment.
          nullable: true
        paymentOption:
          type: string
          description: 'Whether to mark the invoice as fully paid or partially paid. Use `FULL` to clear the remaining outstanding balance regardless of `amount`, or `PARTIAL` to record an installment.


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          nullable: false
          deprecated: false
          enum:
          - FULL
          - PARTIAL
    ExternalCreateInvoicePayableRequestV1Model:
      type: object
      properties:
        vendorId:
          type: string
          description: ID of the vendor.
          format: uuid
          nullable: true
        amount:
          type: integer
          description: Invoice total amount in cents.
          format: int64
          nullable: true
        currency:
          type: string
          nullable: true
          example: USD
        processingMode:
          type: string
          description: 'How the invoice should be processed (skip AI Parse or AI Parse + merge).


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          nullable: false
          deprecated: false
          enum:
          - DATA_ONLY
          - AI_PARSE_AND_MERGE
        companyEntityId:
          type: string
          description: ID of the company entity.
          format: uuid
          nullable: true
        invoiceNumber:
          type: string
          description: Invoice number.
          nullable: true
        description:
          type: string
          description: Invoice description.
          nullable: true
        issuedDate:
          type: string
          description: Issue date of the original vendor invoice.
          format: date
          nullable: true
        dueDate:
          type: string
          description: Payment due date of the invoice payable.
          format: date
          nullable: true
        paymentAt:
          type: string
          description: Date/time when payment is scheduled or was executed for this invoice payable.
          format: date-time
          nullable: true
        senderBankAccountId:
          type: string
          description: ID of the sender bank account from which this invoice payable will be paid.
          format: uuid
          nullable: true
        lineItemsIncludeTax:
          type: boolean
          description: Whether invoice line item amounts are entered as tax-inclusive. When true, line item `amount` is expected to be the gross amount including tax; when false, line item `netAmount` is expected to be the base amount excluding tax.
          nullable: true
        lineItems:
          type: array
          description: List of line items to create with the invoice. This allows creating the invoice header and its line items in a single request.
          nullable: true
          items:
            $ref: '#/components/schemas/ExternalCreateInvoicePayableLineItemRequestV1Model'
        customProperties:
          type: array
          description: List of custom properties to set on the invoice.
          nullable: true
          items:
            $ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
        localCurrencyFxRateOverride:
          type: number
          description: Custom FX rate for the ledger's local currency. If not provided, Light uses official ECB rates.
          nullable: true
        groupCurrencyFxRateOverride:
          type: number
          description: Custom FX rate for the ledger's group currency. If not provided, Light uses official ECB rates.
          nullable: true
    ExternalUpdateInvoicePayablePatchRequestV1Model:
      type: object
      properties:
        vendorId:
          type: string
          description: ID of the vendor.
          format: uuid
          nullable: true
        companyEntityId:
          type: string
          description: ID of the company entity.
          format: uuid
          nullable: true
        invoiceNumber:
          type: string
          description: Invoice number.
          nullable: true
        amount:
          type: integer
          description: Invoice total amount in cents.
          format: int64
          nullable: true
        currency:
          type: string
          nullable: true
          example: USD
        description:
          type: string
          description: Invoice description.
          nullable: true
        senderBankAccountId:
          type: string
          description: ID of the sender bank account from which this invoice payable will be paid.
          format: uuid
          nullable: true
        fiNumber:
          type: string
          description: FI (Finnish reference) number associated with this invoice payable, if applicable.
          nullable: true
        norKidReference:
          type: string
          description: Norwegian KID reference associated with this invoice payable, if applicable.
          nullable: true
        swissPaymentReference:
          type: string
          description: Swiss payment reference (QR-Reference or Creditor Reference/SCOR) associated with this invoice payable, if applicable.
          nullable: true
        paymentAt:
          type: string
          description: Date/time when payment is scheduled or was executed for this invoice payable.
          format: date-time
          nullable: true
        issuedDate:
          type: string
          description: Issue date of the original vendor invoice.
          format: date
          nullable: true
        dueD

# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/light/refs/heads/main/openapi/light-v1-invoice-payables-api-openapi.yml