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

# Record a manual payment for an invoice

> API to record manual payment for an invoice by invoice id



## OpenAPI

````yaml /api-reference/invoices/openapi.json post /invoices/{invoiceId}/record-payment
openapi: 3.0.0
info:
  title: Invoice API
  description: Documentation for invoice API
  version: '1.0'
  contact: {}
servers:
  - url: https://services.leadconnectorhq.com
security: []
tags:
  - name: Invoice
    description: Documentation for invoice API
  - name: Template
    description: Documentation for invoice API
  - name: Schedule
    description: Documentation for invoice API
  - name: Text2Pay
    description: Documentation for invoice API
  - name: Estimate
    description: Documentation for invoice API
paths:
  /invoices/{invoiceId}/record-payment:
    post:
      tags:
        - Invoice
      summary: Record a manual payment for an invoice
      description: API to record manual payment for an invoice by invoice id
      operationId: record-invoice
      parameters:
        - name: Version
          in: header
          description: API Version
          required: true
          schema:
            type: string
            enum:
              - '2021-07-28'
        - name: invoiceId
          required: true
          in: path
          description: Invoice Id
          schema:
            example: 6578278e879ad2646715ba9c
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordPaymentDto'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordPaymentResponseDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedDTO'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableDTO'
      security:
        - Location-Access:
            - invoices.write
        - Agency-Access:
            - invoices.write
components:
  schemas:
    RecordPaymentDto:
      type: object
      properties:
        altId:
          type: string
          description: location Id / company Id based on altType
          example: 6578278e879ad2646715ba9c
        altType:
          type: string
          description: Alt Type
          enum:
            - location
          example: location
        mode:
          type: string
          description: manual payment method
          enum:
            - cash
            - card
            - cheque
            - bank_transfer
            - other
          example: card
        card:
          $ref: '#/components/schemas/CardDto'
        cheque:
          $ref: '#/components/schemas/ChequeDto'
        notes:
          type: string
          description: Any note to be recorded with the transaction
          example: This was a direct payment
        amount:
          type: number
          description: Amount to be paid against the invoice.
          example: 999
        meta:
          type: object
        paymentScheduleIds:
          description: Payment Schedule Ids to be recorded against the invoice.
          example:
            - 6578278e879ad2646715ba9c
          type: array
          items:
            type: string
        fulfilledAt:
          type: string
          description: Updated At to be recorded against the invoice.
          example: '2025-03-19T05:03:00.000Z'
      required:
        - altId
        - altType
        - mode
        - card
        - cheque
        - notes
    RecordPaymentResponseDto:
      type: object
      properties:
        success:
          type: boolean
          description: status
          example: true
        invoice:
          $ref: '#/components/schemas/DefaultInvoiceResponseDto'
      required:
        - success
        - invoice
    BadRequestDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
    UnauthorizedDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          type: string
          example: 'Invalid token: access token is invalid'
        error:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
        - error
    UnprocessableDTO:
      type: object
      properties:
        statusCode:
          type: number
          example: 422
        message:
          type: array
          items:
            type: string
          example:
            - Unprocessable Entity
        error:
          type: string
          example: Unprocessable Entity
      required:
        - statusCode
        - message
        - error
    CardDto:
      type: object
      properties:
        brand:
          type: string
        last4:
          type: string
      required:
        - brand
        - last4
    ChequeDto:
      type: object
      properties:
        number:
          type: string
          description: check number
          example: 129-129-129-912
      required:
        - number
    DefaultInvoiceResponseDto:
      type: object
      properties:
        _id:
          type: string
          description: Invoice Id
          example: 6578278e879ad2646715ba9c
        status:
          type: string
          description: Invoice Status
          example: draft
          enum:
            - draft
            - sent
            - payment_processing
            - paid
            - void
            - partially_paid
        liveMode:
          type: boolean
          description: Live Mode
          example: false
        amountPaid:
          type: number
          description: Amount Paid
          example: 0
        altId:
          type: string
          description: Location Id or Agency Id
          example: 6578278e879ad2646715ba9c
        altType:
          type: string
          enum:
            - location
        name:
          type: string
          description: Name of the invoice
          example: New Invoice
        businessDetails:
          type: object
          description: Business Details
          example:
            name: Alex
            address:
              addressLine1: 9931 Beechwood
              city: St. Houston
              state: TX
              countryCode: USA
              postalCode: 559-6993
            phoneNo: +1-214-559-6993
            website: www.example.com
        invoiceNumber:
          type: number
          description: Invoice Number
          example: '19'
        currency:
          type: string
          description: Currency
          example: USD
        contactDetails:
          type: object
          description: Contact Details
          example:
            id: c6tZZU0rJBf30ZXx9Gli
            phoneNo: +1-214-559-6993
            email: alex@example.com
            customFields: []
            name: Alex
            address:
              countryCode: US
        issueDate:
          type: string
          description: Issue date in YYYY-MM-DD format
          example: '2023-01-01'
        dueDate:
          type: string
          description: Due date in YYYY-MM-DD format
          example: '2023-01-01'
        discount:
          type: object
          description: Discount
          example:
            type: percentage
            value: 0
        invoiceItems:
          description: Invoice Items
          example:
            - taxes: []
              _id: c6tZZU0rJBf30ZXx9Gli
              productId: c6tZZU0rJBf30ZXx9Gli
              priceId: c6tZZU0rJBf30ZXx9Gli
              currency: USD
              name: Macbook Pro
              qty: 1
              amount: 999
          type: array
          items:
            type: string
        total:
          type: number
          description: Total Amount
          example: 999
        title:
          type: string
          description: Title
          example: INVOICE
        amountDue:
          type: number
          description: Total Amount Due
          example: 999
        createdAt:
          type: string
          description: created at
          example: '2023-12-12T09:27:42.355Z'
        updatedAt:
          type: string
          description: updated at
          example: '2023-12-12T09:27:42.355Z'
        automaticTaxesEnabled:
          type: boolean
          description: Automatic taxes enabled for the Invoice
          example: true
        automaticTaxesCalculated:
          type: boolean
          description: Is Automatic taxes calculated for the Invoice items
          example: true
        paymentSchedule:
          type: object
          description: >-
            split invoice into payment schedule summing up to full invoice
            amount
      required:
        - _id
        - status
        - liveMode
        - amountPaid
        - altId
        - altType
        - name
        - businessDetails
        - invoiceNumber
        - currency
        - contactDetails
        - issueDate
        - dueDate
        - invoiceItems
        - total
        - title
        - amountDue
        - createdAt
        - updatedAt

````