In developmentBeing built in the open: no released version yet, no upgrade path between builds, and things still change without warning.See what has landed

Open source · AGPLv3 · self-hosted

Everything your organization keeps track of, in one place you own.

A spreadsheet of members, a calendar nobody shares, a folder of PDFs, and one person who knows where everything is. TribeManager is one self-hostable place for all of it — contacts, events, tasks, inventory, money, documents — built so the data stays yours and stays readable long after anyone stops using the software.

Pre-release — no version yet Your server No cloud account WCAG 2.2 AA Append-only history

It speaks formats other software already reads

Not an export button bolted on at the end — these are the formats the records are stored as.

vCard iCalendar iTIP invitations iCal feeds camt.053 EÜR & § 50 EStDV REST API German & English

What it does

Nine modules, one record

Every module is built and works end to end, including logins, permissions and multi-tenant storage.

Contacts & membership

People, organizations and locations in one record — stored as vCard, not exported as one afterwards.

  • Typed relationships: member, donor, supplier, partner, venue
  • Member status lifecycle: applicant → active → passive → honorary → resigned
  • Households, guardians and contact persons for partner organizations
  • Location tree: campus → building → room
  • Duplicate hints while typing that warn instead of blocking

Events with real calendar invites

iCalendar is the model, so invitations land in the recipient’s own mail programme instead of a link back to a website.

  • iTIP invitations, answered from any calendar client
  • Places per role with a waitlist, plus recorded attendance
  • Recurrence (RRULE), sub-events and event templates
  • Copy an event with everything hanging on it, dates moving together
  • Subscribable iCal feeds

Tasks that know their event

The work around an event, tracked where the event is — not in a second tool nobody opens.

  • Several assignees, or a responsibility slot resolved automatically
  • Subtask trees and typed dependencies (finish-to-start, RFC 9253)
  • Deadlines relative to the event: “two days before the start”
  • Reminders on a due date with a time

Inventory & lending

What the organization owns, where it is kept, and who has it right now — worked out from the dates, not from a flag someone must remember to set.

  • Reservations held by an event or a person, with an overdue list
  • Overbooking warnings before the double booking happens
  • Kit templates with a completeness check: what is missing, what is short
  • Items marked as needing approval
  • Per-item availability feed that says when, not who

Money, correct by construction

A cash book that cannot quietly turn a transfer into income, and a year-end statement that follows from the entries.

  • Category tree under fixed income/expense roots
  • Planned postings, budgets and per-event budgets
  • Bank statement import (camt.053) with matching
  • EÜR income statement, correct by construction rather than by discipline
  • Custom chart of accounts and export mapping at expert level

Membership fees & donation receipts

The recurring paperwork, run end to end and safe to repeat.

  • Fee rules per relationship type and status, with proration
  • Billing to the person or to the household
  • Generation runs that can be repeated without duplicating anything
  • Payment matching, overdue list and dunning steps
  • German Zuwendungsbestätigung in the wording of § 50 EStDV

Documents with a version history

Re-upload as often as you like without ever losing what the earlier version said.

  • Versions with restore — restoring writes a new version, it erases nothing
  • Attach to a person, an event or an item
  • Metadata, full-text search and integrity checks
  • Stored with the rest of the data, so one backup covers the paperwork

Mailings people asked for

Composing and sending are two separate acts, and the recipient decides how much they hear from you.

  • Immediate, weekly digest, or nothing — chosen per message kind
  • Opt-outs honoured everywhere, not per campaign
  • Sending is a deliberate second step, never a side effect of saving
  • Your own SMTP relay — no third-party mail service in the loop

GDPR and the audit trail

The obligations that arrive by letter, answerable without a database session.

  • Art. 15 access reports: exactly what is owed, no more
  • Erasure anonymizes the record and keeps what the law requires kept
  • An audit log over every change: who, what, when
  • Permissions from two groups up to field-level visibility

Grows with you

From five people to a federation — without a migration

Pick basic, advanced or expert per module. A mode never changes what is stored, only how much of it the screen shows. A vendor selling tiers cannot say that truthfully: their tiers are different products with different storage underneath.

Basic

A name field, a dated event, a task, an item with a quantity, a cash book. What a twelve-person choir needs and nothing else on screen.

Advanced

Standard contact fields, households, roles with waitlists, subtasks, reservations, planned postings, document versions.

Expert

The full field surface, custom vocabularies, recurrence, kit templates, a custom chart of accounts, field-level visibility.

Nothing gets trapped

Your data can always leave

Contacts are vCard. Events are iCalendar. Not as an export afterthought, but as the model itself — so what comes out is what was stored, and other software can read it without a bespoke importer.

One-click export at basic level, column selection and detail levels at advanced, property-level mapping at expert.

One recordstored, not convertedvCardcontacts, households, locationsiCalendar / iTIPevents, invitations, feedscamt.053bank statements in and outCSV & reportsEÜR, GDPR access, receipts

Append-only storage

It never loses what happened

Every change is a new revision and nothing is overwritten, so “who changed this, and when” is always answerable. Deleting a person anonymizes the record instead of tearing the books apart — the fee they paid in 2021 still adds up.

The same principle handles bad data gracefully: a birthday that is not a date or a missing required field is saved anyway and flagged for whoever can fix it. The software does not get to decide that your reality is invalid.

Contact createdimported from the old spreadsheet12 Mar 2019Membership status → activechanged by the treasurer04 Jan 2022Address correctedchanged by the member18 Sep 2024Erasure request — anonymizedbookkeeping stays intact02 Feb 2026Nothing above this line was ever overwritten.

Why this one

Decisions that do not expire

Your server, your data

No cloud account, no per-seat pricing, no vendor who can change the terms. It runs on a machine you control and talks to no third-party service you did not configure yourself.

It warns, it does not block

Incomplete or odd data is saved and flagged, not rejected. The person entering it is rarely the person who can fix it, and a blocked form just moves the record back into a spreadsheet.

Everyone can use it

WCAG 2.2 level AA, fully keyboard-reachable, light and dark, in German and English out of the box. Further languages by contribution.

Open and long-lived

AGPLv3, built on community-governed technologies — Java 21 and Quarkus, PostgreSQL, Vue 3 and TypeScript, packaged as OCI containers. Every choice is written down with its reasoning.

Try it

Three commands and it is running

Database, backend and frontend, with live reload in the frontend. Frontend on localhost:5173, API on localhost:8080.

$ git clone https://gitlab.com/tribemanager/tribemanager.git
$ cd tribemanager
$ podman compose -f compose.dev.yaml up

It works end to end, and it is not released yet

Every module is built, with logins, permissions and multi-tenant storage in place. There is no versioned release and no upgrade path between versions yet — so run it for real only if you are willing to move with a moving target.

No hosted tier, no “call us for enterprise”

You run TribeManager on infrastructure you control and point it at your own SMTP relay. That is the whole point: the record of your organization stays where your organization can reach it.