Light v1 - Invoice Receivables API

The v1 - Invoice Receivables API from Light — 11 operation(s) for v1 - invoice receivables.

Operations 15

POST /v1/invoice-receivables/{invoiceReceivableId}/archive Archive invoice #
GET /v1/invoice-receivables List invoices #
POST /v1/invoice-receivables Create invoice #
POST /v1/invoice-receivables/{invoiceReceivableId}/lines Create line #
DELETE /v1/invoice-receivables/{invoiceReceivableId}/lines/{lineId} Delete invoice line #
PATCH /v1/invoice-receivables/{invoiceReceivableId}/lines/{lineId} Update invoice line #
POST /v1/invoice-receivables/{invoiceReceivableId}/document Generate invoice PDF #
GET /v1/invoice-receivables/{invoiceReceivableId} Get invoice #
PATCH /v1/invoice-receivables/{invoiceReceivableId} Update invoice #
GET /v1/invoice-receivables/{invoiceReceivableId}/payments List invoice payments #
POST /v1/invoice-receivables/{invoiceReceivableId}/payments Enter invoice payment #
POST /v1/invoice-receivables/{invoiceReceivableId}/open Open invoice #
POST /v1/invoice-receivables/{invoiceReceivableId}/reset Reset invoice #
POST /v1/invoice-receivables/{invoiceReceivableId}/send-email Send invoice email #
POST /v1/invoice-receivables/{invoiceReceivableId}/unarchive Unarchive invoice #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/light-v1-invoice-receivables-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

light-v1-invoice-receivables-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Light v1 - Invoice Receivables API
  version: 1.0.0
