---
title: "Registrar una compra calculando el IVA en el servidor"
method: POST
path: "/compras/registrar"
tags: ["compras"]
---

# Registrar una compra calculando el IVA en el servidor

`POST /compras/registrar`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/compras/registrar`
- Auth: HTTP bearer

Alta de compra a partir de la BASE imponible y el código de tarifa de la Tabla 18, no de las columnas ya calculadas. El servidor deriva las bases con el mismo `resolverBasesIva` que usa el parser de XML, de modo que un alta conversacional y una ingesta de XML producen cifras idénticas. Pensado para clientes que no deben hacer aritmética tributaria (el MCP). Para quien ya trae las cifras calculadas sigue existiendo `/compras/manual`.

## Request body

- object
  - `emisorId` string, uuid, required
  - `proveedorRuc` string, required
  - `proveedorRazonSocial` string
  - `tipoComprobante` string, required
  - `fechaEmision` string, date, required
  - `baseImponible` number, required
  - `codigoPorcentaje` string, required: Tabla 18 del SRI: '4'=15%, '0'=0%, '7'=exento… Consúltalos en /sri/catalogos.
  - `claveAcceso` string
  - `sustentoTributario` string

## Response `200`

Compra registrada (o duplicado por claveAcceso)

## Other responses

- `400`: Cuerpo inválido o validación de negocio (previene errores SRI 62/52/65/69/39)

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
