Offer
This method will get all Offer Objects
GET/api/invoice/offers
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 Offer objectsarray<Offer2>
Show fields (31)
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
Show fields (7)
idintegerPrimary key of the offer accounting type. Internal ID.
namestringrequiredName of the accounting type.
cancelled_namestringName used when an offer of this type is canceled.
typestringrequiredType of the accounting type, for example offer or contract.
conditionsstringConditions printed on the offer.
number_descriptionstringDescription of the number format of the offer.
deletedbooleanThe accounting type is deleted.
itemsarray<OfferItem2>Items of the offer.
Show fields (16)
idintegerPrimary key of the invoice item. Internal ID.
descriptionstringDescription of the invoice item.
price_is_bruttobooleanWhether the price is a gross price including tax.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
item_typestringTyp (Item, Shipping)
netto_valuenumber (float)Net value of the invoice item.
brutto_valuenumber (float)Gross value of the invoice item.
tax_valuenumber (float)Tax amount of the invoice item.
quantitynumber (float)requiredQuantity of the invoice item.
pricenumber (float)requiredUnit price of the invoice item.
namestringrequiredName of the invoice item.
unitstringrequiredUnit of the invoice item.
taxTaxTax rate applied to the invoice item.
offerOffer2Offer the item belongs to.
custom_productCustomizedBillingItem2Customized product used for the item.
buyerOfferBuyer2Buyer of the offer.
Show fields (22)
idintegerPrimary key of the client. Internal ID.
namestringName of the client on the invoice.
vat_idstringVAT ID of the client.
taxnumberstringTax number of the client.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
secondary_namestringSecond name line of the client on the invoice.
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
numberstringCustomer number of the buyer.
search_stringstringText that the entity can be searched by.
offerOffer2Offer the buyer belongs to.
accepted_datestring (date-time)Date the offer was accepted.
is_accepted_date_from_ext_servicebooleanThe acceptance date comes from an external service.
projectCRMProjectProject the offer belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompanyCompany the project belongs to.
internal_main_contactUser14Internal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
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/offers \
--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/offers', 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/offers"
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/offers', [
'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/offers"),
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/offers")
.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/offers"
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_offer_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 BillingOfferController.getAll();
if (result.success) {
print(result.data);
}[
{
"tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string",
"deleted": true
},
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"token": "string",
"number": 1,
"manual_number_prefix": "string",
"manual_number": 1
}
]Creates a single Offer
POST/api/invoice/offers
Request body application/json
offerOffer3Show fields (3)
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
itemsarray<OfferItem3>Items of the offer.
buyerOfferBuyer3Buyer of the offer.
Responses
200Creates a single OfferOffer4
Show fields (43)
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
search_stringstringText that the entity can be searched by.
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
Show fields (7)
idintegerPrimary key of the offer accounting type. Internal ID.
namestringrequiredName of the accounting type.
cancelled_namestringName used when an offer of this type is canceled.
typestringrequiredType of the accounting type, for example offer or contract.
conditionsstringConditions printed on the offer.
number_descriptionstringDescription of the number format of the offer.
deletedbooleanThe accounting type is deleted.
itemsarray<OfferItem4>Items of the offer.
Show fields (16)
idintegerPrimary key of the invoice item. Internal ID.
descriptionstringDescription of the invoice item.
price_is_bruttobooleanWhether the price is a gross price including tax.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
item_typestringTyp (Item, Shipping)
netto_valuenumber (float)Net value of the invoice item.
brutto_valuenumber (float)Gross value of the invoice item.
tax_valuenumber (float)Tax amount of the invoice item.
quantitynumber (float)requiredQuantity of the invoice item.
pricenumber (float)requiredUnit price of the invoice item.
namestringrequiredName of the invoice item.
unitstringrequiredUnit of the invoice item.
taxTaxTax rate applied to the invoice item.
offerOffer4Offer the item belongs to.
custom_productCustomizedBillingItem3Customized product used for the item.
buyerOfferBuyer4Buyer of the offer.
Show fields (29)
idintegerPrimary key of the client. Internal ID.
namestringName of the client on the invoice.
vat_idstringVAT ID of the client.
taxnumberstringTax number of the client.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
secondary_namestringSecond name line of the client on the invoice.
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
numberstringCustomer number of the buyer.
search_stringstringText that the entity can be searched by.
payment_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
offerOffer4Offer the buyer belongs to.
accepted_datestring (date-time)Date the offer was accepted.
is_accepted_date_from_ext_servicebooleanThe acceptance date comes from an external service.
projectCRMProject11Project the offer belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany23Company the project belongs to.
internal_main_contactUser14Internal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
invoicesarray<Invoice15>Invoices created from the offer.
Show fields (48)
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
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
buyerInvoiceBuyer15Buyer 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.
base_event_sign_upBaseEventSignUp11Sign-up the offer was created for.
Show fields (33)
bib_range_idintegerage_classstringAltersklasse nach DLV, z. B. M40 - berechnet aus Geburtstag, Geschlecht und Eventdatum.
idintegerPrimary key of the sign-up. Internal ID.
genderstringGender of the participant.
tokenstringPublic token of the sign-up. Used in links instead of the ID.
moments_tokenstringParticipant-bound moments token: allows this participant to use the event moments (digital guestbook) page; uploads via this token are linked to the participant.
waitingbooleanThe sign-up is on the waiting list.
confirmedbooleanThe sign-up is confirmed.
externalbooleanThe sign-up was made by an external party.
deletion_reasonstringReason the sign-up was cancelled.
billedbooleanThe sign-up was billed.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Birthday of the participant.
trialbooleanTrial date sign-up (Schnuppern): a date sign-up without a course place that uses up one unit of the person's trial pass (eventAccessBudget with sourceType trial)
trial_channelstringWho booked the trial date: app, trainer, office
trial_session_numberintegerNumber of this trial date within the pass (1 = first), for "Schnuppern 2/3"
trial_session_maxintegerTrial dates of the pass, for "Schnuppern 2/3"
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
bib_numberintegerStartnummer (Zaehler). Bei PER_PREFIX nur zusammen mit dem Praefix eindeutig. Wird nur ueber BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Praefix, z. B. W0123. Pro Event eindeutig.
bib_number_assigned_atstring (date-time)Time the bib number was assigned.
chip_codestringTransponder- oder QR-Kennung fuer die Zeitmessung. Pro Event eindeutig.
timing_tracking_consentbooleanEinwilligung in das GPS-Live-Tracking waehrend des Events.
- … 29 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/offers \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"offer": {
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string"
},
"buyer": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"payment_bic": "BYLADEM1001"
}
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
offer: {
offer_accounting_type: {
name: 'Beispiel',
type: 'string',
id: 42,
cancelled_name: 'Beispiel',
number_description: 'Text',
conditions: 'string'
},
buyer: {
address_street: 'Jakobistr. 39',
address_city: 'Hannover',
address_zip: '30163',
address_country: 'DE',
address_full_country: 'DE',
payment_bic: 'BYLADEM1001'
}
}
})
};
fetch('https://your-instance.iw-erp.de/api/invoice/offers', 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/offers"
payload = { "offer": {
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string"
},
"buyer": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"payment_bic": "BYLADEM1001"
}
} }
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/offers', [
'body' => '{"offer":{"offer_accounting_type":{"name":"Beispiel","type":"string","id":42,"cancelled_name":"Beispiel","number_description":"Text","conditions":"string"},"buyer":{"address_street":"Jakobistr. 39","address_city":"Hannover","address_zip":"30163","address_country":"DE","address_full_country":"DE","payment_bic":"BYLADEM1001"}}}',
'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/offers"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"offer\":{\"offer_accounting_type\":{\"name\":\"Beispiel\",\"type\":\"string\",\"id\":42,\"cancelled_name\":\"Beispiel\",\"number_description\":\"Text\",\"conditions\":\"string\"},\"buyer\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"payment_bic\":\"BYLADEM1001\"}}}")
{
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, "{\"offer\":{\"offer_accounting_type\":{\"name\":\"Beispiel\",\"type\":\"string\",\"id\":42,\"cancelled_name\":\"Beispiel\",\"number_description\":\"Text\",\"conditions\":\"string\"},\"buyer\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"payment_bic\":\"BYLADEM1001\"}}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/invoice/offers")
.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/offers"
payload := strings.NewReader("{\"offer\":{\"offer_accounting_type\":{\"name\":\"Beispiel\",\"type\":\"string\",\"id\":42,\"cancelled_name\":\"Beispiel\",\"number_description\":\"Text\",\"conditions\":\"string\"},\"buyer\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"payment_bic\":\"BYLADEM1001\"}}}")
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_offer_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/offer.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingOfferController.post(Offer.fromJson({
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string"
},
"buyer": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"payment_bic": "BYLADEM1001"
}
}));
if (result.success) {
print(result.data);
}{
"tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string",
"deleted": true
},
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"mit_last_send_email": "2026-10-15T09:30:00+02:00",
"mit_to_email": "lena.hartmann@example.org",
"mit_should_send_email": true,
"mit_to_address_name": "Beispiel"
}This method will print an Offer as PDF
GET/api/invoice/offers/{identifier}/pdf
Path parameters
identifierrequiredstring |
Responses
default
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/offers/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/offers/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/offers/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/offers/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/offers/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/offers/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/offers/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 the iw_erp_api package
import 'package:iw_erp_api/clients/billing_offer_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 BillingOfferController.getDownloadLinkPdf('42');
print(result);This method will get a single Offer Object with the given id
GET/api/invoice/offers/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Returns a single OfferOffer4
Show fields (43)
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
search_stringstringText that the entity can be searched by.
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
Show fields (7)
idintegerPrimary key of the offer accounting type. Internal ID.
namestringrequiredName of the accounting type.
cancelled_namestringName used when an offer of this type is canceled.
typestringrequiredType of the accounting type, for example offer or contract.
conditionsstringConditions printed on the offer.
number_descriptionstringDescription of the number format of the offer.
deletedbooleanThe accounting type is deleted.
itemsarray<OfferItem4>Items of the offer.
Show fields (16)
idintegerPrimary key of the invoice item. Internal ID.
descriptionstringDescription of the invoice item.
price_is_bruttobooleanWhether the price is a gross price including tax.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
item_typestringTyp (Item, Shipping)
netto_valuenumber (float)Net value of the invoice item.
brutto_valuenumber (float)Gross value of the invoice item.
tax_valuenumber (float)Tax amount of the invoice item.
quantitynumber (float)requiredQuantity of the invoice item.
pricenumber (float)requiredUnit price of the invoice item.
namestringrequiredName of the invoice item.
unitstringrequiredUnit of the invoice item.
taxTaxTax rate applied to the invoice item.
offerOffer4Offer the item belongs to.
custom_productCustomizedBillingItem3Customized product used for the item.
buyerOfferBuyer4Buyer of the offer.
Show fields (29)
idintegerPrimary key of the client. Internal ID.
namestringName of the client on the invoice.
vat_idstringVAT ID of the client.
taxnumberstringTax number of the client.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
secondary_namestringSecond name line of the client on the invoice.
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
numberstringCustomer number of the buyer.
search_stringstringText that the entity can be searched by.
payment_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
offerOffer4Offer the buyer belongs to.
accepted_datestring (date-time)Date the offer was accepted.
is_accepted_date_from_ext_servicebooleanThe acceptance date comes from an external service.
projectCRMProject11Project the offer belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany23Company the project belongs to.
internal_main_contactUser14Internal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
invoicesarray<Invoice15>Invoices created from the offer.
Show fields (48)
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
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
buyerInvoiceBuyer15Buyer 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.
base_event_sign_upBaseEventSignUp11Sign-up the offer was created for.
Show fields (33)
bib_range_idintegerage_classstringAltersklasse nach DLV, z. B. M40 - berechnet aus Geburtstag, Geschlecht und Eventdatum.
idintegerPrimary key of the sign-up. Internal ID.
genderstringGender of the participant.
tokenstringPublic token of the sign-up. Used in links instead of the ID.
moments_tokenstringParticipant-bound moments token: allows this participant to use the event moments (digital guestbook) page; uploads via this token are linked to the participant.
waitingbooleanThe sign-up is on the waiting list.
confirmedbooleanThe sign-up is confirmed.
externalbooleanThe sign-up was made by an external party.
deletion_reasonstringReason the sign-up was cancelled.
billedbooleanThe sign-up was billed.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Birthday of the participant.
trialbooleanTrial date sign-up (Schnuppern): a date sign-up without a course place that uses up one unit of the person's trial pass (eventAccessBudget with sourceType trial)
trial_channelstringWho booked the trial date: app, trainer, office
trial_session_numberintegerNumber of this trial date within the pass (1 = first), for "Schnuppern 2/3"
trial_session_maxintegerTrial dates of the pass, for "Schnuppern 2/3"
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
bib_numberintegerStartnummer (Zaehler). Bei PER_PREFIX nur zusammen mit dem Praefix eindeutig. Wird nur ueber BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Praefix, z. B. W0123. Pro Event eindeutig.
bib_number_assigned_atstring (date-time)Time the bib number was assigned.
chip_codestringTransponder- oder QR-Kennung fuer die Zeitmessung. Pro Event eindeutig.
timing_tracking_consentbooleanEinwilligung in das GPS-Live-Tracking waehrend des Events.
- … 29 more fields
curl --request GET \
--url https://your-instance.iw-erp.de/api/invoice/offers/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/offers/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/offers/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/offers/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/offers/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/offers/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/offers/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_offer_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 BillingOfferController.get('42');
if (result.success) {
print(result.data);
}{
"tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string",
"deleted": true
},
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"mit_last_send_email": "2026-10-15T09:30:00+02:00",
"mit_to_email": "lena.hartmann@example.org",
"mit_should_send_email": true,
"mit_to_address_name": "Beispiel"
}Add an Offer to a CRMCompany
POST/api/invoice/offer/{id}/add/to/company
Path parameters
idrequiredstring |
Responses
200Add an Offer to a CRMCompanyCRMCompany23
Show fields (62)
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.
Show fields (5)
idintegerPrimary key of the payment goal. Internal ID.
namestringName of the payment term, for example 14 days.
date_stringstringDate pattern of the payment term as text.
deletedbooleanThe payment term is deleted.
global_defaultbooleanDefault payment term for new invoices.
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
Show fields (10)
idintegerPrimary key of the company category. Internal ID.
namestringName of the company category.
descriptionstringDescription of the company category.
deletedbooleanThe category is deleted.
global_defaultbooleanDefault category for new companies.
enabled_customer_portalbooleanCompanies of this category may use the customer portal.
g_drive_root_dirstringRoot folder in Google Drive for companies of this category.
g_drive_root_dir_archivedstringRoot folder in Google Drive for archived companies of this category.
require_company_addressbooleanAn address must be entered for companies of this category.
require_company_billingbooleanBilling details must be entered for companies of this category.
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_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
payment_typePaymentTypeShow 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
company_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.
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/offer/42/add/to/company \
--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/offer/42/add/to/company', 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/offer/42/add/to/company"
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/offer/42/add/to/company', [
'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/offer/42/add/to/company"),
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/offer/42/add/to/company")
.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/offer/42/add/to/company"
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_offer_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/crm_company.dart';
import 'package:iw_erp_api/model/offer.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingOfferController.addToCrmCompany(Offer.fromJson({}), CrmCompany.fromJson({}));
if (result.success) {
print(result.data);
}{
"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"
}Delete an Offer from a CRMCompany
POST/api/invoice/offer/{id}/delete/from/company
Path parameters
idrequiredstring |
Responses
200Delete an Offer from a CRMCompanyCRMCompany23
Show fields (62)
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.
Show fields (5)
idintegerPrimary key of the payment goal. Internal ID.
namestringName of the payment term, for example 14 days.
date_stringstringDate pattern of the payment term as text.
deletedbooleanThe payment term is deleted.
global_defaultbooleanDefault payment term for new invoices.
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
Show fields (10)
idintegerPrimary key of the company category. Internal ID.
namestringName of the company category.
descriptionstringDescription of the company category.
deletedbooleanThe category is deleted.
global_defaultbooleanDefault category for new companies.
enabled_customer_portalbooleanCompanies of this category may use the customer portal.
g_drive_root_dirstringRoot folder in Google Drive for companies of this category.
g_drive_root_dir_archivedstringRoot folder in Google Drive for archived companies of this category.
require_company_addressbooleanAn address must be entered for companies of this category.
require_company_billingbooleanBilling details must be entered for companies of this category.
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_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
payment_typePaymentTypeShow 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
company_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.
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/offer/42/delete/from/company \
--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/offer/42/delete/from/company', 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/offer/42/delete/from/company"
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/offer/42/delete/from/company', [
'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/offer/42/delete/from/company"),
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/offer/42/delete/from/company")
.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/offer/42/delete/from/company"
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_offer_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/crm_company.dart';
import 'package:iw_erp_api/model/offer.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingOfferController.removeFromCrmCompany(Offer.fromJson({}), CrmCompany.fromJson({}));
if (result.success) {
print(result.data);
}{
"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"
}Close an Offer
POST/api/invoice/offer/{identifier}/close
Path parameters
identifierrequiredstring |
Responses
200Close an OfferOffer4
Show fields (43)
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
search_stringstringText that the entity can be searched by.
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
Show fields (7)
idintegerPrimary key of the offer accounting type. Internal ID.
namestringrequiredName of the accounting type.
cancelled_namestringName used when an offer of this type is canceled.
typestringrequiredType of the accounting type, for example offer or contract.
conditionsstringConditions printed on the offer.
number_descriptionstringDescription of the number format of the offer.
deletedbooleanThe accounting type is deleted.
itemsarray<OfferItem4>Items of the offer.
Show fields (16)
idintegerPrimary key of the invoice item. Internal ID.
descriptionstringDescription of the invoice item.
price_is_bruttobooleanWhether the price is a gross price including tax.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
item_typestringTyp (Item, Shipping)
netto_valuenumber (float)Net value of the invoice item.
brutto_valuenumber (float)Gross value of the invoice item.
tax_valuenumber (float)Tax amount of the invoice item.
quantitynumber (float)requiredQuantity of the invoice item.
pricenumber (float)requiredUnit price of the invoice item.
namestringrequiredName of the invoice item.
unitstringrequiredUnit of the invoice item.
taxTaxTax rate applied to the invoice item.
offerOffer4Offer the item belongs to.
custom_productCustomizedBillingItem3Customized product used for the item.
buyerOfferBuyer4Buyer of the offer.
Show fields (29)
idintegerPrimary key of the client. Internal ID.
namestringName of the client on the invoice.
vat_idstringVAT ID of the client.
taxnumberstringTax number of the client.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
secondary_namestringSecond name line of the client on the invoice.
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
numberstringCustomer number of the buyer.
search_stringstringText that the entity can be searched by.
payment_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
offerOffer4Offer the buyer belongs to.
accepted_datestring (date-time)Date the offer was accepted.
is_accepted_date_from_ext_servicebooleanThe acceptance date comes from an external service.
projectCRMProject11Project the offer belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany23Company the project belongs to.
internal_main_contactUser14Internal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
invoicesarray<Invoice15>Invoices created from the offer.
Show fields (48)
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
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
buyerInvoiceBuyer15Buyer 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.
base_event_sign_upBaseEventSignUp11Sign-up the offer was created for.
Show fields (33)
bib_range_idintegerage_classstringAltersklasse nach DLV, z. B. M40 - berechnet aus Geburtstag, Geschlecht und Eventdatum.
idintegerPrimary key of the sign-up. Internal ID.
genderstringGender of the participant.
tokenstringPublic token of the sign-up. Used in links instead of the ID.
moments_tokenstringParticipant-bound moments token: allows this participant to use the event moments (digital guestbook) page; uploads via this token are linked to the participant.
waitingbooleanThe sign-up is on the waiting list.
confirmedbooleanThe sign-up is confirmed.
externalbooleanThe sign-up was made by an external party.
deletion_reasonstringReason the sign-up was cancelled.
billedbooleanThe sign-up was billed.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Birthday of the participant.
trialbooleanTrial date sign-up (Schnuppern): a date sign-up without a course place that uses up one unit of the person's trial pass (eventAccessBudget with sourceType trial)
trial_channelstringWho booked the trial date: app, trainer, office
trial_session_numberintegerNumber of this trial date within the pass (1 = first), for "Schnuppern 2/3"
trial_session_maxintegerTrial dates of the pass, for "Schnuppern 2/3"
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
bib_numberintegerStartnummer (Zaehler). Bei PER_PREFIX nur zusammen mit dem Praefix eindeutig. Wird nur ueber BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Praefix, z. B. W0123. Pro Event eindeutig.
bib_number_assigned_atstring (date-time)Time the bib number was assigned.
chip_codestringTransponder- oder QR-Kennung fuer die Zeitmessung. Pro Event eindeutig.
timing_tracking_consentbooleanEinwilligung in das GPS-Live-Tracking waehrend des Events.
- … 29 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/offer/42/close \
--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/offer/42/close', 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/offer/42/close"
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/offer/42/close', [
'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/offer/42/close"),
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/offer/42/close")
.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/offer/42/close"
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_offer_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/offer.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingOfferController.close(Offer.fromJson({}));
if (result.success) {
print(result.data);
}{
"tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string",
"deleted": true
},
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"mit_last_send_email": "2026-10-15T09:30:00+02:00",
"mit_to_email": "lena.hartmann@example.org",
"mit_should_send_email": true,
"mit_to_address_name": "Beispiel"
}Set mail intend for an Offer
POST/api/invoice/offer/{identifier}/mail_intend
Path parameters
identifierrequiredstring |
Responses
200Set mail intend for an OfferOffer4
Show fields (43)
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.
Show fields (6)
idintegerPrimary key of the tax rate. Internal ID.
namestringrequiredName of the tax rate, for example 19 percent.
valuenumber (float)Tax rate in percent.
deletedbooleanThe tax rate is deleted.
global_defaultbooleanDefault tax rate for new items.
datev_tax_keyintegerDATEV Steuerschlüssel für Umsatzsteuer (Ausgangsrechnungen). Wird von BuchhaltungsButler und DATEV-Export genutzt. Standardwerte: 0 = Kein Steuerausweis (0%) 2 = Umsatzsteuer 7% (ermäßigt) 3 = Umsatzsteuer 19% (Regelsteuersatz) Für Vorsteuer (Eingangsrechnungen) gibt es eine spiegelbildliche Zuordnung: 0 = Keine Vorsteuer (0%) 5 = Vorsteuer 7% 8 = Vorsteuer 19%
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
search_stringstringText that the entity can be searched by.
offer_accounting_typeOfferAccountingTyperequiredAccounting type of the offer.
Show fields (7)
idintegerPrimary key of the offer accounting type. Internal ID.
namestringrequiredName of the accounting type.
cancelled_namestringName used when an offer of this type is canceled.
typestringrequiredType of the accounting type, for example offer or contract.
conditionsstringConditions printed on the offer.
number_descriptionstringDescription of the number format of the offer.
deletedbooleanThe accounting type is deleted.
itemsarray<OfferItem4>Items of the offer.
Show fields (16)
idintegerPrimary key of the invoice item. Internal ID.
descriptionstringDescription of the invoice item.
price_is_bruttobooleanWhether the price is a gross price including tax.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
item_typestringTyp (Item, Shipping)
netto_valuenumber (float)Net value of the invoice item.
brutto_valuenumber (float)Gross value of the invoice item.
tax_valuenumber (float)Tax amount of the invoice item.
quantitynumber (float)requiredQuantity of the invoice item.
pricenumber (float)requiredUnit price of the invoice item.
namestringrequiredName of the invoice item.
unitstringrequiredUnit of the invoice item.
taxTaxTax rate applied to the invoice item.
offerOffer4Offer the item belongs to.
custom_productCustomizedBillingItem3Customized product used for the item.
buyerOfferBuyer4Buyer of the offer.
Show fields (29)
idintegerPrimary key of the client. Internal ID.
namestringName of the client on the invoice.
vat_idstringVAT ID of the client.
taxnumberstringTax number of the client.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
secondary_namestringSecond name line of the client on the invoice.
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
numberstringCustomer number of the buyer.
search_stringstringText that the entity can be searched by.
payment_ownerstringAccount owner of the direct debit.
payment_institutionstringName of the bank of the direct debit.
payment_bicstringBIC of the bank account.
payment_ibanstringIBAN of the bank account.
payment_mandatestringReference of the SEPA mandate.
payment_mandate_sign_datestring (date-time)Date the SEPA mandate was signed.
payment_mandate_valid_until_datestring (date-time)Date until which the SEPA mandate is valid.
offerOffer4Offer the buyer belongs to.
accepted_datestring (date-time)Date the offer was accepted.
is_accepted_date_from_ext_servicebooleanThe acceptance date comes from an external service.
projectCRMProject11Project the offer belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany23Company the project belongs to.
internal_main_contactUser14Internal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
invoicesarray<Invoice15>Invoices created from the offer.
Show fields (48)
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.
mit_last_send_emailstring (date-time)Point in time the last e-mail was sent.
mit_to_emailstringE-mail address the mail is intended for.
mit_should_send_emailbooleanWhether an e-mail should be sent.
mit_last_send_postalstring (date-time)Point in time the last letter was sent.
mit_to_address_namestringName of the postal recipient.
mit_to_address_street_levelstringStreet and house number of the postal recipient.
mit_to_address_citystringCity of the postal recipient.
mit_to_address_zipstringPostal code of the postal recipient.
mit_to_address_countrystringCountry of the postal recipient.
mit_should_send_postalbooleanWhether a letter should be sent.
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
buyerInvoiceBuyer15Buyer 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.
base_event_sign_upBaseEventSignUp11Sign-up the offer was created for.
Show fields (33)
bib_range_idintegerage_classstringAltersklasse nach DLV, z. B. M40 - berechnet aus Geburtstag, Geschlecht und Eventdatum.
idintegerPrimary key of the sign-up. Internal ID.
genderstringGender of the participant.
tokenstringPublic token of the sign-up. Used in links instead of the ID.
moments_tokenstringParticipant-bound moments token: allows this participant to use the event moments (digital guestbook) page; uploads via this token are linked to the participant.
waitingbooleanThe sign-up is on the waiting list.
confirmedbooleanThe sign-up is confirmed.
externalbooleanThe sign-up was made by an external party.
deletion_reasonstringReason the sign-up was cancelled.
billedbooleanThe sign-up was billed.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Birthday of the participant.
trialbooleanTrial date sign-up (Schnuppern): a date sign-up without a course place that uses up one unit of the person's trial pass (eventAccessBudget with sourceType trial)
trial_channelstringWho booked the trial date: app, trainer, office
trial_session_numberintegerNumber of this trial date within the pass (1 = first), for "Schnuppern 2/3"
trial_session_maxintegerTrial dates of the pass, for "Schnuppern 2/3"
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
bib_numberintegerStartnummer (Zaehler). Bei PER_PREFIX nur zusammen mit dem Praefix eindeutig. Wird nur ueber BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Praefix, z. B. W0123. Pro Event eindeutig.
bib_number_assigned_atstring (date-time)Time the bib number was assigned.
chip_codestringTransponder- oder QR-Kennung fuer die Zeitmessung. Pro Event eindeutig.
timing_tracking_consentbooleanEinwilligung in das GPS-Live-Tracking waehrend des Events.
- … 29 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/invoice/offer/42/mail_intend \
--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/offer/42/mail_intend', 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/offer/42/mail_intend"
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/offer/42/mail_intend', [
'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/offer/42/mail_intend"),
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/offer/42/mail_intend")
.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/offer/42/mail_intend"
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_offer_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/offer.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await BillingOfferController.updateMailIntend(Offer.fromJson({}));
if (result.success) {
print(result.data);
}{
"tax": {
"name": "Beispiel",
"id": 42,
"value": 1.5,
"deleted": true,
"global_default": true,
"datev_tax_key": 1
},
"offer_accounting_type": {
"name": "Beispiel",
"type": "string",
"id": 42,
"cancelled_name": "Beispiel",
"number_description": "Text",
"conditions": "string",
"deleted": true
},
"id": 42,
"currency": "EUR",
"name": "Beispiel",
"linked_number_title": "Beispiel",
"mit_last_send_email": "2026-10-15T09:30:00+02:00",
"mit_to_email": "lena.hartmann@example.org",
"mit_should_send_email": true,
"mit_to_address_name": "Beispiel"
}