Skip to main content

Cliente de Servicios Web de ARCA

Cliente en Python para acceder a los servicios web de ARCA (Administración Federal de Ingresos Públicos de Argentina). Maneja la autenticación y la comunicación con los servicios SOAP de ARCA.

Características

  • Gestión de tokens de autenticación
  • Integración con servicios SOAP de ARCA
  • Consultas de metodos y elementos
  • Soporte para entornos de producción y prueba

Requisitos

  • Python 3.8+
  • cryptography
  • zeep
  • python-dateutil
  • Certificados de ARCA (prueba o producción)

Instalación

pip install arca_arg

Configuración

  1. Configurar los ajustes en settings.py:
CUIT = "TU_CUIT_AQUI"
PROD = False  # True para producción
CERT_PATH = "carpeta con el certificado de arca"
PRIVATE_KEY_PATH = "Carpeta con el la clave privada"
TA_FILES_PATH="donde se guardaran temporalmente los token de acceso"

Uso

import arca_arg.settings as confg

confg.PRIVATE_KEY_PATH = 'key/test.key'
confg.CERT_PATH = 'cert/TestCert.pem'
confg.TA_FILES_PATH = '/ta/'
confg.CUIT = '20293188204'

from arca_arg.webservice import ArcaWebService 
from arca_arg.settings import WSDL_FEV1_HOM, WS_LIST

arca_service = ArcaWebService(WSDL_FEV1_HOM, 'wsfe')  # Instancia del servicio web
print(arca_service.list_methods()) # Lista de métodos del servicio inicializado
print(arca_service.method_help('FECAESolicitar')) # Ayuda con el método consultarProvincias del servicio web
print(arca_service.get_type('FECAEDetRequest')) # Ayuda de composición del elemento a enviar.

auth = {'Token': arca_service.token, 'Sign': arca_service.sign, 'Cuit': arca_service.cuit,}
cabecera = { 'CantReg': 1, 'PtoVta': 1, 'CbteTipo':1}
detalle = {
        'Concepto' : 1,
        'DocTipo' : 80,
        'DocNro': 27293188217,
        'CbteDesde': 4,
        'CbteHasta': 4,
        'CbteFch': "20250124",
        'ImpTotal':121,
        'ImpTotConc': 0,
        'ImpNeto': 100,
        'ImpOpEx': 0,
        'ImpIVA': 21,
        'ImpTrib': 0,
        'MonId': "PES",
        'MonCotiz':1,
        'Iva': {'AlicIva': {'Id': 5, 'BaseImp': 100, 'Importe': 21}}
}
# preparando los datos a enviar al ws
data = {'Auth': auth, 
        'FeCAEReq': { 'FeCabReq': cabecera, 'FeDetReq': {'FECAEDetRequest': detalle}}
       }
# imprimir el xml que se va enviar antes de procesarlo
print(arca_service.create_message('FECAESolicitar', data)

# envio del request
arca_service.send_request('FECAESolicitar', data)
  

Estructura del Proyecto

arca_arg/
├── arca_arg/
│   ├── auth.py
│   ├── settings.py
│   ├── webservice.py
└── README.md

Contribuir

Cómo Contribuir

  1. Hacer un fork del repositorio
  2. Crear una rama para tu funcionalidad (git checkout -b feature/amazing-feature)
  3. Confirmar tus cambios (git commit -m 'Add some amazing feature')
  4. Subir a la rama(git push origin feature/amazing-feature)
  5. Abrir un Pull Request

Directrices de Desarrollo

  • Seguir la guía de estilo PEP 8
  • Añadir pruebas unitarias para nuevas funcionalidades
  • Actualizar la documentación según sea necesario
  • Usar anotaciones de tipo para el nuevo código

Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

Soporte

Reporte de Problemas

Por favor, incluye la siguiente información al reportar problemas:

  • Descripción detallada del problema
  • Pasos para reproducir
  • Comportamiento esperado vs comportamiento actual
  • Versión de Python y detalles del entorno

Contacto

Metadata

Release files for arca-arg 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arca-arg 1.0.1
File Size Uploaded Provenance
arca_arg-1.0.1.tar.gz 10.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arca-arg 1.0.1
File Interpreter ABI Platform
arca_arg-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.5 kB

Release files / arca_arg-1.0.1.tar.gz

Download URL arca_arg-1.0.1.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
eb8188d84dc96aad17dc50fdde432626316f05f1e99a2093b78b99df0ae934b5
BLAKE2b-256 checksum
How to use checksums
dc4915bc0f9c0906534c4a31c433fb4597a6aac3bd4234bb03f96e151f38a00d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Release files / arca_arg-1.0.1-py3-none-any.whl

Download URL arca_arg-1.0.1-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c392cc4afd9f6a91b57df3f90246677b0887ef540ed95144088f010be5c1170a
BLAKE2b-256 checksum
How to use checksums
cf05c6f70025be3b98455a76b7279069372fff9d1f8b74a4adb9138af7e2f800
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Security for arca-arg 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page