---
title: "Crear documento de compra"
method: POST
path: "/api/v1/compra/crearCompra"
tags: ["Compras"]
---

# Crear documento de compra

`POST /api/v1/compra/crearCompra`

<div id='DatosCrear'><p>Crear documento de compra</p><div id='post'><span></span>https://api.worldoffice.cloud/api/v1/compra/crearCompra</div>Registra el documento de compra ingresado con los siguientes campo:<br><cite>fecha</cite> -> Fecha del documento formato YYYY-MM-DD,<br><cite>prefijo</cite> -> ID del prefijo que se puede consultar del servicio listarPrefijoDocumento,<br><cite>concepto</cite> -> Concepto del documento,<br><cite>documentoTipo</cite> -> Codigó de documento registrado (FC -> Factura Compra, REMC -> Remision de Compra, OC -> Orden Compra, DREMC -> Devoluciones de Remisiones de Compra, NDC -> Nota Débito de Compra, NCC -> Notas Crédito de Compra),<br><cite>idEmpresa</cite> -> ID empresa registrada,<br><cite>idTerceroExterno</cite> -> ID tercero registrado,<br><cite>idTerceroInterno</cite> -> ID tercero registrado,<br><cite>idFormaPago</cite> -> ID forma de pago registrado,<br><cite>idMoneda</cite> -> ID moneda registrada,<br><cite>idDocumentoMotivosGeneracion</cite> -> Para los documentos de Notas id motivo generacion,<br><cite>idClasificacion</cite> -> Para los documentos de Notas id clasificacion registrada,<br><cite>porcentajeDescuento</cite> -> Campo booleano <b>Verdadero</b> Si el descuento es calculado por un porcentaje,<br><cite>porcentajeTodosRenglones</cite> -> Campo booleano <b>Verdadero</b> Si el descuento aplica para todos los detalles,<br><cite>valDescuento</cite> -> Valor que se descuenta a los detalles ingresado,<br><cite>numeroExterno</cite> -> Numero del documento externo del proveedor,<br><cite>prefijoExterno</cite> -> Prefijo del documento externo del proveedor,<br><dl><dt><cite>renglones</cite> -> Arreglo de los detalles de la factura que se van a registrar,</dt><dd>idInventario -> ID inventario registrado del detalle,</dd><dd>unidadMedida -> Codigo de unidad de medida,</dd><dd>cantidad -> Cantidad del detalle,</dd><dd>valorUnitario -> Valor unitario del detalle,</dd><dd>valorTotal -> Valor total de detalle,</dd><dd>idBodega -> ID bodega del detalle,</dd><dd>idCentroCosto -> ID centro de costro,</dd><dd>concepto -> Concepto de detalle ,</dd><dd>porDescuento -> porcentaje de descuento del detalle si aplica,</dd></dl><cite>idFactura</cite> -> En caso de cruce de documento, ID documento a cruzar aplica para documentos tipo nota,<br><cite>idDetalles</cite> -> ID detalles de los movimientos de inventario del documento a cruzar,<br>Petici&oacute;n de servicio:<br><pre>{<br>  fecha: Date,<br>  prefijo: integer,<br>  documentoTipo: String,<br>  idEmpresa: integer,<br>  idTerceroExterno: integer,<br>  idTerceroInterno: integer,<br>  idFormaPago: integer,<br>  idMoneda: integer,<br>  trm: integer,<br>  porcentajeDescuento: boolean,<br>  porcentajeTodosRenglones: boolean,<br>  valDescuento: integer,<br>  reglones: [<br>    {<br>      idInventario: number,<br>      unidadMedida: String,<br>      cantidad: number,<br>      valorUnitario: number,<br>      idBodega: integer,<br>      porDescuento: number,<br>      concepto: String<br>    }<br>  ],<br>  idFactura: integer,<br>  idDetalles: [integer]<br>}</pre><br>Respuesta en el data de la petici&oacute;n:<pre>data: {<br>  id: integer,<br>  fecha: string,<br>  numero: integer,<br>  prefijo: {<br>    id: integer,<br>    nombre: string,<br>    descripcion: string<br>  },<br>  documentoTipo: {<br>    id: integer,<br>    codigoDocumento: string,<br>    nombreDocumento: string<br>  },<br>  empresa: {<br>    id: integer,<br>    nombre: string,<br>    prefijo: string,<br>    identificacion: string,<br>    digitoVerificacion: integer,<br>    digitoVerificacionGenerado: boolean,<br>    senPrincipal: boolean,<br>    numeroEstablecimientos: integer,<br>    tercero: {<br>      id: integer,<br>      terceroTipoIdentificacion: {<br>        id: integer,<br>        abreviatura: string,<br>        nombre: string,<br>        codigo: string,<br>        senEsEmpresa: boolean,<br>        senManejaDV: boolean,<br>        ubicacionPais: {<br>          id: integer,<br>          nombre: string,<br>          codigo: string,<br>          codAlterno: string<br>        }<br>      },<br>      identificacion: string,<br>      digitoVerificacion: integer,<br>      digitoVerificacionGenerado: boolean,<br>      primerNombre: string,<br>      segundoNombre: string,<br>      primerApellido: string,<br>      segundoApellido: string,<br>      nombreCompleto: string,<br>      ciudad: {<br>        id: integer,<br>        nombre: string,<br>        codigo: string,<br>        senSistema: boolean,<br>        ubicacionDepartamento: {<br>          id: integer,<br>          nombre: string,<br>          codigo: string,<br>          senSistema: boolean,<br>          ubicacionPais: {<br>            id: integer,<br>            nombre: string,<br>            codigo: string,<br>            codAlterno: string<br>          }<br>        }<br>      },<br>      codigo: string,<br>      senActivo: boolean,<br>      senManejaNomina: boolean,<br>      atributos: boolean,<br>      tarifaICA: integer,<br>      aplicaICAVentas: boolean,<br>      terceroTipos: [<br>        {<br>          id: integer,<br>          codigo: string,<br>          nombre: string<br>        }<br>      ]<br>    },<br>    ubicacionCiudad: {<br>      id: integer,<br>      nombre: string,<br>      codigo: string,<br>      senSistema: boolean,<br>      ubicacionDepartamento: {<br>        id: integer,<br>        nombre: string,<br>        codigo: string,<br>        senSistema: boolean,<br>        ubicacionPais: {<br>          id: integer,<br>          nombre: string,<br>          codigo: string,<br>          codAlterno: string<br>        }<br>      }<br>    },<br>    infoTributariaAdicional: string,<br>    responsabilidadFiscal: [<br>      {<br>        id: integer,<br>        codigo: string,<br>        significado: string<br>      }<br>    ]<br>  },<br>  terceroExterno: {<br>    id: integer,<br>    nombreCompleto: string,<br>    primerNombre: string,<br>    segundoNombre: string,<br>    primerApellido: string,<br>    segundoApellido: string,<br>    terceroTipoIdentificacion: string,<br>    identificacion: string,<br>    terceroTipoContribuyente: string,<br>    terceroClasificacionAdministradorImpuesto: string,<br>    terceroTipos: [<br>      {<br>        id: integer,<br>        codigo: string,<br>        nombre: string<br>      }<br>    ],<br>    senCupoCredito: boolean,<br>    terceroVendedorPredeterminado: {<br>      id: integer,<br>      nombreCompleto: string,<br>      primerNombre: string,<br>      segundoNombre: string,<br>      primerApellido: string,<br>      segundoApellido: string,<br>      terceroTipoIdentificacion: string,<br>      identificacion: string<br>    },<br>    formaPagoPredeterminada: {<br>      id: integer,<br>      codigo: string,<br>      nombre: string,<br>      senManejaCupoCredito: boolean<br>    },<br>    listaPrecioPredeterminada: {<br>      id: integer,<br>      nombre: string<br>    }<br>  },<br>  terceroInterno: {<br>    id: integer,<br>    nombreCompleto: string,<br>    primerNombre: string,<br>    segundoNombre: string,<br>    primerApellido: string,<br>    segundoApellido: string,<br>    terceroTipoIdentificacion: string,<br>    identificacion: string<br>  },<br>  direccionTerceroExterno: {<br>    id: integer,<br>    direccion: string,<br>    ciudad: string,<br>    telefonoPrincipal: string,<br>    sucursal: string,<br>    senPrincipal: boolean<br>  },<br>  formaPago: {<br>    id: integer,<br>    codigo: string,<br>    nombre: string,<br>    senManejaCupoCredito: boolean<br>  },<br>  moneda: {<br>    id: integer,<br>    codigo: string,<br>    nombre: string,<br>    separadorDecimales: string,<br>    separadorMiles: string,<br>    cantidadDecimales: integer,<br>    simbolo: string,<br>    tieneTRM: boolean<br>  },<br>  concepto: string,<br>  trm: integer,<br>  senContabilizado: boolean,<br>  documentoEncabezadosEstados: [<br>    {<br>      id: integer,<br>      codigo: String,<br>      nombre: string<br>    }<br>  ],<br>  numeroExterno: string,<br>  prefijoExterno: string,<br>  docAsociado: {<br>    id: integer,<br>    prefijo: {<br>      id: integer,<br>      nombre: string,<br>      descripcion: string<br>    },<br>    numero: integer,<br>    fecha: string,<br>    moneda: {<br>      id: integer,<br>      codigo: string,<br>      nombre: string,<br>      separadorDecimales: string,<br>      separadorMiles: string,<br>      cantidadDecimales: integer,<br>      simbolo: string,<br>      tieneTRM: boolean<br>    },<br>    documentoTipo: {<br>      id: integer,<br>      codigoDocumento: string,<br>      nombreDocumento: string<br>    },<br>    trm: integer,<br>    versionFe: integer,<br>    cufe: string<br>  },<br>  documentoMotivoGeneracion: {<br>    id: integer,<br>    codigo: string,<br>    motivo: string<br>  },<br>  documentoTipoNotaCredito: {<br>    id: integer,<br>    codigo: string,<br>    tipoNotaCredito: string,<br>    efectoEnInventario: integer<br>  },<br>  tieneRenglones: boolean,<br>  senGenerado: boolean,<br>  elaboradoPor: {<br>    id: integer,<br>    nombres: string<br>  },<br>  tieneResolucionElectronica: boolean,<br>  atributosRequeridos: boolean,<br>  atributosEncabezado: boolean,<br>  atributosRenglones: boolean,<br>  historialPrefijoPos: {<br>    numero: integer,<br>    nombrePrefijo: string<br>  }<br>}</pre></div>

