ExpenseCategory
Liefert eine Liste aller ExpenseCategory-Objekte.
GET/api/invoice/expense_category
Query-Parameter
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 aller ExpenseCategory-Objekte.array<ExpenseCategory>
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/invoice/expense_category', 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/invoice/expense_category"
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/invoice/expense_category', [
'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/invoice/expense_category"),
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/invoice/expense_category")
.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/invoice/expense_category"
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/expense_category_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 ExpenseCategoryController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}
]ExpenseCategory neu anlegen
POST/api/invoice/expense_category
Request-Body application/json
dataExpenseCategoryFelder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
Antworten
200ExpenseCategory neu anlegenExpenseCategory
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
eur_line_name: 'Beispiel',
color: '#3f5efb',
name: 'Beispiel',
code: 'string',
eur_line_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/invoice/expense_category', 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/invoice/expense_category"
payload = { "data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, 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/invoice/expense_category', [
'body' => '{"data":{"id":42,"eur_line_name":"Beispiel","color":"#3f5efb","name":"Beispiel","code":"string","eur_line_number":1}}',
'headers' => [
'content-type' => 'application/json',
'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/invoice/expense_category"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/invoice/expense_category")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/invoice/expense_category"
payload := strings.NewReader("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/expense_category_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/expense_category.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await ExpenseCategoryController.post(ExpenseCategory.fromJson({
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}curl --request GET \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category/tree \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/invoice/expense_category/tree', 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/invoice/expense_category/tree"
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/invoice/expense_category/tree', [
'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/invoice/expense_category/tree"),
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/invoice/expense_category/tree")
.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/invoice/expense_category/tree"
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/expense_category_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 ExpenseCategoryController.getTree();
if (result.success) {
print(result.data);
}Einzelne ExpenseCategory abrufen
GET/api/invoice/expense_category/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Einzelne ExpenseCategory abrufenExpenseCategory
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/expense_category_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 ExpenseCategoryController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}ExpenseCategory aktualisieren
PUT/api/invoice/expense_category/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataExpenseCategoryFelder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
Antworten
200ExpenseCategory aktualisierenExpenseCategory
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
eur_line_name: 'Beispiel',
color: '#3f5efb',
name: 'Beispiel',
code: 'string',
eur_line_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/invoice/expense_category/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/invoice/expense_category/42"
payload = { "data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/invoice/expense_category/42', [
'body' => '{"data":{"id":42,"eur_line_name":"Beispiel","color":"#3f5efb","name":"Beispiel","code":"string","eur_line_number":1}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/invoice/expense_category/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/invoice/expense_category/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/invoice/expense_category/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/expense_category_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/expense_category.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await ExpenseCategoryController.put(ExpenseCategory.fromJson({
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}ExpenseCategory aktualisieren
PATCH/api/invoice/expense_category/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataExpenseCategoryFelder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
Antworten
200ExpenseCategory aktualisierenExpenseCategory
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
eur_line_name: 'Beispiel',
color: '#3f5efb',
name: 'Beispiel',
code: 'string',
eur_line_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/invoice/expense_category/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/invoice/expense_category/42"
payload = { "data": {
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/invoice/expense_category/42', [
'body' => '{"data":{"id":42,"eur_line_name":"Beispiel","color":"#3f5efb","name":"Beispiel","code":"string","eur_line_number":1}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/invoice/expense_category/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/invoice/expense_category/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/invoice/expense_category/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"eur_line_name\":\"Beispiel\",\"color\":\"#3f5efb\",\"name\":\"Beispiel\",\"code\":\"string\",\"eur_line_number\":1}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/expense_category_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 ExpenseCategoryController.setCostCenter(42, 42);
if (result.success) {
print(result.data);
}{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}Eine ExpenseCategory löschen (Soft Delete)
DELETE/api/invoice/expense_category/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Eine ExpenseCategory löschenExpenseCategory
Felder anzeigen (21)
idintegerPrimärschlüssel der Ausgabenkategorie. Interne ID.
codestringKurzbezeichnung/Code (z.B. "WAREN", "PERSONAL", "MIETE")
eur_line_numberintegerZeile in der Anlage EÜR (z. B. 23 für Wareneinkauf)
eur_line_namestringBezeichnung der EÜR-Zeile (z. B. „Waren, Rohstoffe und Hilfsstoffe“)
category_typestringTyp der Kategorie (expense, income, neutral, asset, private)
parentExpenseCategoryÜbergeordnete Kategorie (für Hierarchie)
childrenarray<ExpenseCategory>Untergeordnete Kategorien
default_taxTaxStandard-Steuersatz für diese Kategorie
Felder anzeigen (6)
idintegerPrimärschlüssel des Steuersatzes. Interne ID.
namestringPflichtName des Steuersatzes, zum Beispiel 19 Prozent.
valuenumber (float)Steuersatz in Prozent.
deletedbooleanDer Steuersatz wird gelöscht.
global_defaultbooleanStandard-Steuersatz für neue Artikel.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
cost_centerCostCenterKostenstelle der Kategorie - bei Vereinen die steuerliche Sphäre. Ein Beleg trägt keine eigene Sphäre; über seine Kategorie bekommt er eine. Die EÜR des wirtschaftlichen Geschäftsbetriebs liest sie (billing_euer_commercial_sphere_only), die automatische Buchung setzt sie auf die Buchungszeilen (billing_accounting_cost_center_from_category).
Felder anzeigen (10)
display_namestringidintegerPrimärschlüssel der Kostenstelle. Interne ID.
numberstringNummer der Kostenstelle.
spherestringSteuerliche Sphäre, null bei rein betriebswirtschaftlicher Gliederung.
is_systembooleanDie Kostenstelle wird vom System angelegt und kann nicht gelöscht werden.
is_activebooleanDie Kostenstelle ist aktiv.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
is_vat_deductiblebooleanIst Vorsteuerabzug möglich?
is_immediate_deductionbooleanIst die Kategorie sofort abzugsfähig? (vs. Abschreibung über mehrere Jahre)
depreciation_yearsintegerAbschreibungsdauer in Jahren (für Anlagevermögen)
sort_orderintegerSortierreihenfolge
is_activebooleanIst die Kategorie aktiv/sichtbar?
colorstringFarbe für UI-Darstellung (Hex-Code)
iconstringIcon-Name für UI-Darstellung
is_systembooleanIst dies eine System-Kategorie? (nicht löschbar)
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/invoice/expense_category/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/expense_category_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 ExpenseCategoryController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"eur_line_name": "Beispiel",
"color": "#3f5efb",
"name": "Beispiel",
"code": "string",
"eur_line_number": 1,
"category_type": "string",
"default_tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"cost_center": {
"display_name": "Beispiel",
"id": 42,
"name": "Beispiel",
"number": "string",
"sphere": "string",
"is_system": true,
"is_active": true,
"deleted": true,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
},
"is_vat_deductible": true
}