ComprobadoDocumentaciónIngresar

Facturación masiva (importar un CSV)

Cuando tenés que emitir muchos comprobantes de una vez (la facturación del mes, las cuotas de tus clientes, un listado que sale de tu sistema), no hace falta cargarlos uno por uno: armás una planilla CSV (la tuya, con tus propias columnas, o la plantilla de ejemplo), la subís, indicás qué es cada columna y Comprobado los emite en segundo plano, de a uno, con todas las protecciones de siempre. También se puede hacer por la API.

Si son pocos comprobantes (una tanda chica, sin armar un archivo), podés cargarlos a mano en una grilla — ver Carga manual, más abajo. El resto de esta guía (cómo se valida, cómo se emite, cuánto se conserva) es igual para los dos caminos.

Se entra desde Facturación → Lote desde CSV.

Antes de empezar

  • Quién puede: los roles Titular, Administrador y Emisor de la consola. El Lector no (solo consulta). Ver Roles y permisos.
  • Por la API hace falta una clave con el permiso específico de Facturación masiva: las claves «completas» comunes no lo traen, a propósito (ver API keys).
  • No está disponible por el MCP (asistentes de IA).
  • Tu plan tiene que incluirla. Si no, la consola la muestra con un candado y la API responde 403 con AS-2027. Ver Plan, cupo y pagos.
  • Ambiente: el lote se emite en el ambiente de tu cuenta (homologación o producción). Probá primero en homologación.
  • Hasta 20 000 comprobantes por lote (y 25 MB por archivo). Para más, dividilo en varios lotes. Además cuenta tu cuota mensual, si tu plan la tiene.

¿Una factura que se repite todos los meses? No hace falta armar un archivo cada vez: configurá un abono y genera el lote solo.

Paso a paso

1 · Preparar el archivo

Tenés dos caminos, los dos válidos:

  • Usá tu propia planilla (la que exporta tu sistema, tu tienda online o tu Excel), con los nombres de columna que ya tiene. No hace falta renombrar nada: en el paso siguiente le indicás a Comprobado qué es cada columna.

  • Bajá un ejemplo para llenar. En la pantalla Lote desde CSV hay dos plantillas, listas para abrir en Excel o Google Sheets:

    • Facturas y notas (A, B, C): con ejemplos de una factura de productos con dos renglones, una de servicios y una nota de crédito.
    • Exportación (Factura E): con ejemplos de bienes, servicios y una nota de crédito E.

    Las filas de ejemplo tienen una referencia que empieza con EJEMPLO-. Reemplazalas por tus datos: si dejás alguna, el sistema la rechaza para que no se emita por error.

Sea cual sea el camino, el archivo tiene que seguir esta idea:

  • Una fila es un renglón. Las filas que tienen la misma referencia forman un solo comprobante. Los datos del comprobante (punto de venta, cliente, fecha…) se escriben en la primera fila; en las siguientes se pueden dejar vacíos. Si los repetís, tienen que ser iguales.
  • La referencia es el nombre que le ponés a cada comprobante (F-1, cliente-532, el número de pedido, lo que quieras). No se imprime: sirve para ubicarlo en el resultado.
  • Las filas de una misma referencia no tienen que estar seguidas, pero conviene que lo estén.

Por ejemplo, este archivo genera dos comprobantes: la factura F-1 con dos renglones y la F-2 con uno.

referencia punto_venta doc_tipo doc_nro descripcion cantidad precio_unitario
F-1 1 dni 30111222 Camisa talle M 2 1500,50
F-1 Pantalón talle 42 1 2500
F-2 1 Servicio de instalación 1 10000

Guardalo como CSV (en Excel: «CSV UTF-8 (delimitado por comas)»; también se acepta el «CSV» común de Windows).

2 · Subí el archivo e indicá qué es cada columna

Arrastrá el archivo a la zona de carga o elegilo. Todavía no se manda nada: se lee en tu navegador y aparece el asignador de columnas.

Por ejemplo, para una planilla de una tienda online:

