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
| Recurso | Pedido (Order) |
|---|---|
| Namespace | emitio |
| Key | comprobante |
| Tipo | json |
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
| Campo | Descripción |
|---|---|
version | Versión del contrato. Hoy 1. Sube solo si se saca o cambia el significado de un campo existente; agregar campos nuevos no la mueve. |
cuit | CUIT del emisor. Una misma tienda puede facturar con más de una sociedad, así que indica cuál firmó este comprobante. |
cbte_tipo | Código de comprobante de ARCA. Es el campo a usar. |
cbte_tipo_nombre | El mismo dato en texto legible. Informativo: no conviene parsearlo, puede cambiar sin que suba version. |
numero | Punto de venta y número, con el formato de ARCA: 0002-00000123. |
fecha | Fecha del comprobante, YYYY-MM-DD. |
cae | Código de Autorización Electrónico que otorgó ARCA. |
cae_vencimiento | Vencimiento del CAE, YYYY-MM-DD. |
total | Importe 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. |
moneda | ISO 4217 (ARS, USD, EUR). Aplica a la factura y a todas sus notas. |
pdf_url | Link permanente al PDF del comprobante. Se puede guardar. |
notas | Notas 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ódigo | Comprobante | Código | Comprobante | Código | Comprobante |
|---|---|---|---|---|---|
1 | Factura A | 6 | Factura B | 11 | Factura C |
3 | Nota de Crédito A | 8 | Nota de Crédito B | 13 | Nota de Crédito C |
2 | Nota de Débito A | 7 | Nota de Débito B | 12 | Nota 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.