> ## Documentation Index
> Fetch the complete documentation index at: https://a3erpapi.appcloud.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Asientos

> Nuevos endpoints de asientos contables. Versión 6.4

## Consulta de asientos

Nuevos endpoints para consultar los asientos.

<ParamField path="filtro" type="string">
  Filtro a aplicar sobre la consulta de asientos.
</ParamField>

<ParamField path="order" type="string">
  Criterio de ordenación de los resultados.
</ParamField>

<CodeGroup>
  ```http Todos theme={null}
  GET /api/asientos
  ```

  ```http Con filtro theme={null}
  GET /api/asientos/filtro/{filtro}
  ```

  ```http Con orden theme={null}
  GET /api/asientos/order/{order}
  ```

  ```http Con filtro y orden theme={null}
  GET /api/asientos/filtro/{filtro}/order/{order}
  ```
</CodeGroup>

## Alta de nuevos asientos

Nuevo endpoint para crear un asiento nuevo.

```http theme={null}
POST /api/asientos/crear
```

Se pueden indicar los parámetros que se muestran en el ejemplo. Los marcados como opcionales no son obligatorios.

### Cabecera

<ParamField body="fecha" type="string" required>
  Fecha del asiento en formato `dd/mm/aaaa`. Ejemplo: `13/11/2023`.
</ParamField>

<ParamField body="tipocont" type="string" required>
  Tipo de contabilidad. Ejemplo: `1`.
</ParamField>

<ParamField body="tipoasiento" type="string" required>
  Tipo de asiento. Ejemplo: `N`.
</ParamField>

<ParamField body="diario" type="string">
  Diario contable. Ejemplo: `general`. **Opcional**.
</ParamField>

<ParamField body="numdoc" type="string">
  Número de documento. Ejemplo: `123456`. **Opcional**.
</ParamField>

<ParamField body="apuntes" type="array" required>
  Lista de apuntes del asiento. Ver campos de cada apunte a continuación.
</ParamField>

### Apuntes

Cada elemento del array `apuntes` admite los siguientes campos:

<ParamField body="CodMon" type="string" required>
  Código de moneda. Ejemplo: `euro`.
</ParamField>

<ParamField body="Cuenta" type="string" required>
  Cuenta contable. Ejemplo: `70000001`.
</ParamField>

<ParamField body="Debe" type="string" required>
  Importe al debe. Ejemplo: `0`.
</ParamField>

<ParamField body="DebeMon" type="string">
  Importe al debe en moneda. **Opcional**.
</ParamField>

<ParamField body="Descripcion" type="string">
  Descripción del apunte. Ejemplo: `COBRO`. **Opcional**.
</ParamField>

<ParamField body="CodConcepto" type="string">
  Código de concepto. Ejemplo: `FV`. **Opcional**.
</ParamField>

<ParamField body="Haber" type="string" required>
  Importe al haber. Ejemplo: `417,99`.
</ParamField>

<ParamField body="HaberMon" type="string">
  Importe al haber en moneda. **Opcional**.
</ParamField>

<ParamField body="CentroCoste" type="string">
  Centro de coste 1. **Opcional**.
</ParamField>

<ParamField body="CentroCoste2" type="string">
  Centro de coste 2. **Opcional**.
</ParamField>

<ParamField body="CentroCoste3" type="string">
  Centro de coste 3. **Opcional**.
</ParamField>

<ParamField body="Texto" type="string">
  Texto libre del apunte. **Opcional**.
</ParamField>

<ParamField body="FechaValor" type="string">
  Fecha valor del apunte. **Opcional**.
</ParamField>

