EÜR Report
Returns a list of all EÜR Reports
GET/api/invoice/euer_report
Query parameters
idstring | |
deletedboolean | This property is used to mark an entity as deleted / archived | Default value: false |
fiscalYearinteger | Geschäftsjahr |
statusstring | Status des Berichts |
accountingMethodstring | Buchhaltungsmethode (Ist oder Soll) |
periodStartstring | Berichtszeitraum Beginn |
periodEndstring | Berichtszeitraum Ende |
finalizedAtstring | Datum der Finalisierung |
createdstring | |
updatedstring | |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Returns a list of all EÜR Reportsarray<EuerReport>
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report"
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://your-instance.iw-erp.de/api/invoice/euer_report', [
'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://your-instance.iw-erp.de/api/invoice/euer_report"),
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://your-instance.iw-erp.de/api/invoice/euer_report")
.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://your-instance.iw-erp.de/api/invoice/euer_report"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}
]curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/statistics \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/statistics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/statistics"
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://your-instance.iw-erp.de/api/invoice/euer_report/statistics', [
'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://your-instance.iw-erp.de/api/invoice/euer_report/statistics"),
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://your-instance.iw-erp.de/api/invoice/euer_report/statistics")
.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://your-instance.iw-erp.de/api/invoice/euer_report/statistics"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getStatistics();
if (result.success) {
print(result.data);
}Get uncategorized invoices that need category assignment
GET/api/invoice/euer_report/uncategorized
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized"
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://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized', [
'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://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized"),
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://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized")
.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://your-instance.iw-erp.de/api/invoice/euer_report/uncategorized"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getUncategorized();
if (result.success) {
print(result.data);
}Preview EÜR report for a year (without saving)
GET/api/invoice/euer_report/preview/{year}
Path parameters
yearrequiredstring |
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/preview/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/preview/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/preview/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://your-instance.iw-erp.de/api/invoice/euer_report/preview/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://your-instance.iw-erp.de/api/invoice/euer_report/preview/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://your-instance.iw-erp.de/api/invoice/euer_report/preview/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://your-instance.iw-erp.de/api/invoice/euer_report/preview/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getPreview(42);
if (result.success) {
print(result.data);
}Get monthly breakdown for a year
GET/api/invoice/euer_report/monthly/{year}
Path parameters
yearrequiredstring |
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/monthly/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/monthly/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/monthly/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://your-instance.iw-erp.de/api/invoice/euer_report/monthly/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://your-instance.iw-erp.de/api/invoice/euer_report/monthly/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://your-instance.iw-erp.de/api/invoice/euer_report/monthly/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://your-instance.iw-erp.de/api/invoice/euer_report/monthly/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getMonthlyBreakdown(42);
if (result.success) {
print(result.data);
}Get yearly summary
GET/api/invoice/euer_report/summary/{year}
Path parameters
yearrequiredstring |
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/summary/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/summary/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/summary/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://your-instance.iw-erp.de/api/invoice/euer_report/summary/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://your-instance.iw-erp.de/api/invoice/euer_report/summary/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://your-instance.iw-erp.de/api/invoice/euer_report/summary/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://your-instance.iw-erp.de/api/invoice/euer_report/summary/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.getYearlySummary(42);
if (result.success) {
print(result.data);
}Compare two reports
GET/api/invoice/euer_report/compare/{id1}/{id2}
Path parameters
id1requiredstring | |
id2requiredstring |
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/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://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/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://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/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://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/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://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/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 with package:http (no controller in the iw_erp_api package)
import 'package:http/http.dart' as http;
final response = await http.get(
Uri.parse('https://your-instance.iw-erp.de/api/invoice/euer_report/compare/42/42'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);Generate and save a new EÜR Report for a fiscal year
POST/api/invoice/euer_report/generate
Request body application/json
dataobjectShow fields (3)
fiscalYearintegeraccountingMethodstringAllowed:
cash_basisaccrualnotesstring
Responses
200Generate a new EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/generate \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"fiscalYear": 2024,
"accountingMethod": "cash_basis",
"notes": "Annual report"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {fiscalYear: 2024, accountingMethod: 'cash_basis', notes: 'Annual report'}
})
};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/generate"
payload = { "data": {
"fiscalYear": 2024,
"accountingMethod": "cash_basis",
"notes": "Annual report"
} }
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://your-instance.iw-erp.de/api/invoice/euer_report/generate', [
'body' => '{"data":{"fiscalYear":2024,"accountingMethod":"cash_basis","notes":"Annual report"}}',
'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://your-instance.iw-erp.de/api/invoice/euer_report/generate"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"fiscalYear\":2024,\"accountingMethod\":\"cash_basis\",\"notes\":\"Annual report\"}}")
{
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\":{\"fiscalYear\":2024,\"accountingMethod\":\"cash_basis\",\"notes\":\"Annual report\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/euer_report/generate")
.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://your-instance.iw-erp.de/api/invoice/euer_report/generate"
payload := strings.NewReader("{\"data\":{\"fiscalYear\":2024,\"accountingMethod\":\"cash_basis\",\"notes\":\"Annual report\"}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.generate(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Get a single EÜR Report
GET/api/invoice/euer_report/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Get a single EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Update an EÜR Report (only draft reports, only notes/internalDescription)
PUT/api/invoice/euer_report/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataEuerReport2Show fields (1)
deletedbooleanThis property is used to mark an entity as deleted / archived
Responses
200Update an EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request PUT \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"deleted": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {deleted: true}})
};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/42"
payload = { "data": { "deleted": True } }
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://your-instance.iw-erp.de/api/invoice/euer_report/42', [
'body' => '{"data":{"deleted":true}}',
'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://your-instance.iw-erp.de/api/invoice/euer_report/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"deleted\":true}}")
{
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\":{\"deleted\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/42"
payload := strings.NewReader("{\"data\":{\"deleted\":true}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/euer_report.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.put(EuerReport.fromJson({
"deleted": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Update an EÜR Report (only draft reports, only notes/internalDescription)
PATCH/api/invoice/euer_report/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataEuerReport2Show fields (1)
deletedbooleanThis property is used to mark an entity as deleted / archived
Responses
200Update an EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request PATCH \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"deleted": true
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {deleted: true}})
};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/42"
payload = { "data": { "deleted": True } }
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://your-instance.iw-erp.de/api/invoice/euer_report/42', [
'body' => '{"data":{"deleted":true}}',
'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://your-instance.iw-erp.de/api/invoice/euer_report/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"deleted\":true}}")
{
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\":{\"deleted\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/42"
payload := strings.NewReader("{\"data\":{\"deleted\":true}}")
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 with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://your-instance.iw-erp.de/api/invoice/euer_report/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"deleted": true
}
}),
);
print(response.body);{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Delete an EÜR Report (soft delete, only draft reports)
DELETE/api/invoice/euer_report/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Delete an EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request DELETE \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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://your-instance.iw-erp.de/api/invoice/euer_report/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Die EÜR als PDF.
GET/api/invoice/euer_report/{identifier}/pdf
Die Fassung, die zum Steuerberater geht und ins Archiv. Sie nennt deshalb nicht nur die Zahlen, sondern auch, wie sie zustande gekommen sind - nach Zufluss oder nach Rechnungsdatum -, und ob der Bericht schon festgeschrieben ist. Ein Entwurf sagt das im Dokument selbst; sonst läge irgendwann ein Ausdruck in einer Akte, dem man nicht ansieht, dass er vorläufig war.
Path parameters
identifierrequiredstring |
Responses
200Die EÜR als PDF
404Der Bericht wurde nicht gefunden
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf"
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://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf', [
'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://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf"),
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://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf")
.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://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf"
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 with package:http (no controller in the iw_erp_api package)
import 'package:http/http.dart' as http;
final response = await http.get(
Uri.parse('https://your-instance.iw-erp.de/api/invoice/euer_report/42/pdf'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);Finalize an EÜR Report (lock from further changes)
POST/api/invoice/euer_report/{identifier}/finalize
Path parameters
identifierrequiredstring |
Responses
200Finalize an EÜR ReportEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize"
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://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize', [
'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://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize"),
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://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize")
.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://your-instance.iw-erp.de/api/invoice/euer_report/42/finalize"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.finalizeReport('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}Regenerate report data (only for draft reports)
POST/api/invoice/euer_report/{identifier}/regenerate
Path parameters
identifierrequiredstring |
Responses
200Regenerate EÜR Report dataEuerReport
Show fields (19)
idintegerPrimary key of the EÜR report. Internal ID.
fiscal_yearintegerGeschäftsjahr
period_startstring (date-time)Berichtszeitraum Beginn
period_endstring (date-time)Berichtszeitraum Ende
statusstringStatus des Berichts
accounting_methodstringBuchhaltungsmethode (Ist oder Soll)
total_incomenumber (float)Gesamteinnahmen (Netto, siehe EuerReportService: Nettomethode)
total_expensesnumber (float)Gesamtausgaben (Netto)
profitnumber (float)Gewinn/Verlust
deductible_vatnumber (float)Abziehbare Vorsteuer
collected_vatnumber (float)Vereinnahmte Umsatzsteuer
incoming_invoice_countintegerAnzahl enthaltener Eingangsrechnungen
outgoing_invoice_countintegerAnzahl enthaltener Ausgangsrechnungen
finalized_atstring (date-time)Datum der Finalisierung
notesstringNotizen/Anmerkungen
deletedbooleanThis property is used to mark an entity as deleted / archived
namestringName of the entity.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate"
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://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate', [
'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://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate"),
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://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate")
.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://your-instance.iw-erp.de/api/invoice/euer_report/42/regenerate"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/euer_report_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EuerReportController.regenerate('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"fiscal_year": 1,
"period_start": "2026-10-15T09:30:00+02:00",
"period_end": "2026-10-15T09:30:00+02:00",
"status": "string",
"accounting_method": "string",
"total_income": 1.5,
"total_expenses": 1.5,
"profit": 1.5
}