@tecnotics/fe-billing-native
v0.1.3
Published
Librería React Native para facturación electrónica colombiana (DIAN, resoluciones, notas crédito/débito). Versión nativa (Android/iOS) de @tecnotics/fe-billing. Integración con la API Tecnotics.
Maintainers
Readme
@tecnotics/fe-billing-native
Librería React Native (Android / iOS) para facturación electrónica colombiana
(DIAN) sobre la API de Tecnotics. Es la versión nativa de
@tecnotics/fe-billing (web).
🚧 En migración. Ver
MIGRATION_PLAN.mdpara el alcance, las fases y el estado. Hoy está disponible el núcleo (API, auth, enums, utilidades); la UI (TecnoticsProvider,BillingComponent) se añade por fases.
Estado actual
| Capa | Estado |
|------|--------|
| TecnoticsAPI, auth (cookies), enums DIAN, formatters, numberToWords, catálogos | ✅ portado y verificado (type-check + build) |
| Context / Provider / hooks de UI | ⏳ pendiente (Fase 2) |
| Componentes y pantallas | ⏳ pendiente (Fases 3–6) |
Scripts
pnpm install
pnpm type-check # tsc --noEmit (única verificación automática)
pnpm build # react-native-builder-bob → lib/ (commonjs + module + typescript)Núcleo disponible
import {
TecnoticsAPI,
verifyAuth,
TipoDocElectronico,
formatCurrencyWithSymbol,
numberToWords,
} from '@tecnotics/fe-billing-native';
// Autenticación (setea la cookie de sesión _tecnofe_session_ en el store nativo)
const res = await verifyAuth(
{ company_id: 'XXX', simba_token: 'YYY' },
'https://facturacionelectronicatt.tecnotics.co',
);
if (res.success) {
const api = new TecnoticsAPI({ company_id: 'XXX', simba_token: 'YYY' }, FE_URL);
const { clients } = await api.getClients();
}Compatibilidad Android / iOS
- El núcleo usa solo
fetch,URLSearchParams,JSONyPlatform— disponibles en ambas plataformas. - Auth por cookie (
credentials: 'include'): React Native persiste la cookie de sesión en el store nativo (NSURLSession en iOS, OkHttp/CookieManager en Android). El flujoverifyAuth→ llamadas autenticadas funciona sin manejo manual de cookies. Si en algún dispositivo la cookie no persiste, integrar@react-native-cookies/cookies. - ⚠️ A validar en dispositivo:
formatCurrencyusaNumber.toLocaleStringcon locale; en Hermes el soporte deIntlvaría por versión de RN. Verificar el formato de montos en Android e iOS reales (verexample/).
Ejemplo
example/ es una app Expo con una pantalla de prueba que autentica y lista clientes
para validar cookies + formato de moneda en Android e iOS. Ver example/README.md.
