neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Conectate a ARCA con TypeScript. SDK y CLI
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
SDK de TypeScript para facturación electrónica con ARCA / AFIP. Emití facturas, notas de crédito y notas de débito, y consultá el Padrón con una sola API.README 전문 보기 ↗
SDK de TypeScript para facturación electrónica con ARCA / AFIP. Emití facturas, notas de crédito y notas de débito, y consultá el Padrón con una sola API.
npx facturas init genera la clave y el CSR, y
npx facturas check nombra la capa de ARCA que fallacoe.alreadyAuthenticatedLa documentación está en castellano, en el sitio de documentación y en su fuente Mintlify.
pnpm add facturas
# o
npm install facturas
Definí las variables de entorno con tu CUIT, certificado y clave. No hace falta nada más: ni base de datos, ni tabla, ni servicio externo.
import { createArcaClient } from "facturas";
const arca = createArcaClient();
const factura = await arca.issue({
issuer: "monotributo",
salesPoint: 3,
to: { condition: "consumidor_final" },
items: [{ amount: 150_000 }], // ARS 1.500,00 en centavos
});
Tratá siempre los cuatro resultados:
| Resultado | Qué significa y qué hacer |
|---|---|
authorized | Guardá el comprobante, el CAE, voucher.header y el qr para imprimir. La cabecera tiene el mismo formato en una autorización directa o recuperada. recoveredByMatch: true significa que el input guardado coincidió con la identidad consultada. Esto prueba consistencia, no autoría. |
rejected | Revisá los issues de ARCA. Una clave queda ligada a su input incluso después de un rechazo. |
indeterminate | Conservá el número y la evidencia. Conciliá o repetí el input idéntico con su clave existente. |
conflict | Hay otro comprobante en el número reservado. Detené el flujo e investigá. |
El paso a paso está en Inicio rápido. El detalle está en Facturas.
ARCA no recibe una clave de idempotencia. Si una respuesta se
pierde, no puede distinguir un reintento de una emisión nueva. facturas te
permite guardar cada intento en un store con el ID estable de tu venta. Al
repetir esa clave, consulta el número reservado en vez de empezar otra emisión.
import { createArcaClient, createPostgresStore } from "facturas";
import { Pool } from "pg";
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const arca = createArcaClient({
store: createPostgresStore({ query: (text, params) => pool.query(text, params) }),
});
const factura = await arca.issue(input, { idempotencyKey: venta.id });
Hay adaptadores para Postgres, Redis, archivos y memoria, y podés escribir el tuyo. Con ellos, dos emisiones simultáneas sobre el mismo punto de venta se serializan y cada una escribe su número. Ver Evitar comprobantes duplicados.
ARCA no anula comprobantes. Una corrección es una nota de crédito y también es un documento real que queda en los registros de ARCA. Lo habitual es la nota parcial, que acredita las líneas que elegís.
const nota = await arca.issueCreditNote(
{
for: { salesPoint: 3, voucherType: 11, number: 41 },
items: [{ amount: 50_000 }], // ARS 500,00 de una factura de ARS 1.500,00.
},
{ idempotencyKey: `nc:${devolucion.id}` },
);
Con all: true acreditás el original completo. El modo es explícito y
obligatorio. También podés emitir notas de débito y por
período, tributos y FCE. recover() concilia
una reserva sin emitir.
init, check e issue, con la tabla de diagnósticos.issue(), preview(), datos de la factura y
contrato fiscal de emisión.issueCreditNote(), modo
parcial y modo total.issue().client.wsfe,
client.wsfex, client.wsmtxca y client.padron para lecturas, catálogos,
estado del servicio y Padrón.Las contribuciones son bienvenidas. CONTRIBUTING.md explica cómo levantar el repositorio y proponer un cambio. Usá los issues para reportar errores y conversar propuestas.
No abras issues públicos para reportar vulnerabilidades. Seguí SECURITY.md y escribinos a [email protected].
Pre-1.0. Mientras la versión empiece en 0., un minor puede cambiar o quitar
partes de la API pública. Fijá la versión exacta y leé el
changelog antes de actualizar.
Apache-2.0