Open-source, white-label web client for Italian electronic invoicing (FatturaPA/SDI)
2.1K
Open-source, white-label web app for Italian electronic invoicing (FatturaPA/SDI). Self-host with Docker or use the cloud version — manage invoices in minutes, no code required. Fully localized in Italian and English.
Desk is a ready-to-use frontend for the Invoicetronic API. ISVs and developers can self-host it, apply their own branding, and give their customers a complete invoicing interface — without writing a single line of UI code.
Don't want to self-host? Try Desk Cloud for free — no Docker, no servers, no configuration. Sign up and start invoicing immediately.
Single API key, no login required — ideal for internal networks and quick testing:
# docker-compose.yml
services:
desk:
image: invoicetronic/desk
ports:
- "8080:8080"
environment:
- Desk__api_key=YOUR_API_KEY
docker compose up -d
Open http://localhost:8080 — the app is ready to use, no registration needed.
Each user registers and enters their own API key — ideal for SaaS and multi-tenant deployments:
# docker-compose.yml
services:
desk:
image: invoicetronic/desk
ports:
- "8080:8080"
volumes:
- ./data:/app/data # persist user database
docker compose up -d
Open http://localhost:8080, register, and enter your API key in the profile page.
Sign up at dashboard.invoicetronic.com to create your API key. Desk works with both sandbox and live keys — the environment is determined by the key you use. Start with sandbox for testing, switch to live when ready.
See the Sandbox and API Keys documentation for details.
All configuration goes in desk.yml (mounted as /app/desk.yml) or via environment variables with the Desk__ prefix.
# desk.yml
desk:
branding:
app_name: My Invoicing App
logo_url: https://example.com/logo.svg
primary_color: "#1A237E"
accent_color: "#E91E63"
Or via environment variables:
environment:
- Desk__branding__app_name=My Invoicing App
- Desk__branding__primary_color=#1A237E
Mount a custom CSS file for full control over the design system:
volumes:
- ./my-theme.css:/app/wwwroot/custom/theme.css
In multi-user mode, enable email-based password reset:
environment:
- Desk__smtp__host=smtp.example.com
- Desk__smtp__port=587
- [email protected]
- Desk__smtp__password=secret
- [email protected]
GET /health → {"status":"healthy"}
linux/amd64 — Intel/AMD (most cloud servers, Windows with Docker Desktop)linux/arm64 — Apple Silicon, AWS Graviton, Raspberry Pi 4+The image includes a built-in health check. Use it in orchestrators like Docker Compose, Kubernetes, or Swarm.
Invoicetronic has two web apps:
Most users need both: Dashboard once during setup, Desk every day — eventually alongside your own integrations.
| Desk Cloud | desk.invoicetronic.com |
| Dashboard | dashboard.invoicetronic.com |
| Documentation | invoicetronic.com/docs |
| API reference | api.invoicetronic.com/v1/docs |
| GitHub | github.com/invoicetronic/desk |
| Website | invoicetronic.com |
Apache License 2.0 — use, modify, and redistribute freely, including for commercial purposes.
Content type
Image
Digest
sha256:29b2252fd…
Size
113.8 MB
Last updated
about 1 month ago
docker pull invoicetronic/desk