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

# Actualizar factura (solo en estado DRAFT)

> Operacion: Actualizar factura (solo en estado DRAFT).



## OpenAPI

````yaml /generated/specs/finance.json patch /api/v1/billing/invoices/{id}
openapi: 3.0.0
info:
  title: Raul API - Finanzas
  description: >-
    Facturas, boletas, ejecuciones de billing, cuentas por pagar y medios de
    pago.
  version: 2.0.0
  contact: {}
servers:
  - url: https://api.raul.ugps.io
    description: Production
security: []
tags: []
paths:
  /api/v1/billing/invoices/{id}:
    patch:
      tags:
        - Invoices
      summary: Actualizar factura (solo en estado DRAFT)
      description: 'Operacion: Actualizar factura (solo en estado DRAFT).'
      operationId: InvoiceCommandController_update
      parameters:
        - name: id
          required: true
          in: path
          description: UUID de la factura
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInvoiceDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponseDto'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateInvoiceDto:
      type: object
      properties:
        receiver_rut:
          type: string
          description: RUT del receptor
        receiver_address:
          type: string
          description: Dirección del receptor
        receiver_ciudad:
          type: string
          description: Ciudad del receptor
        receiver_comuna:
          type: string
          description: Comuna del receptor
        receiver_giro:
          type: string
          description: Giro del receptor
        payment_terms_days:
          type: number
          description: Días de plazo de pago
          default: 10
        concept:
          type: string
          description: Concepto / descripción general
        internal_notes:
          type: string
          description: Notas internas
        public_notes:
          type: string
          description: Notas públicas
        dte_type:
          type: string
          description: 'Tipo de documento DTE: FACTURA o BOLETA'
        billing_client_id:
          type: string
          description: >-
            UUID de la empresa legal receptora. Solo se puede modificar en
            borradores.
        receiver_name:
          type: string
          description: Nombre del receptor
        receiver_email:
          type: string
          description: Email del receptor
        issue_date:
          type: string
          description: Fecha de emisión (YYYY-MM-DD)
        due_date:
          type: string
          description: Fecha de vencimiento (YYYY-MM-DD)
        line_items:
          description: >-
            Líneas de detalle (reemplaza todas las existentes). Omitir para no
            modificar.
          type: array
          items:
            $ref: '#/components/schemas/CreateInvoiceLineItemDto'
        tax_amount_override:
          type: object
          description: >-
            Override manual del monto de IVA (CLP). Usar cuando la OC usa
            redondeo distinto al estándar. Enviar null para borrar.
        total_amount_override:
          type: object
          description: >-
            Override manual del monto total (CLP). Usar cuando la OC usa
            redondeo distinto al estándar. Enviar null para borrar.
    InvoiceResponseDto:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        status:
          type: string
        client_id:
          type: object
        receiver_rut:
          type: object
        receiver_name:
          type: string
        receiver_email:
          type: object
        receiver_address:
          type: object
        receiver_ciudad:
          type: object
        receiver_comuna:
          type: object
        receiver_giro:
          type: object
        issue_date:
          type: string
          format: date-time
        due_date:
          type: string
          format: date-time
        subtotal:
          type: number
        discount_total:
          type: number
        net_amount:
          type: number
        tax_rate:
          type: number
        tax_amount:
          type: number
        total_amount:
          type: number
        tax_amount_override:
          type: object
        total_amount_override:
          type: object
        amount_paid:
          type: number
        client_credit_balance:
          type: number
          description: >-
            Saldo a favor disponible del cliente desde sobrepagos de otras
            facturas
        uf_value_at_creation:
          type: object
        folio_prefix:
          type: object
        folio_number:
          type: object
        internal_notes:
          type: object
        public_notes:
          type: object
        concept:
          type: object
        periodo:
          type: object
        payment_terms_days:
          type: number
        credit_note_for_id:
          type: object
        credit_note_reason:
          type: object
        factura_id:
          type: object
        invoice_type:
          type: string
        parent_client_id:
          type: object
        billing_client_id:
          type: object
        oc_number:
          type: object
        hes_number:
          type: object
        requires_oc:
          type: boolean
        requires_hes:
          type: boolean
        detail_xlsx_url:
          type: object
        last_dte_error:
          type: object
        dte_retry_count:
          type: number
        dte_local_status:
          type: object
          description: local_status del DTE más reciente (estado del XML ante el SII)
        sii_status_detail:
          type: object
          description: Detalle libre devuelto por el SII para el DTE más reciente
        created_by:
          type: object
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        deleted_at:
          type: object
      required:
        - id
        - type
        - status
        - receiver_name
        - issue_date
        - due_date
        - subtotal
        - discount_total
        - net_amount
        - tax_rate
        - tax_amount
        - total_amount
        - amount_paid
        - client_credit_balance
        - payment_terms_days
        - invoice_type
        - created_at
        - updated_at
    CreateInvoiceLineItemDto:
      type: object
      properties:
        description:
          type: string
          description: Descripción de la línea
        quantity:
          type: number
          description: Cantidad
          default: 1
        unit_price:
          type: number
          description: Precio unitario en CLP (entero)
        discount_pct:
          type: number
          description: Porcentaje de descuento (0-100)
          default: 0
        unit_price_uf:
          type: number
          description: Precio unitario en UF
        source_type:
          type: string
          description: 'Tipo de origen: subscription, visit, sale, other'
        source_id:
          type: string
          description: ID del recurso origen
        position:
          type: number
          description: Posición de la línea
          default: 0
      required:
        - description
        - quantity
        - unit_price
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Token de sesión Better Auth para rutas de backoffice; las rutas de
        portal usan su token propio.

````

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