> ## 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 un comprobante recibido

> Devuelve el comprobante con su detalle según el tipo (líneas e impuestos, motivos de una nota de débito o lo retenido en una retención) y los pagos hechos al proveedor.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/v1/accounts/{account_id}/received_documents/{id}
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}/received_documents/{id}:
    parameters:
      - name: account_id
        in: path
        required: true
        description: Identificador de la cuenta.
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        required: true
        description: Identificador del comprobante recibido.
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Comprobantes recibidos
      summary: Consultar un comprobante recibido
      description: >-
        Devuelve el comprobante con su detalle según el tipo (líneas e
        impuestos, motivos de una nota de débito o lo retenido en una retención)
        y los pagos hechos al proveedor.
      operationId: getReceivedDocument
      responses:
        '200':
          description: El comprobante recibido.
          content:
            application/json:
              schema:
                type: object
                required:
                  - received_document
                properties:
                  received_document:
                    $ref: '#/components/schemas/ReceivedDocument'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ReceivedDocumentsForbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ReceivedDocument:
      description: >-
        El comprobante según su tipo. Todos comparten los datos del sobre
        (`ReceivedDocumentEnvelope`).
      oneOf:
        - $ref: '#/components/schemas/ReceivedLinesDocument'
        - $ref: '#/components/schemas/ReceivedRetention'
        - $ref: '#/components/schemas/ReceivedDebitNote'
      discriminator:
        propertyName: type
        mapping:
          invoice: '#/components/schemas/ReceivedLinesDocument'
          credit_note: '#/components/schemas/ReceivedLinesDocument'
          purchase_liquidation: '#/components/schemas/ReceivedLinesDocument'
          retention: '#/components/schemas/ReceivedRetention'
          debit_note: '#/components/schemas/ReceivedDebitNote'
    ReceivedLinesDocument:
      description: Factura, nota de crédito o liquidación de compra recibida.
      allOf:
        - $ref: '#/components/schemas/ReceivedDocumentEnvelope'
        - type: object
          required:
            - type
            - total_without_taxes
            - taxes
            - total_ice
            - items
          properties:
            type:
              type: string
              enum:
                - invoice
                - credit_note
                - purchase_liquidation
            total_without_taxes:
              type: number
            taxes:
              type: array
              description: Base e IVA por tipo de IVA, como los totaliza el RIDE.
              items:
                $ref: '#/components/schemas/TaxTotal'
            total_ice:
              type: number
            items:
              type: array
              items:
                $ref: '#/components/schemas/DocumentDetail'
    ReceivedRetention:
      description: >-
        Comprobante de retención recibido. El emisor es el cliente que nos
        retuvo; `total` es lo retenido.
      allOf:
        - $ref: '#/components/schemas/ReceivedDocumentEnvelope'
        - type: object
          required:
            - type
            - withholdings
            - documents
          properties:
            type:
              type: string
              enum:
                - retention
            withholdings:
              type: array
              description: Cada impuesto retenido.
              items:
                type: object
                required:
                  - tax_code
                  - tax_label
                  - percentage_code
                  - percentage
                  - base
                  - withheld_value
                  - document_number
                properties:
                  tax_code:
                    type: string
                    description: Código de impuesto del SRI (1 renta, 2 IVA, 6 ISD).
                  tax_label:
                    type: string
                    description: p. ej. "RENTA" o "IVA".
                  percentage_code:
                    type: string
                    description: Código de retención del SRI, p. ej. `303`.
                  percentage:
                    type: number
                  base:
                    type: number
                  withheld_value:
                    type: number
                  document_number:
                    type:
                      - string
                      - 'null'
                    description: El comprobante sobre el que se retuvo, si lo indica.
            documents:
              type: array
              description: Los comprobantes sobre los que se retuvo.
              items:
                type: object
                required:
                  - code
                  - name
                  - number
                  - emission_date
                  - invoice_id
                  - withheld_value
                properties:
                  code:
                    type: string
                    description: Código SRI del tipo de comprobante, p. ej. `01` factura.
                  name:
                    type: string
                    description: p. ej. "FACTURA".
                  number:
                    type: string
                  emission_date:
                    type:
                      - string
                      - 'null'
                    format: date
                  invoice_id:
                    type:
                      - string
                      - 'null'
                    format: uuid
                    description: >-
                      Nuestra factura con ese número, si la emitimos en
                      producción.
                  withheld_value:
                    type: number
                    description: Lo retenido sobre este comprobante.
    ReceivedDebitNote:
      description: >-
        Nota de débito recibida. `modified_document_number` es el comprobante al
        que se refiere.
      allOf:
        - $ref: '#/components/schemas/ReceivedDocumentEnvelope'
        - type: object
          required:
            - type
            - total_without_taxes
            - taxes
            - total_ice
            - motives
          properties:
            type:
              type: string
              enum:
                - debit_note
            total_without_taxes:
              type: number
            taxes:
              type: array
              description: Base e IVA por tipo de IVA.
              items:
                $ref: '#/components/schemas/TaxTotal'
            total_ice:
              type: number
            motives:
              type: array
              items:
                $ref: '#/components/schemas/DebitNoteMotive'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Mensaje de error descriptivo, en español.
    ReceivedDocumentEnvelope:
      allOf:
        - $ref: '#/components/schemas/ReceivedDocumentSummary'
        - type: object
          required:
            - access_key
            - authorization_number
            - authorization_date
            - contact_id
            - modified_document_number
            - xml_pending
            - disbursements
          properties:
            access_key:
              type: string
            authorization_number:
              type:
                - string
                - 'null'
            authorization_date:
              type:
                - string
                - 'null'
              format: date-time
            contact_id:
              type:
                - string
                - 'null'
              format: uuid
              description: El emisor como contacto, si ya existe.
            modified_document_number:
              type:
                - string
                - 'null'
              description: El comprobante que modifica una nota de crédito o de débito.
            xml_pending:
              type: boolean
              description: >-
                Aún no llega el XML autorizado; hasta entonces no hay detalle ni
                impuestos.
            disbursements:
              type: array
              description: Pagos hechos al proveedor, del más reciente al más antiguo.
              items:
                $ref: '#/components/schemas/Disbursement'
    TaxTotal:
      type: object
      required:
        - code
        - label
        - rate
        - base
        - iva
      properties:
        code:
          type: string
          description: Código de porcentaje de IVA del SRI.
        label:
          type: string
          description: Como lo nombra el RIDE, p. ej. "IVA 15%" o "no objeto de IVA".
        rate:
          type: number
        base:
          type: number
          description: Subtotal gravado con este tipo de IVA.
        iva:
          type: number
    DocumentDetail:
      type: object
      required:
        - id
        - product_id
        - product_variant_id
        - code
        - description
        - quantity
        - unit_price
        - discount
        - subtotal
        - tax_rate
        - tax_value
        - ice_rate
        - total
      properties:
        id:
          type: string
          format: uuid
        product_id:
          type:
            - string
            - 'null'
          format: uuid
        product_variant_id:
          type:
            - string
            - 'null'
          format: uuid
          description: >-
            Variante facturada. Para editar el documento, reenvíala como
            `product_variant_id`.
        code:
          type:
            - string
            - 'null'
        description:
          type: string
        quantity:
          type: number
        unit_price:
          type: number
        discount:
          type: number
        subtotal:
          type: number
        tax_rate:
          type: number
          description: Porcentaje de IVA aplicado.
        tax_value:
          type: number
        ice_rate:
          type:
            - number
            - 'null'
          description: Porcentaje de ICE del ítem, o `null` si no grava ICE.
        total:
          type: number
    DebitNoteMotive:
      type: object
      required:
        - id
        - reason
        - value
      properties:
        id:
          type: string
          format: uuid
        reason:
          type: string
          description: Razón del cargo, p. ej. "Intereses por mora".
        value:
          type: number
          description: Valor sin IVA.
    ReceivedDocumentSummary:
      type: object
      required:
        - id
        - type
        - number
        - emission_date
        - issuer_name
        - issuer_ruc
        - total
        - outstanding_amount
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - invoice
            - credit_note
            - debit_note
            - purchase_liquidation
            - retention
        number:
          type: string
          description: Número del comprobante, p. ej. `001-001-000000123`.
        emission_date:
          type:
            - string
            - 'null'
          format: date
        issuer_name:
          type: string
          description: Razón social del proveedor.
        issuer_ruc:
          type: string
        total:
          type: number
        outstanding_amount:
          type:
            - number
            - 'null'
          description: >-
            Lo que aún se le debe al proveedor. `null` en lo que no se paga
            (notas de crédito, liquidaciones, retenciones).
    Disbursement:
      type: object
      required:
        - id
        - amount
        - paid_on
        - forma_pago
        - forma_pago_label
        - notes
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: number
        paid_on:
          type: string
          format: date
        forma_pago:
          type: string
          description: Código SRI de forma de pago.
        forma_pago_label:
          type: string
          description: Nombre SRI de la forma de pago.
        notes:
          type:
            - string
            - 'null'
  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'
    ReceivedDocumentsForbidden:
      description: Tu rol no permite ver comprobantes recibidos.
      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'
  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.