Repository navigation
Inventario del proyecto original
Corte reproducible: repositorio reingart/pyafipws rama main, commit
d595b072110accec9dae1ddb58165ab847b8520a
(árbol de 622 archivos); wiki Git, commit f942ebade93c41969d44e652b065ceabec535220
(16 páginas Markdown incluyendo _Sidebar.md; páginas canónicas).
Se clonaron ambos repositorios y se inventariaron sus árboles fijados. GitHub
sirve las páginas wiki por nombre y no ofrece un permalink de página con SHA;
por eso las filas enlazan a las páginas canónicas y el commit del clon fija el
contenido auditado. El manual web se consultó el 2026-10-06; es una fuente
externa mutable y no forma parte de esos SHA.
- Adaptado: hay una capacidad relacionada en NetArcaWs. No afirma igualdad de API ni cubre todos los helpers, interfaces y usos del original.
- No equivalente: no se encontró contraparte con el propósito del artefacto upstream dentro del alcance actual.
- Manual upstream sin soporte: se conserva como referencia del proveedor original; NetArcaWs no implementa ese flujo o utilidad. Tener una explicación en un manual no significa que el paquete la soporte.
Los clientes de negocio representados actualmente son WSFEv1, WSFEXv1, WSMTXCA, Padrón A4, Constancia por la ruta histórica A5, A10, A13, WSCDC y WSFECred; estos nueve contratos suman 108 operaciones según los WSDL fijados. WSAA es el cliente de autenticación compartido y no forma parte de ese conteo. Para estos servicios, adaptado significa cobertura del contrato SOAP descrito en Servicios y cobertura, no equivalencia completa con PyAfipWs. Otros módulos, servicios, herramientas, aplicaciones o formatos no quedan incluidos por este inventario.
Se enumeran todas las rutas versionadas con extensiones documentales o de texto
(.md, .rst, .txt, .html/.htm, .pdf, .adoc, .odt, .doc/.docx);
los .txt que son fixtures/datos se identifican como tales. En el SHA
consultado no había .rst, .html/.htm, .adoc, .odt ni .doc/.docx dentro
del repositorio Git.
| Fuente fijada | Tema | Destino NetArcaWs | Estado |
|---|---|---|---|
.github/pull_request_template.md |
Lista de control y evidencia manual de PR Python | Flujo actual de contribución propio | No equivalente; plantilla upstream |
CONTRIBUTING.md |
DCO, sign-off y aportes | CONTRIBUTING.md |
Adaptado como proceso del repositorio; no es un port funcional |
README.md |
Resumen, estructura, servicios, formatos, instalación y enlaces |
README.md, Servicios y cobertura, Inicio rápido
|
Adaptado para el subconjunto .NET; el README upstream enumera alcance mayor |
licencia.txt |
Atribución, garantía y términos de licencia del programa | esta nota de atribución | Referenciado/resumido; no se copia ni se infiere licencia uniforme |
requirements.txt |
Dependencias Python de ejecución |
*.csproj, packages.lock.json
|
No equivalente; dependencias distintas |
requirements-dev.txt |
Dependencias de pruebas/desarrollo Python | Proyectos .NET y lock files propios |
No equivalente; herramientas distintas |
datos/TB_20111111112_000000_20080124_000001.txt |
Archivo de datos de prueba/ejemplo | Ninguno | Manual upstream sin soporte; formato/escenario del paquete Python |
datos/TB_20111111112_000000_20101229_000001.txt |
Archivo de datos de prueba/ejemplo | Ninguno | Manual upstream sin soporte |
datos/facturas.txt |
Entrada de ejemplo de factura | Ninguno; requests SOAP tipados no implementan lector de lote | Manual upstream sin soporte |
ejemplos/pyfepdf/factura.pdf |
Salida PDF ilustrativa | Ninguno | Manual upstream sin soporte; no hay generador PDF equivalente |
ejemplos/wsfev1/ej_powerbuilder.txt |
Ejemplo cliente PowerBuilder | Ninguno | Manual upstream sin soporte; no hay compatibilidad PowerBuilder/COM |
tests/facturas.txt |
Fixture de entrada para tests Python | Ninguno | Manual upstream sin soporte |
tests/txt/entrada_receb1.txt |
Fixture de interfaz de texto para comprobantes B | Ninguno | Manual upstream sin soporte |
tests/txt/entrada_recex1.txt |
Fixture de interfaz de texto de exportación | Ninguno | Manual upstream sin soporte |
COPYING, COPYING.LESSER y licencia.txt también están en el árbol, aunque
los dos primeros no tienen extensión documental: ver el apartado de licencia
abajo. El árbol entero contiene además ejemplos en C#, Java, PHP, VB/VFP,
Delphi, C y otros lenguajes; no son documentación de texto de esta lista ni
significan que esas interfaces estén portadas.
GitHub sirve las páginas wiki por nombre y no admite un permalink de página con SHA; por eso cada fila enlaza a su URL canónica actual y el SHA del clon fija el contenido inventariado. El clon Git con ese commit permite reconstruir la copia examinada. Cada página puede remitir a instaladores, protocolos o sitios ya obsoletos.
| Página fuente | Tema | Destino NetArcaWs | Estado |
|---|---|---|---|
ComoColaborar.md |
Formas de colaborar y canales comunitarios |
CONTRIBUTING.md propio |
No equivalente; proceso upstream |
ContributorAgreement.md |
Acuerdo legal de contribución de PyAfipWs | Ninguno | No equivalente; no trasplantar acuerdos |
Descargas.md |
Releases y descargas históricas | releases | Manual upstream sin soporte; instaladores no se usan en .NET |
Difusion.md |
Difusión, artículos, eventos y enlaces | Ninguno | Manual upstream sin soporte |
Factura-Electronica-Python-3.md |
Ejemplo de factura Python 3 con CAE y PDF | migración | Manual upstream sin soporte; no copiar código Python ni asumir PDF |
FacturaElectronicaPython.md |
Ejemplo de API Python WSAA/WSFE | WSAA y certificados, docs WSFE | Adaptado conceptualmente, no por API/código |
Home.md |
Portada y presentación del ecosistema |
README.md, wiki local |
Adaptado al alcance menor |
InstalacionCodigoFuente.md |
Instalación Python, dependencias, entornos e instaladores Windows | desarrollo | Manual upstream sin soporte; las instrucciones no aplican a .NET |
PresentacionesEventos.md |
Presentaciones, charlas y eventos | Ninguno | Manual upstream sin soporte |
ProjectSummary.md |
Resumen en inglés de paquetes, servicios y apps |
README.md, Servicios y cobertura
|
Adaptado; servicios listados fuera de alcance permanecen sin soporte |
PyAfipWs.md |
Interfaz tipo OCX, COM y utilitarios de texto | migración | Manual upstream sin soporte; NetArcaWs no expone OCX/COM |
PyFactura.md |
Aplicación de facturación visual | Ninguno | Manual upstream sin soporte |
PyRece.md |
Aplicación GUI/lotes/PDF/email | Ninguno | Manual upstream sin soporte |
WSFEX.md |
Descripción WSFEX y enlaces a manuales | WSFEXv1 | Adaptado al contrato WSFEXv1; no a la API ni a todo WSFEX legado |
WSFEv1.md |
Descripción WSFEv1, clases y manual | WSFEv1 | Adaptado al contrato; sin paridad completa de helpers/API |
_Sidebar.md |
Navegación de la wiki upstream (GitHub la muestra con Home) | Home, navegación Markdown nativa | Adaptado a la navegación local; el contenido del índice upstream no se copia |
La tabla incluye los 48 .py ubicados en la raíz del snapshot upstream. La
descripción identifica el tema por nombre/implementación; el destino indica el
componente más cercano en el árbol actual, no una promesa de paridad. Los
servicios no adaptados también pueden estar descritos en manuales upstream.
| Módulo Python y permalink fijado | Tema | Destino NetArcaWs | Estado |
|---|---|---|---|
__init__.py |
Paquete y metadatos Python | Estructura de ensamblados .NET | No equivalente |
cot.py |
Código de Operaciones de Traslado de ARBA | Ninguno | Manual upstream sin soporte |
iibb.py |
Consulta/proceso de Ingresos Brutos provincial | Ninguno | Manual upstream sin soporte |
nsis.py |
Generación de instaladores NSIS/Python | Publicación propia de paquetes .NET | No equivalente |
padron.py |
Consulta/archivo de padrón fiscal local histórico | PadronService |
No equivalente: clientes SOAP vigentes no replican el dataset ni la API de este módulo |
pyemail.py |
Envío de correo asociado a aplicaciones | Ninguno | No equivalente |
pyfepdf.py |
Renderizado y diseño de comprobantes PDF | Ninguno | Manual upstream sin soporte |
pyi25.py |
Código de barras Interleaved 2 of 5 | Ninguno | Manual upstream sin soporte |
pyqr.py |
Creación de QR | Ninguno | Manual upstream sin soporte |
rece1.py |
Interfaz de texto/RECE para WSFE mercado interno |
Wsfev1Service cubre contrato SOAP |
Manual upstream sin soporte para CLI, lotes y formatos |
receb1.py |
Interfaz RECE de bonos fiscales | Ninguno | Manual upstream sin soporte |
recem.py |
Interfaz de texto para WSMTXCA |
Wsmtxcav1Service cubre contrato SOAP |
Manual upstream sin soporte para CLI, lotes y formatos |
recet.py |
Interfaz de texto para servicio de turismo | Ninguno | Manual upstream sin soporte |
recex1.py |
Interfaz de texto/RECE para exportación |
Wsfexv1Service cubre contrato SOAP |
Manual upstream sin soporte para CLI, lotes y formatos |
register_pyqr.py |
Registro de objeto COM de PyQR | Ninguno | No equivalente |
rg3685.py |
Formatos/exportaciones asociados a RG 3685 | Ninguno | Manual upstream sin soporte |
setup.py |
Instalación/empaquetado Python | Archivos .csproj y build .NET |
No equivalente |
setup_win.py |
Empaquetado Python para Windows | Publicación .NET | No equivalente |
sired.py |
Herramientas/archivos SIRED | Ninguno | Manual upstream sin soporte |
trazafito.py |
Trazabilidad de productos fitosanitarios | Ninguno | Manual upstream sin soporte |
trazamed.py |
Trazabilidad de medicamentos | Ninguno | Manual upstream sin soporte |
trazaprodmed.py |
Trazabilidad de productos médicos | Ninguno | Manual upstream sin soporte |
trazarenpre.py |
Trazabilidad de precursores químicos | Ninguno | Manual upstream sin soporte |
trazavet.py |
Trazabilidad de productos veterinarios | Ninguno | Manual upstream sin soporte |
utils.py |
Helpers Python: XML, SOAP, conversiones, archivos y COM |
Transport, contratos XML tipados, WSAA |
Adaptado parcialmente; no cubre los helpers/formatos/interoperabilidad del módulo |
wdigdepfiel.py |
Servicio de Depositario Fiel | Ninguno | Manual upstream sin soporte |
ws_sire.py |
Sistema Integral de Retenciones Electrónicas | Ninguno | Manual upstream sin soporte |
ws_sr_padron.py |
Cliente histórico A4/A5 |
PadronA4Service, PadronA5Service
|
Adaptado; A10/A13 y Constancia vigente se modelan desde fuentes ARCA actuales |
wsaa.py |
WSAA, CMS, CSR y autenticación |
WsaaService, WsaaCertificateContent, CLI de certificados |
Adaptado parcialmente; API COM/helpers no equivalentes |
wsbfev1.py |
Bono Fiscal Electrónico | Ninguno | Manual upstream sin soporte |
wscdc.py |
Constatación de comprobantes | WscdcService |
Adaptado al contrato SOAP WSCDC versionado; no implica paridad con helpers/API Python ni homologación autenticada |
wscoc.py |
Consulta de operaciones cambiarias | Ninguno | Manual upstream sin soporte |
wscpe.py |
Carta de Porte Electrónica | Ninguno | Manual upstream sin soporte |
wscpe_cli.py |
CLI de Carta de Porte Electrónica | Ninguno | Manual upstream sin soporte |
wsct.py |
Factura electrónica de turismo | Ninguno | Manual upstream sin soporte |
wsctg.py |
Código de Trazabilidad de Granos | Ninguno | Manual upstream sin soporte |
wsfecred.py |
Factura de Crédito Electrónica MiPyME | WsfecredService |
Adaptado al contrato SOAP WSFECred versionado; el ciclo de negocio no está integrado a SafeInvoiceService ni es equivalente a WSMTXCA |
wsfev1.py |
Web service de factura electrónica doméstica | Wsfev1Service |
Adaptado al contrato actual, sin paridad de API/helpers |
wsfexv1.py |
Web service de factura de exportación | Wsfexv1Service |
Adaptado al contrato actual, sin paridad de API/helpers |
wslpg.py |
Liquidación Primaria de Granos | Ninguno | Manual upstream sin soporte |
wslpg_datos.py |
Datos auxiliares/catálogos WSLPG | Ninguno | Manual upstream sin soporte |
wslsp.py |
Liquidación pecuaria | Ninguno | Manual upstream sin soporte |
wsltv.py |
Liquidación de tabaco verde | Ninguno | Manual upstream sin soporte |
wslum.py |
Liquidación de leche | Ninguno | Manual upstream sin soporte |
wsmtx.py |
Factura doméstica con detalle, WSMTXCA | Wsmtxcav1Service |
Adaptado al contrato actual; no replica apps/formatos ni confundir con WSFCE |
wsremazucar.py |
Remito electrónico de azúcar | Ninguno | Manual upstream sin soporte |
wsremcarne.py |
Remito electrónico cárnico | Ninguno | Manual upstream sin soporte |
wsremharina.py |
Remito electrónico de harina | Ninguno | Manual upstream sin soporte |
El listado anterior describe módulos de la raíz únicamente. Paquetes como
formatos/, ejemplos, pruebas, fixtures SOAP, scripts de build y fuentes C
están en el mismo commit y fueron inspeccionados en el árbol, pero no son
módulos Python top-level ni parte del inventario documental por extensión.
Consultar el árbol fijado para hallarlos. Ningún módulo Python se incorporó a
NetArcaWs.
Se examinó el Manual de uso PyAfipWs, servido como HTML en la consulta del 2026-10-06 (4.826 líneas expuestas por el lector web). Es un manual de producto extenso: instalación y evaluación, credenciales/certificados, interfaz COM y herramientas de texto, servicios de facturación con operaciones/errores/ejemplos, reintentos/reproceso, PDF y herramientas adicionales (padrones, verificaciones, granos, trazabilidad, entre otros). Se usó para identificar categorías y dependencias del ecosistema; no se copiaron pasajes largos ni ejemplos de código.
La migración documenta las cinco familias objetivo y los límites conocidos. El manual contiene capítulos de numerosos módulos sin destino: se clasifican manual upstream sin soporte, no “adaptados”. Tampoco se tomaron como prueba actual sus direcciones de servicio, instrucciones para Python 2/Windows, normativa o declaraciones de producción: para endpoints, contratos y conducta vigente prevalecen los WSDL/manuales ARCA fechados en proveniencia de contratos y las fuentes enlazadas allí.
El texto consultado identifica a Mariano Reingart como autor/mantenedor del
proyecto y remite a Sistemas Ágiles. Para código, el upstream incluye avisos
LGPLv3+ en varios módulos, COPYING (GPL), COPYING.LESSER (LGPL) y una
declaración propia en licencia.txt; el README describe LGPLv3+ y menciona una
excepción comercial. Los avisos del archivo y las dependencias deben comprobarse
antes de reutilizar código; no se concluye una licencia uniforme. La licencia
específica de las páginas de wiki y del manual no se pudo verificar. NetArcaWs
resume, atribuye y enlaza: no republica el texto original.
- Manuales de desarrollador de factura electrónica ARCA.
- Contratos fechados, hashes y excepciones: sources.md.
- Catálogo oficial de servicios y manuales de Padrón están referenciados en healthchecks-contracts.md.