Gemeinsame Ausgabe nach ungleichen Anteilen aufteilen
Eine gleichmäßige Aufteilung ist einfach, aber nicht immer gerecht. Mitbewohner können verschieden große Zimmer nutzen, Reisende unterschiedlich viele Nächte bleiben und Haushaltsmitglieder Beiträge nach Einkommen vereinbaren.
Im Browser ausführen – kostenlos
Dieser Rechner verteilt eine gemeinsame Ausgabe anhand eines Gewichts je Person. Geben Sie Gesamtbetrag, Namen und relative Gewichte ein, um die geschuldeten Beträge konsistent gerundet zu erhalten. Die Gewichte können jedes vereinbarte Maß darstellen, und die endgültigen Zuweisungen ergeben stets wieder den gerundeten Gesamtbetrag.
Wählen Sie Gewichte passend zur Vereinbarung
Ein Gewicht ist ein relativer Anteil, nicht zwingend ein Prozentsatz oder Geldbetrag. Verwenden drei Personen die Gewichte 1, 2 und 3, schulden sie ein Sechstel, zwei Sechstel beziehungsweise drei Sechstel des Gesamtbetrags. Werden alle Gewichte mit derselben Zahl multipliziert, bleibt das Ergebnis gleich; 10, 20 und 30 beschreiben daher dieselbe Aufteilung. So eignet sich der Rechner für Miete nach Zimmergröße, Nebenkosten nach Belegung, Gruppenbuchungen nach Übernachtungen oder Haushaltskosten nach Einkommen. Vereinbaren Sie vorab, was die Gewichte bedeuten, und verwenden Sie für alle dieselbe Grundlage. Eine Person darf Gewicht null haben, wenn sie von dieser Ausgabe bewusst ausgenommen ist. Insgesamt muss jedoch mindestens ein positiver Wert vorkommen. Sind alle Gewichte null, fehlt jede mathematische Verteilungsgrundlage; der Rechner meldet dann einen Eingabefehler, statt eine gleiche Aufteilung zu erfinden. Auch Namen müssen eindeutig sein, damit das Ergebnis in einer Nachricht oder Buchführung verständlich bleibt.
Verstehen Sie Rundung und exakte Summen
Eine proportionale Teilung erzeugt häufig Bruchteile, die kleiner als die tatsächlich zahlbare Währungseinheit sind. Wird etwa eine kleine Rechnung auf drei gewichtete Anteile verteilt, können periodische Dezimalzahlen entstehen. Der Rechner wandelt zunächst den Gesamtbetrag in die gewählte Dezimalgenauigkeit um, berechnet jeden exakten proportionalen Anteil und verteilt verbleibende kleinste Einheiten nach dem größten Rest. Personen mit den größten Nachkommaresten ihrer ungerundeten Beträge erhalten diese Einheiten zuerst. Bei gleichen Resten entscheidet die ursprüngliche Eingabereihenfolge, wodurch wiederholte Berechnungen deterministisch bleiben. Entscheidend ist: Die angezeigten Beträge ergeben immer genau den angezeigten Gesamtbetrag; kein Cent verschwindet oder entsteht. Verwenden Sie zwei Stellen für Dollar oder Euro, null für ganze Einheiten oder höhere Genauigkeit, sofern die geteilte Größe dies unterstützt. `share` bezeichnet den mathematischen Anteil, `owed` den nach Rundung zahlbaren Betrag. Da auch der Gesamtbetrag auf die gewünschte Genauigkeit gerundet wird, geben Sie ihn passend zu Ihrem Abrechnungsverfahren ein.
Prüfen und erläutern Sie das Ergebnis
Betrachten Sie die Berechnung als transparente Umsetzung der Gruppenvereinbarung, nicht als Vereinbarung selbst. Prüfen Sie vor einer Zahlungsaufforderung Gesamtbetrag, Gewichtssumme und jedes einzelne Gewicht. Ein Tippfehler wie 20 statt 2 ist mathematisch gültig, kann die Verteilung aber grundlegend verändern. Die Antwort zeigt neben jedem Namen den normierten Anteil und den geschuldeten Betrag, sodass sich das Ergebnis leicht erklären lässt. Bewahren Sie bei buchhalterisch wichtigen Aufteilungen die ursprünglichen Eingaben zusammen mit der Ausgabe auf, denn Gewichte liefern Kontext, den Beträge allein nicht zeigen. Halten Sie bei wiederkehrenden Ausgaben die Gewichtungsregel stabil und ändern Sie sie offen, wenn sich Umstände ändern. Die Browserversion ist praktisch für Miete, Essen, Reisen oder gelegentliche Rechnungen; die API wendet dieselbe deterministische Regel für $0.002 pro Anfrage in Immobilienverwaltung, Reiseplanung, Tabellen oder internen Finanzwerkzeugen an. Es erfolgen weder Wechselkursabfrage noch Zahlung: Alle Werte verwenden eine Einheit, und zurückgegeben wird nur die Aufteilung.
Anwendungsfälle
Miete nach Zimmergröße teilen
Nutzen Sie relative Fläche oder eine vereinbarte Bewertung zur Mietverteilung unter Mitbewohnern.
Reisekosten nach Übernachtungen teilen
Gewichten Sie Reisende nach ihren Übernachtungen, damit kürzere Aufenthalte weniger kosten.
Haushaltskosten nach Einkommen verteilen
Verteilen Sie eine gemeinsame Rechnung transparent anhand vereinbarter Einkommensgewichte.
Häufige Fragen
Müssen die Gewichte zusammen 100 ergeben?
Nein. Sie sind relativ und dürfen jede positive Summe ergeben.
Was geschieht, wenn alle Gewichte null sind?
Die Anfrage meldet einen Eingabefehler, weil bei Gewichtssumme null keine proportionale Aufteilung möglich ist.
Darf eine Person Gewicht null haben?
Ja. Sie schuldet null, sofern mindestens eine andere Person ein positives Gewicht hat.
Ergeben die Beträge exakt den Gesamtbetrag?
Ja. Das Verfahren des größten Rests verteilt Rundungseinheiten so, dass die Anteile bei gewählter Genauigkeit exakt summieren.
Was kostet die API?
Jede API-Anfrage kostet $0.002. Der Rechner auf dieser Seite kann lokal kostenlos ausgeführt werden.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}'const res = await fetch("https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total":120,"people":[{"name":"Alex","weight":1},{"name":"Blair","weight":2},{"name":"Casey","weight":3}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc3/split-expenses-unequal-shares", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"total": 120,
"people": [
{
"name": "Alex",
"weight": 1
},
{
"name": "Blair",
"weight": 2
},
{
"name": "Casey",
"weight": 3
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc3.split_expenses_unequal_shares",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |