---
title: "Editar un comprobante contable"
method: PUT
path: "/journals/{id}"
tags: ["Comprobantes contables"]
---

# Editar un comprobante contable

`PUT /journals/{id}`

Endpoint que permite editar un comprobante contable

## Path parameters

- `id` integer, required

## Request body

- JournalsUpdateRequestBody
  - `date` string — Fecha del comprobante contable. Formato yyyy-mm-dd.
  - `reference` string — Referencia del comprobante contable. Longitud máxima permitida 255
  - `observations` string — Observaciones del comprobante contable. Longitud máxima permitida 500
  - `client` union — Objecto que contiene el id del cliente asociado al comprobante contable. Se puede enviar directamente el id del cliente en este atributo.
    - object
    - string
  - `employee` union — Objecto que contiene el id del cliente asociado al comprobante contable. Se puede enviar directamente el id del cliente en este atributo.
    - object
    - string
  - `numberTemplate` union — Numeración del comprobante contable. Se puede enviar el id de la numeración directamente como string (formato "ABCDEFGHIKLMN123ABCD") o dentro de un objeto con la propiedad `id`.
    - string
    - object
      - `id` string — Id de la numeración a asociar en el comprobante. Formato "ABCDEFGHIKLMN123ABCD".
  - `entries` JournalEntry[], required — Array de objetos entry asociados al comprobante contable. Cada objeto debe incluir: `id (number, obligatorio)`: identificador de la cuenta contable que se desea ajustar; `description (string)`: descripción adicional del entry para el comprobante; `debit (double)` : monto a debitar de la cuenta contable en el comprobante; `credit (double)`: monto a acreditar de la cuenta contable en el comprobante; `client (mixed)`: Id del cliente, puede ser un objeto con la propiedad id o un integer directamente; `costCenter (mixed)`: Id del centro de costo, puede enviarse como objeto o como integer. Cada entry sólo debe incluir un monto en `debit` o `credit`, no en ambos. Si la cuenta contable está habilitada para **super asiento** (cuentas por cobrar, cuentas por pagar, anticipos, etc.), también puede incluir `associatedDocument` para asociar la línea a un documento ya existente en Alegra o `newDocument` para crear un documento contable a partir de la línea.
    - `id` number — Id de la cuenta contable
    - `description` string — Descripción de la cuenta contable
    - `debit` number — Monto del débito. Si se coloca no debe ir el campo credit
    - `credit` number — Monto del crédito. Si se coloca no debe ir el campo debit
    - `client` union — Objecto que contiene el id del cliente asociado al comprobante contable. Se puede enviar directamente el id del cliente en este atributo.
      - object
      - string
    - `costCenter` union — Objecto que contiene el id del centro de costo asociado al comprobante contable. Se puede enviar directamente el id en este atributo.
      - string
      - object
    - `associatedDocument` JournalAssociatedDocument — Permite asociar una línea del comprobante a un documento contable que ya existe en Alegra (super asiento). Sólo aplica para cuentas habilitadas como cuentas por cobrar, cuentas por pagar o anticipos. Tanto `idResource` como `resourceType` son obligatorios cuando se envía este objeto.
      - `idResource` integer, required — Id local del documento que se quiere asociar a la línea del comprobante.
      - `resourceType` 'invoice' | 'bill' | 'creditNote' | 'debitNote' | 'incomeDebitNote' | 'advance_in' | 'journal' | 'account' | 'opening-balance', required — Tipo del documento asociado.
      - `affectedDocument` object — Documento que se ve afectado por la asociación (por ejemplo, cuando una línea de un comprobante afecta otro comprobante existente). Si se envía, ambos campos son obligatorios.
        - `idResource` integer, required — Id local del documento afectado.
        - `resourceType` 'invoice' | 'bill' | 'creditNote' | 'debitNote' | 'incomeDebitNote' | 'journal', required — Tipo del documento afectado.
    - `newDocument` JournalNewDocument — Permite crear un nuevo documento contable a partir de la línea del comprobante (super asiento). Sólo aplica para cuentas habilitadas como cuentas por cobrar, cuentas por pagar o anticipos recibidos. Los campos `number`, `resourceType`, `date` y `total` siempre son obligatorios cuando se envía este objeto. El campo `dueDate` es **obligatorio** cuando la línea corresponde a una cuenta por cobrar con monto en `debit` o a una cuenta por pagar con monto en `credit`; en cualquier otro caso es opcional.
      - `number` string, required — Número o consecutivo del documento que soporta esta cuenta contable.
      - `resourceType` 'v_document', required — Tipo del documento que se va a crear a partir de la línea, debe ser `v_document` para todos los casos; el sistema determina automáticamente el tipo definitivo según la cuenta contable.
      - `date` string, date, required — Fecha del nuevo documento en formato YYYY-MM-DD. No puede ser anterior al 01/01/2000.
      - `total` number, required — Valor total del nuevo documento. Debe ser consistente con el monto débito/crédito de la línea.
      - `dueDate` string, date — Fecha de vencimiento del nuevo documento en formato YYYY-MM-DD. **Obligatorio** cuando la línea corresponde a una cuenta por cobrar con monto en `debit` o a una cuenta por pagar con monto en `credit` (genera el plazo de pago del documento creado). En el resto de casos (anticipos recibidos, otras cuentas habilitadas para super asiento) es opcional. Debe ser igual o posterior a `date`.