<RequestExample>
  ```json Ejemplo theme={null}
  {
    "fecha": "13/11/2023",
    "tipocont": "1",
    "tipoasiento": "N",
    "diario": "general",
    "numdoc": "123456",
    "apuntes": [
      {
        "CodMon": "euro",
        "Cuenta": "70000001",
        "Debe": "0",
        "DebeMon": "0",
        "Descripcion": "COBRO",
        "CodConcepto": "FV",
        "Haber": "417,99",
        "HaberMon": "417,99",
        "CentroCoste": "1",
        "CentroCoste2": "",
        "CentroCoste3": "",
        "Texto": "",
        "FechaValor": ""
      },
      {
        "CodMon": "euro",
        "Cuenta": "47700021",
        "Debe": "0",
        "DebeMon": "0",
        "Descripcion": "COBRO",
        "CodConcepto": "FV",
        "Haber": "87,78",
        "HaberMon": "87,78",
        "CentroCoste": "",
        "CentroCoste2": "",
        "CentroCoste3": "",
        "Texto": "",
        "FechaValor": ""
      },
      {
        "CodMon": "euro",
        "Cuenta": "43000005",
        "Debe": "505,77",
        "DebeMon": "505,77",
        "Descripcion": "COBRO",
        "CodConcepto": "FV",
        "Haber": "0",
        "HaberMon": "0",
        "CentroCoste": "",
        "CentroCoste2": "",
        "CentroCoste3": "",
        "Texto": "",
        "FechaValor": ""
      }
    ]
  }
  ```
</RequestExample>

## Modificación de asientos

Nuevo endpoint para modificar un asiento existente.

```http theme={null}
PUT /api/asientos/modificar/{numapunte}
```

<ParamField path="numapunte" type="string" required>
  Número del asiento a modificar.
</ParamField>

Se pueden indicar los parámetros que se muestran en el ejemplo. Los marcados como opcionales no son obligatorios.

<Warning>
  No se pueden indicar datos a modificar en la cabecera porque Nax no lo permite.
</Warning>

<Warning>
  La modificación elimina los apuntes existentes en ese asiento y los vuelve a crear. Hay que indicar **todos** los apuntes del asiento de la misma manera que en el alta.
</Warning>

Los campos de cada apunte son los mismos que en el [alta de asientos](#apuntes).

<RequestExample>
  ```json Ejemplo theme={null}
  [
    {
      "CodMon": "euro",
      "Cuenta": "70000001",
      "Debe": "0",
      "DebeMon": "0",
      "Descripcion": "COBRO",
      "CodConcepto": "FV",
      "Haber": "417,99",
      "HaberMon": "417,99",
      "CentroCoste": "1",
      "CentroCoste2": "",
      "CentroCoste3": "",
      "Texto": "",
      "FechaValor": ""
    },
    {
      "CodMon": "euro",
      "Cuenta": "47700021",
      "Debe": "0",
      "DebeMon": "0",
      "Descripcion": "COBRO",
      "CodConcepto": "FV",
      "Haber": "87,78",
      "HaberMon": "87,78",
      "CentroCoste": "",
      "CentroCoste2": "",
      "CentroCoste3": "",
      "Texto": "",
      "FechaValor": ""
    },
    {
      "CodMon": "euro",
      "Cuenta": "43000005",
      "Debe": "505,77",
      "DebeMon": "505,77",
      "Descripcion": "COBRO",
      "CodConcepto": "FV",
      "Haber": "0",
      "HaberMon": "0",
      "CentroCoste": "",
      "CentroCoste2": "",
      "CentroCoste3": "",
      "Texto": "",
      "FechaValor": ""
    }
  ]
  ```
</RequestExample>

## Desligar asientos

Nuevo endpoint para desligar un asiento de su cartera.

```http theme={null}
POST /api/asientos/desligar/{numapunte}
```

<ParamField path="numapunte" type="string" required>
  Número del asiento a desligar.
</ParamField>

## Borrar asientos

Nuevo endpoint para borrar un asiento.

```http theme={null}
DELETE /api/asientos/borrar/{numapunte}
```

<ParamField path="numapunte" type="string" required>
  Número del asiento a borrar.
</ParamField>

## Puntear asientos

Nuevo endpoint para puntear un asiento.

```http theme={null}
POST /api/asientos/puntear/{numapunte}
```

<ParamField path="numapunte" type="string" required>
  Número del asiento a puntear.
</ParamField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.