Skip to main content

BeeL Python SDK

PyPI Python License: MIT

Official Python SDK for the BeeL invoicing API. Fully typed.

Installation

pip install beel-sdk

Quick Start

from beel import BeeL

# The client validates your API key on construction
beel = BeeL('beel_sk_live_...')

# List invoices
invoices = beel.invoices.list()

# Get a specific invoice
invoice = beel.invoices.get('550e8400-e29b-41d4-a716-446655440000')

Usage

Invoices

# List with filters
invoices = beel.invoices.list(page=1, limit=20, status='paid')

# Create
from beel_generated.models import CreateInvoiceRequest, CreateInvoiceRequestLinesInner

invoice = beel.invoices.create(CreateInvoiceRequest(
    customer_id='uuid',
    issue_date='2026-03-10',
    lines=[CreateInvoiceRequestLinesInner(
        description='Service',
        quantity=1,
        unit_price=100
    )]
))

# Issue, send, mark paid
beel.invoices.issue('invoice-id')
beel.invoices.send_email('invoice-id', SendEmailRequest(to='client@example.com'))
beel.invoices.mark_paid('invoice-id', MarkInvoicePaidRequest(payment_date='2026-03-10'))

# Download PDF
pdf = beel.invoices.download_pdf('invoice-id')

Customers

customers = beel.customers.list()
created = beel.customers.create(CreateCustomerRequest(name='ACME', nif='B12345678'))
beel.customers.update('id', UpdateCustomerRequest(email='new@acme.com'))
beel.customers.delete('id')

Products

products = beel.products.list()
results = beel.products.search(q='hosting')

Series

series = beel.series.list()
beel.series.set_default('series-id')

Configuration

tax = beel.config.get_tax_configuration()
vf = beel.config.get_verifactu_configuration()

Error Handling

from beel import BeeL, BeeLError

try:
    beel = BeeL('invalid_key')
except BeeLError as e:
    print(e)              # "Invalid API key..."
    print(e.status_code)  # 401

Configuration

# Production (default)
beel = BeeL('beel_sk_live_...')

# Test environment
beel = BeeL('beel_sk_live_...', base_url='https://test.beel.es/api')

# Skip validation
beel = BeeL('beel_sk_live_...', skip_validation=True)

# Context manager
with BeeL('beel_sk_live_...') as beel:
    invoices = beel.invoices.list()

Requirements

  • Python 3.9+

Links

Metadata

Release files for beel-sdk 1.0.0

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

Source distribution (sdist)

Source distribution for beel-sdk 1.0.0
File Size Uploaded
beel_sdk-1.0.0.tar.gz 141.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for beel-sdk 1.0.0
File Interpreter ABI Platform
beel_sdk-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 630.7 kB

Release files / beel_sdk-1.0.0.tar.gz

Download URL beel_sdk-1.0.0.tar.gz
Size 141.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1cf33ca9a101580a8662ccb5d310dc33adc6f940147c8a72ee46d741cc02383e
BLAKE2b-256 checksum
How to use checksums
14020ba97dcc95caa9c5cf19b7b678daa8ac7241296a161d407917a1d06586dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / beel_sdk-1.0.0-py3-none-any.whl

Download URL beel_sdk-1.0.0-py3-none-any.whl
Size 488.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b4aec828c0f6aa09a82429a50b2e8c184f627eaa18e278db59de8423ca557b1
BLAKE2b-256 checksum
How to use checksums
9d6f742ebba80654e70759fe737a5563a217ab2c9e89c37b79826239c855e587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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