PaymentTransaction
Returns a list of all PaymentTransaction
GET/api/invoice/payment_transaction
Query parameters
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 PaymentTransactionarray<PaymentTransaction>
Show fields (14)
autobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
Show fields (10)
idintegerPrimary key of the payment type. Internal ID.
namestringName of the payment type, for example transfer or cash.
autobooleanPayments of this type are matched automatically.
conditionsstringConditions for matching payments to this type.
linked_keywordsstringKeywords in bank transactions that link to this payment type.
global_defaultbooleanDefault payment type for new invoices.
bank_import_defaultbooleanDefault payment type for bank imports.
is_direct_debitbooleanThe payment type is a direct debit.
is_externalbooleanThe payment is handled by an external service.
deletedbooleanThis property is used to mark an entity as deleted / archived
invoicesarray<Invoice18>Show fields (38)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
accounting_typeAccountingTyperequiredAccounting type of the invoice.
payment_typePaymentTypePayment type of the invoice.
payment_goalPaymentGoalPayment term of the invoice.
expense_categoryExpenseCategory10EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet
buyerInvoiceBuyer17Buyer of the invoice.
payment_datestring (date-time)Date the invoice was paid.
vat_categorystringDer umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiss: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.
is_payment_date_from_ext_servicebooleanThe payment date comes from an external service.
direct_debit_exportedbooleanThe invoice was exported for direct debit.
cancel_datestring (date-time)Date the invoice was canceled.
cancel_textstringText of the cancellation.
start_datestring (date-time)Start of the billed period.
end_datestring (date-time)End of the billed period.
brutto_valuenumber (float)Gross amount of the transaction.
is_feebooleanThe transaction is a fee, for example a bank fee.
due_datestring (date-time)This is used for negative transactions to exclude them from potential bill reminders until they are due.
cash_discountbooleanSkonto: dieser Teil der Forderung erlischt durch Abzug, nicht durch Zahlung. Kein Geldeingang - Ist-Versteuerung und Mindest-Ist zählen ihn nicht; bei Sollversteuerung mindert er die Bemessungsgrundlage im Zeitraum des Abzugs (§ 17 Abs. 1 UStG).
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/payment_transaction \
--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/payment_transaction', 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/payment_transaction"
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/payment_transaction', [
'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/payment_transaction"),
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/payment_transaction")
.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/payment_transaction"
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/billing_payment_transaction_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 BillingPaymentTransactionController.getAll();
if (result.success) {
print(result.data);
}[
{
"currency": "EUR",
"name": "Beispiel",
"auto": true,
"incoming": true,
"bank_transaction": true,
"payment_type": {
"id": 42,
"name": "Beispiel",
"auto": true,
"conditions": "string",
"linked_keywords": "string",
"global_default": true,
"bank_import_default": true,
"is_direct_debit": true,
"is_external": true,
"deleted": true
},
"brutto_value": 1.5,
"is_fee": true,
"due_date": "2026-10-15T09:30:00+02:00",
"cash_discount": true
}
]Add a new PaymentTransaction
POST/api/invoice/payment_transaction
Request body application/json
dataPaymentTransaction2Show fields (20)
companyCRMCompanyautobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
invoicesarray<Invoice19>incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
productPredefinedBillingItem10Product the transaction pays for.
brutto_valuenumber (float)Gross amount of the transaction.
unified_categoryUnifiedCategory17Category the transaction belongs to.
personCRMPerson10Person the transaction belongs to.
is_feebooleanThe transaction is a fee, for example a bank fee.
due_datestring (date-time)This is used for negative transactions to exclude them from potential bill reminders until they are due.
cash_discountbooleanSkonto: dieser Teil der Forderung erlischt durch Abzug, nicht durch Zahlung. Kein Geldeingang - Ist-Versteuerung und Mindest-Ist zählen ihn nicht; bei Sollversteuerung mindert er die Bemessungsgrundlage im Zeitraum des Abzugs (§ 17 Abs. 1 UStG).
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.
billing_payment_profileBillingPaymentProfile10
Responses
200Add a new PaymentTransactionPaymentTransaction2
Show fields (10)
companyCRMCompanyShow fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
autobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
Show fields (10)
idintegerPrimary key of the payment type. Internal ID.
namestringName of the payment type, for example transfer or cash.
autobooleanPayments of this type are matched automatically.
conditionsstringConditions for matching payments to this type.
linked_keywordsstringKeywords in bank transactions that link to this payment type.
global_defaultbooleanDefault payment type for new invoices.
bank_import_defaultbooleanDefault payment type for bank imports.
is_direct_debitbooleanThe payment type is a direct debit.
is_externalbooleanThe payment is handled by an external service.
deletedbooleanThis property is used to mark an entity as deleted / archived
invoicesarray<Invoice19>Show fields (39)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
accounting_typeAccountingTyperequiredAccounting type of the invoice.
payment_typePaymentTypePayment type of the invoice.
payment_goalPaymentGoalPayment term of the invoice.
expense_categoryExpenseCategory10EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet
buyerInvoiceBuyer18Buyer of the invoice.
payment_datestring (date-time)Date the invoice was paid.
vat_categorystringDer umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiss: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.
is_payment_date_from_ext_servicebooleanThe payment date comes from an external service.
direct_debit_exportedbooleanThe invoice was exported for direct debit.
cancel_datestring (date-time)Date the invoice was canceled.
cancel_textstringText of the cancellation.
start_datestring (date-time)Start of the billed period.
end_datestring (date-time)End of the billed period.
billing_payment_profileBillingPaymentProfile10
incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
Show fields (44)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
companyCRMCompanyexternal_invoice_numberstringExterne Rechnungsnummer des Lieferanten
received_datestring (date-time)Eingangsdatum (wann wurde die Rechnung empfangen)
payment_datestring (date-time)Zahlungsdatum
service_date_startstring (date-time)Leistungszeitraum Start
service_date_endstring (date-time)Leistungszeitraum Ende
vat_categorystringDer umsatzsteuerliche Sachverhalt. Auf der Eingangsseite entscheidet er darüber, ob die Vorsteuer unter Kennzahl 66 steht (Rechnung eines anderen Unternehmers), unter 61 (innergemeinschaftlicher Erwerb), unter 62 (Einfuhrumsatzsteuer) oder unter 67 (§ 13b UStG). Beim Erwerb und bei § 13b kommt eine zweite Zeile hinzu: die Steuer schulden wir selbst, obwohl sie uns niemand berechnet hat, und sie steht deshalb zugleich als Umsatzsteuer im Vordruck. Wer nur eine der beiden bucht, zahlt zu viel oder zu wenig. Ohne Angabe der Regelfall.
vat_self_assessed_ratenumber (float)Der Steuersatz, mit dem die selbst geschuldete Steuer zu rechnen ist. Beim innergemeinschaftlichen Erwerb und bei § 13b UStG berechnet der Lieferant keine Steuer - die Rechnung ist netto, und die Steuer schulden wir. Womit sie zu rechnen ist, steht deshalb auf keinem Beleg: es ist der Satz, der im Inland auf diese Leistung anzuwenden wäre. Ohne Angabe rechnet die Voranmeldung mit dem Regelsatz und sagt in den Hinweisen, bei wie vielen Belegen sie das getan hat. Stillschweigend zu raten wäre in einer Steueranmeldung das Falsche.
import_vat_amountstringDie Einfuhrumsatzsteuer aus dem Zollbescheid. Sie steht NICHT auf der Rechnung des Lieferanten - die ist bei einer Einfuhr ohne deutsche Steuer. Entrichtet wird sie an den Zoll, und nur der entrichtete Betrag ist als Vorsteuer abziehbar (§ 15 Abs. 1 Satz 1 Nr. 2 UStG, Kennzahl 62 der Voranmeldung). Den Steuerbetrag der Lieferantenrechnung dafür zu nehmen war schlicht der falsche Beleg.
paid_valuenumber (float)Bereits bezahlter Betrag (für Teilzahlungen)
sellerIncomingInvoiceSellerVerkäufer/Lieferant Informationen (Snapshot)
expense_categoryExpenseCategory10Hauptkategorie für EÜR
document_pathstringPfad zur gespeicherten Rechnungsdatei (PDF/Bild)
document_filenamestringOriginal Dateiname
document_mime_typestringMIME Type des Dokuments
notesstringNotizen/Bemerkungen
is_deductiblebooleanIst die Rechnung für den Vorsteuerabzug relevant?
is_approvedbooleanWurde die Rechnung geprüft/freigegeben?
approved_atstring (date-time)Time the incoming invoice was approved.
productPredefinedBillingItem10Product the transaction pays for.
Show fields (44)
idintegerPrimary key of the mapped billing item. Internal ID.
namestringrequiredName of the billing item.
descriptionstringrequiredDescription of the billing item shown to the customer.
internal_descriptionstringInternal description of the billing item, not shown to the customer.
fixed_hoursnumber (float)Fixed number of hours billed.
fixed_pricenumber (float)Fixed price billed.
fixed_price_base_unitnumber (float)Base unit for the fixed price.
price_fixed_hoursnumber (float)Price for the fixed hours.
price_additional_hoursnumber (float)Price for each additional hour.
name_additional_hoursstringName of the additional hours item.
description_additional_hoursstringDescription of the additional hours item.
time_billed_on_ticket_closebooleanWhether the time is billed when the ticket is closed.
billing_typeBillingItemTypeBilling item type.
buying_pricenumber (float)Purchase price of the item.
recurrenceCRMRecurrenceRecurrence the billing item follows.
deletedbooleanWhether the billing item is deleted.
condition_date_afterstring (date-time)The item applies only to dates after this date.
condition_date_beforestring (date-time)The item applies only to dates before this date.
condition_country_codestringCountry code the item applies to.
condition_zip_code_fromstringStart of the postal code range the item applies to.
condition_zip_code_tostringEnd of the postal code range the item applies to.
condition_time_after_hourintegerThe item applies only after this hour of the day.
condition_max_lengthintegerMaximum length the item applies to.
condition_time_before_hourintegerThe item applies only before this hour of the day.
condition_sub_access_tagAccessTagAccess tag a subscription must have for the item to apply.
condition_show_despite_missing_access_tagbooleanWhether the item is shown even if the access tag is missing.
condition_sub_free_logicstringFree-form condition logic for the subscription.
fixed_price_logicstringFree-form logic that calculates the fixed price.
sub_self_service_addbooleanWhether members can add the subscription themselves.
sub_self_service_deletebooleanWhether members can cancel the subscription themselves.
sub_self_service_add_fixed_pricenumber (float)Fixed price charged when members add the subscription themselves.
sub_self_service_delete_fixed_pricenumber (float)Fixed price charged when members cancel the subscription themselves.
sub_pre_paidbooleanWhether the subscription is paid in advance.
sub_only_billed_after_startbooleanWhether the subscription is only billed after its start date.
sub_people_age_group_oneintegerUpper age limit of age group one.
sub_people_age_group_one_discountintegerDiscount in percent for age group one.
sub_people_age_group_one_freeintegerNumber of free places for age group one.
sub_people_age_group_twointegerUpper age limit of age group two.
sub_people_age_group_two_discountintegerDiscount in percent for age group two.
sub_people_age_group_two_freeintegerNumber of free places for age group two.
sub_people_age_group_threeintegerUpper age limit of age group three.
sub_people_age_group_three_discountintegerDiscount in percent for age group three.
sub_people_age_group_three_freeintegerNumber of free places for age group three.
- … 43 more fields
- … 11 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/payment_transaction \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"auto": true,
"incoming": true,
"bank_transaction": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
currency: 'EUR',
name: 'Beispiel',
company: {
id: 42,
short_name: 'Beispiel',
company_name: 'Beispiel',
secondary_name: 'Beispiel',
invoice_email: 'lena.hartmann@example.org',
send_invoice_email: true
},
auto: true,
incoming: true,
bank_transaction: true
}
})
};
fetch('https://your-instance.iw-erp.de/api/invoice/payment_transaction', 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/payment_transaction"
payload = { "data": {
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": True
},
"auto": True,
"incoming": True,
"bank_transaction": True
} }
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/payment_transaction', [
'body' => '{"data":{"currency":"EUR","name":"Beispiel","company":{"id":42,"short_name":"Beispiel","company_name":"Beispiel","secondary_name":"Beispiel","invoice_email":"lena.hartmann@example.org","send_invoice_email":true},"auto":true,"incoming":true,"bank_transaction":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.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/invoice/payment_transaction"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":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\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/payment_transaction")
.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/payment_transaction"
payload := strings.NewReader("{\"data\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":true}}")
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/billing_payment_transaction_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/payment_transaction.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingPaymentTransactionController.post(PaymentTransaction.fromJson({
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"auto": true,
"incoming": true,
"bank_transaction": true
}));
if (result.success) {
print(result.data);
}{
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"auto": true,
"incoming": true,
"bank_transaction": true,
"payment_type": {
"id": 42,
"name": "Beispiel",
"auto": true,
"conditions": "string",
"linked_keywords": "string",
"global_default": true,
"bank_import_default": true,
"is_direct_debit": true,
"is_external": true,
"deleted": true
},
"invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"cancel_text": "Text",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string"
}
],
"incoming_invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string",
"generation_date": "2026-10-15T09:30:00+02:00"
}
],
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
}
}Get a single PaymentTransaction
GET/api/invoice/payment_transaction/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Get a single PaymentTransactionPaymentTransaction2
Show fields (10)
companyCRMCompanyShow fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
autobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
Show fields (10)
idintegerPrimary key of the payment type. Internal ID.
namestringName of the payment type, for example transfer or cash.
autobooleanPayments of this type are matched automatically.
conditionsstringConditions for matching payments to this type.
linked_keywordsstringKeywords in bank transactions that link to this payment type.
global_defaultbooleanDefault payment type for new invoices.
bank_import_defaultbooleanDefault payment type for bank imports.
is_direct_debitbooleanThe payment type is a direct debit.
is_externalbooleanThe payment is handled by an external service.
deletedbooleanThis property is used to mark an entity as deleted / archived
invoicesarray<Invoice19>Show fields (39)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
accounting_typeAccountingTyperequiredAccounting type of the invoice.
payment_typePaymentTypePayment type of the invoice.
payment_goalPaymentGoalPayment term of the invoice.
expense_categoryExpenseCategory10EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet
buyerInvoiceBuyer18Buyer of the invoice.
payment_datestring (date-time)Date the invoice was paid.
vat_categorystringDer umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiss: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.
is_payment_date_from_ext_servicebooleanThe payment date comes from an external service.
direct_debit_exportedbooleanThe invoice was exported for direct debit.
cancel_datestring (date-time)Date the invoice was canceled.
cancel_textstringText of the cancellation.
start_datestring (date-time)Start of the billed period.
end_datestring (date-time)End of the billed period.
billing_payment_profileBillingPaymentProfile10
incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
Show fields (44)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
companyCRMCompanyexternal_invoice_numberstringExterne Rechnungsnummer des Lieferanten
received_datestring (date-time)Eingangsdatum (wann wurde die Rechnung empfangen)
payment_datestring (date-time)Zahlungsdatum
service_date_startstring (date-time)Leistungszeitraum Start
service_date_endstring (date-time)Leistungszeitraum Ende
vat_categorystringDer umsatzsteuerliche Sachverhalt. Auf der Eingangsseite entscheidet er darüber, ob die Vorsteuer unter Kennzahl 66 steht (Rechnung eines anderen Unternehmers), unter 61 (innergemeinschaftlicher Erwerb), unter 62 (Einfuhrumsatzsteuer) oder unter 67 (§ 13b UStG). Beim Erwerb und bei § 13b kommt eine zweite Zeile hinzu: die Steuer schulden wir selbst, obwohl sie uns niemand berechnet hat, und sie steht deshalb zugleich als Umsatzsteuer im Vordruck. Wer nur eine der beiden bucht, zahlt zu viel oder zu wenig. Ohne Angabe der Regelfall.
vat_self_assessed_ratenumber (float)Der Steuersatz, mit dem die selbst geschuldete Steuer zu rechnen ist. Beim innergemeinschaftlichen Erwerb und bei § 13b UStG berechnet der Lieferant keine Steuer - die Rechnung ist netto, und die Steuer schulden wir. Womit sie zu rechnen ist, steht deshalb auf keinem Beleg: es ist der Satz, der im Inland auf diese Leistung anzuwenden wäre. Ohne Angabe rechnet die Voranmeldung mit dem Regelsatz und sagt in den Hinweisen, bei wie vielen Belegen sie das getan hat. Stillschweigend zu raten wäre in einer Steueranmeldung das Falsche.
import_vat_amountstringDie Einfuhrumsatzsteuer aus dem Zollbescheid. Sie steht NICHT auf der Rechnung des Lieferanten - die ist bei einer Einfuhr ohne deutsche Steuer. Entrichtet wird sie an den Zoll, und nur der entrichtete Betrag ist als Vorsteuer abziehbar (§ 15 Abs. 1 Satz 1 Nr. 2 UStG, Kennzahl 62 der Voranmeldung). Den Steuerbetrag der Lieferantenrechnung dafür zu nehmen war schlicht der falsche Beleg.
paid_valuenumber (float)Bereits bezahlter Betrag (für Teilzahlungen)
sellerIncomingInvoiceSellerVerkäufer/Lieferant Informationen (Snapshot)
expense_categoryExpenseCategory10Hauptkategorie für EÜR
document_pathstringPfad zur gespeicherten Rechnungsdatei (PDF/Bild)
document_filenamestringOriginal Dateiname
document_mime_typestringMIME Type des Dokuments
notesstringNotizen/Bemerkungen
is_deductiblebooleanIst die Rechnung für den Vorsteuerabzug relevant?
is_approvedbooleanWurde die Rechnung geprüft/freigegeben?
approved_atstring (date-time)Time the incoming invoice was approved.
productPredefinedBillingItem10Product the transaction pays for.
Show fields (44)
idintegerPrimary key of the mapped billing item. Internal ID.
namestringrequiredName of the billing item.
descriptionstringrequiredDescription of the billing item shown to the customer.
internal_descriptionstringInternal description of the billing item, not shown to the customer.
fixed_hoursnumber (float)Fixed number of hours billed.
fixed_pricenumber (float)Fixed price billed.
fixed_price_base_unitnumber (float)Base unit for the fixed price.
price_fixed_hoursnumber (float)Price for the fixed hours.
price_additional_hoursnumber (float)Price for each additional hour.
name_additional_hoursstringName of the additional hours item.
description_additional_hoursstringDescription of the additional hours item.
time_billed_on_ticket_closebooleanWhether the time is billed when the ticket is closed.
billing_typeBillingItemTypeBilling item type.
buying_pricenumber (float)Purchase price of the item.
recurrenceCRMRecurrenceRecurrence the billing item follows.
deletedbooleanWhether the billing item is deleted.
condition_date_afterstring (date-time)The item applies only to dates after this date.
condition_date_beforestring (date-time)The item applies only to dates before this date.
condition_country_codestringCountry code the item applies to.
condition_zip_code_fromstringStart of the postal code range the item applies to.
condition_zip_code_tostringEnd of the postal code range the item applies to.
condition_time_after_hourintegerThe item applies only after this hour of the day.
condition_max_lengthintegerMaximum length the item applies to.
condition_time_before_hourintegerThe item applies only before this hour of the day.
condition_sub_access_tagAccessTagAccess tag a subscription must have for the item to apply.
condition_show_despite_missing_access_tagbooleanWhether the item is shown even if the access tag is missing.
condition_sub_free_logicstringFree-form condition logic for the subscription.
fixed_price_logicstringFree-form logic that calculates the fixed price.
sub_self_service_addbooleanWhether members can add the subscription themselves.
sub_self_service_deletebooleanWhether members can cancel the subscription themselves.
sub_self_service_add_fixed_pricenumber (float)Fixed price charged when members add the subscription themselves.
sub_self_service_delete_fixed_pricenumber (float)Fixed price charged when members cancel the subscription themselves.
sub_pre_paidbooleanWhether the subscription is paid in advance.
sub_only_billed_after_startbooleanWhether the subscription is only billed after its start date.
sub_people_age_group_oneintegerUpper age limit of age group one.
sub_people_age_group_one_discountintegerDiscount in percent for age group one.
sub_people_age_group_one_freeintegerNumber of free places for age group one.
sub_people_age_group_twointegerUpper age limit of age group two.
sub_people_age_group_two_discountintegerDiscount in percent for age group two.
sub_people_age_group_two_freeintegerNumber of free places for age group two.
sub_people_age_group_threeintegerUpper age limit of age group three.
sub_people_age_group_three_discountintegerDiscount in percent for age group three.
sub_people_age_group_three_freeintegerNumber of free places for age group three.
- … 43 more fields
- … 11 more fields
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/payment_transaction/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/payment_transaction/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/payment_transaction/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/payment_transaction/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/payment_transaction/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/payment_transaction/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/payment_transaction/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/billing_payment_transaction_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 BillingPaymentTransactionController.get('42');
if (result.success) {
print(result.data);
}{
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"auto": true,
"incoming": true,
"bank_transaction": true,
"payment_type": {
"id": 42,
"name": "Beispiel",
"auto": true,
"conditions": "string",
"linked_keywords": "string",
"global_default": true,
"bank_import_default": true,
"is_direct_debit": true,
"is_external": true,
"deleted": true
},
"invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"cancel_text": "Text",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string"
}
],
"incoming_invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string",
"generation_date": "2026-10-15T09:30:00+02:00"
}
],
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
}
}Update a PaymentTransaction
PUT/api/invoice/payment_transaction/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataPaymentTransaction2Show fields (20)
companyCRMCompanyautobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
invoicesarray<Invoice19>incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
productPredefinedBillingItem10Product the transaction pays for.
brutto_valuenumber (float)Gross amount of the transaction.
unified_categoryUnifiedCategory17Category the transaction belongs to.
personCRMPerson10Person the transaction belongs to.
is_feebooleanThe transaction is a fee, for example a bank fee.
due_datestring (date-time)This is used for negative transactions to exclude them from potential bill reminders until they are due.
cash_discountbooleanSkonto: dieser Teil der Forderung erlischt durch Abzug, nicht durch Zahlung. Kein Geldeingang - Ist-Versteuerung und Mindest-Ist zählen ihn nicht; bei Sollversteuerung mindert er die Bemessungsgrundlage im Zeitraum des Abzugs (§ 17 Abs. 1 UStG).
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.
billing_payment_profileBillingPaymentProfile10
Responses
200Update a PaymentTransactionPaymentTransaction2
Show fields (10)
companyCRMCompanyShow fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
autobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
Show fields (10)
idintegerPrimary key of the payment type. Internal ID.
namestringName of the payment type, for example transfer or cash.
autobooleanPayments of this type are matched automatically.
conditionsstringConditions for matching payments to this type.
linked_keywordsstringKeywords in bank transactions that link to this payment type.
global_defaultbooleanDefault payment type for new invoices.
bank_import_defaultbooleanDefault payment type for bank imports.
is_direct_debitbooleanThe payment type is a direct debit.
is_externalbooleanThe payment is handled by an external service.
deletedbooleanThis property is used to mark an entity as deleted / archived
invoicesarray<Invoice19>Show fields (39)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
accounting_typeAccountingTyperequiredAccounting type of the invoice.
payment_typePaymentTypePayment type of the invoice.
payment_goalPaymentGoalPayment term of the invoice.
expense_categoryExpenseCategory10EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet
buyerInvoiceBuyer18Buyer of the invoice.
payment_datestring (date-time)Date the invoice was paid.
vat_categorystringDer umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiss: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.
is_payment_date_from_ext_servicebooleanThe payment date comes from an external service.
direct_debit_exportedbooleanThe invoice was exported for direct debit.
cancel_datestring (date-time)Date the invoice was canceled.
cancel_textstringText of the cancellation.
start_datestring (date-time)Start of the billed period.
end_datestring (date-time)End of the billed period.
billing_payment_profileBillingPaymentProfile10
incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
Show fields (44)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
companyCRMCompanyexternal_invoice_numberstringExterne Rechnungsnummer des Lieferanten
received_datestring (date-time)Eingangsdatum (wann wurde die Rechnung empfangen)
payment_datestring (date-time)Zahlungsdatum
service_date_startstring (date-time)Leistungszeitraum Start
service_date_endstring (date-time)Leistungszeitraum Ende
vat_categorystringDer umsatzsteuerliche Sachverhalt. Auf der Eingangsseite entscheidet er darüber, ob die Vorsteuer unter Kennzahl 66 steht (Rechnung eines anderen Unternehmers), unter 61 (innergemeinschaftlicher Erwerb), unter 62 (Einfuhrumsatzsteuer) oder unter 67 (§ 13b UStG). Beim Erwerb und bei § 13b kommt eine zweite Zeile hinzu: die Steuer schulden wir selbst, obwohl sie uns niemand berechnet hat, und sie steht deshalb zugleich als Umsatzsteuer im Vordruck. Wer nur eine der beiden bucht, zahlt zu viel oder zu wenig. Ohne Angabe der Regelfall.
vat_self_assessed_ratenumber (float)Der Steuersatz, mit dem die selbst geschuldete Steuer zu rechnen ist. Beim innergemeinschaftlichen Erwerb und bei § 13b UStG berechnet der Lieferant keine Steuer - die Rechnung ist netto, und die Steuer schulden wir. Womit sie zu rechnen ist, steht deshalb auf keinem Beleg: es ist der Satz, der im Inland auf diese Leistung anzuwenden wäre. Ohne Angabe rechnet die Voranmeldung mit dem Regelsatz und sagt in den Hinweisen, bei wie vielen Belegen sie das getan hat. Stillschweigend zu raten wäre in einer Steueranmeldung das Falsche.
import_vat_amountstringDie Einfuhrumsatzsteuer aus dem Zollbescheid. Sie steht NICHT auf der Rechnung des Lieferanten - die ist bei einer Einfuhr ohne deutsche Steuer. Entrichtet wird sie an den Zoll, und nur der entrichtete Betrag ist als Vorsteuer abziehbar (§ 15 Abs. 1 Satz 1 Nr. 2 UStG, Kennzahl 62 der Voranmeldung). Den Steuerbetrag der Lieferantenrechnung dafür zu nehmen war schlicht der falsche Beleg.
paid_valuenumber (float)Bereits bezahlter Betrag (für Teilzahlungen)
sellerIncomingInvoiceSellerVerkäufer/Lieferant Informationen (Snapshot)
expense_categoryExpenseCategory10Hauptkategorie für EÜR
document_pathstringPfad zur gespeicherten Rechnungsdatei (PDF/Bild)
document_filenamestringOriginal Dateiname
document_mime_typestringMIME Type des Dokuments
notesstringNotizen/Bemerkungen
is_deductiblebooleanIst die Rechnung für den Vorsteuerabzug relevant?
is_approvedbooleanWurde die Rechnung geprüft/freigegeben?
approved_atstring (date-time)Time the incoming invoice was approved.
productPredefinedBillingItem10Product the transaction pays for.
Show fields (44)
idintegerPrimary key of the mapped billing item. Internal ID.
namestringrequiredName of the billing item.
descriptionstringrequiredDescription of the billing item shown to the customer.
internal_descriptionstringInternal description of the billing item, not shown to the customer.
fixed_hoursnumber (float)Fixed number of hours billed.
fixed_pricenumber (float)Fixed price billed.
fixed_price_base_unitnumber (float)Base unit for the fixed price.
price_fixed_hoursnumber (float)Price for the fixed hours.
price_additional_hoursnumber (float)Price for each additional hour.
name_additional_hoursstringName of the additional hours item.
description_additional_hoursstringDescription of the additional hours item.
time_billed_on_ticket_closebooleanWhether the time is billed when the ticket is closed.
billing_typeBillingItemTypeBilling item type.
buying_pricenumber (float)Purchase price of the item.
recurrenceCRMRecurrenceRecurrence the billing item follows.
deletedbooleanWhether the billing item is deleted.
condition_date_afterstring (date-time)The item applies only to dates after this date.
condition_date_beforestring (date-time)The item applies only to dates before this date.
condition_country_codestringCountry code the item applies to.
condition_zip_code_fromstringStart of the postal code range the item applies to.
condition_zip_code_tostringEnd of the postal code range the item applies to.
condition_time_after_hourintegerThe item applies only after this hour of the day.
condition_max_lengthintegerMaximum length the item applies to.
condition_time_before_hourintegerThe item applies only before this hour of the day.
condition_sub_access_tagAccessTagAccess tag a subscription must have for the item to apply.
condition_show_despite_missing_access_tagbooleanWhether the item is shown even if the access tag is missing.
condition_sub_free_logicstringFree-form condition logic for the subscription.
fixed_price_logicstringFree-form logic that calculates the fixed price.
sub_self_service_addbooleanWhether members can add the subscription themselves.
sub_self_service_deletebooleanWhether members can cancel the subscription themselves.
sub_self_service_add_fixed_pricenumber (float)Fixed price charged when members add the subscription themselves.
sub_self_service_delete_fixed_pricenumber (float)Fixed price charged when members cancel the subscription themselves.
sub_pre_paidbooleanWhether the subscription is paid in advance.
sub_only_billed_after_startbooleanWhether the subscription is only billed after its start date.
sub_people_age_group_oneintegerUpper age limit of age group one.
sub_people_age_group_one_discountintegerDiscount in percent for age group one.
sub_people_age_group_one_freeintegerNumber of free places for age group one.
sub_people_age_group_twointegerUpper age limit of age group two.
sub_people_age_group_two_discountintegerDiscount in percent for age group two.
sub_people_age_group_two_freeintegerNumber of free places for age group two.
sub_people_age_group_threeintegerUpper age limit of age group three.
sub_people_age_group_three_discountintegerDiscount in percent for age group three.
sub_people_age_group_three_freeintegerNumber of free places for age group three.
- … 43 more fields
- … 11 more fields
curl --request PUT \
--url https://your-instance.iw-erp.de/api/invoice/payment_transaction/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"auto": true,
"incoming": true,
"bank_transaction": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
currency: 'EUR',
name: 'Beispiel',
company: {
id: 42,
short_name: 'Beispiel',
company_name: 'Beispiel',
secondary_name: 'Beispiel',
invoice_email: 'lena.hartmann@example.org',
send_invoice_email: true
},
auto: true,
incoming: true,
bank_transaction: true
}
})
};
fetch('https://your-instance.iw-erp.de/api/invoice/payment_transaction/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/payment_transaction/42"
payload = { "data": {
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": True
},
"auto": True,
"incoming": True,
"bank_transaction": 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/payment_transaction/42', [
'body' => '{"data":{"currency":"EUR","name":"Beispiel","company":{"id":42,"short_name":"Beispiel","company_name":"Beispiel","secondary_name":"Beispiel","invoice_email":"lena.hartmann@example.org","send_invoice_email":true},"auto":true,"incoming":true,"bank_transaction":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/payment_transaction/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":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\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/payment_transaction/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/payment_transaction/42"
payload := strings.NewReader("{\"data\":{\"currency\":\"EUR\",\"name\":\"Beispiel\",\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"auto\":true,\"incoming\":true,\"bank_transaction\":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/billing_payment_transaction_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/payment_transaction.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingPaymentTransactionController.put(PaymentTransaction.fromJson({
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"auto": true,
"incoming": true,
"bank_transaction": true
}));
if (result.success) {
print(result.data);
}{
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"auto": true,
"incoming": true,
"bank_transaction": true,
"payment_type": {
"id": 42,
"name": "Beispiel",
"auto": true,
"conditions": "string",
"linked_keywords": "string",
"global_default": true,
"bank_import_default": true,
"is_direct_debit": true,
"is_external": true,
"deleted": true
},
"invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"cancel_text": "Text",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string"
}
],
"incoming_invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string",
"generation_date": "2026-10-15T09:30:00+02:00"
}
],
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
}
}Add a new PaymentTransactions for multiple company ids
POST/api/invoice/multi_payment_transaction
Responses
200Add new PaymentTransactions for multiple company idsPaymentTransaction2
Show fields (10)
companyCRMCompanyShow fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
autobooleanThe transaction was created automatically.
incomingbooleanThe transaction is incoming money.
bank_transactionbooleanThe transaction comes from a bank account.
currencystringCurrency of the transaction, for example EUR.
payment_typePaymentTypePayment type of the transaction.
Show fields (10)
idintegerPrimary key of the payment type. Internal ID.
namestringName of the payment type, for example transfer or cash.
autobooleanPayments of this type are matched automatically.
conditionsstringConditions for matching payments to this type.
linked_keywordsstringKeywords in bank transactions that link to this payment type.
global_defaultbooleanDefault payment type for new invoices.
bank_import_defaultbooleanDefault payment type for bank imports.
is_direct_debitbooleanThe payment type is a direct debit.
is_externalbooleanThe payment is handled by an external service.
deletedbooleanThis property is used to mark an entity as deleted / archived
invoicesarray<Invoice19>Show fields (39)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
accounting_typeAccountingTyperequiredAccounting type of the invoice.
payment_typePaymentTypePayment type of the invoice.
payment_goalPaymentGoalPayment term of the invoice.
expense_categoryExpenseCategory10EÜR-Kategorie für diese Rechnung (Einnahmen-Zuordnung) Wenn nicht gesetzt, wird die Default-Kategorie des AccountingTypes verwendet
buyerInvoiceBuyer18Buyer of the invoice.
payment_datestring (date-time)Date the invoice was paid.
vat_categorystringDer umsatzsteuerliche Sachverhalt. Der Steuersatz sagt nicht, in welche Zeile der Voranmeldung ein Umsatz gehört. Null Prozent stehen an einer innergemeinschaftlichen Lieferung (Kennzahl 41), an einer Ausfuhr (43), an einer Leistung nach § 13b UStG (60) und an einem steuerfreien Umsatz nach § 4 UStG (48) - vier verschiedene Zeilen, derselbe Steuersatz. Hier ist die einzige Stelle, an der jemand das weiss: beim Schreiben der Rechnung ist bekannt, ob der Kunde eine USt-IdNr. hat und wohin die Ware geht. Später ist es nicht mehr rekonstruierbar. Ohne Angabe der Regelfall - alles andere war bisher nicht erfassbar.
is_payment_date_from_ext_servicebooleanThe payment date comes from an external service.
direct_debit_exportedbooleanThe invoice was exported for direct debit.
cancel_datestring (date-time)Date the invoice was canceled.
cancel_textstringText of the cancellation.
start_datestring (date-time)Start of the billed period.
end_datestring (date-time)End of the billed period.
billing_payment_profileBillingPaymentProfile10
incoming_invoicesarray<IncomingInvoice2>Verknüpfte Eingangsrechnungen
Show fields (44)
idintegerPrimary key of the invoice document. Internal ID.
tokenstringToken that identifies the document for public access.
numberintegerRunning document number.
manual_number_prefixstringPrefix of a manually entered document number.
manual_numberintegerManually entered document number.
number_stringstringDocument number as displayed to users.
generation_datestring (date-time)Date the document was generated.
number_datestring (date-time)Date used for the document number.
messagestringMessage printed on the document.
currencystringCurrency of the document.
namestringName of the document.
due_datestring (date-time)Due date of the document.
netto_valuenumber (float)Net total of the document.
brutto_valuenumber (float)Gross total of the document.
tax_valuenumber (float)Total tax amount of the document.
taxTaxrequiredTax rate applied to the document.
linked_number_titlestringTitle of the linked document number.
linked_numberstringNumber of the linked document.
statusstringStatus of the document.
previous_statusstringStatus before the last change.
status_updatedstring (date-time)Point in time the status was last changed.
archivedbooleanWhether the document is archived.
last_pdf_exportstring (date-time)Point in time the PDF was last exported.
last_status_exportstringStatus at the last export.
search_stringstringText that the entity can be searched by.
companyCRMCompanyexternal_invoice_numberstringExterne Rechnungsnummer des Lieferanten
received_datestring (date-time)Eingangsdatum (wann wurde die Rechnung empfangen)
payment_datestring (date-time)Zahlungsdatum
service_date_startstring (date-time)Leistungszeitraum Start
service_date_endstring (date-time)Leistungszeitraum Ende
vat_categorystringDer umsatzsteuerliche Sachverhalt. Auf der Eingangsseite entscheidet er darüber, ob die Vorsteuer unter Kennzahl 66 steht (Rechnung eines anderen Unternehmers), unter 61 (innergemeinschaftlicher Erwerb), unter 62 (Einfuhrumsatzsteuer) oder unter 67 (§ 13b UStG). Beim Erwerb und bei § 13b kommt eine zweite Zeile hinzu: die Steuer schulden wir selbst, obwohl sie uns niemand berechnet hat, und sie steht deshalb zugleich als Umsatzsteuer im Vordruck. Wer nur eine der beiden bucht, zahlt zu viel oder zu wenig. Ohne Angabe der Regelfall.
vat_self_assessed_ratenumber (float)Der Steuersatz, mit dem die selbst geschuldete Steuer zu rechnen ist. Beim innergemeinschaftlichen Erwerb und bei § 13b UStG berechnet der Lieferant keine Steuer - die Rechnung ist netto, und die Steuer schulden wir. Womit sie zu rechnen ist, steht deshalb auf keinem Beleg: es ist der Satz, der im Inland auf diese Leistung anzuwenden wäre. Ohne Angabe rechnet die Voranmeldung mit dem Regelsatz und sagt in den Hinweisen, bei wie vielen Belegen sie das getan hat. Stillschweigend zu raten wäre in einer Steueranmeldung das Falsche.
import_vat_amountstringDie Einfuhrumsatzsteuer aus dem Zollbescheid. Sie steht NICHT auf der Rechnung des Lieferanten - die ist bei einer Einfuhr ohne deutsche Steuer. Entrichtet wird sie an den Zoll, und nur der entrichtete Betrag ist als Vorsteuer abziehbar (§ 15 Abs. 1 Satz 1 Nr. 2 UStG, Kennzahl 62 der Voranmeldung). Den Steuerbetrag der Lieferantenrechnung dafür zu nehmen war schlicht der falsche Beleg.
paid_valuenumber (float)Bereits bezahlter Betrag (für Teilzahlungen)
sellerIncomingInvoiceSellerVerkäufer/Lieferant Informationen (Snapshot)
expense_categoryExpenseCategory10Hauptkategorie für EÜR
document_pathstringPfad zur gespeicherten Rechnungsdatei (PDF/Bild)
document_filenamestringOriginal Dateiname
document_mime_typestringMIME Type des Dokuments
notesstringNotizen/Bemerkungen
is_deductiblebooleanIst die Rechnung für den Vorsteuerabzug relevant?
is_approvedbooleanWurde die Rechnung geprüft/freigegeben?
approved_atstring (date-time)Time the incoming invoice was approved.
productPredefinedBillingItem10Product the transaction pays for.
Show fields (44)
idintegerPrimary key of the mapped billing item. Internal ID.
namestringrequiredName of the billing item.
descriptionstringrequiredDescription of the billing item shown to the customer.
internal_descriptionstringInternal description of the billing item, not shown to the customer.
fixed_hoursnumber (float)Fixed number of hours billed.
fixed_pricenumber (float)Fixed price billed.
fixed_price_base_unitnumber (float)Base unit for the fixed price.
price_fixed_hoursnumber (float)Price for the fixed hours.
price_additional_hoursnumber (float)Price for each additional hour.
name_additional_hoursstringName of the additional hours item.
description_additional_hoursstringDescription of the additional hours item.
time_billed_on_ticket_closebooleanWhether the time is billed when the ticket is closed.
billing_typeBillingItemTypeBilling item type.
buying_pricenumber (float)Purchase price of the item.
recurrenceCRMRecurrenceRecurrence the billing item follows.
deletedbooleanWhether the billing item is deleted.
condition_date_afterstring (date-time)The item applies only to dates after this date.
condition_date_beforestring (date-time)The item applies only to dates before this date.
condition_country_codestringCountry code the item applies to.
condition_zip_code_fromstringStart of the postal code range the item applies to.
condition_zip_code_tostringEnd of the postal code range the item applies to.
condition_time_after_hourintegerThe item applies only after this hour of the day.
condition_max_lengthintegerMaximum length the item applies to.
condition_time_before_hourintegerThe item applies only before this hour of the day.
condition_sub_access_tagAccessTagAccess tag a subscription must have for the item to apply.
condition_show_despite_missing_access_tagbooleanWhether the item is shown even if the access tag is missing.
condition_sub_free_logicstringFree-form condition logic for the subscription.
fixed_price_logicstringFree-form logic that calculates the fixed price.
sub_self_service_addbooleanWhether members can add the subscription themselves.
sub_self_service_deletebooleanWhether members can cancel the subscription themselves.
sub_self_service_add_fixed_pricenumber (float)Fixed price charged when members add the subscription themselves.
sub_self_service_delete_fixed_pricenumber (float)Fixed price charged when members cancel the subscription themselves.
sub_pre_paidbooleanWhether the subscription is paid in advance.
sub_only_billed_after_startbooleanWhether the subscription is only billed after its start date.
sub_people_age_group_oneintegerUpper age limit of age group one.
sub_people_age_group_one_discountintegerDiscount in percent for age group one.
sub_people_age_group_one_freeintegerNumber of free places for age group one.
sub_people_age_group_twointegerUpper age limit of age group two.
sub_people_age_group_two_discountintegerDiscount in percent for age group two.
sub_people_age_group_two_freeintegerNumber of free places for age group two.
sub_people_age_group_threeintegerUpper age limit of age group three.
sub_people_age_group_three_discountintegerDiscount in percent for age group three.
sub_people_age_group_three_freeintegerNumber of free places for age group three.
- … 43 more fields
- … 11 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/multi_payment_transaction \
--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/multi_payment_transaction', 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/multi_payment_transaction"
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/multi_payment_transaction', [
'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/multi_payment_transaction"),
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/multi_payment_transaction")
.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/multi_payment_transaction"
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/billing_payment_transaction_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/payment_transaction.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingPaymentTransactionController.postMulti(PaymentTransaction.fromJson({}));
if (result.success) {
print(result.data);
}{
"currency": "EUR",
"name": "Beispiel",
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"auto": true,
"incoming": true,
"bank_transaction": true,
"payment_type": {
"id": 42,
"name": "Beispiel",
"auto": true,
"conditions": "string",
"linked_keywords": "string",
"global_default": true,
"bank_import_default": true,
"is_direct_debit": true,
"is_external": true,
"deleted": true
},
"invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"cancel_text": "Text",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string"
}
],
"incoming_invoices": [
{
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1,
"number_string": "string",
"generation_date": "2026-10-15T09:30:00+02:00"
}
],
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
}
}