---
title: "Registrar comprobante de gasto"
method: POST
path: "/v2/gastos"
tags: ["Gastos"]
---

# Registrar comprobante de gasto

`POST /v2/gastos`

## Request

- Base URL: `https://erp.duxsoftware.com.ar/WSERP/rest/services`
- URL: `https://erp.duxsoftware.com.ar/WSERP/rest/services/v2/gastos`
- Auth: HTTP bearer

Registra un comprobante de gasto (factura, nota de crédito u otro tipo) asociado a un proveedor. Permite incluir percepciones y observaciones. Devuelve el comprobante creado con su identificador.

## Request body

- V2CrearGastoRequest: El IVA por línea y el total se calculan a partir del porcentaje configurado en cada producto. porc_iva es opcional por línea; si se envía, sobrescribe el valor del producto cuando la cuenta lo tiene habilitado.
  - `id_empresa` integer: ID de la empresa. Opcional si el Dux del token tiene una sola empresa; si tiene más de una es obligatorio (consultá GET /v2/empresas).
  - `id_sucursal` integer, required
  - `fecha` string, required
  - `fecha_vencimiento` string
  - `fecha_imputacion_contable` string
  - `nro_comprobante` string, required: Número del comprobante. El primer carácter es la letra del comprobante (por ejemplo A0005-00218548) y debe ser coherente con tipo_comprobante y con la condición del proveedor frente al IVA. Los tipos sin letra (OTROS_COMPROBANTES_FISCALES_EXCLUIDOS, DESPACHO_IMPORTACION y COMPROBANTE_COMPRA) llevan el número sin letra inicial.
  - `tipo_comprobante` string, required: Tipo de comprobante, en mayúsculas y con guion bajo (por ejemplo FACTURA, no "FACTURA A"). La letra del comprobante no va en este campo: se toma del primer carácter de nro_comprobante. Valores aceptados: FACTURA y TIQUE_FACTURA (la letra de nro_comprobante debe ser A, B o M si el proveedor es Responsable Inscripto, o C si es Exento o Monotributista); OTROS_COMPROBANTES_FISCALES_A, OTROS_COMPROBANTES_FISCALES_B y OTROS_COMPROBANTES_FISCALES_C (la letra de nro_comprobante debe coincidir con el sufijo; el tipo _C no se admite con proveedor Responsable Inscripto); OTROS_COMPROBANTES_FISCALES_EXCLUIDOS (sin letra, solo dígitos, hasta 20 caracteres); FACTURA_EXTERIOR (letra E, hasta 20 caracteres); DESPACHO_IMPORTACION (sin letra); COMPROBANTE_COMPRA (sin letra, hasta 100 caracteres).
  - `id_proveedor` integer, required
  - `id_personal` integer, required
  - `condicion_pago` string: Obligatoria si tu cuenta está configurada para exigir condición de pago.
  - `productos` CrearGastoRequestV2GastoProducto[], required
    - `cod_item` string, required
    - `ctd` number, double, required
    - `precio_unitario` number, double, required
    - `porc_descuento` number, double
    - `impuesto_interno` number, double
    - `observaciones` string
    - `id_centro_costo` integer
    - `porc_iva` number, double: Alícuota de IVA de la línea. Si se omite, se aplica el porcentaje de IVA configurado en el producto.
  - `percepciones` CrearGastoRequestV2GastoPercepcion[]
    - `id_percepcion_impuesto` integer
    - `porc_percepcion` number, double
    - `importe` number, double
    - `observaciones` string
  - `observaciones` string

## Response `201`

Creado

- ApiResponseV2GastoCreadoResponse
  - `datos` V2GastoCreadoResponse
    - `id_gasto` integer
    - `id_empresa` integer
    - `id_sucursal` integer
    - `nro_comprobante` string
    - `fecha` string
    - `fecha_vencimiento` string
    - `fecha_imputacion_contable` string
    - `condicion_pago` string
    - `forma_pago` string
    - `proveedor` CompraResponseProveedorDto
      - `id_proveedor` integer
      - `razon_social` string
    - `personal` CompraResponsePersonalDto
      - `id_personal` integer
      - `nombre` string
    - `montos` CompraResponseMontosDto
      - `monto_gravado` number, double
      - `monto_exento` number, double
      - `monto_iva` number, double
      - `monto_descuento` number, double
      - `monto_percepciones` number, double
      - `total` number, double
      - `monto_aplicado` number, double
      - `monto_pendiente` number, double
      - `moneda` string
    - `provincia` string
    - `creado_en` string
  - `paginacion` Paginacion
    - `total` integer
    - `offset` integer
    - `limit` integer
    - `hay_mas` boolean
  - `id_solicitud` string

## Other responses

- `400`: Validación
- `401`: No autorizado
- `403`: Prohibido
- `429`: Límite de peticiones
- `500`: Error interno

---

[API](https://skmtc.dev/duxsoftware/apis/dux-api-v2-base-de-datos.md) - [All operations](https://skmtc.dev/duxsoftware/apis/dux-api-v2-base-de-datos/llms.txt) - [OpenAPI document](https://skmtc.dev/duxsoftware/apis/dux-api-v2-base-de-datos/revisions/2cd294bb7540?raw)
