VolunteerHourSettlement
Abrechnungen der Ehrenamtsstunden auflisten
GET/api/time/volunteer_hour_settlement
Query-Parameter
idinteger | |
personstring | Gesetzt, wenn die Stunden je Mitglied geschuldet werden. |
companystring | Abrechnungskonto, dem die Vergütung belastet wird. Werden die Stunden je Konto geschuldet (Haushalt), gehört die Abrechnung nur zum Konto und Person bleibt leer. |
statusstring | |
periodStartstring | |
periodEndstring | |
generationDatestring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der VolunteerHourSettlement-Objekte.array<VolunteerHourSettlement>
Felder anzeigen (19)
subject_namestringAnzeigename des abgerechneten Mitglieds oder Abrechnungskontos.
idintegerPrimärschlüssel der Ehrenamtsstunden-Abrechnung. Interne ID.
personCRMPerson27Gesetzt, wenn die Stunden je Mitglied geschuldet werden.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
companyCRMCompany24Abrechnungskonto, dem die Vergütung belastet wird. Werden die Stunden je Konto geschuldet (Haushalt), gehört die Abrechnung nur zum Konto und Person bleibt leer.
Felder anzeigen (6)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
obligation_scopestringGeltungsbereich der ehrenamtlichen Verpflichtung, zum Beispiel Jahr oder Monat.
period_startstring (date-time)Beginn des abgerechneten Zeitraums.
period_endstring (date-time)Ende des abgerechneten Zeitraums.
required_minutesintegerMinuten, die der Ehrenamtliche leisten musste.
credited_minutesintegerMinuten, die der Ehrenamtliche geleistet hat und gutgeschrieben bekommt.
carried_in_minutesintegerMinuten aus dem vorherigen Zeitraum übernommen.
missing_minutesintegerMinuten, die zur Verpflichtung fehlen.
surplus_minutesintegerMinuten über die Verpflichtung hinaus.
carried_out_minutesintegerÜberschuss, der in den nächsten Zeitraum übernommen wird.
compensation_ratenumber (float)Ausgleich je fehlender Stunde, gültig zum Zeitpunkt der Erstellung der Abrechnung (eingefroren).
compensation_amountnumber (float)Betrag als Ausgleich für die fehlenden Minuten.
compensation_cappedbooleanDie Kompensation wurde auf das konfigurierte Maximum reduziert.
statusstringStatus der Abrechnung, zum Beispiel offen oder abgerechnet.
notestringAnmerkung zur Abrechnung.
generation_datestring (date-time)Zeitpunkt, zu dem die Abrechnung erstellt wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_hour_settlement_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerHourSettlementController.getAll();
if (result.success) {
print(result.data);
}[
{
"subject_name": "Beispiel",
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"number": "string",
"manual_number": 1,
"number_string": "string"
},
"obligation_scope": "string",
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"required_minutes": 1,
"credited_minutes": 1,
"carried_in_minutes": 1
}
]Vorschau der Abrechnung des Zeitraums, der `date` enthält (Standard heute), ohne etwas zu schreiben: wer wie viele Stunden schuldet, was gutgeschrieben wurde, der Ausgleich je Mitglied.
GET/api/time/volunteer_hour_settlement/preview
person / company beschränkt es auf ein Mitglied bzw. Abrechnungskonto.
Query-Parameter
datestring | Ein Datum innerhalb des Zeitraums |
personinteger | ID eines Mitglieds |
companyinteger | ID eines Abrechnungskontos |
Antworten
default
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/preview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_hour_settlement_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerHourSettlementController.getPreview();
if (result.success) {
print(result.data);
}Legt die Abrechnungen des Zeitraums an, der `date` enthält. Bereits abgerechnete Mitglieder und Mitglieder ohne Verpflichtung werden übersprungen. `createInvoices` (Standard: true im INVOICE-Modus) stellt den Ausgleich sofort den Abrechnungskonten in Rechnung.
POST/api/time/volunteer_hour_settlement/generate
Antworten
default
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/generate"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_hour_settlement_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerHourSettlementController.postGenerate();
if (result.success) {
print(result.data);
}Einzelne Ehrenamtsstunden-Abrechnung abrufen
GET/api/time/volunteer_hour_settlement/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Liefert ein einzelnes VolunteerHourSettlement-Objekt.VolunteerHourSettlement
Felder anzeigen (19)
subject_namestringAnzeigename des abgerechneten Mitglieds oder Abrechnungskontos.
idintegerPrimärschlüssel der Ehrenamtsstunden-Abrechnung. Interne ID.
personCRMPerson27Gesetzt, wenn die Stunden je Mitglied geschuldet werden.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
companyCRMCompany24Abrechnungskonto, dem die Vergütung belastet wird. Werden die Stunden je Konto geschuldet (Haushalt), gehört die Abrechnung nur zum Konto und Person bleibt leer.
Felder anzeigen (6)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
obligation_scopestringGeltungsbereich der ehrenamtlichen Verpflichtung, zum Beispiel Jahr oder Monat.
period_startstring (date-time)Beginn des abgerechneten Zeitraums.
period_endstring (date-time)Ende des abgerechneten Zeitraums.
required_minutesintegerMinuten, die der Ehrenamtliche leisten musste.
credited_minutesintegerMinuten, die der Ehrenamtliche geleistet hat und gutgeschrieben bekommt.
carried_in_minutesintegerMinuten aus dem vorherigen Zeitraum übernommen.
missing_minutesintegerMinuten, die zur Verpflichtung fehlen.
surplus_minutesintegerMinuten über die Verpflichtung hinaus.
carried_out_minutesintegerÜberschuss, der in den nächsten Zeitraum übernommen wird.
compensation_ratenumber (float)Ausgleich je fehlender Stunde, gültig zum Zeitpunkt der Erstellung der Abrechnung (eingefroren).
compensation_amountnumber (float)Betrag als Ausgleich für die fehlenden Minuten.
compensation_cappedbooleanDie Kompensation wurde auf das konfigurierte Maximum reduziert.
statusstringStatus der Abrechnung, zum Beispiel offen oder abgerechnet.
notestringAnmerkung zur Abrechnung.
generation_datestring (date-time)Zeitpunkt, zu dem die Abrechnung erstellt wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_hour_settlement_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerHourSettlementController.get('42');
if (result.success) {
print(result.data);
}{
"subject_name": "Beispiel",
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"number": "string",
"manual_number": 1,
"number_string": "string"
},
"obligation_scope": "string",
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"required_minutes": 1,
"credited_minutes": 1,
"carried_in_minutes": 1
}Eine Abrechnung ohne Rechnung löschen. Ihre Positionen werden wieder bearbeitbar.
DELETE/api/time/volunteer_hour_settlement/{id}
Pfad-Parameter
idPflichtstring |
Antworten
default
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_hour_settlement_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerHourSettlementController.delete('42');
if (result.success) {
print(result.data);
}Rechnung für die Vergütung einer Abrechnung auf das zugehörige Abrechnungskonto.
POST/api/time/volunteer_hour_settlement/{id}/invoice
Pfad-Parameter
idPflichtstring |
Antworten
200Rechnung für die Vergütung einer VolunteerHourSettlementVolunteerHourSettlement
Felder anzeigen (19)
subject_namestringAnzeigename des abgerechneten Mitglieds oder Abrechnungskontos.
idintegerPrimärschlüssel der Ehrenamtsstunden-Abrechnung. Interne ID.
personCRMPerson27Gesetzt, wenn die Stunden je Mitglied geschuldet werden.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
companyCRMCompany24Abrechnungskonto, dem die Vergütung belastet wird. Werden die Stunden je Konto geschuldet (Haushalt), gehört die Abrechnung nur zum Konto und Person bleibt leer.
Felder anzeigen (6)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
obligation_scopestringGeltungsbereich der ehrenamtlichen Verpflichtung, zum Beispiel Jahr oder Monat.
period_startstring (date-time)Beginn des abgerechneten Zeitraums.
period_endstring (date-time)Ende des abgerechneten Zeitraums.
required_minutesintegerMinuten, die der Ehrenamtliche leisten musste.
credited_minutesintegerMinuten, die der Ehrenamtliche geleistet hat und gutgeschrieben bekommt.
carried_in_minutesintegerMinuten aus dem vorherigen Zeitraum übernommen.
missing_minutesintegerMinuten, die zur Verpflichtung fehlen.
surplus_minutesintegerMinuten über die Verpflichtung hinaus.
carried_out_minutesintegerÜberschuss, der in den nächsten Zeitraum übernommen wird.
compensation_ratenumber (float)Ausgleich je fehlender Stunde, gültig zum Zeitpunkt der Erstellung der Abrechnung (eingefroren).
compensation_amountnumber (float)Betrag als Ausgleich für die fehlenden Minuten.
compensation_cappedbooleanDie Kompensation wurde auf das konfigurierte Maximum reduziert.
statusstringStatus der Abrechnung, zum Beispiel offen oder abgerechnet.
notestringAnmerkung zur Abrechnung.
generation_datestring (date-time)Zeitpunkt, zu dem die Abrechnung erstellt wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/invoice'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"subject_name": "Beispiel",
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"number": "string",
"manual_number": 1,
"number_string": "string"
},
"obligation_scope": "string",
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"required_minutes": 1,
"credited_minutes": 1,
"carried_in_minutes": 1
}Verzichtet auf die Vergütung einer Abrechnung (Erlass), optional mit einer `note`
POST/api/time/volunteer_hour_settlement/{id}/waive
Pfad-Parameter
idPflichtstring |
Antworten
200Verzichtet auf die Vergütung einer VolunteerHourSettlementVolunteerHourSettlement
Felder anzeigen (19)
subject_namestringAnzeigename des abgerechneten Mitglieds oder Abrechnungskontos.
idintegerPrimärschlüssel der Ehrenamtsstunden-Abrechnung. Interne ID.
personCRMPerson27Gesetzt, wenn die Stunden je Mitglied geschuldet werden.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
companyCRMCompany24Abrechnungskonto, dem die Vergütung belastet wird. Werden die Stunden je Konto geschuldet (Haushalt), gehört die Abrechnung nur zum Konto und Person bleibt leer.
Felder anzeigen (6)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
obligation_scopestringGeltungsbereich der ehrenamtlichen Verpflichtung, zum Beispiel Jahr oder Monat.
period_startstring (date-time)Beginn des abgerechneten Zeitraums.
period_endstring (date-time)Ende des abgerechneten Zeitraums.
required_minutesintegerMinuten, die der Ehrenamtliche leisten musste.
credited_minutesintegerMinuten, die der Ehrenamtliche geleistet hat und gutgeschrieben bekommt.
carried_in_minutesintegerMinuten aus dem vorherigen Zeitraum übernommen.
missing_minutesintegerMinuten, die zur Verpflichtung fehlen.
surplus_minutesintegerMinuten über die Verpflichtung hinaus.
carried_out_minutesintegerÜberschuss, der in den nächsten Zeitraum übernommen wird.
compensation_ratenumber (float)Ausgleich je fehlender Stunde, gültig zum Zeitpunkt der Erstellung der Abrechnung (eingefroren).
compensation_amountnumber (float)Betrag als Ausgleich für die fehlenden Minuten.
compensation_cappedbooleanDie Kompensation wurde auf das konfigurierte Maximum reduziert.
statusstringStatus der Abrechnung, zum Beispiel offen oder abgerechnet.
notestringAnmerkung zur Abrechnung.
generation_datestring (date-time)Zeitpunkt, zu dem die Abrechnung erstellt wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('https://eure-instanz.iw-erp.de/api/time/volunteer_hour_settlement/42/waive'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"subject_name": "Beispiel",
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"number": "string",
"manual_number": 1,
"number_string": "string"
},
"obligation_scope": "string",
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"required_minutes": 1,
"credited_minutes": 1,
"carried_in_minutes": 1
}