Repository navigation
Funcionalidades adicionales
Hernan Lopez edited this page Oct 7, 2026
·
2 revisions
Además de los clientes fiscales, NetArcaWs incluye piezas de infraestructura y herramientas para integrarlas en una aplicación .NET. Cada función resuelve una parte acotada del flujo; no reemplaza la autorización del usuario, las reglas fiscales ni las decisiones de operación del sistema consumidor.
| Función | Para qué sirve y cómo usarla | Guía y ejemplo |
|---|---|---|
| Contexto multitenant | Vincula cada llamada autenticada con un tenant interno, CUIT representada, ambiente y certificado. La aplicación debe resolver y autorizar estos datos antes de crear el contexto; no los tomes de campos libres del request. |
Contexto multitenant, GuideExamples.CreateTenant y GuideExamples.AuthenticateTenantAsync en GuideExamples.cs. |
| Certificados en memoria |
WsaaCertificateContent recibe PEM, bytes PFX o PFX en Base64 para WSAA sin exigir una ruta de archivo. Base64 no cifra el contenido; carga secretos desde un vault o almacenamiento protegido. En macOS, usa PEM porque la importación PFX efímera no está disponible en .NET. |
WSAA y certificados, contexto multitenant. |
| Health checks | Registros opt-in implementan IHealthCheck para probes por servicio/ambiente. No requieren certificado ni ticket WSAA, no reintentan y miden conectividad/disponibilidad; un resultado saludable no prueba autorización de una CUIT o aceptación de una factura. |
Health checks, GuideExamples.ConfigureHealthChecks en GuideExamples.cs, contratos en healthchecks-contracts.md. |
| CLI de certificados |
netarcaws cert-dev y cert-prod generan clave y CSR localmente; cert-info inspecciona metadatos y correspondencia local de clave/certificado. Ningún comando emite un certificado, lo asocia a un servicio o llama a ARCA. |
Herramienta de certificados, guía detallada del CLI, GuideExamples.CreateDevelopmentCertificateCommand en GuideExamples.cs. |
| Emisión durable y reconciliación |
SafeInvoiceService registra operaciones CAE unitarias de WSFEv1, WSFEXv1 y WSMTXCA con payload inmutable y diario. Ante una caída durante un envío, reconcilia el estado según el servicio; no reenvía automáticamente un resultado incierto. SQLite es local a un host; un despliegue multi-host necesita un diario transaccional propio. |
Diario fiscal, arquitectura y reintentos, ADR reintentos seguros, métodos AuthorizeOneAsync y ReconcileAsync en GuideExamples.cs. |
| Cálculos decimales |
TaxCalculator ofrece redondeo decimal, IVA con tasa provista, descomposición simple de bruto y suma de componentes. La aplicación decide clasificación, tasa y reglas fiscales; esto no es un motor tributario integral. |
Cálculos decimales, GuideExamples.CalculateFromGross en GuideExamples.cs. |
| Herramientas de build .NET |
NetArcaWs.Build automatiza la generación del espejo Markdown de la wiki, la actualización de contratos mediante la herramienta configurada y verificaciones/operaciones de release. Su entrada es el repositorio .NET; no requiere un script de Python para estas tareas. |
Desarrollo y contribución, código en tools/NetArcaWs.Build. |
| Ejemplos .NET | El proyecto reúne ejemplos compilables. Compilarlo no hace llamadas de red; al invocar AuthenticateTenantAsync, AuthorizeOneAsync, ReconcileAsync o un adaptador de operación sí puede comunicarse con ARCA. Los datos y reglas del negocio siguen a cargo de la aplicación. |
GuideExamples.cs, proyecto de ejemplos. |
| Paquetes y publicación | Los once paquetes NuGet de la biblioteca, la herramienta y los extras de persistencia se publican mediante la release validada y Trusted Publishing OIDC. La validación manual genera artefactos sin publicarlos; el job de publicación requiere la configuración externa documentada. | Releases y publicación, desarrollo y contribución. |
- Autentica al usuario y autoriza su acceso al tenant antes de consultar un
padrón o emitir un comprobante.
ArcaTenantContextorganiza datos fiscales de la llamada, pero no otorga permisos por sí mismo. - Protege claves, contraseñas, tickets y datos fiscales según las políticas de la aplicación. Los objetos en memoria reducen archivos temporales explícitos, pero no garantizan el borrado inmediato de strings o memoria administrada.
- Usa los helpers aritméticos solo después de aplicar reglas fiscales verificadas. No recalcules ni cambies silenciosamente los importes de una solicitud durante una reconciliación.
- Trata los health checks como señales operativas. Conserva pruebas separadas para credenciales, permisos y resultados de negocio en un ambiente ARCA autorizado.
El inicio rápido muestra el primer registro DI. La página de servicios implementados resume los clientes y sus referencias de operación; el inventario upstream aclara las herramientas de PyAfipWs que aún no tienen equivalente.