Skip to main content

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