## Response `200`

200 OK

- Journal
  - `id` string
  - `entries` AbstractEntry[]
    - `id` string
    - `client` Client
      - `id` string
      - `name` string
      - `identification` string
      - `email` string
      - `phonePrimary` string
      - `phoneSecondary` string
      - `fax` string
      - `mobile` string
      - `observations` string
      - `status` 'active' | 'inactive'
      - `type` string[]
      - `address` object — Dirección del cliente, varia segun pais, consultar detalle de contactos para más información
      - `seller` object — Datos del vendedor. Si no es vendedor es nulo
      - `term` object
      - `priceList` object — Lista de precio asociada si la hay
      - `internalContacts` object
    - `name` string
    - `description` string
    - `debit` number
    - `credit` number
    - `costCenter` CostCenter
      - `code` string
      - `description` string
      - `name` string
      - `status` 'active' | 'inactive'
  - `client` Client
    - `id` string
    - `name` string
    - `identification` string
    - `email` string
    - `phonePrimary` string
    - `phoneSecondary` string
    - `fax` string
    - `mobile` string
    - `observations` string
    - `status` 'active' | 'inactive'
    - `type` string[]
    - `address` object — Dirección del cliente, varia segun pais, consultar detalle de contactos para más información
    - `seller` object — Datos del vendedor. Si no es vendedor es nulo
    - `term` object
    - `priceList` object — Lista de precio asociada si la hay
    - `internalContacts` object
  - `employee` Client
    - `id` string
    - `name` string
    - `identification` string
    - `email` string
    - `phonePrimary` string
    - `phoneSecondary` string
    - `fax` string
    - `mobile` string
    - `observations` string
    - `status` 'active' | 'inactive'
    - `type` string[]
    - `address` object — Dirección del cliente, varia segun pais, consultar detalle de contactos para más información
    - `seller` object — Datos del vendedor. Si no es vendedor es nulo
    - `term` object
    - `priceList` object — Lista de precio asociada si la hay
    - `internalContacts` object
  - `date` string — Fecha en formato YYYY-MM-DD
  - `observations` string
  - `references` string
  - `status` 'open' | 'void'
  - `total` number

## Other responses

- `400` — 404 Bad Request
- `401` — Información de autenticación no enviada o es inválida

---

[API](https://skmtc.net/alegra/apis/ingresos.md) · [All operations](https://skmtc.net/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/ingresos/revisions/cd52d3f68f1b/schema)