security:
- apiKeyAuth: []
- bearerAuth: []
tags:
- name: v1 - Invoice Receivables
paths:
  /v1/invoice-receivables/{invoiceReceivableId}/archive:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Archive invoice
      description: Archives an invoice receivable
      operationId: archiveInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables:
    get:
      tags:
      - v1 - Invoice Receivables
      summary: List invoices
      description: Returns a paginated list of invoice receivables
      operationId: listInvoiceReceivables
      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`, `companyEntityId`, `createdAt`, `customer`, `description`, `dueDate`, `effectiveInvoiceDate`, `invoiceDate`, `invoiceNumber`, `openedAt`, `postingDate`, `state`, `updatedAt`."
          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: `companyEntityId`, `contractId`, `currency`, `customerId`, `invoiceTemplateId`, `payeeBankAccountId`, `paymentType`, `openedAt`, `documentNumber`, `documentStatus`, `dueDate`, `effectiveInvoiceDate`, `einvoiceStatus`, `id`, `invoiceDate`, `postingDate`, `state`, `updatedAt`."
          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
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalPaginatedResponseV1ModelExternalInvoiceReceivableV1Model'
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Create invoice
      description: Creates a new sales invoice
      operationId: createInvoice
      parameters:
      - name: X-Idempotency-Key
        in: header
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalCreateInvoiceReceivableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/lines:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Create line
      description: Creates a new invoice line item
      operationId: createInvoiceLine
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalCreateInvoiceReceivableLineRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableLineV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/lines/{lineId}:
    delete:
      tags:
      - v1 - Invoice Receivables
      summary: Delete invoice line
      description: Deletes an invoice line item
      operationId: deleteInvoiceLine
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: lineId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8: {}
    patch:
      tags:
      - v1 - Invoice Receivables
      summary: Update invoice line
      description: Updates an invoice line item
      operationId: updateInvoiceLine
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: lineId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUpdateInvoiceReceivableLineRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableLineV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/document:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Generate invoice PDF
      description: Generates the PDF document for an invoice receivable. Poll this endpoint until status is `READY`, then use the `url` field to download the PDF. The signed URL is temporary and should not be stored and reused. To download again, call this endpoint to get a fresh URL.
      operationId: generateInvoiceReceivableDocument
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivablePdfDocumentV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}:
    get:
      tags:
      - v1 - Invoice Receivables
      summary: Get invoice
      description: Returns a specific invoice receivable by ID
      operationId: getInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
    patch:
      tags:
      - v1 - Invoice Receivables
      summary: Update invoice
      description: Updates an invoice receivable
      operationId: updateInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalUpdateInvoiceReceivableRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/payments:
    get:
      tags:
      - v1 - Invoice Receivables
      summary: List invoice payments
      description: Returns a list of payments for an invoice receivable
      operationId: listInvoiceReceivablePayments
      parameters:
      - name: invoiceReceivableId
        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/ExternalInvoiceReceivablePaymentV1Model'
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Enter invoice payment
      description: Enters a payment for an invoice receivable. If the total amount paid equals the invoice total, the invoice status will be changed to PAID, otherwise it will be PARTIALLY_PAID.
      operationId: recordInvoicePayment
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalRegisterInvoiceReceivablePaymentRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/open:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Open invoice
      description: Initiates the process of opening an invoice receivable. This assigns an invoice number, locks the invoice for editing, and optionally sends it via email or submits it to e-invoicing systems. The request body is optional - if not provided, the invoice will be opened with default settings (no email sent, no e-invoice submission).
      operationId: openInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Optional configuration for opening the invoice. If not provided, invoice will be opened with default settings (no email, no e-invoice).
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalInitInvoiceReceivableOpenRequestV1Model'
      responses:
        '200':
          description: 'Invoice open process initiated successfully. The invoice status will change to `OPEN_IN_PROGRESS`. You must poll the invoice to check when it changes to `OPEN`.

            If the invoice fails to open, the status will change back to `DRAFT` and the `failureContext` field will be populated with the error details.'
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/reset:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Reset invoice
      description: Resets an invoice receivable to draft
      operationId: resetInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
  /v1/invoice-receivables/{invoiceReceivableId}/send-email:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Send invoice email
      description: Sends an invoice receivable email with the given email information
      operationId: sendInvoiceReceivableEmail
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/ExternalInvoiceReceivableEmailInfoRequestV1Model'
      responses:
        default:
          description: default response
          content:
            application/json;charset=UTF-8: {}
  /v1/invoice-receivables/{invoiceReceivableId}/unarchive:
    post:
      tags:
      - v1 - Invoice Receivables
      summary: Unarchive invoice
      description: Unarchives an invoice receivable and reverts it to draft
      operationId: unarchiveInvoiceReceivable
      parameters:
      - name: invoiceReceivableId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Invoice receivable unarchived successfully.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalInvoiceReceivableV1Model'
        '400':
          description: Bad request. Invoice receivable is not archived.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ExternalUiClientExceptionV1Model'
components:
  schemas:
    ExternalInvoiceReceivablePaymentCustomerCreditEntryV1Model:
      title: Customer credit
      type: object
      allOf:
      - $ref: '#/components/schemas/ExternalInvoiceReceivablePaymentEntryV1Model'
      - type: object
        properties:
          accountingDocumentId:
            type: string
            description: ID of the accounting document
            format: uuid
          amount:
            type:
            - integer
            - 'null'
            description: Payment amount in smallest denomination
            format: int64
          documentNumber:
            type:
            - string
            - 'null'
            description: Document number
    ExternalUiClientExceptionErrorV1Model:
      type: object
      properties:
        type:
          type: string
          description: A string code identifying the error type
        message:
          type: string
          description: A human-readable message providing more details about the error
        path:
          type:
          - array
          - 'null'
          description: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
          items:
            type:
            - string
            - 'null'
            description: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
        context:
          type:
          - object
          - 'null'
          additionalProperties:
            type:
            - object
            - 'null'
            description: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
          description: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
      description: List of errors providing details about what went wrong
    ExternalInvoiceReceivablePaymentBankPaymentEntryV1Model:
      title: Bank payment
      type: object
      allOf:
      - $ref: '#/components/schemas/ExternalInvoiceReceivablePaymentEntryV1Model'
      - type: object
        properties:
          bankAccountId:
            type:
            - string
            - 'null'
            description: ID of the bank account
            format: uuid
          endToEndId:
            type:
            - string
            - 'null'
            description: End-to-end ID for the payment
          originalAmount:
            type: integer
            description: Original payment amount in smallest denomination
            format: int64
          originalCurrency:
            type: string
            example: USD
          accountingDocumentId:
            type: string
            description: ID of the accounting document
            format: uuid
    ExternalInvoiceReceivableV1Model:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the object
          format: uuid
        companyId:
          type: string
          description: ID of the company
          format: uuid
        contractId:
          type:
          - string
          - 'null'
          description: ID of the contract, if this is invoice is linked to a contract
          format: uuid
        companyEntityId:
          type:
          - string
          - 'null'
          description: ID of the entity
          format: uuid
        amount:
          type: integer
          description: Total invoice amount in smallest denomination, with discounts and tax applied
          format: int64
        paymentType:
          type:
          - string
          - 'null'
          description: 'Payment type for the invoice


            - `AIRWALLEX` - Payment via Airwallex. A payment link will be displayed on the invoice

            - `BANK_TRANSFER` - Payment via bank transfer. Bank information will be displayed on the invoice

            - `DIRECT_DEBIT` - Payment via direct debit. A notice that the amount will be collected automatically will be displayed on the invoice

            - `STRIPE` - Payment via Stripe. A payment link will be sent to the customer


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          deprecated: false
          enum:
          - AIRWALLEX
          - BANK_TRANSFER
          - DIRECT_DEBIT
          - STRIPE
        payeeBankAccountId:
          type:
          - string
          - 'null'
          description: ID of the bank account where money should be sent to
          format: uuid
        invoiceDate:
          type:
          - string
          - 'null'
          description: Date the invoice was issued
          format: date
        effectiveInvoiceDate:
          type: string
          description: The invoice date shown to customers; falls back to the posting date when the invoice date is not set
          format: date
        postingDate:
          type: string
          description: Date the invoice is posted to the ledger (drives GL, VAT and revenue recognition)
          format: date
        dueDate:
          type:
          - string
          - 'null'
          description: Date the invoice payment is due
          format: date
        netTerms:
          type:
          - integer
          - 'null'
          description: Number of days from the invoice date to when the invoice is due. Updating this field will automatically set the invoice due date
          format: int32
        customerId:
          type:
          - string
          - 'null'
          description: ID of the customer
          format: uuid
        invoiceTemplateId:
          type:
          - string
          - 'null'
          description: ID of the invoice template
          format: uuid
        invoiceTemplateAdditionalText:
          type:
          - string
          - 'null'
          description: Text that will added to the additional text section of the invoice template
        invoiceNumber:
          type:
          - string
          - 'null'
          description: 'Invoice number. This number is guaranteed to be unique and sequential per entity.

            By default Light will generate this number when the invoice is opened, but you can provide your own custom number when creating or updating a draft invoice'
        state:
          type: string
          description: 'The invoice state


            - `DRAFT` - The invoice is in draft and can be modified. Next valid states are OPEN_IN_PROGRESS or ARCHIVED

            - `OPEN_IN_PROGRESS` - The invoice is being opened. Next valid state is OPEN or DRAFT

            - `OPEN` - The invoice is open. Next valid states are PAYMENT_PENDING, PARTIALLY_PAID, PAID or ARCHIVED

            - `PAYMENT_PENDING` - The payment was initiated by Light and is waiting to be collected. Next valid state is PAID

            - `PARTIALLY_PAID` - The invoice is partially paid. Next valid state is PAID

            - `PAID` - The invoice is fully paid

            - `REVERSED` - The invoice was reversed by a credit note and reissued as a new invoice; it is locked and cannot be modified

            - `ARCHIVED` - The invoice is archived and cannot be modified


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          deprecated: false
          enum:
          - DRAFT
          - OPEN_IN_PROGRESS
          - OPEN
          - PAYMENT_PENDING
          - PARTIALLY_PAID
          - PAID
          - REVERSED
          - ARCHIVED
        openedAt:
          type:
          - string
          - 'null'
          description: Timestamp when the invoice was opened
          format: date-time
        poNumber:
          type:
          - string
          - 'null'
          description: Purchase order number
        reference:
          type:
          - string
          - 'null'
          description: Reference number for cross-referencing with procurement and invoicing workflows
        description:
          type:
          - string
          - 'null'
          description: Description of the invoice
        currency:
          type: string
          example: USD
        taxEngineName:
          type: string
          description: 'Name of the tax engine to be used


            - `AVATAX` - Avalara AvaTax will be used for tax calculations

            - `LIGHT` - Light built-in tax engine will be used for tax calculations

            - `SPHERE` - Sphere tax engine will be used for tax calculations


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          deprecated: false
          enum:
          - AVATAX
          - LIGHT
          - SPHERE
        areLinesWithTax:
          type: boolean
          description: Whether the invoice line amount is inclusive of tax or not. True means tax is already included in the line amount and will not be added on top, false means tax will be added on top of the line amount
        localCurrencyFxRate:
          type:
          - number
          - 'null'
          description: Custom foreign exchange rate for the ledger's local currency. If not provided Light uses official ECB rates
        groupCurrencyFxRate:
          type:
          - number
          - 'null'
          description: Custom foreign exchange rate for the ledger's group currency. If not provided Light uses official ECB rates
        lines:
          type:
          - array
          - 'null'
          description: List of invoice line items. This is only returned when fetching a single invoice by id
          items:
            $ref: '#/components/schemas/ExternalInvoiceReceivableLineV1Model'
        customProperties:
          type:
          - array
          - 'null'
          description: List of custom properties associated with the invoice
          items:
            $ref: '#/components/schemas/ExternalCustomPropertyV1Model'
        createdAt:
          type: string
          description: Timestamp when the invoice was created
          format: date-time
        updatedAt:
          type: string
          description: Timestamp when the invoice was last updated
          format: date-time
        updatedBy:
          type:
          - string
          - 'null'
          description: ID of the user who last updated the invoice
          format: uuid
        failureContext:
          $ref: '#/components/schemas/ExternalUiClientExceptionV1Model'
    ExternalInitInvoiceReceivableOpenRequestV1Model:
      type: object
      properties:
        emailInfo:
          $ref: '#/components/schemas/ExternalInvoiceReceivableEmailInfoRequestV1Model'
        shouldSendEmail:
          type: boolean
          description: Whether to send the invoice via email when opening. Defaults to false
          default: false
        shouldSubmitEInvoice:
          type: boolean
          description: Whether to submit the invoice to the e-invoicing system (if configured). Defaults to false
          default: false
    ExternalInvoiceReceivablePaymentV1Model:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the payment
          format: uuid
        invoiceReceivableId:
          type: string
          description: ID of the invoice receivable
          format: uuid
        amount:
          type: integer
          description: Payment amount in smallest denomination
          format: int64
        paymentDate:
          type: string
          description: Date the payment was made
          format: date
        currency:
          type: string
          example: USD
        payment:
          $ref: '#/components/schemas/ExternalInvoiceReceivablePaymentEntryV1Model'
        createdAt:
          type: string
          description: Timestamp when the payment was created
          format: date-time
    ExternalInvoiceReceivablePdfDocumentV1Model:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the PDF document
          format: uuid
        invoiceReceivableId:
          type: string
          description: ID of the invoice receivable
          format: uuid
        status:
          type: string
          description: 'Current status of the PDF document generation


            - `GENERATING` - The PDF is currently being generated

            - `READY` - The PDF has been generated and is ready for download

            - `FAILED` - The PDF generation failed


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          deprecated: false
          enum:
          - GENERATING
          - READY
          - FAILED
        url:
          type:
          - string
          - 'null'
          description: Signed URL to download the PDF document. Only available when status is READY. The URL is temporary and should not be stored and reused. To download again, call the endpoint to get a fresh URL.
          format: url
        createdAt:
          type: string
          description: Timestamp when the document was created
          format: date-time
        updatedAt:
          type: string
          description: Timestamp when the document was last updated
          format: date-time
    ExternalCreateInvoiceReceivableRequestV1Model:
      type: object
      properties:
        companyEntityId:
          type: string
          description: ID of the company entity
          format: uuid
        invoiceNumber:
          type:
          - string
          - 'null'
          description: Unique invoice number. If not provided, one will be generated automatically when the invoice is opened.
        description:
          type:
          - string
          - 'null'
          description: Invoice description
        currency:
          type:
          - string
          - 'null'
          example: USD
        paymentType:
          type:
          - string
          - 'null'
          description: 'Payment type for the invoice


            - `AIRWALLEX` - Payment via Airwallex. A payment link will be displayed on the invoice

            - `BANK_TRANSFER` - Payment via bank transfer. Bank information will be displayed on the invoice

            - `DIRECT_DEBIT` - Payment via direct debit. A notice that the amount will be collected automatically will be displayed on the invoice

            - `STRIPE` - Payment via Stripe. A payment link will be sent to the customer


            ⚠️ This enum is not exhaustive; new values may be added in the future.'
          deprecated: false
          enum:
          - AIRWALLEX
          - BANK_TRANSFER
          - DIRECT_DEBIT
          - STRIPE
        payeeBankAccountId:
          type:
          - string
          - 'null'
          description: ID of the bank account where money should be sent to
          format: uuid
        invoiceDate:
          type:
          - string
          - 'null'
          description: Date the invoice was issued
          format: date
        postingDate:
          type:
          - string
          - 'null'
          description: Date the invoice is posted to the ledger (drives GL, VAT and revenue recognition). Defaults to the invoice date when omitted.
          format: date
        dueDate:
          type:
          - string
          - 'null'
          description: Date the invoice payment is due
          format: date
        customerId:
          type:
          - string
          - 'null'
          description: ID of the customer
          format: uuid
        invoiceTemplateId:
          type:
          - string
          - 'null'
          description: ID of the invoice template
          format: uuid
        netTerms:
          type:
          - integer
          - 'null'
          description: Number of days from the invoice date to when the invoice is due. Setting this will automatically calculate the due date
          format: int32
        poNumber:
          type:
          - string
          - 'null'
          description: Purchase order number
        reference:
          type:
          - string
          - 'null'
          description: Reference number for cross-referencing with procurement and invoicing workflows
        invoiceTemplateAdditionalText:
          type:
          - string
          - 'null'
          description: Text that will be added to the additional text section of the invoice template
        areLinesWithTax:
          type: boolean
          description: Whether the invoice line amounts are inclusive of tax. True means tax is included in the line amount, false means tax will be added on top
          default: true
        localCurrencyFxRate:
          type:
          - number
          - 'null'
          description: Custom foreign exchange rate for the ledger's local currency. If not provided, Light uses official ECB rates
        groupCurrencyFxRate:
          type:
          - number
          - 'null'
          description: Custom foreign exchange rate for the ledger's group currency. If not provided, Light uses official ECB rates
        lines:
          type:
          - array
          - 'null'
          description: List of invoice line items to create
          items:
            $ref: '#/components/schemas/ExternalCreateInvoiceReceivableLineRequestV1Model'
        customProperties:
          type:
          - array
          - 'null'
          description: List of custom properties to set on the invoice or line
          items:
            $ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
    ExternalInvoiceReceivableLineV1Model:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the object
          format: uuid
        companyId:
          type: string
          description: ID of the company
          format: uuid
        invoiceReceivableId:
          type: string
          description: ID of the invoice receivable this line belongs to
          format: uuid
        productId:
          type: string
          description: ID of the product
          format: uuid
        quantity:
          type: number
          des

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