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

# Consultar el reporte de IVA

> El IVA del período para la declaración, mensual o semestral: ventas y
compras por tarifa, las retenciones recibidas y emitidas, y si el
período deja IVA por pagar o crédito tributario.




## OpenAPI

````yaml /api-reference/openapi.yaml get /api/v1/accounts/{account_id}/reports/iva
openapi: 3.1.0
info:
  title: Tellen API
  version: 1.0.0
  description: |
    API REST de Tellen para facturación electrónica en Ecuador.

    Autentícate con un token de API (`Authorization: Bearer tellen_tk_...`) que
    generas desde tu cuenta de Tellen. Todas las solicitudes actúan sobre una
    cuenta, indicada por su identificador en la ruta:
    `/api/v1/accounts/{account_id}/...`.

    Normalmente ese identificador es el de tu propia cuenta. Si administras
    varias cuentas, usa el identificador de cada una para operar sobre ella. Si
    intentas acceder a una cuenta que no administras, la API responde `404`.
servers:
  - url: https://dashboard.tellen.app
    description: Producción
security:
  - bearerAuth: []
tags:
  - name: Cuentas
    description: Tu cuenta y, si administras varias, las cuentas que gestionas.
  - name: Resumen
    description: Las cifras del mes de una cuenta, lo vendido y comprado y lo que se debe.
  - name: Certificados
    description: >-
      Certificados de firma electrónica (.p12) usados para firmar documentos
      ante el SRI.
  - name: Contactos
    description: Clientes y proveedores de la cuenta.
  - name: Establecimientos
    description: Establecimientos (sucursales) de la cuenta, sincronizados desde el SRI.
  - name: Puntos de emisión
    description: >-
      Puntos de emisión por establecimiento, desde donde se emiten los
      comprobantes.
  - name: Productos
    description: >
      Catálogo de productos y servicios de la cuenta, con su configuración de

      impuestos e inventario.


      **Variantes.** Cada producto tiene al menos una variante interna. Un

      producto de un solo SKU se representa de forma plana (su variante por

      defecto es un detalle de implementación y no aparece en la respuesta), por

      lo que `variants` llega vacío. El arreglo `variants` solo lista variantes

      **con nombre** (talla, color, etc.), cuando existen.


      **Inventario.** El stock vive en las variantes, no en el producto; el
      campo

      `stock` es un consolidado de solo lectura sobre las variantes vendibles.

      Es `null` cuando el producto no controla inventario (todos los servicios,
      y

      los bienes con el control desactivado), lo que permite distinguir "no

      controla stock" de "controla stock, con 0 existencias".


      **El stock no se edita directamente.** Las existencias se mueven a través

      del kardex (entradas y salidas registradas por documentos autorizados,

      compras o ajustes), nunca escribiendo `stock_quantity`. Al **crear** un

      producto puedes fijar las existencias iniciales con `initial_stock`, que
      se

      registra como una entrada en el kardex. En una **actualización**,

      `initial_stock` se ignora.
  - name: Facturas
    description: Facturas de venta (comprobante electrónico 01).
  - name: Notas de crédito
    description: >-
      Notas de crédito (comprobante electrónico 04). Cada una acredita una
      factura autorizada.
  - name: Notas de débito
    description: >-
      Notas de débito (comprobante electrónico 05). Cada una carga a una factura
      autorizada, p. ej. intereses por mora o gastos de cobranza.
  - name: Cotizaciones
    description: |
      Cotizaciones (proformas) para tus clientes. No son comprobantes del SRI;
      se convierten en factura cuando el cliente acepta. Disponibles desde el
      plan Profesional.
  - name: Órdenes
    description: |
      Órdenes de tus clientes: acumulan abonos y se emiten como
      factura cuando los abonos cubren el total. No son comprobantes del SRI.
      Disponibles desde el plan Profesional.
  - name: Comprobantes recibidos
    description: |
      Comprobantes que te emitieron tus proveedores, tal como llegan del SRI.
      Por ahora, los que tienen detalle de productos: facturas, notas de
      crédito y liquidaciones de compra. Siempre son de producción.
  - name: Reportes
    description: |
      Los reportes de la web, con las mismas cifras. Los comprobantes emitidos
      siguen el ambiente de la cuenta (pruebas o producción); los recibidos del
      SRI no tienen ambiente. Requieren poder ver reportes
      (`permissions.read_reports`).