## Request body

- CrearDocumentoEncabezadoPojo — Datos de la compra
  - `id` integer
  - `fecha` string, required
  - `prefijo` integer, required
  - `concepto` string
  - `documentoTipo` string, required
  - `idEmpresa` integer, required
  - `idTerceroExterno` integer, required
  - `idTerceroInterno` integer, required
  - `idFormaPago` integer, required
  - `idMoneda` integer, required
  - `idDocumentoMotivosGeneracion` integer
  - `trm` number
  - `numeroExterno` string
  - `prefijoExterno` string
  - `reglones` CrearDocumentoMovimientoInventarioPojo[], required
    - `id` integer
    - `idInventario` integer, required
    - `unidadMedida` string, required
    - `cantidad` number, required
    - `valorUnitario` number, required
    - `valorTotal` number
    - `idBodega` integer, required
    - `idCentroCosto` integer, required
    - `concepto` string
    - `porDescuento` number
    - `obsequio` boolean
    - `valorTotalRenglon` number
  - `idFactura` integer
  - `idDetalles` integer[]
  - `idClasificacion` integer
  - `porcentajeDescuento` boolean
  - `porcentajeTodosRenglones` boolean
  - `valDescuento` number

## Response `201`

Registros exito de la compra

## Other responses

- `400` — No se puede crear la compra
- `403` — No se puede crear la compra
- `409` — Conflict
- `500` — Error interno del servidor

---

[API](https://skmtc.dev/worldoffice/apis/world-office-api.md) · [All operations](https://skmtc.dev/worldoffice/apis/world-office-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/worldoffice/world-office-api/revisions/ab962606cb0a/schema)
