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

# Crear nuevo gasto

> Operacion: Crear nuevo gasto.



## OpenAPI

````yaml /generated/specs/finance.json post /api/v1/expense/create
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/expense/create:
    post:
      tags:
        - Cuentas por Pagar - Gastos
      summary: Crear nuevo gasto
      description: 'Operacion: Crear nuevo gasto.'
      operationId: ExpenseController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExpenseDto'
      responses:
        '201':
          description: Gasto creado
        '400':
          description: Datos inválidos o duplicado
      security:
        - bearerAuth: []
components:
  schemas:
    CreateExpenseDto:
      type: object
      properties:
        supplier_id:
          type: string
          description: ID del proveedor
        category_id:
          type: string
          description: ID de la categoría
        folio:
          type: string
          description: >-
            Número de folio del documento. Opcional para proveedores
            internacionales.
        tipo_documento:
          type: string
          description: >-
            Tipo de documento (FACTURA, BOLETA, NOTA_CREDITO). Opcional cuando
            el gasto esta vinculado a una cuota de credito.
        monto_neto:
          type: number
          description: Monto neto
        monto_iva:
          type: number
          description: Monto IVA
        monto_total:
          type: number
          description: Monto total
        fecha_emision:
          type: string
          description: Fecha de emisión
        fecha_vencimiento:
          type: string
          description: Fecha de vencimiento
        fecha_pago:
          type: string
          description: >-
            Fecha de pago. Opcional; se usa principalmente para gastos
            vinculados a creditos.
        notas:
          type: string
          description: Notas adicionales
        archivo_adjunto:
          type: string
          description: URL del archivo adjunto
        credit_installment_id:
          type: string
          description: ID de la cuota de crédito a vincular
        employee_breakdown:
          description: Desglose por empleados (solo si requires_breakdown)
          type: array
          items:
            $ref: '#/components/schemas/BreakdownItemDto'
      required:
        - supplier_id
        - monto_neto
        - monto_iva
        - monto_total
        - fecha_emision
        - fecha_vencimiento
    BreakdownItemDto:
      type: object
      properties:
        employee_id:
          type: string
          description: ID del empleado
        amount:
          type: number
          description: Monto asignado al empleado
      required:
        - employee_id
        - amount
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication

````