JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 38
  • Score
    100M100P100Q68720F
  • License MIT

TypeScript SDK for the Factus Colombian e-invoicing API

Package Exports

  • factus-js

Readme

factus-js

npm version license npm downloads

SDK TypeScript/JavaScript para la API de Factus — facturación electrónica en Colombia ante la DIAN.

Documentación completa: https://factusjs.vercel.app

Características

  • Todos los endpoints de la API de Factus: facturas, notas crédito, documentos soporte, notas de ajuste, recepción RADIAN, rangos de numeración, catálogos y más.
  • Autenticación OAuth2 automática con refresh de token.
  • Tipado completo con TypeScript — autocompletado, payloads y respuestas tipados.
  • Constantes DIAN tipadas: medios de pago, formas de pago, tipos de documento, tributos, etc.
  • Compatible con cualquier runtime JavaScript: Node.js, Deno, Bun.
  • Cero dependencias externas.

Instalación

# npm
npm install factus-js

# yarn
yarn add factus-js

# pnpm
pnpm add factus-js

# bun
bun add factus-js

Uso básico

import { FactusClient } from "factus-js";

const factus = new FactusClient({
  clientId: process.env.FACTUS_CLIENT_ID!,
  clientSecret: process.env.FACTUS_CLIENT_SECRET!,
  username: process.env.FACTUS_USERNAME!,
  password: process.env.FACTUS_PASSWORD!,
  environment: "sandbox", // "production" para ambiente real
});

// Listar facturas
const bills = await factus.bills.list({ page: 1, per_page: 10 });
console.log(bills.data.data);

// Crear una factura electrónica
const invoice = await factus.bills.create({
  /* payload */
});

// Descargar PDF
const pdf = await factus.bills.downloadPdf("SETT1");

Módulos disponibles

Módulo Descripción
factus.bills Facturas electrónicas de venta
factus.creditNotes Notas crédito
factus.supportDocuments Documentos soporte
factus.adjustmentNotes Notas de ajuste para documento soporte
factus.reception Recepción de facturas y eventos RADIAN
factus.company Datos de empresa
factus.numberingRanges Rangos de numeración DIAN
factus.subscription Estado del plan/suscripción
factus.catalog Municipios, países, tributos, unidades y adquirentes

Exportaciones

import {
  FactusClient,
  FactusError,
  // Constantes DIAN tipadas
  PaymentMethodCode,
  PaymentFormCode,
  IdentityDocumentTypeId,
  // ... y más
} from "factus-js";

Documentación

Para guías completas, referencia de la API, ejemplos y más, visita la documentación:

https://factusjs.vercel.app

Licencia

MIT