Omnipacto
Self-hosted · Open source · for families, individuals and small businesses

Every contract in view. On your own server.

Insurance, energy, mobile, subscriptions, memberships: Omnipacto answers what a folder cannot. What does it all cost per month? Until when can we cancel? And which mobile contract did we have in 2022?

No cloud, no account AGPL-3.0 German and English Paperless-ngx optional
Omnipacto dashboard: active contracts, monthly cost, next cancellation deadlines, cost by kind

Three things a document archive does not know

Omnipacto is not a file store. The contract is the master record; the paperwork hangs off it.

Contracts first, documents second

Five yearly invoices from one insurer are five different contracts. An archive sees five PDFs. Omnipacto keeps each contract with its numbers, term, price and documents by role: policy, terms, amendment, price change, invoice.

Deadlines that do not slip

From minimum term, renewal and notice period Omnipacto computes the last day to cancel. The deadlines page shows a traffic light; reminders arrive in time via ntfy, e-mail or webhook.

History, not a snapshot

Prices are never overwritten, only added with a date. Switching providers becomes a chain of predecessor and successor. The 2023 price is still there later, and "what did we have back then?" has an answer.

Features

All pictures show the demo household "Familie Beispiel", not real data. The interface is available in English as well.

One contract, everything attached

Term and cancellation with the last day to cancel, price history, documents by role, contract numbers, holder and insured person.

  • Custom fields per line: license plate, meter number, sum insured, bandwidth
  • Customer portal as a button, one click to the provider
  • 35 lines prepared, all renamable and extensible
Contract detail: term, last day to cancel, price history, documents, details

Deadlines as a traffic light

Urgent, soon, relaxed. You set the thresholds. Reminders go out via ntfy, e-mail or webhook, configurable per person.

  • Computed from minimum term, renewal rhythm and notice period
  • Open-ended contracts, fixed end dates and automatic renewal
  • Cancelled contracts stay visible until they end
Deadlines page with traffic light: urgent, soon, relaxed

Everything about Lea. Everything about the house.

Contracts by person and by object: supplementary insurance for the kids, a mobile plan for everyone, and everything tied to the house: building, contents, electricity, gas, water, maintenance.

  • Holder and insured person kept apart
  • Monthly total per person and per object
People and objects: contracts per person with monthly total

Documents: your archive or built in

If you run Paperless-ngx, you attach documents straight from the archive. Paperless keeps the files, Omnipacto only reads. Without an archive you simply upload PDFs.

  • Built-in viewer, document date detected automatically
  • Roles: policy, terms, amendment, price change, invoice, cancellation
  • "Discover": correspondents in the archive that look like contracts, with a suggested line
Document viewer showing a policy

Read the facts, locally

With a language model on your own network (Ollama) Omnipacto reads policies, terms and price changes and proposes values. Every value shows where it was found. Only what you confirm is applied.

  • Nothing leaves your network
  • Without Ollama everything else works the same
Costs page: monthly, yearly, by line, largest items

Yours, in looks as well

Light or dark, five accent colours, compact or airy, font size, language. Every person sets it for themselves; the household sets defaults.

Several households per installation, several people per household with roles. Sign in locally or via OpenID Connect.

Dashboard in dark mode with violet accent

Self-host

A server, a NAS or a mini PC with Docker is enough. PostgreSQL comes along. Paperless-ngx, Ollama and ntfy are optional.

git clone …/omnipacto          # address follows with the first release
cd omnipacto
cp .env.example .env      # generate a secret, point to your archive
docker compose up -d      # http://your-server:8000

On first visit you create your account and household. Backup is a pg_dump plus the file folder, nothing else. Stack: Python, FastAPI, PostgreSQL, React.

As of September 2026: Omnipacto is under active development. The first household uses it daily with about 20 contracts and 75 documents. The first public release with source code and Docker image is coming. Interest, questions, wishes: info@omnipacto.de

Questions

Can I try it first?

Yes, at demo.omnipacto.de. The account is pre-filled on the sign-in page. The demo shows the fictional Beispiel family and is reset every night. Password, members and notifications are locked there; everything else is yours to touch. The demo speaks German by default – switch the language under Settings.

Do I need Paperless-ngx?

No. Omnipacto has its own document store. If you run Paperless-ngx, you attach documents straight from the archive, which keeps the files. Other sources are planned through an adapter interface.

Does it run in a cloud?

No. Omnipacto runs on your own device. There is no account with us, no telemetry, and no outbound connection you did not set up yourself.

What does the AI do, and where does it run?

Optional and local. An Ollama model on your network reads attached documents and proposes values, each with its source passage. Only what you confirm is applied. Without Ollama only this feature is missing.

What does Omnipacto cost?

The source code is licensed under the AGPL-3.0 and free to use. Companies that cannot meet the AGPL's terms can obtain a commercial license.

Can several people use it?

Yes. A household has several users with the roles owner, editor and viewer. One person can belong to several households, for example their own family and their parents.

How safe is my data?

It lives in a PostgreSQL database and a file folder on your device. Access only after sign-in, optionally via your existing identity provider through OpenID Connect. Document links are short-lived and bound to the household.

How do I move later?

Copy the database dump and the file folder to the new device, carry over the configuration, start. No keys are tied to the machine.