---
title: "Registrar un cobro, un pago, un cruce de cuentas, un ingreso o un egreso"
method: POST
path: "/tesoreria/movimientos"
tags: ["tesoreria"]
---

# Registrar un cobro, un pago, un cruce de cuentas, un ingreso o un egreso

`POST /tesoreria/movimientos`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/tesoreria/movimientos`
- Auth: HTTP bearer

Un cobro o un pago contra un banco o una caja, aplicado a documentos con saldo de un mismo tercero; lo que no se aplique es un anticipo del tercero y se declara en `anticipo`, que tiene que ser exactamente el importe menos lo aplicado. Sin documentos, el movimiento es entero un anticipo y lleva `tercero`. Un cruce (`sentido: cruce`) compensa sin banco lo que un tercero debe como cliente con lo que se le debe como proveedor: documentos de los dos lados, cada lado por el importe, y se guarda con la forma de pago 15. Ningún documento recibe más de lo que debe. La fecha no puede ser posterior a hoy, ni anterior al inicio de la contabilidad o a la emisión de los documentos, ni caer en un mes cerrado. Con la contabilización automática encendida se asienta al registrarse; si el asiento no sale, el movimiento queda registrado igual y aparece entre los pendientes de contabilizar. **Ingreso y egreso** (módulo 17): dinero que entra o sale de un banco o una caja sin documento, contra una cuenta contable (`contrapartidaCuentaId`, obligatoria si el emisor tiene plan de cuentas; ver `GET /tesoreria/contrapartidas`) y con su clase del flujo de efectivo (`claseFlujo`; sin ella, «otros cobros» u «otros pagos» de operación, ver `GET /tesoreria/clases-flujo`). Llevan `cuentaTesoreriaId` y `formaPago`, no llevan `aplicaciones` ni `anticipo`, y `tercero` es opcional. Sin plan de cuentas no se asientan.

## Request body

- object
  - `emisorId` string, uuid, required
  - `sentido` 'cobro' | 'pago' | 'cruce' | 'ingreso' | 'egreso', required
  - `fecha` string, date, required
  - `importe` number, required
  - `cuentaTesoreriaId` string, uuid, nullable: Obligatorio en un cobro o un pago; un cruce no lleva
  - `formaPago` string, nullable: Código vigente de la Tabla 24 del SRI. Obligatorio en un cobro o un pago; un cruce no lleva
  - `referencia` string, nullable: Número de la transferencia o del cheque
  - `nota` string, nullable
  - `aplicaciones` object[], required
    - `documentoTipo` 'comprobante' | 'compra' | 'apertura', required: El `origen` del documento en la lista de saldos. `apertura`: un documento de apertura (`GET /contabilidad/saldos-iniciales/documentos`).
    - `documentoId` string, uuid, required
    - `importe` number, required
  - `anticipo` number: Lo que queda a favor del tercero: el importe menos lo aplicado
  - `tercero` object, nullable: A quién. En un cobro o un pago, obligatorio sin documentos; con documentos sale de ellos y, si llega, tiene que coincidir. En un ingreso o un egreso, opcional.
    - `tipo` string, required: Tabla 6 del SRI, salvo el 07 consumidor final
    - `identificacion` string, required
    - `nombre` string, required
  - `contrapartidaCuentaId` string, uuid, nullable: Ingreso o egreso: la cuenta contable del otro lado del asiento. Activa, que reciba movimientos y distinta de la del banco o la caja
  - `claseFlujo` string, nullable: Ingreso o egreso: código del plan de la SCVS de `GET /tesoreria/clases-flujo`

## Response `201`

El movimiento registrado, con sus aplicaciones

- DetalleMovimientoTesoreria
  - `id` string, uuid, required
  - `sentido` 'cobro' | 'pago' | 'cruce' | 'ingreso' | 'egreso' | 'transferencia', required
  - `fecha` string, date, required
  - `importe` number, required
  - `estado` 'registrado' | 'anulado', required
  - `formaPago` string, nullable, required: Tabla 24 del SRI; 15 en un cruce y `null` en una transferencia
  - `referencia` string, nullable, required
  - `nota` string, nullable, required
  - `cuenta` object, nullable, required: El banco o la caja; de donde sale una transferencia. `null` en un cruce.
    - `id` string, uuid, required
    - `nombre` string, required
    - `tipo` 'banco' | 'caja', required
  - `tercero` object, nullable, required: De quién se cobró, a quién se pagó o con quién se cruzó. `null` si su identificación tiene una supresión vigente (LOPDP).
    - `tipo` string, nullable, required: Tabla 6 del SRI
    - `identificacion` string, required
    - `nombre` string, nullable, required
  - `documentos` integer, required: A cuántos documentos se aplicó, contando solo lo vivo
  - `asientoId` string, uuid, nullable, required: Su asiento, si ya está en el libro
  - `anuladoEl` string, date, nullable, required
  - `motivoAnulacion` string, nullable, required
  - `aplicado` number, required: Lo aplicado hoy a documentos
  - `disponible` number, required: Lo que le queda sin aplicar: su anticipo disponible. Cero en todo lo que no es un cobro o un pago
  - `cuentaDestino` object, nullable, required: Adonde llega una transferencia. `null` en lo demás
    - `id` string, uuid, required
    - `nombre` string, required
    - `tipo` 'banco' | 'caja', required
  - `contrapartida` object, nullable, required: La cuenta contable de un ingreso o de un egreso
    - `id` string, uuid, required
    - `codigo` string, required
    - `nombre` string, required
  - `claseFlujo` string, nullable, required: Clase del flujo de efectivo, un código del plan de la SCVS. `null` en un cruce y en una transferencia
  - `depositoId` string, uuid, nullable, required: El depósito (una transferencia) que llevó este cobro al banco
  - `claseFlujoNombre` string, nullable, required: El nombre de esa clase en el plan de la SCVS
  - `esDeposito` boolean, required: Una transferencia que depositó cobros de una caja. Lo sigue siendo anulada
  - `depositoFecha` string, date, nullable, required: La fecha de ese depósito
  - `emisorId` string, uuid, required
  - `asientoAnulacionId` string, uuid, nullable, required: El inverso que dejó la anulación, si ya está en el libro
  - `aplicaciones` object[], required: Todas, también las deshechas
    - `id` string, uuid, required
    - `documentoTipo` 'comprobante' | 'compra' | 'apertura', required: `apertura`: un documento de apertura (`GET /contabilidad/saldos-iniciales/documentos`).
    - `documentoId` string, uuid, required
    - `lado` 'cobrar' | 'pagar', required: Lo que te deben o lo que debes
    - `tipoComprobante` string, required
    - `numero` string, required
    - `fechaEmision` string, date, required
    - `importe` number, required: Lo que este movimiento le aplicó
    - `fecha` string, date, required: El día que se aplicó
    - `diferida` boolean, required: Un anticipo aplicado después del registro: se deshace sola
    - `anuladaEl` string, date, nullable, required: Cuándo se deshizo
    - `asientoId` string, uuid, nullable, required: El asiento propio de una aplicación diferida
  - `cobrosDepositados` object[], required: Los cobros que deposita una transferencia. Vacío en lo demás, y al anularse el depósito
    - `id` string, uuid
    - `fecha` string, date
    - `importe` number
    - `referencia` string, nullable
    - `tercero` object, nullable
      - `tipo` string, nullable
      - `identificacion` string
      - `nombre` string, nullable

## Other responses

- `400`: Cuerpo inválido o validación de negocio (previene errores SRI 62/52/65/69/39)
- `402`: La cuenta no tiene el módulo `tesoreria`
- `403`: Token/key ausente, inválido o expirado

---

[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)
