Omnipacto keeps every contract of a household or a small business in one place, on your own hardware.
The point is not a list. Omnipacto computes the latest possible day to cancel from minimum term, renewal period and notice period, shows it as a traffic light and reminds you before it passes - by email, ntfy or webhook. Prices are never overwritten: a change is added with its date, so you can still see what you paid in 2022, and switching provider turns into a chain of predecessor and successor rather than a deleted row.
Documents hang off a contract with a role - policy, terms, amendment, price change, invoice - either in Omnipacto's own store or, if you run one, straight from a Paperless-ngx archive, where the files stay put.
Beyond contracts it handles dates that are not cancellation days (car inspection, boiler service, end of warranty), a calendar subscription for iPhone, Google or Outlook, a coverage overview per person, the yearly total for a tax return, an emergency dossier and a full backup as a ZIP. A local Ollama model can read attached documents and propose values, each with the passage it came from; nothing is applied without confirmation, and without Ollama only that feature is missing.
Runs as a single Docker container with PostgreSQL on amd64 and arm64, installs on a phone as a PWA, and speaks German and English. There is no account with the maker, no telemetry and no outbound connection you did not set up yourself. Up to ten contracts are free with no time limit; above that a one-time licence of 39 EUR, no subscription.
Try it without installing: https://demo.omnipacto.de - the login is pre-filled and the demo is reset every night.