paths:
  /api/v1/accounts/{account_id}/reports/iva:
    parameters:
      - name: account_id
        in: path
        required: true
        description: Identificador de la cuenta.
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Reportes
      summary: Consultar el reporte de IVA
      description: |
        El IVA del período para la declaración, mensual o semestral: ventas y
        compras por tarifa, las retenciones recibidas y emitidas, y si el
        período deja IVA por pagar o crédito tributario.
      operationId: getIvaReport
      parameters:
        - name: period
          in: query
          required: false
          description: >
            Un mes, como `AAAA-MM`, o un semestre, como `AAAA-S1` (enero a
            junio)

            o `AAAA-S2` (julio a diciembre). Por defecto, el mes o el semestre
            en

            curso, según la periodicidad de IVA de la cuenta.
          schema:
            type: string
            pattern: ^\d{4}-(0[1-9]|1[0-2]|S[12])$
            example: 2026-S2
      responses:
        '200':
          description: El reporte de IVA.
          content:
            application/json:
              schema:
                type: object
                required:
                  - iva
                properties:
                  iva:
                    $ref: '#/components/schemas/IvaReport'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ReportsForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  schemas:
    IvaReport:
      type: object
      required:
        - period
        - period_type
        - ventas
        - compras
        - retenciones
        - summary
      properties:
        period:
          type: string
          description: El mes (`AAAA-MM`) o el semestre (`AAAA-S1`, `AAAA-S2`) del reporte.
          example: 2026-S2
        period_type:
          type: string
          enum:
            - mensual
            - semestral
        ventas:
          type: object
          required:
            - facturas
            - notas_credito
            - notas_debito
          properties:
            facturas:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            notas_credito:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            notas_debito:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
        compras:
          type: object
          required:
            - facturas
            - liquidaciones
            - notas_credito
            - notas_debito
            - documents_without_lines
          properties:
            facturas:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            liquidaciones:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            notas_credito:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            notas_debito:
              type: array
              items:
                $ref: '#/components/schemas/IvaReportRow'
            documents_without_lines:
              type: object
              description: >
                Comprobantes recibidos cuyo detalle aún no está guardado, y que

                por eso quedan fuera de las filas. Es lo que le falta al
                reporte.
              required:
                - count
                - total_without_taxes
                - total_iva
              properties:
                count:
                  type: integer
                total_without_taxes:
                  type: number
                total_iva:
                  type: number
        retenciones:
          type: object
          required:
            - recibidas
            - emitidas
          properties:
            recibidas:
              type: array
              description: Retenciones que te hicieron tus clientes.
              items:
                $ref: '#/components/schemas/IvaReportRetentionRow'
            emitidas:
              type: array
              description: Retenciones que hiciste a tus proveedores.
              items:
                $ref: '#/components/schemas/IvaReportRetentionRow'
        summary:
          type: object
          required:
            - iva_ventas_facturas
            - iva_ventas_notas_credito
            - iva_ventas_notas_debito
            - iva_ventas
            - iva_compras
            - saldo_iva
            - iva_retenido_por_clientes
            - iva_retenido_a_proveedores
            - credito_tributario
            - total_a_pagar
            - position
          properties:
            iva_ventas_facturas:
              type: number
            iva_ventas_notas_credito:
              type: number
            iva_ventas_notas_debito:
              type: number
            iva_ventas:
              type: number
              description: IVA cobrado, neto de notas de crédito.
            iva_compras:
              type: number
              description: IVA pagado, neto de notas de crédito.
            saldo_iva:
              type: number
              description: IVA cobrado menos IVA pagado.
            iva_retenido_por_clientes:
              type: number
            iva_retenido_a_proveedores:
              type: number
            credito_tributario:
              type: number
            total_a_pagar:
              type: number
              description: IVA por pagar más lo retenido a proveedores.
            position:
              type: string
              enum:
                - por_pagar
                - credito_tributario
                - equilibrado
              description: El signo de `saldo_iva`.
    IvaReportRow:
      type: object
      description: Un tipo de IVA en una sección del reporte.
      required:
        - impuesto
        - subtotal_sin_impuestos
        - descuento_adicional
        - base_imponible
        - notas_credito
        - valor_neto
        - total_impuesto
      properties:
        impuesto:
          type: string
          example: IVA 15%
        subtotal_sin_impuestos:
          type: number
        descuento_adicional:
          type: number
        base_imponible:
          type: number
        notas_credito:
          type: number
        valor_neto:
          type: number
        total_impuesto:
          type: number
    IvaReportRetentionRow:
      type: object
      required:
        - tax_code
        - impuesto
        - codigo
        - base_imponible
        - valor_retenido
      properties:
        tax_code:
          type: string
          description: Código del impuesto retenido (1 Renta, 2 IVA, 6 ISD).
        impuesto:
          type: string
          example: IVA 30%
        codigo:
          type: string
          description: Código de retención del SRI.
        base_imponible:
          type: number
        valor_retenido:
          type: number
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Mensaje de error descriptivo, en español.
  responses:
    Unauthorized:
      description: >-
        Falta el token, o es inválido o está inactivo. Verifica el encabezado
        `Authorization`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ReportsForbidden:
      description: Tu rol no permite ver reportes.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: La cuenta no existe o no la administras.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ValidationError:
      description: Los datos enviados no son válidos.
      content:
        application/json:
          schema:
            type: object
            required:
              - errors
            properties:
              errors:
                type: array
                items:
                  type: string
              field_errors:
                type: object
                description: |
                  Los mismos mensajes agrupados por atributo (`razon_social`,
                  `identificacion`…), para mostrarlos junto a cada campo. Solo
                  viene cuando el error es de validación de datos; los errores
                  que no son de un campo concreto llegan bajo `base`.
                additionalProperties:
                  type: array
                  items:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        Token de API enviado como `Authorization: Bearer tellen_tk_...`. Genera
        tu token desde tu cuenta de Tellen. Tu cuenta debe tener el acceso a la
        API habilitado.

````

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