Comprobantes por API

Cómo leer desde Shopify el comprobante que Emitio emite ante ARCA · Actualizada el 31 de julio de 2026

Cuando ARCA autoriza un comprobante, Emitio lo publica en un metafield del pedido de Shopify. Así se puede leer desde la Admin API, sin pasar por Emitio.

Es opcional y se activa por tienda. No escribimos en los pedidos de un comercio que no lo pidió. Si necesitás que lo habilitemos, escribinos a soporte@emitio.app con el dominio de la tienda.


Dónde vive

RecursoPedido (Order)
Namespaceemitio
Keycomprobante
Tipojson

El namespace es común, no reservado: lo lee cualquier app con el scope read_orders.

Cómo se consulta

query {
  order(id: "gid://shopify/Order/1234567890") {
    metafield(namespace: "emitio", key: "comprobante") {
      value
    }
  }
}

Qué devuelve

Una factura con una nota de crédito posterior:

{
  "version": 1,
  "cuit": "30718912292",
  "cbte_tipo": 6,
  "cbte_tipo_nombre": "Factura B",
  "numero": "0002-00000123",
  "fecha": "2026-07-31",
  "cae": "86300000000000",
  "cae_vencimiento": "2026-08-10",
  "total": "53455.00",
  "moneda": "ARS",
  "pdf_url": "https://app.emitio.app/comprobante/i1a2b...",
  "notas": [
    {
      "cbte_tipo": 8,
      "cbte_tipo_nombre": "Nota de Crédito B",
      "numero": "0002-00000031",
      "fecha": "2026-08-02",
      "cae": "86300000000001",
      "cae_vencimiento": "2026-08-12",
      "total": "10000.00",
      "pdf_url": "https://app.emitio.app/comprobante/c3c4d..."
    }
  ]
}

Los campos

CampoDescripción
versionVersión del contrato. Hoy 1. Sube solo si se saca o cambia el significado de un campo existente; agregar campos nuevos no la mueve.
cuitCUIT del emisor. Una misma tienda puede facturar con más de una sociedad, así que indica cuál firmó este comprobante.
cbte_tipoCódigo de comprobante de ARCA. Es el campo a usar.
cbte_tipo_nombreEl mismo dato en texto legible. Informativo: no conviene parsearlo, puede cambiar sin que suba version.
numeroPunto de venta y número, con el formato de ARCA: 0002-00000123.
fechaFecha del comprobante, YYYY-MM-DD.
caeCódigo de Autorización Electrónico que otorgó ARCA.
cae_vencimientoVencimiento del CAE, YYYY-MM-DD.
totalImporte total, como string con dos decimales. Va como texto a propósito, para que no pierda precisión al parsearse como número de punto flotante.
monedaISO 4217 (ARS, USD, EUR). Aplica a la factura y a todas sus notas.
pdf_urlLink permanente al PDF del comprobante. Se puede guardar.
notasNotas de crédito y débito del pedido, juntas y en orden cronológico. Misma estructura, sin moneda (heredan la de la factura).

Códigos de comprobante

Son los códigos oficiales de ARCA (CbteTipo del web service WSFEv1). Emitio emite estos nueve:

CódigoComprobanteCódigoComprobanteCódigoComprobante
1Factura A6Factura B11Factura C
3Nota de Crédito A8Nota de Crédito B13Nota de Crédito C
2Nota de Débito A7Nota de Débito B12Nota de Débito C

Al integrar

value llega como string

Aunque el tipo del metafield sea json, la Admin API devuelve el contenido como texto. Hay que parsearlo. Es el comportamiento de Shopify, no algo propio de Emitio.

const comprobante = JSON.parse(order.metafield.value);

null significa “todavía no”

Si el pedido no tiene comprobante emitido, el metafield viene en null. No es un error: se escribe unos segundos después del pago, cuando ARCA devuelve el CAE. Conviene tratarlo como un estado transitorio y reintentar, en vez de darlo por fallido.

Los pedidos anteriores a la primera factura emitida con Emitio tampoco lo tienen.

El metafield se reescribe entero

Cada vez que se emite un comprobante del pedido, el JSON se rearma completo desde cero. Una nota de crédito posterior aparece dentro del mismo campo, sin que haya que cruzar datos de otro lado. Conviene leerlo como el estado actual del pedido, no como un evento.


Dudas

Escribinos a soporte@emitio.app. Si cambiamos algo, avisamos antes y esta página queda como referencia de la versión vigente.