Skip to main content

OpenFatture

OpenFatture is an agentic, CLI-first workspace for Italian electronic invoicing. Describe the work you need; the assistant coordinates the domain tools and returns an auditable result.

Why

Italian freelancers must issue invoices as FatturaPA XML and deliver them through SDI. The usual answer is a SaaS subscription that owns your client list, your invoices, and your archive. OpenFatture keeps all of it local: your data stays in a database on your machine, the XML is generated and validated offline, and every action is recorded in an event audit trail you can inspect. AI assistance is optional — the domain tools work without it.

Built for one-person businesses and small studios comfortable in a terminal.

Start

# Full stack (AI + RAG + ML + …). Core-only: uv sync
uv sync --all-extras
uv run openfatture init
uv run openfatture status
uv run openfatture assistant "Help me prepare an invoice for a software project"

Optional feature extras: ai, rag, ml, lightning, all. See docs/CONFIGURATION.md.

For a terminal conversation:

uv run openfatture interactive start

Public CLI

The supported surface is intentionally small:

  • init creates local state and guides setup.
  • assistant handles business requests in natural language.
  • interactive start opens a conversational session.
  • config reads or updates configuration.
  • status reports local readiness without mutation.

See docs/CLI_REFERENCE.md.

What it covers

  • FatturaPA XML generation and validation
  • PEC/SDI delivery and notification processing
  • Client, invoice, quote, payment, and batch workflows
  • Event audit trail, reports, and hooks
  • Optional AI assistance (assistant + domain tools), RAG, and forecasting extras
  • Optional Lightning Network integration (experimental)

Status

Version 2.0.2, Python 3.12+ and uv. Packaging, extras, honesty gates, and the unified assistant runtime shipped in 2.0 — see docs/STATUS.md, docs/releases/v2.0.2.md, and docs/ARCHITECTURE.md.

Explicit non-goal: there is no browser frontend or web application surface, and adding one would be a separate product decision.

Documentation

Development

uv sync --all-extras
uv run python -m pytest -q
uv run ruff check .
uv run ruff format --check .
uv run mypy openfatture/

OpenFatture is released under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openfatture-2.0.2.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openfatture-2.0.2-py3-none-any.whl (737.7 kB view details)

Uploaded Python 3

File details

Details for the file openfatture-2.0.2.tar.gz.

File metadata

  • Download URL: openfatture-2.0.2.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for openfatture-2.0.2.tar.gz
Algorithm Hash digest
SHA256 bcbb3e11f8ad0c6129e0c0ac45b8b5a0b5b62d9729d356a1e081ba07dcb6be0c
MD5 625f89ed6000be0d61f0acb6c672516a
BLAKE2b-256 4f5ba434d92cd17d350608ccd3c1c4ad5e782e64dd9770da5c51bd06e740faf9

See more details on using hashes here.

File details

Details for the file openfatture-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: openfatture-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 737.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for openfatture-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 495880572c7e7975301d16a17d60cc045b1cd18837e74b029d228928bbd0c24b
MD5 36deec72001e33b8430418c2d54dacfe
BLAKE2b-256 dcf9a24598d527f8985ac95f042bef3936abab2cb7f3e2cb5efaa2af4d983d10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page