Datos de referencia
El paquete exporta un conjunto chico y estable de códigos comunes de ARCA desde
facturas/constants.
Las constantes cubren los valores más comunes que usan la documentación y los
ejemplos:
- tipos de comprobante para factura A/B/C, nota de débito A/B/C y nota de
crédito A/B/C
- tipos de documento para CUIT, DNI y consumidor final
- condiciones de IVA del receptor más comunes, sujetas a las reglas de clase de
comprobante y de catálogo en vivo
- tipos de concepto para productos, servicios y productos + servicios
- alícuotas de IVA
0, 2.5, 5, 10.5, 21 y 27
- monedas ISO que acepta la fachada,
ARS y USD, con sus mapeos explícitos a
PES y DOL en ARCA
Si necesitás catálogos más amplios en tiempo de ejecución, la referencia técnica
incluye métodos de WSFE como getVoucherTypes(),
getDocumentTypes(), getCurrencyTypes() y getVatRates().
getCurrencyTypes() devuelve identificadores en vivo de ARCA, no códigos ISO.
API pública (semver)
Los métodos normales de emisión cubiertos por semver son issue, preview,
recover, issueCreditNote, issueDebitNote, previewCreditNote,
previewDebitNote, lookup y lastAuthorized. Los módulos técnicos wsfe, wsmtxca y padron también
forman parte de la API pública.
Las opciones de emisión también entran en semver. Junto a idempotencyKey,
abortSignal toma un AbortSignal y corta el login WSAA, la escritura, las
consultas y la espera del lock de la secuencia de esa llamada. Un corte posterior al envío devuelve indeterminate
con lookup.kind === "aborted" y recover() concilia la reserva. Los lookup
de un indeterminate incluyen además blocked, mientras otra clave sin
resolver frena la secuencia, y superseded, cuando la secuencia siguió sin
esta clave y hay que emitir bajo una clave nueva. Está documentado en
Emitir facturas.
arcaQrUrl() y arcaQrPayload() arman la URL y el JSON del QR de un
comprobante impreso desde datos guardados, con ArcaQrInput y
ArcaQrPayload como tipos y ARCA_QR_URL como base. IssuedVoucher.qr trae
esa misma URL en cada resultado autorizado, e IssuedVoucher.qrPayload su JSON.
buildVoucherDocument() arma sin I/O todo lo que muestra el
comprobante impreso, con VoucherDocumentInput,
VoucherDocument, VoucherDocumentLine y PrintedIssuerCondition como tipos.
PRINTED_VOUCHER_TEXT trae los textos fijos que exigen las normas,
MONOTRIBUTO_CREDIT_LEGEND la leyenda de la Ley 27.618 y
PRINTED_CAE_DUE_DATE_MIN_FONT_SIZE_PT el tamaño mínimo del vencimiento del
CAE. IssuedVoucher.totals es el dinero autorizado en centavos, con el IVA por
alícuota, y su tipo es VoucherTotals.
voucherDateWindow() calcula sin I/O la
ventana de fechas que issue() controla
antes de enviar, con VoucherDateWindowInput y VoucherDateWindow como tipos.
describeVoucherType() dice qué es un tipo de comprobante que emite el SDK:
{ family, voucherClass, kind }, con kind igual a "invoice",
"debit_note" o "credit_note", y VoucherTypeInfo como tipo. Para 19, 20 y
21 devuelve family: "export" y voucherClass: "E", y voucherDateWindow()
aplica la ventana de WSFEX.
IssuerConditionId es el código de ARCA que issuer acepta en lugar del
nombre.
Tipos exportados para emitir, además de IssueInput, IssueOptions,
IssueOutcome, IssuePreview, IssuedVoucher, FiscalHeader y VouchersService:
DebitNoteInput, NotePreview, PeriodNoteInput, PreviewOptions,
VoucherCoordinates, VoucherSummary,
RecoveryOptions, IssueRequest, IssuanceService, FceOptions,
InvoiceFamily, IssuanceFields, Tribute, VoucherAmounts,
ItemLine, WsmtxcaLine y WsmtxcaIssueRequest. ItemLine es el ítem de la
fachada, con su plata y el detalle de línea que usa WSMTXCA. WsmtxcaLine es
la fila que devuelven las consultas de WSMTXCA. ARCA_WSMTXCA_GENERIC_CODES
lista los códigos genéricos de ARCA para matrixCode, con su descripción.
include: { rawResponse: true, request: true } agrega la respuesta cruda de
ARCA y el request fiscal a cualquiera de los cuatro resultados, y
NotePreview.originals lista los comprobantes que una nota vinculada corrige.
IssuePreview.header y IssuedVoucher.header exponen la misma cabecera fiscal
normalizada sin habilitar include.request. El segundo aparece en toda
autorización, tanto directa como recuperada.
Los módulos de transporte documentan
client.wsfe, client.wsmtxca y client.padron.
Entradas documentadas:
facturas
facturas/constants
facturas/wsfe
facturas/wsmtxca
facturas/padron
facturas/errors
facturas/types
Los internos de bajo nivel de SOAP, HTTP y WSAA no forman parte del contrato de
semver.
Ejemplo con subpaths:
Seguridad
- Tratá los certificados y las claves privadas como secretos.
- Por defecto, los tickets WSAA se guardan solo en memoria.
- Con
store, el SDK guarda los tickets WSAA cifrados con AES-256-GCM y una
clave derivada de tu clave privada. Los adaptadores incluidos nunca guardan
la configuración de certificado ni de clave privada.
- Un
wsaaSessionStore propio recibe las credenciales en claro. En producción
tendría que cifrarlas en reposo o usar un almacenamiento que ya las cifre.
Last modified on October 3, 2026