Emitir Factura E
Emitir una Factura electrónica de exportación (tipo 19) con CAE mediante WSFEX.
Emite una Factura E (tipo de comprobante 19) para exportación y devuelve el CAE asignado por ARCA.
Endpoint
POST /api/wsfex/facturasRequest
curl -X POST https://arca.api.com.ar/api/wsfex/facturas \
-H "Authorization: Bearer ak_TuSecretoAqui" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: expo-uuid-5678" \
-d '{
"environment": "homologacion",
"representada": "27111111118",
"cbteTipo": 19,
"ptoVta": 1,
"dstPais": 203,
"tipoExpo": 2,
"idioma": 1,
"incoterms": "CIF",
"incotermsDs": "Costo, seguro y flete",
"moneda": "DOL",
"monedaCtz": 1050.00,
"cliente": "Acme Corp",
"domicilioCliente": "123 Main St, New York, NY 10001",
"cuitPaisCliente": 50000000016,
"idImpositivo": "EIN-12-3456789",
"fechaPago": "20250115",
"items": [
{
"codigo": "SVC-001",
"descripcion": "Servicio de software",
"cantidad": 10,
"unidadMedida": 7,
"precioUnitario": 500.00
}
]
}'Parámetros
| Campo | Tipo | Descripción |
|---|---|---|
environment | "homologacion" | "produccion" | Entorno de ARCA |
representada | string (11 dígitos) | CUIT del exportador |
cbteTipo | 19 | Tipo de comprobante Factura E |
ptoVta | number | Punto de venta de exportación (obligatorio, ver debajo) |
dstPais | number | Código de país destino (ver tabla paises-destino) |
tipoExpo | number | Tipo de exportación (ver tabla tipos-exportacion): 1 = exportación definitiva, 2 = servicios |
idioma | number | Código de idioma del comprobante (ver tabla idiomas): 1 = español |
incoterms | string | Código Incoterms (ver tabla incoterms) |
incotermsDs | string (opcional) | Descripción libre del Incoterm |
moneda | string | Código de moneda (ver tabla monedas): ej. "DOL" para dólar |
monedaCtz | number | Cotización de la moneda en ARS (debe ser mayor a 0) |
cliente | string | Razón social del cliente extranjero |
domicilioCliente | string | Domicilio del cliente extranjero |
cuitPaisCliente | number | CUIT del país del cliente (ver tabla cuits-destino) |
idImpositivo | string | Identificación fiscal del cliente en su país |
items | array | Lista de ítems de exportación (ver debajo) |
cbteFch | string (opcional) | Fecha del comprobante YYYYMMDD (default: hoy) |
permisos | array (opcional) | Permisos de embarque. Solo se admiten con tipoExpo: 1 (exportación definitiva de bienes); ARCA los rechaza en servicios y en notas |
formaPago | string (opcional) | Forma de pago |
opcionales | array (opcional) | Datos opcionales [{ id, valor }] |
fechaPago | string | Fecha de pago YYYYMMDD. Obligatoria con tipoExpo: 2 (servicios) y tipoExpo: 4 (otros) |
Punto de venta
A diferencia de WSFEv1, acá ptoVta es obligatorio.
No es un olvido: los puntos de venta de exportación se dan de alta por separado en ARCA y no son los mismos que los del mercado interno. Un punto habilitado para factura electrónica no queda habilitado para exportación, así que el que configuraste en el dashboard no sirve para deducir éste — y usarlo produciría un rechazo, no un atajo.
Podés ver los tuyos con la tabla puntos-de-venta de parámetros, que
consulta WSFEX y devuelve su lista, distinta de la de WSFEv1.
Ítems (items[])
| Campo | Tipo | Descripción |
|---|---|---|
codigo | string (opcional) | Código del producto/servicio |
descripcion | string | Descripción del ítem |
cantidad | number | Cantidad |
unidadMedida | number | Código de unidad de medida (ver tabla unidades-medida): ej. 7 = unidades |
precioUnitario | number | Precio unitario en la moneda declarada |
productoId | string (opcional) | Id de un producto guardado. Completa descripcion y precioUnitario |
Los comprobantes de exportación no llevan IVA. El sistema calcula Pro_total_item = cantidad × precioUnitario e Imp_total como su suma.
Emitir ítems por referencia
Podés referenciar tu catálogo de productos con productoId en cada ítem, igual que en WSFEv1, con dos límites propios de la exportación:
- Sólo completa
descripcionyprecioUnitario.cantidad,unidadMedidaycodigolos seguís mandando vos: ninguno es un atributo del catálogo. LaalicuotaIvaguardada se ignora, porque la exportación no discrimina IVA — un producto sin alícuota se referencia sin problema. clienteIdno aplica. El cliente guardado modela un receptor argentino (documento de ARCA y condición frente al IVA); un receptor de exportación necesita país de destino e identificación fiscal del exterior, que el modelo de clientes no tiene. Los camposcliente,domicilioCliente,cuitPaisClienteeidImpositivose escriben siempre a mano.
Valen las mismas reglas: el valor explícito gana sobre el del catálogo, y una referencia que no se resuelve devuelve 400 antes de llamar a ARCA, sin consumir cuota ni numeración.
precioUnitario va en la moneda declarada del comprobante: el catálogo no guarda moneda, así que si emitís en dólares, un precio traído del catálogo se interpreta como dólares. Revisalo antes de referenciar productos en un comprobante que no sea en pesos.
Permisos de embarque (permisos[])
Solo para exportación de mercaderías (tipoExpo = 1):
| Campo | Tipo | Descripción |
|---|---|---|
idPermiso | string | ID del permiso de embarque |
dstMerc | number | País destino de la mercadería |
Idempotencia
Idempotency-Key: expo-uuid-5678Si reenviás la misma solicitud con la misma key, el sistema devuelve el comprobante ya emitido sin duplicar.
Respuesta exitosa
{
"resultado": "A",
"cae": "75050000000042",
"caeFchVto": "20251225",
"cbteNro": 15,
"ptoVta": 1,
"cbteTipo": 19,
"observaciones": [],
"errores": []
}Comprobante rechazado
HTTP 422:
{
"resultado": "R",
"cae": null,
"caeFchVto": null,
"cbteNro": null,
"ptoVta": 1,
"cbteTipo": 19,
"observaciones": [],
"errores": [
{ "code": 704, "msg": "La moneda no es válida" }
]
}Errores
Antes de reintentar una emisión, leé Reintentar sin duplicar el comprobante: un 502 no significa que el comprobante no se haya emitido.