-
Notifications
You must be signed in to change notification settings - Fork 0
EInvoice Module
Christian KASSE edited this page Apr 2, 2026
·
2 revisions
Electronic invoicing: create, normalize, submit to tax authorities, verify, and track compliance.
Accessor: client.einvoice
| Resource | Accessor | Description |
|---|---|---|
| Invoices | client.einvoice.invoices |
E-invoice management |
| Submissions | client.einvoice.submissions |
Tax authority submissions |
| Verification | client.einvoice.verification |
Invoice verification |
| Compliance | client.einvoice.compliance |
Compliance records |
| Statistics | client.einvoice.statistics |
E-invoice statistics |
The submission resource has additional methods for interacting with tax authorities:
# Submit to tax authority
result = client.einvoice.submissions.submit(submission_id)
# Check submission status
status = client.einvoice.submissions.check_status(submission_id)
# Returns: "accepted", "pending", or "rejected"# Verify by QR code
result = client.einvoice.verification.verify(qr_code="https://tax.gov/verify/ABC123")
# Verify by reference
result = client.einvoice.verification.verify(reference="EI-2026-00123", tin="123456789")from essabu import Essabu
client = Essabu(api_key="esa_live_xxx", tenant_id="tenant-id")
# Create an e-invoice
einvoice = client.einvoice.invoices.create(
invoice_id="inv-uuid",
customer_tin="123456789",
customer_name="ACME Corp",
items=[
{
"description": "Consulting services",
"quantity": 10,
"unit_price": 150.00,
"tax_rate": 16.0,
},
],
currency="CDF",
)
# Create a submission
submission = client.einvoice.submissions.create(
invoice_id=einvoice["id"],
authority="OBR",
)
# Submit to tax authority
result = client.einvoice.submissions.submit(submission["id"])
# Check status
status = client.einvoice.submissions.check_status(submission["id"])
print(status["status"])invoices = client.einvoice.invoices.list(status="submitted", page_size=50)
for page in client.einvoice.invoices.list_all():
for inv in page.data:
print(inv["reference"], inv["status"])compliance = client.einvoice.compliance.list(status="compliant")
client.einvoice.compliance.create(
period="2026-Q1",
authority="OBR",
total_invoices=150,
total_amount=75000.00,
)stats = client.einvoice.statistics.list(
start_date="2026-01-01",
end_date="2026-03-31",
)
monthly = client.einvoice.statistics.retrieve("2026-03")Getting Started
Core Concepts
Modules
Advanced