Skip to main content
POST
Crear facturas

Authorizations

x-api-key
string
header
required

API Key para autenticación. Formato: test_sk_xxx para testing, prod_sk_xxx para producción.

Headers

Idempotency-Key
string

Clave que elegís vos (recomendado: un UUID nuevo por cada factura o lote). Si reenviás la misma solicitud con la misma clave —por un timeout, un error de red o un 5xx— recibís la respuesta original (mismo batchId, header Idempotent-Replayed: true) en vez de una factura nueva. Para una factura distinta, o después de que ARCA rechazó la anterior en forma definitiva, usá una clave nueva. Entre 1 y 255 caracteres ASCII imprimibles; se guarda 7 días. En un lote, el ítem i queda identificado como <clave>:<i>.

Required string length: 1 - 255

Body

application/json

Una factura. Todos los campos son opcionales salvo el importe: enviá impTotal (o amount, deprecado). Si no enviás cuitId ni cuit se usa el CUIT por defecto de la cuenta; lo que no envíes se completa con los valores por defecto del CUIT.

cuitId
string

ID del CUIT emisor. Alternativa a cuit

cuit
string

Número de CUIT emisor, con o sin guiones. Alternativa a cuitId

Example:

"20-12345678-9"

invoiceType
integer

Tipo de comprobante (código de ARCA, por ejemplo 1 Factura A, 6 Factura B, 11 Factura C). Por defecto, el del CUIT; si no tiene, 11 para monotributistas y 6 para responsables inscriptos

Example:

11

ptoVta
integer

Punto de venta. Por defecto, el del CUIT (o 1)

Example:

1

concepto
enum<integer>

Concepto: 1 productos, 2 servicios, 3 productos y servicios. Por defecto, el del CUIT (o 2 para monotributistas y 1 para el resto)

Available options:
1,
2,
3
docTipo
integer
default:99

Tipo de documento del receptor (código de ARCA: 80 CUIT, 86 CUIL, 96 DNI, 99 consumidor final)

docNro
integer
default:0

Número de documento del receptor (0 para consumidor final)

Required range: x >= 0
condicionIVAReceptorId
enum<integer>

Condición frente al IVA del receptor (obligatoria para ARCA desde el 1/12/2026). Si no se envía: 5 (Consumidor Final) para receptores sin identificar o con DNI; para CUIT/CUIL se toma del padrón de ARCA, y si no se puede determinar la API responde 400. Debe corresponder a la clase del comprobante (A/M: 1, 6, 13, 16; B: 4, 5, 7, 8, 9, 10, 15; C: todas). Ver /es/guides/condicion-iva-receptor.

Available options:
1,
4,
5,
6,
7,
8,
9,
10,
13,
15,
16
monId
string
default:PES

Moneda (código de ARCA, por ejemplo PES o DOL)

monCotiz
number
default:1

Cotización de la moneda

description
string
default:Venta de servicios

Descripción de la factura

clientName
string

Nombre o razón social del receptor, impreso en la factura. Si el receptor tiene CUIT y no se envía, se toma del padrón de ARCA

Maximum string length: 200
clientAddress
string

Domicilio del receptor, impreso en la factura

Maximum string length: 250
condicionVenta
enum<string>

Condición de venta impresa en la factura (RG 1415, Anexo II, B). ARCA no la recibe

Available options:
contado,
cuenta_corriente,
tarjeta_debito,
tarjeta_credito,
transferencia,
cheque,
otra
emailTo
string<email>[]

Direcciones a las que se manda el PDF de la factura apenas ARCA la autoriza. Mismos límites que POST /invoices/{invoiceId}/email

Required array length: 1 - 5 elements
fchServDesde
string

Inicio del período facturado (servicios). Fecha en formato YYYYMMDD

fchServHasta
string

Fin del período facturado (servicios). Fecha en formato YYYYMMDD

fchVtoPago
string

Vencimiento del pago (servicios). Fecha en formato YYYYMMDD

cbteFch
string

Fecha del comprobante. Fecha en formato YYYYMMDD. Por defecto, hoy

Pattern: ^[0-9]{8}$
Example:

"20260928"

impNeto
number

Importe neto gravado

Required range: x <= 10000000
impTotal
number

Importe total. Requerido si no enviás amount

Required range: x <= 10000000
Example:

1210

impTotConc
number
default:0

Importe neto no gravado

Required range: x >= 0
impOpEx
number
default:0

Importe exento

Required range: x >= 0
impTrib
number
default:0

Suma de los tributos

Required range: x >= 0
impIVA
number
default:0

Suma del IVA

Required range: x >= 0
amount
number
deprecated

Importe total. Deprecado: usá impTotal

Required range: x <= 10000000
cbtesAsoc
object[]

Comprobantes asociados (notas de crédito y débito)

tributos
object[]

Tributos (percepciones, impuestos internos, etc.)

iva
object[]

Alícuotas de IVA

opcionales
object[]

Datos opcionales de ARCA

compradores
object[]

Compradores (operaciones con varios compradores)

periodoAsoc
object

Período asociado (notas de crédito y débito)

actividades
object[]

Actividades del emisor

items
object[]

Ítems de la factura (se muestran en el PDF)

Maximum array length: 500

Response

Factura(s) aceptada(s) para procesamiento

Las facturas quedan encoladas en un lote; consultá su resultado con GET /invoices/batches/{batchId}.

batch
boolean
required

false si se encoló una sola factura, true si fueron varias

message
string
required

Mensaje de confirmación

Example:

"Factura encolada para procesamiento"

count
integer
required

Cantidad de facturas encoladas

Example:

1

status
enum<string>
required

Estado del lote

Available options:
processing
batchId
string
required

ID del lote creado

queueIdentifiers
string[]
required

Colas en las que se encolaron las facturas (una por entorno, CUIT, punto de venta y tipo de comprobante)