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:
initcreates local state and guides setup.assistanthandles business requests in natural language.interactive startopens a conversational session.configreads or updates configuration.statusreports local readiness without mutation.
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.1, 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.1.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
- Quick start
- Configuration
- Architecture
- AI architecture
- AI-era redesign
- Current status
- Contributing
- Changelog
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openfatture-2.0.1.tar.gz.
File metadata
- Download URL: openfatture-2.0.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89ef25d133ba80682306f1d79f4d71bd02544727ee975b87a722102d3cb87d0f
|
|
| MD5 |
f3c5268d1a125b70d2805a3bb9041d99
|
|
| BLAKE2b-256 |
ce1cab72af3b11d19faad4172c9f1eb5aabae832adafc3cd6887c73481af8c6e
|
File details
Details for the file openfatture-2.0.1-py3-none-any.whl.
File metadata
- Download URL: openfatture-2.0.1-py3-none-any.whl
- Upload date:
- Size: 737.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cef7e4e250aabea45d33dea1b59265dc6311c351f4f5124b9cc951adbc29ad1
|
|
| MD5 |
5831e11672cb28ceab962a10b99ba2da
|
|
| BLAKE2b-256 |
6b9454f75dec32f1aaa266ab923cb35a95bfadf476da919a71a46da701873c57
|