Columna de tu archivo (con ejemplos) → Es este dato del comprobante
Pedido (#1001 · #1002) → Referencia del comprobante
Cliente (Ana Pérez · Luis Gómez) → Nombre o razón social
Producto (Camisa talle M) → Descripción del renglón
Importe (1500,50 · 2500) → Precio unitario
Notas internas (urgente) → No usar esta columna
(valor fijo: 1) → Punto de venta
  • A la izquierda están las columnas de tu archivo, con tres valores de ejemplo para que las reconozcas.
  • A la derecha elegís qué dato del comprobante es cada una («Punto de venta», «Precio unitario», «Nombre del cliente»…). Debajo del selector ves qué lleva ese dato y qué valores acepta.
  • Las columnas que no necesites se dejan en «No usar esta columna»: no entran en los comprobantes. El asignador te muestra cuántas quedan sin usar para que no se te pase ninguna sin querer.
  • Se preselecciona solo. Si una columna se llama como el dato (punto_venta), como su nombre en el asignador («Punto de venta», con o sin tildes y mayúsculas) o con un nombre habitual (pv, ref, precio), ya viene elegida. Cada dato se puede usar una sola vez: si dos columnas coinciden, queda la primera.
  • Sugerir el resto con IA (si tu instalación la tiene activada). Si quedan columnas en «No usar», el botón «Sugerir el resto con IA» le pide a la IA que reconozca las que faltan aunque tengan nombres raros, abreviados o en otro idioma. Solo completa columnas que estaban sin usar —nunca cambia lo que ya elegiste— y cada una queda marcada «Sugerida por IA: revisala» hasta que la confirmes. Qué se envía: los nombres de las columnas y la forma de unos pocos valores (un CUIT viaja como 99-99999999-9, un nombre como Aaaa Aaaaa): nunca un CUIT, un nombre ni un importe real. Hay un tope diario por cuenta (AS-5023).
  • Lo mínimo para emitir está siempre a la vista: referencia, punto de venta, descripción y precio unitario. Hasta que los cuatro tengan de dónde salir, no se puede seguir.
  • Si tu archivo no trae un dato y es igual para todas las filas (el caso típico: el punto de venta), no hace falta agregar una columna: en «Datos que tu archivo no trae» lo indicás como valor fijo y se usa en todos los comprobantes. (La referencia, la descripción y el precio no se pueden fijar: cada comprobante y cada renglón tiene el suyo.)

Se recuerda para la próxima vez. Con la casilla «Recordar esta asignación» (viene tildada) el sistema guarda el formato con el nombre que le pongas (por ejemplo «Ventas de la tienda»). La próxima vez que subas un archivo con las mismas columnas —aunque estén en otro orden o con otras mayúsculas— la asignación ya viene hecha y lo avisa («Reconocimos tu archivo»). Si el archivo trae columnas de más, se usa igual el formato guardado y las columnas nuevas se preseleccionan por nombre. Lo guardado:

  • es de tu cuenta: lo ven y usan todos los usuarios que pueden importar;
  • guarda solo los nombres de las columnas y los valores fijos que indicaste, nunca las filas del archivo;
  • se puede borrar en Mis formatos guardados (en la pantalla de subida) y se puede actualizar guardando de nuevo con el mismo nombre. Hasta 50 formatos.

Cuando está todo asignado, tocás Revisar el archivo.

Asignar columnas no cambia lo que dicen las celdas: un tipo de documento tiene que seguir siendo dni, cuit… y las fechas dd/mm/aaaa. Si hay un valor que no entendemos, el paso siguiente te dice cuál y en qué fila.

3 · Corregí lo que haga falta

Al revisar, se controla todo el archivo sin emitir nada. Si hay problemas, ves una tabla con la fila (la de tu planilla), la referencia, el dato —con la columna de tu archivo de la que sale— y qué pasa y cómo corregirlo. Si el problema es que una columna quedó mal asignada, Cambiar la asignación de columnas te devuelve al paso anterior con el mismo archivo. Se muestran todos juntos (no de a uno) para que arregles todo de una vez.

Hasta que no esté todo bien no se puede continuar. No existe la opción de «emitir los que están bien y dejar el resto»: un lote es todo o nada, para que no queden comprobantes a medias sin que te des cuenta.

4 · Mirá el resumen y confirmá

Cuando el archivo está bien ves el resumen: cuántos comprobantes son, el total (por moneda), el ambiente, tu cuota del mes y una vista previa de los comprobantes. Todavía no se emitió nada: el lote queda guardado como borrador.

Al tocar Confirmar y emitir se pide una confirmación más. En producción tenés que escribir EMITIR y la cantidad, porque los comprobantes son reales y solo se corrigen con una nota de crédito.

5 · Seguí el avance

Los comprobantes se emiten en segundo plano: podés cerrar la pantalla. En Facturación → Lote desde CSV (la lista de tus lotes) ves cada lote con su estado y una barra de avance que se actualiza sola: aprobados, rechazados, inciertos y pendientes.

6 · Bajá el resultado

Cuando termina, Descargar resultado (CSV) te da una planilla con una fila por comprobante: estado, tipo, punto de venta, número, CAE, total, y —si ARCA lo rechazó— el código y el motivo explicado, más el mensaje original de ARCA. Los comprobantes emitidos también quedan en el libro.

Carga manual (sin archivo)

Para una tanda chica (unos pocos comprobantes), en vez de armar un CSV podés cargarlos directo en una grilla: Facturación → Lote a mano, un ítem propio del menú, separado de «Lote desde CSV» (aunque es el mismo motor de siempre: misma validación, mismos carriles, mismo seguimiento). Como con los lotes de CSV, primero ves la lista de tus cargas a mano de los últimos 30 días y Nueva carga a mano abre la grilla.

  • Un grupo por comprobante. Cada comprobante que agregás con Agregar comprobante aparece como una fila compacta (tipo de documento, número, nombre y subtotal); al hacer clic se despliega para completarlo. Agregar línea a este comprobante suma un renglón más al mismo comprobante — nunca crea uno nuevo para el mismo cliente.
  • Autocompletado por CUIT/CUIL. Al salir del campo del número de documento se busca en tus clientes guardados y en el padrón de ARCA, igual que en «Emitir»: completa el nombre y la condición de IVA sin pisar lo que ya escribiste, y lo ofrece como sugerencia si difiere.
  • Las cifras y el tipo de comprobante (A/B/C) los confirma el servidor. Al tocar Validar todo se consulta a ARCA sin crear nada (dryRun): ahí aparece la letra real y, si hay algo mal, qué corregir en cada comprobante (identificado como «Línea 1», «Línea 2»…, el orden en que lo agregaste). Nada de eso se calcula de verdad en el navegador.
  • Alcance de esta pantalla: facturas comunes en pesos, con ítems gravados, exentos o no gravados. No cubre exportación (Factura E), Factura de Crédito Electrónica, tributos ni notas de crédito/débito con un comprobante asociado — para eso, Emitir o el CSV.
  • Si ya le facturaste antes a ese cliente, además del nombre y la condición de IVA se ofrece «Usar la misma configuración»: trae el tipo de comprobante, el concepto y la alícuota de cada renglón del último comprobante a ese cliente. Nunca la descripción ni el precio — eso se escribe siempre a mano.
  • Nombre del lote. Se identifica en la lista con un nombre: si no le ponés uno, se pone uno solo (fecha y hora). Lo podés cambiar cuando quieras, con letras, números, espacios, guion y guion bajo.
  • Editable mientras esté sin confirmar. Un lote recién creado queda como borrador: tocándolo en la lista (o en sus tres puntos → Editar) volvés a la misma grilla para agregar, quitar o corregir comprobantes — se guarda como un lote nuevo que reemplaza al anterior. Apenas lo confirmás (Confirmar y emitir) queda congelado: tocarlo después te lleva al detalle de solo lectura.
  • Mientras armás el lote (sin haberlo creado todavía) no se guarda en el servidor: se recuerda en esta pestaña del navegador (sobrevive a recargar la página), pero se pierde si la cerrás. Recién se crea un lote real al tocar Crear lote.
  • Corregir en pantalla. Si al revisar un CSV quedaron comprobantes con problemas, Corregir en pantalla los abre en esta misma grilla, con los errores ya marcados, para arreglarlos ahí en vez de editar la planilla y volver a subirla. Lo que la grilla todavía no soporta (exportación, tributos, notas con comprobante asociado) queda afuera: se avisa cuántos y se corrigen en el propio CSV.
  • Pegar desde una planilla. En el paso 1 de «Lote desde CSV» también podés pegar (Ctrl+V) lo que copiaste de Excel o Google Sheets, en vez de guardar un archivo: sigue el mismo paso 2 (asignar columnas) que un CSV subido.

Reglas de formato

  • Separador de columnas: ; o , (se detecta solo). Excel en español guarda con ;.
  • Decimales: coma o punto, sin separador de miles: 1500,50 o 1500.50, no 1.500,50.
  • Fechas: dd/mm/aaaa (21/10/2026) o aaaa-mm-dd.
  • Documentos y números largos como TEXTO. En Excel, formateá como Texto las columnas doc_nro, cuit_pais y permisos antes de escribir: si no, Excel convierte 20111111112 en 2,01E+10 y se pierde el número. Si pasa, el sistema te lo avisa con la fila exacta.
  • Textos con coma o punto y coma (por ejemplo una descripción «Mesa, grande») tienen que ir entre comillas; Excel lo hace solo al guardar.
  • Líneas de comentario: las que empiezan con # (numeral y espacio) se ignoran. Un #1001 pegado es un dato (por ejemplo, el número de pedido de tu tienda), no un comentario.
  • Encabezado: la primera fila (sin contar comentarios) tiene los nombres de las columnas. Pueden ser los que ya tiene tu planilla: los asignás en el paso 2. Las columnas que no asignes se ignoran (el asignador te las muestra).
  • Solo son obligatorios los datos referencia, punto_venta, descripcion y precio_unitario (pueden salir de una columna o, el punto de venta, de un valor fijo). Los demás se agregan según lo que necesites.

Datos que entiende el importador

Los nombres de abajo son los que usa la plantilla y la API; en el asignador cada dato aparece con un nombre para personas («Punto de venta» en lugar de punto_venta).

Columnas de facturas y notas

Comprobante

Columna Qué lleva Valores admitidos Ejemplo
referencia (obligatoria) Identifica el comprobante. Todas las filas con la misma referencia forman UN comprobante (una fila por renglón). — F-001
punto_venta (obligatoria) Número del punto de venta (en exportación, uno de exportación). — 1
tipo_operacion Si va vacío es una factura. factura · nota_credito · nota_debito factura
concepto Si va vacío son productos. En exportación: productos = bienes, servicios, o «otros» (productos_y_servicios). productos · servicios · productos_y_servicios productos
fecha Fecha del comprobante. Vacía = hoy. ARCA admite hasta 5 días antes o después (productos) o 10 (servicios). dd/mm/aaaa o aaaa-mm-dd 21/10/2026
servicio_desde Inicio del período facturado. Obligatoria si el concepto incluye servicios. dd/mm/aaaa o aaaa-mm-dd 01/10/2026
servicio_hasta Fin del período facturado. Obligatoria si el concepto incluye servicios. dd/mm/aaaa o aaaa-mm-dd 31/10/2026
servicio_vto_pago Vencimiento del pago. Obligatoria si el concepto incluye servicios. dd/mm/aaaa o aaaa-mm-dd 10/11/2026
tributos Percepciones y otros tributos del comprobante como ID/BASE/ALICUOTA[/DESCRIPCION], uno por tributo, separados por «|». El importe se calcula (base × alícuota). La descripción es obligatoria con el id 99. ids de ARCA (5 IIBB, 6 IVA, 7 percepción de IIBB, 99 otros…) 7/1000/3|99/1000/1,5/Percepción municipal

Receptor

Columna Qué lleva Valores admitidos Ejemplo
doc_tipo Tipo de documento del cliente. Vacío = consumidor final sin identificar. sin_identificar · dni · cuit · cuil · pasaporte cuit
doc_nro Número de documento, solo dígitos (guiones y puntos se ignoran). Formateá la columna como TEXTO en Excel. — 20111111112
condicion_iva Condición del cliente frente al IVA. Vacío = consumidor_final, salvo con CUIT: ahí es obligatoria. consumidor_final · responsable_inscripto · monotributo · exento · no_categorizado · iva_liberado · monotributo_social · no_alcanzado consumidor_final
nombre Nombre o razón social del cliente. — Cliente SA

Comprobante asociado

Columna Qué lleva Valores admitidos Ejemplo
asoc_tipo Notas de crédito/débito: código del comprobante que corrigen (1/6/11 = Factura A/B/C (51 = Factura A con la leyenda «Operación sujeta a retención»), 19 = Factura E…). código de comprobante 11
asoc_punto_venta Notas: punto de venta del comprobante que corrigen. — 1
asoc_numero Notas: número del comprobante que corrigen. — 123
asoc_periodo_desde Notas comunes: en lugar del comprobante, el período que corrigen (inicio). Va junto con asoc_periodo_hasta, nunca con asoc_tipo. dd/mm/aaaa o aaaa-mm-dd 01/10/2026
asoc_periodo_hasta Notas comunes: fin del período que corrigen (no puede ser posterior a la fecha de la nota). dd/mm/aaaa o aaaa-mm-dd 31/10/2026

Renglón

Columna Qué lleva Valores admitidos Ejemplo
descripcion (obligatoria) Descripción del renglón. Cada fila es un renglón. — Camisa talle M
cantidad Cantidad. Vacía = 1. Coma o punto decimal, sin separador de miles. — 2
precio_unitario (obligatoria) Precio por unidad. Coma o punto decimal, sin separador de miles. — 1500,50
alicuota_iva Alícuota de IVA en %, o exento / no gravado (solo Responsable Inscripto). Vacía = 21 si sos Responsable Inscripto, 0 en los demás casos. 0 es gravado a tasa cero, no exento. 0 · 2,5 · 5 · 10,5 · 21 · 27 · exento · no gravado 21
precio_incluye_iva Si el precio ya incluye el IVA. Vacío = no. si · no no

Columnas de exportación (Factura E)

Para una Factura E poné exportacion = si en la primera fila del comprobante. El comprobante sale por el servicio de exportación de ARCA (wsfex): ver Facturas de exportación (qué hay que tener autorizado, reglas de cada campo). En una exportación no se usan las columnas de IVA, receptor ni período de servicios: el cliente se describe con cliente, domicilio, pais_destino y cuit_pais.

Comprobante

Columna Qué lleva Valores admitidos Ejemplo
referencia (obligatoria) Identifica el comprobante. Todas las filas con la misma referencia forman UN comprobante (una fila por renglón). — F-001
punto_venta (obligatoria) Número del punto de venta (en exportación, uno de exportación). — 1
tipo_operacion Si va vacío es una factura. factura · nota_credito · nota_debito factura
concepto Si va vacío son productos. En exportación: productos = bienes, servicios, o «otros» (productos_y_servicios). productos · servicios · productos_y_servicios productos
fecha Fecha del comprobante. Vacía = hoy. ARCA admite hasta 5 días antes o después (productos) o 10 (servicios). dd/mm/aaaa o aaaa-mm-dd 21/10/2026

Comprobante asociado

Columna Qué lleva Valores admitidos Ejemplo
asoc_tipo Notas de crédito/débito: código del comprobante que corrigen (1/6/11 = Factura A/B/C (51 = Factura A con la leyenda «Operación sujeta a retención»), 19 = Factura E…). código de comprobante 11
asoc_punto_venta Notas: punto de venta del comprobante que corrigen. — 1
asoc_numero Notas: número del comprobante que corrigen. — 123
asoc_periodo_desde Notas comunes: en lugar del comprobante, el período que corrigen (inicio). Va junto con asoc_periodo_hasta, nunca con asoc_tipo. dd/mm/aaaa o aaaa-mm-dd 01/10/2026
asoc_periodo_hasta Notas comunes: fin del período que corrigen (no puede ser posterior a la fecha de la nota). dd/mm/aaaa o aaaa-mm-dd 31/10/2026

Renglón

Columna Qué lleva Valores admitidos Ejemplo
descripcion (obligatoria) Descripción del renglón. Cada fila es un renglón. — Camisa talle M
cantidad Cantidad. Vacía = 1. Coma o punto decimal, sin separador de miles. — 2
precio_unitario (obligatoria) Precio por unidad. Coma o punto decimal, sin separador de miles. — 1500,50
unidad_medida Código de unidad de medida de ARCA. Vacío = 7 (unidades). 1 = kilogramos. código de ARCA 7
bonificacion Descuento del renglón en $ (o en la moneda del comprobante), en los mismos términos que el precio. Vacía = 0. — 5

Exportación

Columna Qué lleva Valores admitidos Ejemplo
exportacion «si» para una factura de exportación (E). Vacío o «no» = comprobante común. si · no si
moneda Moneda del comprobante. Obligatoria en exportación. código de ARCA (DOL, 060, 012…) o USD · EUR · BRL · ARS DOL
cotizacion Pesos por unidad de moneda. Vacía = se usa la cotización oficial de ARCA. — 1050,5
cliente Cliente del exterior (razón social). Obligatorio en exportación. — ACME Inc
domicilio Domicilio del cliente del exterior. Obligatorio en exportación. — 5th Ave 1, New York
id_impositivo Identificación tributaria del cliente en su país (texto libre). — US-123
pais_destino Código de ARCA del país de destino. Obligatorio en exportación. código de ARCA 212
cuit_pais CUIT genérico del país del cliente. Obligatorio en exportación. código de ARCA 50000000859
idioma Idioma del comprobante. Vacío = español. 1 · 2 · 3 o español · ingles · portugues 2
incoterms Incoterms. Obligatorios en la factura de bienes. código de ARCA (FOB, CIF, EXW…) FOB
incoterms_detalle Detalle de los Incoterms (hasta 20 caracteres). — Free on board
forma_pago Forma de pago. Obligatoria en la factura de exportación. — Transferencia a 30 días
fecha_pago Fecha de pago. Obligatoria en la factura de exportación de servicios u «otros». dd/mm/aaaa o aaaa-mm-dd 30/11/2026
permiso_embarque Factura de bienes: si hay permiso de embarque. si · no no
permisos Permisos de embarque como NUMERO/PAIS separados por una barra vertical — 21001EC01000123X/212
observaciones Observaciones (hasta 1000 caracteres). — —
observaciones_comerciales Observaciones comerciales (hasta 4000 caracteres). — —

Los códigos de país, CUIT del país, moneda, Incoterms y unidad de medida son los de ARCA. Al subir el archivo se verifican contra las tablas de ARCA; si una tabla no responde en ese momento, el sistema te avisa y deja que ARCA lo valide al emitir. Si dejás vacía la cotizacion, se usa la cotización oficial de ARCA (en servicios, ARCA exige exactamente esa).

Qué se revisa antes de emitir

Cada comprobante pasa por las mismas reglas que al emitir uno solo: tipo de comprobante que corresponde (A/B/C/E), que tu condición frente al IVA pueda emitirlo, datos obligatorios, CUIT con dígito verificador, el tope de consumidor final sin identificar, el período en servicios, el comprobante asociado en las notas, las reglas de la exportación, etc. Además:

  • Formato del archivo: columnas, números, fechas, valores permitidos.
  • Coherencia: que las filas de una misma referencia no se contradigan, y que no haya referencias repetidas.
  • Cuota mensual: si el lote tiene más comprobantes de los que te quedan este mes, se rechaza entero (hay que dividirlo o ampliar el plan).
  • Archivo repetido: si ya emitiste exactamente este archivo (mismo contenido, mismo ambiente), te avisamos antes de repetirlo, para no facturar dos veces. Si de verdad querés repetirlo, lo confirmás expresamente.

Lo que ARCA decide al momento de emitir (por ejemplo, si un punto de venta existe, o un rechazo por una regla que solo ella conoce) no se puede saber antes: esos comprobantes quedan rechazados en el resultado, con el motivo, y el resto del lote sigue.

Errores del archivo

Código Qué significa
AS-5001 El archivo está vacío o solo tiene el encabezado
AS-5002 Falta una columna obligatoria
AS-5003 Un valor no es válido (fila, columna y motivo)
AS-5004 Una misma referencia tiene datos distintos en varias filas
AS-5005 Columna desconocida
AS-5006 Columna repetida
AS-5007 Fila de ejemplo sin reemplazar
AS-5008 Problema de formato (comillas sin cerrar, celdas de más)
AS-5009 La cuota mensual no alcanza para el lote
AS-5010 Este archivo ya se emitió antes
AS-5012 Referencia repetida (por la API)
AS-5021 El lote supera los 20 000 comprobantes (dividilo)
AS-5022 La sugerencia con IA no está activada en esta instalación
AS-5023 Tope diario de sugerencias con IA
AS-5024 El servicio de IA no respondió (reintentá o asigná a mano)

Además aparecen los errores normales de emisión (AS-10xx) con la fila y la columna del comprobante. La lista completa está en el catálogo de errores.

Cómo se emite

  • En orden y sin saltear números. Dentro de cada punto de venta y tipo de comprobante, los comprobantes salen uno por uno, en el orden del archivo. Puntos de venta o tipos distintos pueden avanzar en paralelo (de a pocos, para no saturar a ARCA).
  • Un rechazo no frena al resto. Si ARCA rechaza un comprobante, queda marcado con el motivo y el lote sigue. Un comprobante rechazado no consume número.
  • Los inciertos frenan solo su carril. Si se corta la conexión mientras se emite, no se sabe si ARCA lo registró. Ese comprobante queda incierto y no se reemite a ciegas: el punto de venta y tipo donde ocurrió espera, y el sistema le consulta a ARCA solo, cada pocos segundos, hasta que confirme (aprobado o inexistente). Cuando se resuelve, el lote sigue. El resto de los carriles no se detiene. No lo vuelvas a emitir a mano. Ver Comprobantes inciertos.
  • El lote se pausa solo si la cuenta se suspende, si se agota la cuota del mes o si el ambiente de la cuenta cambia (para no emitir en el equivocado). En el detalle ves el motivo y, cuando lo resuelvas, tocás Reanudar: sigue desde donde quedó, sin repetir lo ya emitido.
  • Se puede cancelar. Se termina el comprobante que está en curso y se descartan los que faltan. Lo ya emitido no se anula (para eso están las notas de crédito).
  • Reinicios del servidor. Si el sistema se reinicia a mitad de un lote, al volver retoma solo: cada comprobante tiene una clave de idempotencia propia, así que nada se emite dos veces.

Cuánto se conserva

  • Cada lote se guarda 30 días desde que termina (los borradores que no confirmaste, 3 días). Después se borra el detalle del lote.
  • Los comprobantes emitidos no se tocan: quedan siempre en el libro. Descargá el CSV de resultados antes de que venza el lote si lo necesitás.
  • Los datos del receptor del lote se guardan cifrados, como los de cualquier comprobante.

Desde la API

Los mismos pasos, con una clave de Facturación masiva (para crear, confirmar, cancelar y borrar hace falta además poder emitir):

Endpoint Para qué
GET /v1/invoice-batches/columns Columnas del CSV (nombre, nombre para personas, obligatoria, descripción, ejemplo, valores, nombres alternativos)
GET /v1/invoice-batches/template.csv?tipo=comun|exportacion La plantilla de ejemplo
POST /v1/invoice-batches Crea un lote desde una lista JSON de comprobantes
POST /v1/invoice-batches/csv Crea un lote desde el texto de un CSV ({ "csv": "…" })
GET /v1/invoice-batches Lotes de los últimos 30 días
GET /v1/invoice-batches/{id} Estado y avance (pendientes, aprobados, rechazados, inciertos)
GET /v1/invoice-batches/{id}/items Resultado por comprobante (estado, pagina, take)
GET /v1/invoice-batches/{id}/results.csv El CSV de resultados
POST /v1/invoice-batches/{id}/start Confirma un borrador o reanuda un lote pausado
POST /v1/invoice-batches/{id}/cancel Cancela
DELETE /v1/invoice-batches/{id} Borra un lote terminado, cancelado o sin confirmar
GET /v1/invoice-batches/mappings Formatos de archivo guardados desde la consola
PUT /v1/invoice-batches/mappings Guarda (o reemplaza, por nombre) un formato
DELETE /v1/invoice-batches/mappings/{id} Borra un formato guardado

El asignador de columnas es de la consola: por la API el CSV se manda ya con los nombres de la plantilla (o se usa la lista JSON). Los formatos guardados (mappings) son los de la consola y solo sirven a ella.

Parámetros de creación: dryRun=true (solo valida, no guarda nada), empezar=true (además de crear, confirma y empieza a emitir) y permitirDuplicado=true (acepta un archivo ya emitido).

La creación siempre valida todo primero: si hay problemas responde 200 con validacion.valido = false, la lista de problemas (fila, referencia, columna y explicación) y no crea nada. Si está todo bien devuelve el lote (en estado borrador, o procesando con empezar=true).

curl -X POST "https://TU-DOMINIO/v1/invoice-batches?empezar=true" \
  -H "Authorization: Bearer ask_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "nombreArchivo": "octubre",
    "comprobantes": [
      { "referencia": "F-1",
        "comprobante": { "puntoVenta": 1,
          "items": [{ "descripcion": "Servicio", "precioUnitario": 15000 }] } }
    ]
  }'

