---
title: "Crea una orden de compra"
method: POST
path: "/v2/ordenes-compra"
tags: ["Ordenes de compra"]
---

# Crea una orden de compra

`POST /v2/ordenes-compra`

## Request

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

id_sucursal e id_personal son requeridos en el body; id_empresa es opcional si el Dux del token tiene una sola empresa. items[] es requerido y no puede estar vacío. Los montos de cabecera se calculan automáticamente; no los envíes. La respuesta incluye items[] con el detalle creado.

## Request body

- V2CrearOrdenCompraRequest: Se usa tanto para crear una orden de compra (POST, con el body completo) como para actualizarla (PUT, con body parcial: todos los campos son opcionales salvo items[]; cada línea de items[] admite remove=true para eliminarla).
  - `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
  - `id_personal` integer, required
  - `id_proveedor` integer, required
  - `fecha` string, required
  - `id_moneda` integer, required
  - `id_condicion_pago` integer
  - `observaciones` string
  - `lugar_entrega` string
  - `fecha_entrega` string
  - `fecha_vencimiento` string
  - `condiciones_entrega` string
  - `cotizacion_moneda` number, double
  - `cotizacion_dolar` number, double
  - `id_pedido` integer
  - `items` CrearOrdenCompraV2RequestV2CrearOrdenCompraItemRequest[], required
    - `cod_item` string, required
    - `ctd` number, double, required
    - `precio_uni` number, double, required
    - `porc_iva` number, double
    - `porc_desc` number, double
    - `id_det_item` integer
    - `descripcion` string: Descripción de la línea. Solo se puede definir al crear el ítem; no se puede modificar en una actualización posterior.
    - `comentarios` string
    - `id_centro_costo` integer
    - `remove` boolean: Solo se usa en la actualización (PUT): enviá true para eliminar esta línea existente.

## Response `201`

Creado

- ApiResponseOrdenCompraV2ResponseV2OrdenCompra
  - `datos` OrdenCompraV2ResponseV2OrdenCompra
    - `id_ord_compra` integer
    - `nro_ord_compra` integer
    - `id_empresa` integer
    - `id_sucursal` integer
    - `fecha` string
    - `fecha_entrega` string
    - `fecha_vencimiento` string
    - `fecha_registra` string
    - `estado` string
    - `estado_recepcion` string
    - `estado_facturacion` string
    - `anulado` boolean
    - `fecha_anula` string
    - `condicion_pago` string
    - `lugar_entrega` string
    - `condiciones_entrega` string
    - `observaciones` string
    - `id_pedido` integer
    - `cliente_pedido` string: Campo de respuesta.
    - `ctd_recibida` number, double
    - `ctd_facturada` number, double
    - `proveedor` OrdenCompraV2ResponseV2OrdenCompraProveedor
      - `id_proveedor` integer
      - `razon_social` string
      - `nombre_comercial` string
    - `personal` OrdenCompraV2ResponseV2OrdenCompraPersonal
      - `id_personal` integer
      - `nombre` string
    - `montos` OrdenCompraV2ResponseV2OrdenCompraMontos
      - `monto_exento` number, double
      - `monto_gravado` number, double
      - `monto_iva` number, double
      - `monto_desc` number, double
      - `total` number, double
      - `moneda` string
      - `cotizacion_moneda` number, double
    - `items` OrdenCompraV2ResponseV2OrdenCompraItem[]
      - `cod_item` string
      - `item` string
      - `ctd` number, double
      - `precio_uni` number, double
      - `porc_iva` number, double
      - `porc_desc` number, double
      - `id_det_item` integer
      - `comentarios` string
      - `ctd_recibida` number, double
      - `ctd_facturada` number, double
  - `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-compras.md) - [All operations](https://skmtc.dev/duxsoftware/apis/dux-api-v2-compras/llms.txt) - [OpenAPI document](https://skmtc.dev/duxsoftware/apis/dux-api-v2-compras/revisions/18d837637333?raw)
