Skip to main content

AlegraPy

Este paquete nos permite consumir la API de la plataforma de facturación Alegra de forma sencilla mediante Python 🐍.

Características

  • Modular y Extensible: Soporta múltiples recursos de la API de Alegra.
  • Cliente Orientado a Objetos (AlegraClient): Permite instanciar múltiples clientes con diferentes credenciales simultáneamente.
  • Carga Perezosa (Lazy loading): Los recursos solo se importan e instancian cuando se acceden por primera vez.
  • Operaciones Avanzadas: Anulación de documentos, reabrir documentos, envío por correo electrónico, agregar comentarios y transferencias bancarias.
  • Carga de Archivos Adjuntos: Soporte integrado para adjuntar archivos (multipart/form-data) a cualquier recurso que lo admita.

Instalación y Configuración

1. Obtener credenciales de acceso

Sigue estos pasos para obtener tus credenciales desde tu cuenta de Alegra:

  • Ingresa a la aplicación de Alegra.
  • Dirígete a Configuración (esquina superior derecha) y selecciona API - Integraciones.
  • Copia tu Correo electrónico de acceso y genera/copia tu Token.

2. Instalación

Para instalar el paquete de forma local en tu entorno virtual:

pip install .

Uso Recomendado (AlegraClient)

El uso del objeto AlegraClient es la forma recomendada para interactuar con la API:

from alegra import AlegraClient

# Inicializar cliente con tus credenciales
client = AlegraClient(
    user="tu_usuario@dominio.com", 
    token="tu_token_api"
)

# 1. Listar Clientes/Contactos (con paginación por defecto: start=0, limit=30)
contactos = client.contacts.list()

# 2. Consultar un Contacto específico
contacto = client.contacts.read(10032)
print("Contacto:", contacto.get("name"))

# 3. Adjuntar un archivo local a un contacto o factura
client.contacts.add_attachment(id=10032, file_path="ruta/al/archivo.pdf")

Recursos Disponibles y Métodos Especiales

Recurso Propiedad del Cliente Acciones Especiales
Facturas de Venta client.invoices .void(id), .open(id), .send_email(id, emails, ...)
Contactos client.contacts .add_attachment(id, file_path)
Productos/Ítems client.items .add_attachment(id, file_path)
Pagos/Ingresos client.payments .void(id), .open(id)
Cotizaciones client.estimates .void(id), .open(id), .send_email(id, emails, ...)
Órdenes de Compra client.purchase_orders .void(id), .send_email(id, emails, ...), .add_comment(id, comment_text)
Cuentas Bancarias client.bank_accounts .transfer(from_id, to_id, amount, date, description)
Impuestos client.taxes CRUD estándar (list, read, create, update, delete)
Monedas/Divisas client.currencies CRUD estándar
Retenciones client.retentions CRUD estándar
Usuarios client.users .self_info() (Consultar usuario autenticado)

Ejemplo: Registrar una Transferencia Bancaria

client.bank_accounts.transfer(
    from_id=1,           # Cuenta origen
    to_id=2,             # Cuenta destino
    amount=50000.0,      # Monto
    date="2026-06-21",   # Fecha (AAAA-MM-DD)
    description="Transferencia de fondos"
)

Ejemplo: Anular y Enviar Cotización por Correo

# Anular cotización
client.estimates.void(123)

# Enviar cotización a un cliente
client.estimates.send_email(
    id=123,
    emails=["cliente@dominio.com"],
    subject="Tu cotización actualizada",
    message="Hola, adjuntamos la cotización de los servicios solicitados."
)

Compatibilidad Heredada (Legacy Mode)

Se mantiene la compatibilidad con el estilo de configuración global y los wrappers de funciones heredados:

from alegra import session, invoices, contacts

# Configuración global de la sesión
session.user = "tu_usuario@dominio.com"
session.token = "tu_token_api"

# Instanciación heredada
invoice_helper = invoices()
invoice_list = invoice_helper.list(start=0, limit=5)

Referencias Oficiales

Licencia

Este proyecto está bajo la Licencia MIT.

Metadata

Release files for AlegraPy 0.0.4

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

Source distribution (sdist)

Source distribution for AlegraPy 0.0.4
File Size Uploaded Provenance
alegrapy-0.0.4.tar.gz 12.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for AlegraPy 0.0.4
File Interpreter ABI Platform
alegrapy-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 27.6 kB

Release files / alegrapy-0.0.4.tar.gz

Download URL alegrapy-0.0.4.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1a51c303f51ca1d3e91c637241112e61f41437a7bd47a41af4d6cbed9929100c
BLAKE2b-256 checksum
How to use checksums
bfe5fbe940ef4856e7ab4ac26993f0c6dde941d6bd6d8b5b9ad63252fc9022a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / alegrapy-0.0.4-py3-none-any.whl

Download URL alegrapy-0.0.4-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e391da5744a1f9cfa8064c1154c2a495d357de06fdc92637208a870ca00cd2f2
BLAKE2b-256 checksum
How to use checksums
d2892555018b346a7692aed7ae77b6a949e9bd702959304f8098e3444eb69ab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for AlegraPy 0.0.4

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