El comprobante es el mismo cuerpo de POST /v1/invoices (incluido el bloque exportacion de las facturas E). Después consultás GET /v1/invoice-batches/{id} hasta que estado sea completado. Para subir un CSV por la API: jq -Rs '{csv: .}' archivo.csv | curl -X POST … -H "Content-Type: application/json" -d @-.

Límites: hasta 20 000 comprobantes por lote y 25 MB por pedido (más de eso responde 413 con AS-5021: dividí el lote). La cuota mensual de tu plan sigue aplicando.

Problemas frecuentes

Lo que pasa Qué hacer
Una columna no figura entre los datos Es normal: tu columna se llama distinto. Elegí en el asignador qué dato es, o dejala en «No usar esta columna»
El asignador no me deja seguir Falta alguno de los datos mínimos (referencia, punto de venta, descripción, precio unitario): asignale una columna o, el punto de venta, un valor fijo
No reconoce mi archivo guardado Solo se reconoce si tiene todas las columnas que el formato usa. Si cambiaste un nombre, asigná de nuevo y guardá con el mismo nombre
«Columna desconocida» (API) Por la API, el CSV usa los nombres de la plantilla tal cual (sin asignador): corregí el nombre del encabezado
doc_nro aparece como 2,01E+10 Excel lo convirtió. Formateá la columna como Texto y escribí el número de nuevo
Las tildes se ven rotas Guardá como «CSV UTF-8». El «CSV» común de Windows también se lee bien
«Fila de ejemplo sin reemplazar» Quedó una fila EJEMPLO-… de la plantilla: borrala o cambiala
«Este archivo ya se subió antes» Ya emitiste este mismo archivo. Si no querés duplicar, no lo subas; si querés repetirlo, confirmalo
El lote quedó «Pausado» Mirá el motivo en el detalle. Si es por comprobantes inciertos, esperá: se resuelve solo. Si es por la cuota o la cuenta, resolvelo y tocá Reanudar
Un comprobante figura «Rechazado» Abrí su motivo: ARCA explica qué corregir. Corregilo y emitilo en un lote nuevo (el rechazado no consumió número)