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

# Get the installments and balance of a PPD invoice

> Lists every Complemento de Pago of the invoice (vigente, cancelado or en_proceso). `paid` and `balance` count only vigente and en_proceso.



## OpenAPI

````yaml https://api.timbrix.mx/api/openapi.json get /invoices/{uuid}/payments
openapi: 3.0.0
info:
  title: Timbrix API
  description: >-
    API de facturación electrónica CFDI 4.0 para México, con servidor OAuth2
    para gestionar organizaciones, miembros y webhooks. Compatible con agentes
    de IA — ver la extensión `x-ai-agent-friendly` en la raíz de esta spec.


    REST API with OAuth2 server for managing organizations, members, and
    webhooks.
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: organizations
    description: Organization management endpoints
  - name: oauth
    description: OAuth2 authentication and authorization
  - name: webhooks
    description: Webhook configuration and delivery
  - name: users
    description: User information endpoints
  - name: api-keys
    description: API Keys management and validation
  - name: request-logs
    description: API request log
paths:
  /invoices/{uuid}/payments:
    get:
      tags:
        - invoices
      summary: Get the installments and balance of a PPD invoice
      description: >-
        Lists every Complemento de Pago of the invoice (vigente, cancelado or
        en_proceso). `paid` and `balance` count only vigente and en_proceso.
      operationId: InvoicesController_payments
      parameters:
        - name: uuid
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicePaymentSummaryDto'
        '403':
          description: Caller does not belong to the invoice's organization
        '404':
          description: uuid does not match any invoice
        '422':
          description: The invoice is not a PPD Ingreso
      security:
        - apiKey: []
        - bearer: []
components:
  schemas:
    InvoicePaymentSummaryDto:
      type: object
      properties:
        total:
          type: number
          example: 1160
        paid:
          type: number
          example: 500
          description: Suma de complementos vigentes y en timbrado
        credited:
          type: number
          example: 160
          description: >-
            Suma de las notas de crédito vigentes (egresos con TipoRelacion 01)
            relacionadas con la factura
        balance:
          type: number
          example: 500
          description: total − credited − paid, nunca negativo
        currency:
          type: string
          example: MXN
        installments:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceInstallmentDto'
      required:
        - total
        - paid
        - credited
        - balance
        - currency
        - installments
    InvoiceInstallmentDto:
      type: object
      properties:
        repUuid:
          type: object
          nullable: true
          example: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
          description: UUID del complemento de pago; null mientras se timbra
        installment:
          type: number
          example: 1
        amountPaid:
          type: number
          example: 500
        date:
          type: string
          example: '2026-10-15T12:00:00'
          description: Fecha del pago (hora de la Ciudad de México)
        status:
          type: string
          enum:
            - vigente
            - cancelado
            - en_proceso
          example: vigente
        substitutedByUuid:
          type: object
          nullable: true
          example: null
          description: >-
            UUID del complemento que sustituye esta parcialidad. Mientras el
            sustituto cuente, esta ya no descuenta saldo; si sigue vigente,
            cancélala con motivo 01.
      required:
        - repUuid
        - installment
        - amountPaid
        - date
        - status
        - substitutedByUuid
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'API Key for authentication (format: sk_...)'
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.