Lexware-php-api: Unterschied zwischen den Versionen
Slu (Diskussion | Beiträge) |
Slu (Diskussion | Beiträge) |
||
| (51 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Übersicht | = Übersicht = | ||
PHP Client für [https://www. | PHP Client für [https://www.baebeca.de/lexware office.lexware.de] API (ehemals lexoffice.de) | ||
* [https://github.com/Baebeca-Solutions/lexware-php-api Github] | |||
* [https://wiki.baebeca.de/index.php?title=lexware-php-api Wiki (Dokumentation)] | |||
* [https://www.baebeca.de/softwareentwicklung/lexware-php-client/ Projektseite] | |||
* [https://packagist.org/packages/baebeca/lexware-php-api Packagist] | |||
* [https://developers.lexware.io Lexware Office API-Dokumentation] | |||
[https://www. | [[Datei:Lexware-Office-Logo.png||link=https://www.baebeca.de/lexware]] | ||
== Composer == | |||
=== CLI === | |||
composer require baebeca/lexware-php-api:~2.0 | |||
== | === composer.json === | ||
<syntaxhighlight lang="json"> | |||
{ | |||
"require": { | |||
"baebeca/lexware-php-api": "~2.0", | |||
} | |||
} | |||
</syntaxhighlight> | |||
== Support == | |||
An wen kann ich mich wenden, wenn ich Probleme oder Fragen habe?<br> | |||
Für diese Frage ist entscheidend, ob du eine Nutzungslizenz erworben hast oder die freie Variante benutzt. | |||
* Wenn eine Nutzungslizenz vorhanden ist, kannst du jederzeit ein Ticket bei uns öffnen: | |||
** E-Mail: support@baebeca.de | |||
** Telefon: 02261-8161691 | |||
* Wenn du die freie Version benutzt, kannst du einen [https://github.com/Baebeca-Solutions/lexware-php-api/issues Github issue] öffnen. | |||
== Lizenz == | == Lizenz == | ||
Dieses Projekt steht unter der "GNU AGPLv3 Lizenz". | |||
Du darfst den Code frei verwenden, verändern und weiterverbreiten, **sofern deine Software ebenfalls quelloffen und veröffentlicht wird** (AGPLv3-konform). | |||
== | === Kommerzielle / Closed-Source Nutzung === | ||
Die Verwendung in '''kommerziellen''' oder '''Closed-Source'''-Projekten ist '''nicht ohne eine kommerzielle Lizenz gestattet'''. | |||
Bitte kontaktiere uns unter '''support@baebeca.de''', um eine Lizenz zu 199,-/netto/einmalig zu erwerben. | |||
Siehe dazu alle Infos: [https://github.com/Baebeca-Solutions/lexware-php-api/blob/php-8.4/LICENSE-commercial_DE.md Kommerzielle Lizenzbedingungen] | |||
== | == Lexware Office API Account erstellen == | ||
Erstellen Sie in Ihrem [https://www. | Erstellen Sie in Ihrem [https://www.baebeca.de/lexware Lexware Office Account] einen API Key. | ||
Einstellungen :: Erweiterungen :: | Einstellungen :: Erweiterungen :: Lexware Office Public API :: "Schlüssel neu erstellen" | ||
== Mehrwertsteuersenkung - Konjunkturpaket 01.07.2020 - 31.12.2020 == | == Mehrwertsteuersenkung - Konjunkturpaket 01.07.2020 - 31.12.2020 == | ||
* https:// | * https://office.lexware.de/mehrwertsteuer-rest-api | ||
* https://developers. | * https://developers.lexware.io/docs/#faq-valid-tax-rates | ||
== One-Stop-Shop (OSS) ab 01.07.2021 == | |||
* Für den Voucher-Import reicht es aus die Methode get_needed_voucher_booking_id() zu nutzen. | |||
* https://help.lexware.de/de-form/articles/5207137-one-stop-shop-eu-regelung-belege-an-privatpersonen-im-eu-ausland | |||
== Rate-Limit == | |||
Lexware Office hat ein Rate-Limit von 2 Anfragen pro Sekunde. Siehe dazu: https://developers.lexware.io/docs/#api-rate-limits | |||
Dieses Rate-Limit wird automatisch erkannt und der Request wird nach einem Sleep von "Sekunden * Anzahl Versuche" erneut abgesetzt. | |||
Mithilfe von <code>$lexware->configure_rate_limit(bool $repeat = true, int $seconds_to_sleep = 1, int $max_tries = 10): void</code> kann man das Verhalten parametrisieren. | |||
Zusätzlich besteht die Möglichkeit via <code>configure_rate_limit_callable(callable $callback = null) : void</code> eine Callbackfunktion mitzugeben, die jedes Mal getriggert wird, wenn ein Rate-Limit getroffen wurde. Es wird dann ein bool Parameter mitgegeben ob der Aufruf noch einmal versucht wird. | |||
= Klasse einbinden = | = Klasse einbinden = | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<?php | |||
require __DIR__.'/vendor/autoload.php'; | |||
use \Baebeca\LexwareApi; | |||
use \Baebeca\LexwareException; | |||
$ | |||
$lexware = new LexwareApi([ | |||
'api_key' => 'my-api-key' | |||
]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Start Parameter == | == Start Parameter == | ||
| Zeile 59: | Zeile 82: | ||
:API Schlüssel | :API Schlüssel | ||
;callback [string] | ;callback [string] | ||
:Ihre Standard Callback URL für Webhooks von | :Ihre Standard Callback URL für Webhooks von Lexware Office | ||
;ssl_verify [bool] (default true) | ;ssl_verify [bool] (default true) | ||
:Soll die SSL verbindung zu | :Soll die SSL verbindung zu Lexware Office validiert werden | ||
== Error handling == | |||
<syntaxhighlight lang="php"> | |||
<?php | |||
// catch errors | |||
try { | |||
$invoices = $lexware->get_last_invoices(-5); | |||
} | |||
catch (LexwareException $e) { | |||
var_dump($e->getMessage()); | |||
print_r($e->getError()); | |||
} | |||
</syntaxhighlight> | |||
= Methoden = | = Methoden = | ||
| Zeile 68: | Zeile 104: | ||
=== Account abfragen === | === Account abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_profile() : object</syntaxhighlight> | ||
Beispiel Rückgabe: | Beispiel Rückgabe: | ||
| Zeile 93: | Zeile 129: | ||
=== Rechnung abfragen === | === Rechnung abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_invoice( string $uuid ) : object</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid des Eintrages der abgefragt werden soll | :Die eindeutige uuid des Eintrages der abgefragt werden soll | ||
=== Alle Rechnungen abfragen === | === Alle Rechnungen abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_invoices_all() : object</syntaxhighlight> | ||
=== Die letzten n Rechnungen abfragen === | === Die letzten n Rechnungen abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_last_invoices(int $count) : object</syntaxhighlight> | ||
=== Rechnung PDF herunterladen === | === Rechnung PDF herunterladen === | ||
| Zeile 107: | Zeile 143: | ||
'''legacy function - will be removed in futere releases, use ''get_pdf($type, $uuid, $filename)'' instead''' | '''legacy function - will be removed in futere releases, use ''get_pdf($type, $uuid, $filename)'' instead''' | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_invoice_pdf( string $uuid, string $filename) : bool</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid des Eintrages der abgefragt werden soll | :Die eindeutige uuid des Eintrages der abgefragt werden soll | ||
;filename | ;filename | ||
:Der lokale Dateiname an dem das PDF abgelegt werden soll | :Der lokale Dateiname an dem das PDF abgelegt werden soll. Sofern es sich um eine E-Rechnung handelt wird auch die XML Datei heruntergeladen und mit dem Zusatz ".xml" abgelegt. | ||
=== Rechnung anlegen === | === Rechnung anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_invoice( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object</syntaxhighlight> | ||
;data | ;data | ||
:Ein Array der Rechnungsdaten nach der nötigen [https://developers. | :Ein Array der Rechnungsdaten nach der nötigen [https://developers.lexware.io/docs/#lexware-api-documentation Lexware Office Formatierung] | ||
:Beispiel | :Beispiel | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
| Zeile 165: | Zeile 201: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; finalized | ; finalized | ||
: Entscheidet ob die Rechnung | : Entscheidet ob die Rechnungfertiggestellt werden soll. | ||
; precedingSalesVoucherId | |||
: Eine Lexware Office UUID eines Belegs für den eine Rechnung erstellt wird. | |||
== Serienrechnungen == | |||
=== Serienrechnung abfragen === | |||
<syntaxhighlight lang="php">$lexware->get_recurring_template( string $uuid ) : object</syntaxhighlight> | |||
;uuid | |||
:Die eindeutige uuid des Eintrages der abgefragt werden soll | |||
=== Alle Serienrechnungen abfragen === | |||
<syntaxhighlight lang="php">$lexware->get_recurring_templates_all() : object</syntaxhighlight> | |||
== Gutschriften == | == Gutschriften == | ||
| Zeile 171: | Zeile 221: | ||
=== Gutschrift abfragen === | === Gutschrift abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_creditnote( string $uuid ) : object</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid der Gutschrift die abgefragt werden soll | :Die eindeutige uuid der Gutschrift die abgefragt werden soll | ||
| Zeile 177: | Zeile 227: | ||
=== Gutschrift anlegen === | === Gutschrift anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_creditnote( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object</syntaxhighlight> | ||
;data | ;data | ||
:Ein Array der Gutschriftsdaten nach der nötigen [https://developers. | :Ein Array der Gutschriftsdaten nach der nötigen [https://developers.lexware.io/docs/#credit-notes-endpoint-credit-notes-properties Lexware Office Formatierung] | ||
:Beispiel | :Beispiel | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
| Zeile 221: | Zeile 271: | ||
; finalized | ; finalized | ||
: Entscheidet ob die Gutschrift fertiggestellt werden soll. | : Entscheidet ob die Gutschrift fertiggestellt werden soll. | ||
; precedingSalesVoucherId | |||
: Eine Lexware Office UUID einer offenen Rechnung für die eine Gutschrift erstellt wird. | |||
== Angebote == | == Angebote == | ||
| Zeile 226: | Zeile 278: | ||
=== Angebot abfragen === | === Angebot abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_quotation( string $uuid ) : object</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid des Angebotes das abgefragt werden soll | :Die eindeutige uuid des Angebotes das abgefragt werden soll | ||
| Zeile 232: | Zeile 284: | ||
=== Angebot anlegen === | === Angebot anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_quotation( array $data [, bool $finalized = false ] ) : object</syntaxhighlight> | ||
;data | ;data | ||
:Ein Array der Angebotsdaten nach der nötigen [https://developers. | :Ein Array der Angebotsdaten nach der nötigen [https://developers.lexware.io/docs/#quotations-endpoint-quotations-properties Lexware Office Formatierung] | ||
:Beispiel | :Beispiel | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
| Zeile 290: | Zeile 342: | ||
=== Auftragsbestätigung abfragen === | === Auftragsbestätigung abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_orderconfirmation( string $uuid ) : object</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid der Auftragsbestätigung die abgefragt werden soll | :Die eindeutige uuid der Auftragsbestätigung die abgefragt werden soll | ||
=== Auftragsbestätigung anlegen === | === Auftragsbestätigung anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_orderconfirmation( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object</syntaxhighlight> | ||
;data | ;data | ||
:Ein Array der Auftragsbestätigungsdaten nach der nötigen [https://developers. | :Ein Array der Auftragsbestätigungsdaten nach der nötigen [https://developers.lexware.io/docs/#lexware-api-documentation Lexware Office Formatierung] | ||
:Beispiel | :Beispiel | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
| Zeile 345: | Zeile 397: | ||
) | ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; finalized | |||
: Entscheidet ob die Auftragsbestätigung fertiggestellt werden soll. | |||
; precedingSalesVoucherId | |||
: Eine Lexware Office UUID eines Belegs für die eine Auftragsbestätigung erstellt wird. | |||
== Lieferschein == | |||
=== Lieferschein abfragen === | |||
<syntaxhighlight lang="php">$lexware->get_deliverynote( string $uuid ) : object</syntaxhighlight> | |||
;uuid | |||
:Die eindeutige uuid des Lieferscheins der abgefragt werden soll | |||
=== Lieferschein anlegen === | |||
<syntaxhighlight lang="php">$lexware->create_delivery_note( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object</syntaxhighlight> | |||
;data | |||
:Ein Array der Lieferscheindaten nach der nötigen [https://developers.lexware.io/docs/#delivery-notes-endpoint-delivery-notes-properties Lexware Office Formatierung] | |||
:Beispiel | |||
<syntaxhighlight lang="php"> | |||
array( | |||
'voucherDate' => date(DATE_RFC3339_EXTENDED), | |||
'introduction' => 'Einleitungstext', | |||
'remark' => "Fußzeile\r\nMehrzeilig", | |||
'address' => array( | |||
#'contactId' => '<id>', | |||
'name' => 'Frau Jane Doe', | |||
'street' => 'Str. 1', | |||
'zip' => '12345', | |||
'city' => 'Stadt', | |||
'countryCode' => 'DE', | |||
), | |||
'lineItems' => array( | |||
array( | |||
'type' => 'custom', | |||
'name' => 'Produktname', | |||
'description' => 'Beschreibung', | |||
'quantity' => 1, | |||
'unitName' => 'Stück', | |||
'unitPrice' => array( | |||
'currency' => 'EUR', | |||
'netAmount' => 10.99, | |||
'taxRatePercentage' => 19, | |||
), | |||
#'discountPercentage' => 0, | |||
), | |||
), | |||
'totalPrice' => array( | |||
'currency' => 'EUR', | |||
#'totalDiscountAbsolute' => 0, | |||
#'totalDiscountPercentage' => 0, | |||
), | |||
'taxConditions' => array( | |||
'taxType' => 'net', | |||
), | |||
'shippingConditions' => array( | |||
'shippingDate' => date('Y-m-d').'T00:00:01.000+02:00', | |||
'shippingType' => 'delivery', | |||
), | |||
'paymentConditions' => array( | |||
'paymentTermLabel' => 'Vorkasse', | |||
'paymentTermDuration' => 1, | |||
), | |||
) | |||
</syntaxhighlight> | |||
; finalized | |||
: Entscheidet ob der Lieferschein fertiggestellt werden soll. | |||
; precedingSalesVoucherId | |||
: Eine Lexware Office UUID eines Belegs für den der Lieferschein erstellt wird. | |||
== Mahnung == | |||
=== Mahnung abfragen === | |||
<syntaxhighlight lang="php">$lexware->get_dunning( string $uuid ) : object</syntaxhighlight> | |||
;uuid | |||
:Die eindeutige uuid der Mahnung welche abgefragt werden soll | |||
=== Mahnung anlegen === | |||
<syntaxhighlight lang="php">$lexware->create_dunning( array $data, string $precedingSalesVoucherId ) : object</syntaxhighlight> | |||
;data | |||
:Ein Array der Mahndaten nach der nötigen [https://developers.lexware.io/docs/#dunnings-endpoint-create-a-dunning Lexware Office Formatierung] | |||
; precedingSalesVoucherId | |||
: Eine Lexware Office UUID einer offenen Rechnung für die eine Mahnung erstellt wird. | |||
== Belege == | == Belege == | ||
=== Beleg anlegen === | === Beleg anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_voucher( array $data ) : object</syntaxhighlight> | ||
;Paramater | ;Paramater | ||
;data | ;data | ||
:Ein Array der Belegdaten nach der nötigen [https://developers. | :Ein Array der Belegdaten nach der nötigen [https://developers.lexware.io/docs/#vouchers-endpoint-create-a-voucher Lexware Office Formatierung] | ||
=== Beleg abfragen === | === Beleg abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_voucher( string $uuid ) : object</syntaxhighlight> | ||
;Paramater | ;Paramater | ||
*uuid | *uuid | ||
| Zeile 362: | Zeile 499: | ||
=== Belege abfragen === | === Belege abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_vouchers( string $type = 'invoice,creditnote,orderconfirmation', string $state = 'draft,open,paid,paidoff,voided,transferred', string $archived = 'both', string $date_from = '', string $date_to = '') : object</syntaxhighlight> | ||
;type | ;type | ||
:Einen oder mehrere Typen von Belegen (komma getrennt) die abgefragt werden sollen | :Einen oder mehrere Typen von Belegen (komma getrennt) die abgefragt werden sollen | ||
| Zeile 369: | Zeile 506: | ||
;archived | ;archived | ||
:"both", "true" oder "false" als String ob archivierte/nicht archivierte Belege ausgegeben werden sollen | :"both", "true" oder "false" als String ob archivierte/nicht archivierte Belege ausgegeben werden sollen | ||
;date_from | |||
:Datum (Format YYYY-MM-DD) ab wann einschließlich abgefragt werden soll | |||
;date_to | |||
:Datum (Format YYYY-MM-DD) bis wann einschließlich abgefragt werden soll | |||
=== Belegbild hochladen (nicht zugeordnet) === | === Belegbild hochladen (nicht zugeordnet) === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->upload_file($file) : object</syntaxhighlight> | ||
;Parameter | ;Parameter | ||
*file | *file | ||
| Zeile 377: | Zeile 518: | ||
; Rückgabe | ; Rückgabe | ||
* id | * id | ||
** Die eindeutige Datei-ID von | ** Die eindeutige Datei-ID von Lexware Office | ||
;Beispiel Anfrage | ;Beispiel Anfrage | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$ | $lexware->upload_file(__DIR__.'/invoice.pdf'); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 392: | Zeile 533: | ||
=== Beleg hochladen (zugeordnet) === | === Beleg hochladen (zugeordnet) === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->upload_voucher($uuid, $file) : object</syntaxhighlight> | ||
;Parameter | ;Parameter | ||
*uuid | *uuid | ||
| Zeile 400: | Zeile 541: | ||
; Rückgabe | ; Rückgabe | ||
* id | * id | ||
** Die eindeutige Datei-ID von | ** Die eindeutige Datei-ID von Lexware Office | ||
=== Beleg Dateien herunterladen === | === Beleg Dateien herunterladen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_voucher_files(string $uuid, string $filename_prefix) : array</syntaxhighlight> | ||
;Parameter | ;Parameter | ||
*uiui | *uiui | ||
| Zeile 410: | Zeile 551: | ||
** Der Dateipfad inkl. eines Dateiprefixes. | ** Der Dateipfad inkl. eines Dateiprefixes. | ||
; Rückgabe | ; Rückgabe | ||
Ein Array der Dateinamen | Ein Array der Dateinamen. Sofern es sich um eine E-Rechnung handelt wird sowohl die XML Datei als auch die von Lexware visualisierte PDF Rechnung heruntergeladen. | ||
;Beispiel Anfrage | ;Beispiel Anfrage | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$ | $lexware->get_voucher_files($uuid, '/files/IN_1234'); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 429: | Zeile 570: | ||
=== Kontakt abfragen === | === Kontakt abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_contact( string $uuid ) : object</syntaxhighlight> | ||
;Paramater | ;Paramater | ||
*uuid | *uuid | ||
| Zeile 435: | Zeile 576: | ||
=== Kontakt suchen === | === Kontakt suchen === | ||
<syntaxhighlight lang="php">$ | Bitte beachte das Lexware Office stets eine Suche nach "contains" macht. Eine Suche nach ''hans@hans.de'' liefert einen Treffer für den Kontakt ''hans@hans.de.google.com'' | ||
<syntaxhighlight lang="php">$lexware->search_contact( array $filter, bool $respect_wildcards = false ) : object</syntaxhighlight> | |||
;Paramater | ;Paramater | ||
*filter | *filter | ||
| Zeile 444: | Zeile 586: | ||
*** customer (true/false) | *** customer (true/false) | ||
*** vendor (true/false) | *** vendor (true/false) | ||
*wildcards | |||
** Bool | Wenn ''true'' werden die Zeichen "_" (ein Zeichen) und "%" (mehrere Zeichen) als Wildcards genutzt, andernfalls im Inhalt als Zeichen erwartet. | |||
;Beispiel Anfrage | ;Beispiel Anfrage | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$ | $lexware->search_contact(array( | ||
'email' => '', | 'email' => '', | ||
'name' => 'John Doe', | 'name' => 'John Doe', | ||
'number' => '', | 'number' => '', | ||
'customer' => '', | 'customer' => '', | ||
' | 'vendor' => '', | ||
)); | )); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Alle Kontakte abfragen === | === Alle Kontakte abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_contacts_all() : object</syntaxhighlight> | ||
=== Kontakt anlegen === | === Kontakt anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_contact( array $data) : object</syntaxhighlight> | ||
;Parameter | ;Parameter | ||
*data | *data | ||
**Ein Array der Kontaktdaten nach der nötigen [https://developers. | **Ein Array der Kontaktdaten nach der nötigen [https://developers.lexware.io/docs/#lexware-api-documentation Lexware Office Formatierung] | ||
;Beispiel Anfrage | ;Beispiel Anfrage | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$ | $lexware->create_contact(array( | ||
'version' => 0, | 'version' => 0, | ||
'roles' => array( | 'roles' => array( | ||
| Zeile 522: | Zeile 666: | ||
=== Kontakt aktualisieren === | === Kontakt aktualisieren === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->update_contact( string $uuid, array $data) : object</syntaxhighlight> | ||
;Parameter | ;Parameter | ||
*uuid | *uuid | ||
**Die eindeutige uuid des Eintrages der abgefragt werden soll | **Die eindeutige uuid des Eintrages der abgefragt werden soll | ||
*data | *data | ||
**Ein Array der Kontaktdaten nach der nötigen [https://developers. | **Ein Array der Kontaktdaten nach der nötigen [https://developers.lexware.io/docs/#lexware-api-documentation Lexware Office Formatierung] | ||
== Events / Webhooks == | == Events / Webhooks == | ||
=== Event anlegen === | === Event anlegen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->create_event( string $event [, bool $callback = false ] ) : array|bool</syntaxhighlight> | ||
;event | ;event | ||
:Mögliche sind alle von | :Mögliche sind alle von Lexware Office [https://developers.lexware.io/docs/#event-subscriptions-endpoint-event-types angebotenen Events]. | ||
;callback | ;callback | ||
:Die Callback URL für diesen Aufruf. Wenn keine angegeben wird, wird die Standard URL aus der initialisierung genutzt. | :Die Callback URL für diesen Aufruf. Wenn keine angegeben wird, wird die Standard URL aus der initialisierung genutzt. | ||
=== Aktives Event abfragen === | === Aktives Event abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_event( string $uuid ) : array</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die eindeutige uuid des Eintrages der abgefragt werden soll | :Die eindeutige uuid des Eintrages der abgefragt werden soll | ||
=== Alle aktiven Events abfragen === | === Alle aktiven Events abfragen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_events_all() : object</syntaxhighlight> | ||
=== Event löschen === | === Event löschen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->delete_event( string $iiud ) : object</syntaxhighlight> | ||
;uuid | ;uuid | ||
:Die ID eines zuvor erstellten Events. | :Die ID eines zuvor erstellten Events. | ||
| Zeile 553: | Zeile 697: | ||
== Steuern == | == Steuern == | ||
=== Kleinunternehmer === | === Kleinunternehmer === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->is_tax_free_company(): bool</syntaxhighlight> | ||
=== EU - Innergemeinschaftlicher Raum === | === EU - Innergemeinschaftlicher Raum === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->is_european_member(string $country_code, int $date): bool</syntaxhighlight> | ||
;$country_code | ;$country_code | ||
:2-Stelliger Country Code des Rechnungslandes | :2-Stelliger Country Code des Rechnungslandes | ||
| Zeile 563: | Zeile 707: | ||
=== Buchungskategorie bestimmen === | === Buchungskategorie bestimmen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_needed_voucher_booking_id(float $taxrate, string $country_code, int $date, bool $euopean_vatid, bool $b2b_business, bool $physical_good = true): string</syntaxhighlight> | ||
;$taxrate | ;$taxrate | ||
:Steuersatz der verwendet werden soll (Wird auf Gültigkeit geprüft) | :Steuersatz der verwendet werden soll (Wird auf Gültigkeit geprüft) | ||
| Zeile 576: | Zeile 720: | ||
;$physical_good | ;$physical_good | ||
Wird physikalische Ware oder digitale Dienstleistung verkauft | Wird physikalische Ware oder digitale Dienstleistung verkauft | ||
=== Abfrage der möglichen Steuersätze === | |||
<syntaxhighlight lang="php">$lexware->get_taxrates(string $country_code, int $date): array</syntaxhighlight> | |||
;$country_code | |||
:2-Stelliger Country Code des Rechnungslandes | |||
;$date | |||
:Timestamp Rechnungsdatum | |||
=== Prüfung Steuersatz === | |||
<syntaxhighlight lang="php">$lexware->check_taxrate(float $taxrate, string $country_code, int $date): bool</syntaxhighlight> | |||
;$taxrate | |||
:Der zu prüfende Steuersatz | |||
;$country_code | |||
:2-Stelliger Country Code des Rechnungslandes | |||
;$date | |||
:Timestamp Rechnungsdatum | |||
== One-Stop-Shop (OSS) / Steuer Methoden == | == One-Stop-Shop (OSS) / Steuer Methoden == | ||
<syntaxhighlight lang="php">$ | === OSS Einstellungen prüfen === | ||
<syntaxhighlight lang="php">$lexware->is_oss_needed(string $country_code, int $date)</syntaxhighlight> | |||
;$country_code | ;$country_code | ||
:2-Stelliger Country Code des Rechnungslandes | :2-Stelliger Country Code des Rechnungslandes | ||
;$date | |||
:Timestamp Rechnungsdatum | |||
<syntaxhighlight lang="php">$ | === Prüfung OSS Voucher Kategorie === | ||
<syntaxhighlight lang="php">$lexware->get_oss_voucher_category(string $country_code, int $date, int $booking_category = 1, float $taxrate = 0): string</syntaxhighlight> | |||
;$country_code | ;$country_code | ||
:2-Stelliger Country Code des Rechnungslandes | :2-Stelliger Country Code des Rechnungslandes | ||
;$date | |||
:Timestamp Rechnungsdatum | |||
;$booking_category | ;$booking_category | ||
:Angabe welche Buchungskategorie genutzt werden soll | :Angabe welche Buchungskategorie genutzt werden soll | ||
:1 => Fernverkauf | :1 => Fernverkauf | ||
:2 => Elektronische Dienstleistung | :2 => Elektronische Dienstleistung | ||
;$taxrate | |||
: Genutzter Steuersatz in Buchung | |||
== Sonstiges == | == Sonstiges == | ||
| Zeile 595: | Zeile 764: | ||
=== PDFs herunterladen === | === PDFs herunterladen === | ||
<syntaxhighlight lang="php">$ | <syntaxhighlight lang="php">$lexware->get_pdf(string $type, string $uuid, string $filename): bool</syntaxhighlight> | ||
;type | ;type | ||
:Die Art des Beleges. Möglich Varianten sind: "invoices", "credit-notes" | :Die Art des Beleges. Möglich Varianten sind: "invoices", "credit-notes" | ||
| Zeile 613: | Zeile 782: | ||
private $booking_categories = [ | private $booking_categories = [ | ||
'incoming' => [ | 'incoming' => [ | ||
// Anlagevermögen | // Anlagevermögen | ||
'c5430e38-6daa-46e7-99d5-a65fd737338f' => 'Software', | 'c5430e38-6daa-46e7-99d5-a65fd737338f' => 'Software (135)', | ||
'b32709ec-08c2-4d3f-8c29-4f8da6e03541' => 'Technische Anlagen und Maschinen', | 'b32709ec-08c2-4d3f-8c29-4f8da6e03541' => 'Technische Anlagen und Maschinen (400)', | ||
'4f01e761-d912-441f-ad1a-1c1d2d590a81' => 'KFZ', | '4f01e761-d912-441f-ad1a-1c1d2d590a81' => 'KFZ (520)', | ||
'13efe6dc-c3a3-4d6b-a793-81a1c0d78ece' => 'LKW', | '13efe6dc-c3a3-4d6b-a793-81a1c0d78ece' => 'LKW (540)', | ||
'21027249-d7c3-455f-9b27-88cfe23cb14f' => 'Sonstige Transportmittel', | '21027249-d7c3-455f-9b27-88cfe23cb14f' => 'Sonstige Transportmittel (560)', | ||
'78361a84-43e6-4643-84ce-7c4925e30a7f' => 'Werkzeuge', | '78361a84-43e6-4643-84ce-7c4925e30a7f' => 'Werkzeuge (620)', | ||
'd8f6b5c4-62c4-4ed8-8deb-27eb284de06d' => 'Betriebs-und Geschäftsausstattung', | 'd8f6b5c4-62c4-4ed8-8deb-27eb284de06d' => 'Betriebs-und Geschäftsausstattung (690)', | ||
'f87b5aa8-aa1f-49bb-b5af-7fc6d52c0941' => 'Ladeneinrichtung', | 'f87b5aa8-aa1f-49bb-b5af-7fc6d52c0941' => 'Ladeneinrichtung (640)', | ||
'fe4ed5d8-8e69-4d10-923e-525948ea34df' => 'Büroeinrichtung', | 'fe4ed5d8-8e69-4d10-923e-525948ea34df' => 'Büroeinrichtung (650)', | ||
'ec2ec6e5-217f-4e59-a3bc-ebd5562c3f50' => 'Geringwertige Wirtschaftsgüter', | 'ec2ec6e5-217f-4e59-a3bc-ebd5562c3f50' => 'Geringwertige Wirtschaftsgüter (670)', | ||
// Darlehen | // Darlehen | ||
'4ae5384e-438e-4466-9c9f-338096abac58' => 'Darlehen', | '4ae5384e-438e-4466-9c9f-338096abac58' => 'Darlehen (3150)', | ||
'b9439764-a201-4a5c-84f4-2ae20c8bd40d' => 'Aufnahme', | 'b9439764-a201-4a5c-84f4-2ae20c8bd40d' => 'Aufnahme (3150)', | ||
'89c3d29c-5896-4747-8cbb-9e44cb269946' => 'Aufnahme Gesellschafter', | '89c3d29c-5896-4747-8cbb-9e44cb269946' => 'Aufnahme Gesellschafter (3510)', | ||
' | // Einnahmen | ||
'8f8664a1-fd86-11e1-a21f-0800200c9a66' => 'Einnahmen (4300, 4400, 4200)', | |||
'8f8664a0-fd86-11e1-a21f-0800200c9a66' => 'Dienstleistung (4300, 4400, 4200)', | |||
'8f8664a4-fd86-11e1-a21f-0800200c9a66' => 'Honorar/Gage (4300, 4400, 4200)', | |||
'8f8664a5-fd86-11e1-a21f-0800200c9a66' => 'Geräteverleih (4300, 4400, 4200)', | |||
'8f8664a6-fd86-11e1-a21f-0800200c9a66' => 'Prämien (4300, 4400, 4200)', | |||
'8f8664a7-fd86-11e1-a21f-0800200c9a66' => 'Provisionsumsätze (4569, 4560, 4576, 4566)', | |||
'8f8664a8-fd86-11e1-a21f-0800200c9a66' => 'Warenverkäufe (4300, 4400, 4200)', | |||
'8f8664a9-fd86-11e1-a21f-0800200c9a66' => 'Wartung (4300, 4400, 4200)', | |||
'8f8664a3-fd86-11e1-a21f-0800200c9a66' => 'Erlösminderungen (4710, 4720, 4700)', | |||
'e188b015-58e0-4182-8419-96ba15cbb166' => 'Photovoltaikanlagen (4290)', | |||
'be32ceb3-684a-485e-b628-4bcc748bac4b' => 'Bauleistungen §13b (4337)', | |||
'380a20cb-d04c-426e-b49c-84c22adfa362' => 'Fremdleistungen §13b (4336)', | |||
'f5c7fee8-f184-4e7a-ab04-8f7e7ad6c207' => 'Einnahmen als Kleinunternehmer (4184)', | |||
'7a1efa0e-6283-4cbf-9583-8e88d3ba5960' => 'Einnahmen als Kleinunternehmer (bis 2025) (4185)', | |||
'9075a4e3-66de-4795-a016-3889feca0d20' => 'Innergemeinschaftliche Lieferung (4125)', | |||
'ef5b1a6e-f690-4004-9a19-91276348894f' => 'Dienstleistungen an Drittländer (4338)', | |||
'93d24c20-ea84-424e-a731-5e1b78d1e6a9' => 'Ausfuhrlieferungen an Drittländer (4120)', | |||
'7c112b66-0565-479c-bc18-5845e080880a' => 'Fernverkauf (4315, 4310)', | |||
'd73b880f-c24a-41ea-a862-18d90e1c3d82' => 'Elektronische Dienstleistungen (4449, 4450)', | |||
'4ebd965a-7126-416c-9d8c-a5c9366ee473' => 'Fernverkauf in EU-Land steuerpflichtig (4320)', | |||
'7ecea006-844c-4c98-a02d-aa3142640dd5' => 'Elektronische Dienstleistung in EU-Land steuerpflichtig (4331)', | |||
// Kapital | |||
'f06dd343-53ec-4e6a-8680-e812d526dae1' => 'Stammakapital (2900)', | |||
// Privat | // Privat | ||
'5461e150-10d7-492f-968d-33413ff63a53' => 'Privat', | '5461e150-10d7-492f-968d-33413ff63a53' => 'Privat (2180)', | ||
'cfddcc54-fd86-11e1-a21f-0800200c9a66' => 'Privateinlagen', | 'cfddcc54-fd86-11e1-a21f-0800200c9a66' => 'Privateinlagen (2180)', | ||
'bc25f5d5-c2c7-4394-b5ae-f422a779d68a' => ' | 'a520b74b-7f64-4b98-a09b-373641d56ba0' => 'Verrechnungskonto Gesellschafter (3640)', | ||
'ef5afd88-4a48-4582-8934-9b60fd9ad9d5' => 'Einkommensteuer', | 'bc25f5d5-c2c7-4394-b5ae-f422a779d68a' => 'Einlagen Kommanditisten (2580)', | ||
'6d0a1338-803c-4188-86a1-ba0b2f88e2f3' => 'Versicherungen', | 'ef5afd88-4a48-4582-8934-9b60fd9ad9d5' => 'Einkommensteuer (2150)', | ||
'55e8b902-671e-49a4-b4bf-7e3b6f9ad305' => 'Spenden', | '6d0a1338-803c-4188-86a1-ba0b2f88e2f3' => 'Versicherungen (privat) (2200)', | ||
'db6c9e4f-bf42-424d-ab36-a1c0977c8375' => 'Krankheitskosten', | '55e8b902-671e-49a4-b4bf-7e3b6f9ad305' => 'Spenden (2250)', | ||
// | 'db6c9e4f-bf42-424d-ab36-a1c0977c8375' => 'Krankheitskosten (2280)', | ||
' | // Sonstige Einnahmen | ||
'cfddcc50-fd86-11e1-a21f-0800200c9a66' => 'Sonstige Einnahmen (4836, 4830, 4835)', | |||
'cfddcc52-fd86-11e1-a21f-0800200c9a66' => 'Miete/Pacht (4836, 4200)', | |||
'94c21e70-fdd4-43a6-a199-c233a2b15e33' => 'Kautionen (erhalten) (3550)', | |||
'22d1f5fe-2112-4824-9eb4-22502ce64cf5' => 'Versicherungsentschädigungen (4970)', | |||
'3e031e7a-3bbb-4636-b09d-48b798434551' => 'Investitionszuschüsse (steuerpflichtig) (4975)', | |||
'a848c7de-d80e-453e-b2bc-0f0b0aa70462' => 'Investitionszulagen (steuerfrei) (4980)', | |||
'4cef8d07-b757-43eb-8dd8-da0c947800ff' => 'Mahngebühren (4839)', | |||
'5f1c4290-ad14-4487-b6f9-cbb2aff5efe2' => 'Zinserträge (7100)', | |||
'aba9020f-d0a6-47ca-ace6-03d6ed492351' => 'Rundungsdifferenzen (4840)', | |||
'c9eebb77-3f62-4ffa-99af-887c345a4a02' => 'Währungsumrechnung (4840)', | |||
'b01910ba-bcdd-4465-865e-3ffe0159f193' => 'Erstattungen Aufwendungsausgleichsgesetz (4972)', | |||
'27758e6b-220a-4ad4-98a0-96e1f17e2783' => 'Forderungen gegenüber Krankenkassen aus Aufwendungsausgleichsgesetz (1369)', | |||
// Umsatzsteuer | |||
'af1a07f3-8ce4-47dc-8c82-263960c2442d' => 'Umsatzsteuer-Vorauszahlungen (3820)', | |||
'd9bc790d-1a26-40a6-8b32-e5ef7c8b4d52' => 'Umsatzsteuer-Forderungen (1420)', | |||
'487ce31c-4db6-40d2-b192-3485b5ae5c6e' => 'Umsatzsteuer-Vorjahr (3841)', | |||
'307311b5-9139-4a46-9085-6dfed710458d' => 'Umsatzsteuererstattung aus EU-Ländern (3799)', | |||
// Zu prüfen | // Zu prüfen | ||
'32b4c1d5-050f-4b80-9377-a8e98384ebee' => 'Zu prüfen', | '32b4c1d5-050f-4b80-9377-a8e98384ebee' => 'Zu prüfen (1370)', | ||
'eeaffbf8-d006-4c8c-b035-992817499eb4' => 'Durchlaufende Posten', | 'eeaffbf8-d006-4c8c-b035-992817499eb4' => 'Durchlaufende Posten (1370)', | ||
'6656bbd4-f278-4a3d-8e22-c8543abfe906' => 'Geldtransit', | '6656bbd4-f278-4a3d-8e22-c8543abfe906' => 'Geldtransit (1460)', | ||
], | ], | ||
'outgoing' => [ | 'outgoing' => [ | ||
// Anlagevermögen | |||
'aa2d19a0-43e7-4330-a579-75c962254546' => 'Software (135)', | |||
'e82f21da-c21b-44a0-8abb-cd805b62b231' => 'Technische Anlagen und Maschinen (400)', | |||
'1b029e34-70ad-4869-95da-bc9454c8650c' => 'KFZ (520)', | |||
'4334a658-f103-4791-810e-ffa997218766' => 'Lastkraftwagen (540)', | |||
'281cd301-6e13-4d27-81c2-30f896e5bf1d' => 'Sonstige Transportmittel (560)', | |||
'121188e5-61ec-4734-bcc2-282e4340bb33' => 'Werkzeuge (620)', | |||
'60a5a91b-6b4a-485e-b610-232b423a161d' => 'Betriebs-und Geschäftsausstattung (690)', | |||
'571e17ef-962d-4ec1-aedf-b166d876ebe1' => 'Ladeneinrichtung (640)', | |||
'd0d633ec-dda7-4aa3-867c-96e7a0d97477' => 'Büroeinrichtung (650)', | |||
'1b2d76c2-23a2-48c6-a717-7f9fecf99556' => 'Geringwertige Wirtschaftsgüter (670)', | |||
// Beratung | |||
'efa85651-fd85-11e1-a21f-0800200c9a66' => 'Beratung (6825)', | |||
'c5aa9395-d856-47d9-b346-27465116e584' => 'Beratung §13b (6825)', | |||
'576c695a-0572-41a0-980e-20ee5279ce65' => 'Beratung §13b Drittland (6825)', | |||
'f48154a0-fd90-11e1-a21f-0800200c9a66' => 'Rechtsanwalt (6825)', | |||
'f48154a1-fd90-11e1-a21f-0800200c9a66' => 'Steuerberater (6825)', | |||
'2bdc3fd5-3ef3-4732-b315-4fa2c1061994' => 'Buchführungskosten (6830)', | |||
'90999976-9851-491a-9b68-12f4078c219c' => 'Abschluss- und Prüfungskosten (6827)', | |||
// Beschränkt abziehbare Betriebsausgaben | |||
'efa82f4a-fd85-11e1-a21f-0800200c9a66' => 'Bewirtungskosten nur Mitarbeiter (6640)', | |||
'934adb21-fd90-11e1-a21f-0800200c9a66' => 'Bewirtungskosten mit Geschäftspartnern (6640)', | |||
'be378725-ff9e-4180-b72a-2effe6493bba' => 'Bewirtungskosten (nicht abziehbar) (6644)', | |||
'09b906eb-8e05-4ee7-88a5-8e49e6c4db72' => 'Geschenke (6610)', | |||
// Darlehen | |||
'efa85654-fd85-11e1-a21f-0800200c9a66' => 'Darlehen (3150)', | |||
'5921d421-fd91-11e1-a21f-0800200c9a66' => 'Tilgung (3150)', | |||
'eb85ea64-2097-4234-a8e3-5f28cb49f0a2' => 'Tilgung Gesellschafter (3150)', | |||
// Fahrzeug | |||
'efa82f47-fd85-11e1-a21f-0800200c9a66' => 'Fahrzeugkosten (6500)', | |||
'9eaf6ff0-fd89-11e1-a21f-0800200c9a66' => 'Kraftstoff/Ladestrom (6530)', | |||
'9eaf6ff7-fd89-11e1-a21f-0800200c9a66' => 'Fahrzeugpflege (6530)', | |||
'9eaf6ff1-fd89-11e1-a21f-0800200c9a66' => 'Inspektion/Reparatur (6540)', | |||
'9eaf6ff3-fd89-11e1-a21f-0800200c9a66' => 'Fahrzeugversicherungen (6520)', | |||
'9eaf6ff4-fd89-11e1-a21f-0800200c9a66' => 'Fremdfahrzeuge (6595)', | |||
'9eaf6ff5-fd89-11e1-a21f-0800200c9a66' => 'Stellplatz/Garagenmiete (6550)', | |||
'1e541b97-42de-4eb2-abe7-0e208cf46f38' => 'Mietleasing KFZ (6560)', | |||
'3199b01b-3a1f-3670-9e54-f2c106441a6e' => 'Mietleasing E-Fahrzeug/Fahrrad (6565)', | |||
'9eaf6ff8-fd89-11e1-a21f-0800200c9a66' => 'Sonstige KFZ-Kosten (6570)', | |||
'79e1efd6-7103-46cf-99c2-0717cc60350b' => 'Mautgebühren (6580)', | |||
'5597e22b-7ce8-4686-b15d-c2a6caa12d3b' => 'Kosten betriebl. Nutzung Fahrzeuge im Privatvermögen (6590)', | |||
// Fortbildung | |||
'5bc9acec-85af-48dd-a4c3-9ccc4ea6ac80' => 'Fortbildung (6821)', | |||
'09e90a1b-1aad-43b8-9803-b6fadffaf193' => 'Fortbildung §13b (6821)', | |||
'90fcbad4-d062-4877-8ca2-9b3176782f45' => 'Fortbildung §13b Drittland (6821)', | |||
'16d04a27-fd91-11e1-a21f-0800200c9a66' => 'Seminar/Weiterbildung (6821)', | |||
// Fremdleistungen | |||
'efa82f43-fd85-11e1-a21f-0800200c9a66' => 'Fremdleistungen (5900)', | |||
'205cae73-fd88-11e1-a21f-0800200c9a66' => 'Dienstleister (5900)', | |||
'205cae70-fd88-11e1-a21f-0800200c9a66' => 'Agenturen (5900)', | |||
'205cae71-fd88-11e1-a21f-0800200c9a66' => 'Freelancer/Freie Mitarbeiter (5900)', | |||
'205cae72-fd88-11e1-a21f-0800200c9a66' => 'Subunternehmer (5900)', | |||
'3ce7ec19-4828-4469-ac31-754a495cdbf1' => 'Bauleistungen §13b (5920)', | |||
'113476af-ac83-4bf2-941d-0daa37022945' => 'Fremdleistungen §13b (5923)', | |||
'6d49f842-54d9-4ebb-9c24-a25daac76203' => 'Fremdleistungen §13b Drittland (5925)', | |||
// Gezahlte Vorsteuer | |||
'3da06950-a89f-4b3f-9932-0e627cdf6a34' => 'Gezahlte Vorsteuer (1400)', | |||
'f1c2c983-db43-4d91-b0b1-c9d8aa89adef' => 'Einfuhrumsatzsteuer (1433)', | |||
// Material/Waren | // Material/Waren | ||
'efa82f42-fd85-11e1-a21f-0800200c9a66' => 'Material/Waren', | 'efa82f42-fd85-11e1-a21f-0800200c9a66' => 'Material/Waren (5200)', | ||
'97704fd4-0e83-4c5b-a09c-1b4289644d10' => 'Materialeinkauf', | '97704fd4-0e83-4c5b-a09c-1b4289644d10' => 'Materialeinkauf (5100)', | ||
'97938aa5-c5a7-4d31-bdac-a19209ba432e' => 'Wareneinkauf', | '97938aa5-c5a7-4d31-bdac-a19209ba432e' => 'Wareneinkauf (5200)', | ||
'dba64b05-85f7-4359-8e83-a2556a62eeac' => 'Innergemeinschaftlicher Erwerb', | 'dba64b05-85f7-4359-8e83-a2556a62eeac' => 'Innergemeinschaftlicher Erwerb (5425, 5420)', | ||
'3085632b-dd6b-4380-9425-e5821c1c9031' => 'Bezugsnebenkosten', | '3085632b-dd6b-4380-9425-e5821c1c9031' => 'Bezugsnebenkosten (5800)', | ||
'e9905c70-fd87-11e1-a21f-0800200c9a66' => 'Aufwandsminderungen | 'e9905c70-fd87-11e1-a21f-0800200c9a66' => 'Aufwandsminderungen (5700)', | ||
// Personal | // Personal | ||
'efa82f44-fd85-11e1-a21f-0800200c9a66' => 'Personal', | 'efa82f44-fd85-11e1-a21f-0800200c9a66' => 'Personal (6000)', | ||
'5bcf2ff2-fd88-11e1-a21f-0800200c9a66' => 'Löhne', | '5bcf2ff2-fd88-11e1-a21f-0800200c9a66' => 'Löhne (6010)', | ||
'5bcf2ff4-fd88-11e1-a21f-0800200c9a66' => 'Prämie/Provision', | '5bcf2ff4-fd88-11e1-a21f-0800200c9a66' => 'Prämie/Provision (6000)', | ||
'278d79f0-2d9a-4326-9ff7-28b666ae49ca' => 'Gehälter', | '278d79f0-2d9a-4326-9ff7-28b666ae49ca' => 'Gehälter (6020)', | ||
'689092e1-cb82-4d93-8659-e9068cf97b78' => 'Geschäftsführergehälter', | '689092e1-cb82-4d93-8659-e9068cf97b78' => 'Geschäftsführergehälter (6027)', | ||
'a8f23059-48c2-4dc9-aeae-d5fb8438c476' => 'Geschäftsführergehälter GmbH-Gesellschafter', | 'a8f23059-48c2-4dc9-aeae-d5fb8438c476' => 'Geschäftsführergehälter GmbH-Gesellschafter (6024)', | ||
'5bcf2ff1-fd88-11e1-a21f-0800200c9a66' => 'Sozialabgaben', | '5bcf2ff1-fd88-11e1-a21f-0800200c9a66' => 'Sozialabgaben (6110)', | ||
'ec6225a9-e6d5-40bd-89fb-0d944ea4cc98' => 'Soziale Abgaben für Minijobber', | 'ec6225a9-e6d5-40bd-89fb-0d944ea4cc98' => 'Soziale Abgaben für Minijobber (6171)', | ||
'93793549-d846-4c55-86b8-98902a2c47f3' => 'Berufsgenossenschaft', | 'ae6837dc-fc52-41b6-9539-4912df4999f8' => 'Freiwillige steuerfreie soziale Aufwendungen (6130)', | ||
'94c7de01-6898-4e2b-803a-50e442149692' => 'Vermögenswirksame Leistungen', | '93793549-d846-4c55-86b8-98902a2c47f3' => 'Berufsgenossenschaft (6120)', | ||
'5bcf2ff0-fd88-11e1-a21f-0800200c9a66' => 'Aushilfslöhne', | '94c7de01-6898-4e2b-803a-50e442149692' => 'Vermögenswirksame Leistungen (6080)', | ||
'5bcf2ff3-fd88-11e1-a21f-0800200c9a66' => 'Pauschale Steuer für Aushilfen', | '5bcf2ff0-fd88-11e1-a21f-0800200c9a66' => 'Aushilfslöhne (6030)', | ||
'48806a21-87a2-4e4c-8ced-1857100091d4' => 'Pauschale Steuern für Minijobber', | '3cea5628-7946-47e0-a3ad-d712c4440c77' => 'Löhne für Minijobs (6035)', | ||
'8afe1a96-bb88-4740-922f-ac36dc897144' => 'Pauschale Steuer auf sonstige Bezüge', | '5bcf2ff3-fd88-11e1-a21f-0800200c9a66' => 'Pauschale Steuer für Aushilfen (6040)', | ||
'7a7300b0-e588-4732-a88b-a09537bf49f4' => 'Pauschale Steuern für Gesellschafter-Geschäftsführer', | '48806a21-87a2-4e4c-8ced-1857100091d4' => 'Pauschale Steuern für Minijobber (6036)', | ||
'8afe1a96-bb88-4740-922f-ac36dc897144' => 'Pauschale Steuer auf sonstige Bezüge (6069)', | |||
'7a7300b0-e588-4732-a88b-a09537bf49f4' => 'Pauschale Steuern für Gesellschafter-Geschäftsführer (6037)', | |||
// Privat | |||
'efa85653-fd85-11e1-a21f-0800200c9a66' => 'Privat (2100)', | |||
'16d04a25-fd91-11e1-a21f-0800200c9a66' => 'Privatentnahmen (2100)', | |||
'8ee022a6-6722-4d61-924c-7e50603ffd79' => 'Verrechnungskonto Gesellschafter (1307)', | |||
'35bfb902-6845-45aa-8f90-747226f1e632' => 'Entnahmen Kommanditisten (2500)', | |||
'222b6f70-fd92-11e1-a21f-0800200c9a66' => 'Einkommensteuer (2150)', | |||
'328a41b4-58d7-4595-8840-1b96ad398f15' => 'Versicherungen (privat) (2200)', | |||
'72b9ed0d-95fa-4be7-8035-1f96d28b9725' => 'Spenden (2250)', | |||
'800030a3-b5e8-43ef-b1a1-62046d65f1a3' => 'Krankheitskosten (2280)', | |||
// Raumkosten | // Raumkosten | ||
'2f47898b-ad5c-460b-93f2-8966c49cf6e3' => 'Raumkosten', | '2f47898b-ad5c-460b-93f2-8966c49cf6e3' => 'Raumkosten (6310)', | ||
'ccbd1972-fd88-11e1-a21f-0800200c9a66' => 'Miete/Pacht', | 'ccbd1972-fd88-11e1-a21f-0800200c9a66' => 'Miete/Pacht (6310)', | ||
'ccbd1970-fd88-11e1-a21f-0800200c9a66' => 'Heizung', | '58b6ca5f-7d9f-4d5b-805c-6b9ec9ef4347' => 'Kautionen (geleistet) (1350)', | ||
'ccbd1973-fd88-11e1-a21f-0800200c9a66' => 'Strom, Wasser, Gas', | 'ccbd1970-fd88-11e1-a21f-0800200c9a66' => 'Heizung (6320)', | ||
'd5249d11-fd90-11e1-a21f-0800200c9a66' => 'Renovierung/Instandhaltung', | 'ccbd1973-fd88-11e1-a21f-0800200c9a66' => 'Strom, Wasser, Gas (6325)', | ||
'ccbd1974-fd88-11e1-a21f-0800200c9a66' => 'Müllgebühren', | 'd5249d11-fd90-11e1-a21f-0800200c9a66' => 'Renovierung/Instandhaltung (6335)', | ||
'ccbd1974-fd88-11e1-a21f-0800200c9a66' => 'Müllgebühren (6859)', | |||
'c3197c22-d101-11ec-9d64-0242ac120002' => 'Sonstige Raumkosten (6345)', | |||
// Reisen | |||
'efa82f49-fd85-11e1-a21f-0800200c9a66' => 'Reisen (6670)', | |||
'f9f05691-fd89-11e1-a21f-0800200c9a66' => 'Fahrtkosten (6673)', | |||
'f9f05692-fd89-11e1-a21f-0800200c9a66' => 'Öffentliche Verkehrsmittel (6673)', | |||
'f9f05693-fd89-11e1-a21f-0800200c9a66' => 'Taxi (6673)', | |||
'f9f05690-fd89-11e1-a21f-0800200c9a66' => 'Bahn-/Flugticket, Mietwagen (6673)', | |||
'f9f05694-fd89-11e1-a21f-0800200c9a66' => 'Übernachtungskosten (6680)', | |||
'4c4f9907-0379-408a-989b-22850d2fbcdc' => 'Frühstück (6680)', | |||
'9fb5e4b0-94ae-47f3-804f-5ed00e4aceb6' => 'Verpflegungsmehraufwendungen (6674)', | |||
'cf03a2b0-f838-474f-ac5e-67adb9b830c7' => 'Reise MA (6650)', | |||
'3620798f-ae06-4492-b775-1c87eb99247c' => 'Fahrtkosten MA (6663)', | |||
'8c69c437-9841-4f7d-ae1c-2457cf6b0a57' => 'Kilometergelderstattung MA (6668)', | |||
'b99b667f-bfee-41b9-8ec0-cee308bdacfd' => 'Übernachtung MA (6660)', | |||
'353e8c93-5f69-4476-887f-d48734ee2cc7' => 'Verpflegungsmehraufw. MA (6664)', | |||
// Reparaturen | |||
'efa85650-fd85-11e1-a21f-0800200c9a66' => 'Reparaturen (6335)', | |||
'd5249d12-fd90-11e1-a21f-0800200c9a66' => 'Wartung (6335)', | |||
'50ca159d-1155-4d9a-8f79-b013943c774e' => 'Anlagen und Maschinen (6460)', | |||
'd854ed5f-969a-4b5f-b13a-9679648aa988' => 'Sonstige Reparaturen (6470)', | |||
// Sonstige Ausgaben | |||
'16d04a28-fd91-11e1-a21f-0800200c9a66' => 'Sonstige Ausgaben (6300)', | |||
'f13b89bc-d104-11ec-9d64-0242ac120002' => 'Sonstige Abgaben (6430)', | |||
'16d04a21-fd91-11e1-a21f-0800200c9a66' => 'Bürobedarf (6815)', | |||
'16d04a24-fd91-11e1-a21f-0800200c9a66' => 'Porto (6800)', | |||
'd5249d10-fd90-11e1-a21f-0800200c9a66' => 'Werkzeuge und Kleingeräte (6845)', | |||
'16d04a29-fd91-11e1-a21f-0800200c9a66' => 'Zeitschriften/Bücher (6820)', | |||
'934adb20-fd90-11e1-a21f-0800200c9a66' => 'Betriebliche Besprechungen (6643)', | |||
'16d04a26-fd91-11e1-a21f-0800200c9a66' => 'Reinigung/Reinigungsmittel (6330)', | |||
'ea834b8c-d104-11ec-9d64-0242ac120002' => 'Grundstücksaufwendungen (betrieblich) (6350)', | |||
'16d04a20-fd91-11e1-a21f-0800200c9a66' => 'Anschaffungen (6850)', | |||
'fb198cf9-79f2-407c-baeb-9d8aa9b98fd0' => 'Kosten der Warenabgabe (6700)', | |||
'26e4fa58-db12-443f-9e70-9a8081730c1c' => 'Verpackungsmaterial (6710)', | |||
'b49aae5f-4121-4262-b8bd-f49278b66423' => 'Lizenzen und Konzessionen (6837)', | |||
'587c625c-2a8b-4a0e-88a7-5e058af9f7e9' => 'Lizenzen und Konzessionen §13b (6837)', | |||
'6d575db0-74e8-433d-a986-27b76ea27f9e' => 'Lizenzen und Konzessionen §13b Drittland (6837)', | |||
'9d92c0dc-8cea-4791-ab3b-90f913101d32' => 'Wartungskosten für Hard- und Software (6495)', | |||
'ccbd1971-fd88-11e1-a21f-0800200c9a66' => 'Leasing für Geräte (6840)', | |||
'6a90d581-46ba-4b59-ba8f-e568a552e0c0' => 'Aufmerksamkeiten (6643)', | |||
'0af461af-02f2-7a3c-4274-dc8c9ba8f013' => 'Sachzuwendungen (6822)', | |||
'61b6c617-d5b6-44ee-b43a-ac97b71f1bd8' => 'Rundungsdifferenzen (6880)', | |||
'207833b2-59fb-4185-b7b3-52ab9b944d59' => 'Währungsumrechnung (6880)', | |||
// Steuern | |||
'9eaf6ff2-fd89-11e1-a21f-0800200c9a66' => 'KFZ-Steuer (7685)', | |||
'222b6f71-fd92-11e1-a21f-0800200c9a66' => 'Gewerbesteuer (7610)', | |||
'75c4dd86-9977-4624-bac8-620e7aa08dd2' => 'Körperschaftsteuer (7600)', | |||
'fcac6066-8597-4086-8544-b95c444738a2' => 'Solidaritätszuschlag (7608)', | |||
// Telefon/Internet | // Telefon/Internet | ||
'efa82f4b-fd85-11e1-a21f-0800200c9a66' => 'Telefon/Internet', | 'efa82f4b-fd85-11e1-a21f-0800200c9a66' => 'Telefon/Internet (6805)', | ||
'b3a1f840-fd90-11e1-a21f-0800200c9a66' => 'Festnetz', | 'b3a1f840-fd90-11e1-a21f-0800200c9a66' => 'Festnetz (6805)', | ||
'b3a1f842-fd90-11e1-a21f-0800200c9a66' => 'Mobil', | 'b3a1f842-fd90-11e1-a21f-0800200c9a66' => 'Mobil (6805)', | ||
'b3a1f841-fd90-11e1-a21f-0800200c9a66' => 'Internet', | 'b3a1f841-fd90-11e1-a21f-0800200c9a66' => 'Internet (6810)', | ||
// | // Umsatzsteuer-Vorauszahlungen | ||
'222b6f72-fd92-11e1-a21f-0800200c9a66' => 'Umsatzsteuer-Vorauszahlungen (3820)', | |||
'e68b1ec8-3a46-4100-890b-01bc86cf8ada' => 'Sondervorauszahlung 1/11 (3830)', | |||
' | 'ebbdd0f4-3bd4-4d2e-847f-8b68314f7ef6' => 'Umsatzsteuer-Vorjahr (3841)', | ||
'd6472ace-832b-4c74-b136-5ceff39fdfa1' => 'Umsatzsteuerzahlung für EU-Länder (3799)', | |||
' | |||
' | |||
' | |||
// Versicherungen/Beiträge | // Versicherungen/Beiträge | ||
'efa82f46-fd85-11e1-a21f-0800200c9a66' => 'Versicherungen | 'efa82f46-fd85-11e1-a21f-0800200c9a66' => 'Versicherungen (betrieblich) (6400)', | ||
'f49d88d0-fd88-11e1-a21f-0800200c9a66' => 'Betriebshaftpflicht', | 'f49d88d0-fd88-11e1-a21f-0800200c9a66' => 'Betriebshaftpflicht (6400)', | ||
'5ce0f8a0-fd89-11e1-a21f-0800200c9a66' => 'Firmenversicherung', | '5ce0f8a0-fd89-11e1-a21f-0800200c9a66' => 'Firmenversicherung (6400)', | ||
'f49d88d2-fd88-11e1-a21f-0800200c9a66' => 'Rechtschutz', | 'f49d88d2-fd88-11e1-a21f-0800200c9a66' => 'Rechtschutz (6400)', | ||
'f49d88d3-fd88-11e1-a21f-0800200c9a66' => 'Transportversicherung', | 'f49d88d3-fd88-11e1-a21f-0800200c9a66' => 'Transportversicherung (6760)', | ||
'f49d88d1-fd88-11e1-a21f-0800200c9a66' => ' | 'f49d88d1-fd88-11e1-a21f-0800200c9a66' => 'Beiträge (6420)', | ||
// Werbung | // Werbung | ||
'efa82f48-fd85-11e1-a21f-0800200c9a66' => 'Werbung', | 'efa82f48-fd85-11e1-a21f-0800200c9a66' => 'Werbung (6600)', | ||
'd22989b5-fd89-11e1-a21f-0800200c9a66' => 'Werbegeschenke/Sponsoring', | '00d8f5f6-1d8a-40da-96ee-c53b25f37503' => 'Werbung §13b (6600)', | ||
'd22989b0-fd89-11e1-a21f-0800200c9a66' => 'Anzeigen Print- und Online', | 'db55a5ca-8b9e-4c84-9961-dd2110f3b2b6' => 'Werbung §13b Drittland (6600)', | ||
'd22989b1-fd89-11e1-a21f-0800200c9a66' => 'Dekoration', | 'd22989b5-fd89-11e1-a21f-0800200c9a66' => 'Werbegeschenke/Sponsoring (6600)', | ||
'd22989b2-fd89-11e1-a21f-0800200c9a66' => 'Geschäftspapier/Visitenkarten', | 'f57c7c2a-d104-11ec-9d64-0242ac120002' => 'Streuartikel (6605)', | ||
'd22989b3-fd89-11e1-a21f-0800200c9a66' => 'Marketing', | 'd22989b0-fd89-11e1-a21f-0800200c9a66' => 'Anzeigen Print- und Online (6600)', | ||
'd22989b4-fd89-11e1-a21f-0800200c9a66' => 'Messekosten', | 'd22989b1-fd89-11e1-a21f-0800200c9a66' => 'Dekoration (6600)', | ||
'01d94be1-ba15-4dd8-a8e2-e1d51eaab8f9' => 'Repräsentationskosten', | 'd22989b2-fd89-11e1-a21f-0800200c9a66' => 'Geschäftspapier/Visitenkarten (6600)', | ||
'd22989b3-fd89-11e1-a21f-0800200c9a66' => 'Marketing (6600)', | |||
'd22989b4-fd89-11e1-a21f-0800200c9a66' => 'Messekosten (6600)', | |||
'01d94be1-ba15-4dd8-a8e2-e1d51eaab8f9' => 'Repräsentationskosten (6630)', | |||
// Zinsen/Gebühren | // Zinsen/Gebühren | ||
'16d04a22-fd91-11e1-a21f-0800200c9a66' => 'Girokontozinsen (7310)', | |||
'16d04a22-fd91-11e1-a21f-0800200c9a66' => 'Girokontozinsen', | '16d04a23-fd91-11e1-a21f-0800200c9a66' => 'Nebenkosten des Geldverkehrs (6855)', | ||
'16d04a23-fd91-11e1-a21f-0800200c9a66' => ' | '5921d420-fd91-11e1-a21f-0800200c9a66' => 'Darlehenszinsen (7320)', | ||
'5921d420-fd91-11e1-a21f-0800200c9a66' => 'Darlehenszinsen | // Zu prüfen | ||
'8d2e71c6-09d5-439a-a295-a9e71661afcd' => 'Zu prüfen (1370)', | |||
// | '62e21a0d-af46-4674-bfa0-60bc2607fa17' => 'Durchlaufende Posten (1370)', | ||
' | 'dd56efd2-6c62-40e4-9d9e-cba7b0045911' => 'Geldtransit (1460)', | ||
' | |||
' | |||
// Zu zahlen | // Zu zahlen | ||
'ec472a04-9712-4ebb-9c8d-981941a456e5' => 'Zu zahlen', | 'ec472a04-9712-4ebb-9c8d-981941a456e5' => 'Zu zahlen (3720)', | ||
'4708d50c-f3a9-4a27-98c4-d37502e3b45c' => 'Lohn-und Kirchensteuer', | '4708d50c-f3a9-4a27-98c4-d37502e3b45c' => 'Lohn-und Kirchensteuer (3730)', | ||
'27c9577e-9472-47cd-818e-a0cbb042bf82' => 'Sozialversicherungsbeiträge', | '27c9577e-9472-47cd-818e-a0cbb042bf82' => 'Sozialversicherungsbeiträge (3740)', | ||
'db9689f7-49d6-4f6f-9cc4-93804f7c674a' => 'Vermögensbildung', | 'db9689f7-49d6-4f6f-9cc4-93804f7c674a' => 'Vermögensbildung (3770)', | ||
'fa4aadaa-8f1f-4121-99b4-bac9ad7c9bc9' => 'Verrechnung Lohn/Gehalt', | 'fa4aadaa-8f1f-4121-99b4-bac9ad7c9bc9' => 'Verrechnung Lohn/Gehalt (3790)', | ||
'cd3ea3e5-b681-496b-9886-7f8a8ab0397a' => 'Nettogehälter | 'cd3ea3e5-b681-496b-9886-7f8a8ab0397a' => 'Nettogehälter (3720)', | ||
'4abd3f74-6556-48df-9581-91c689b0572f' => 'Verbindlichkeiten für Einbehaltungen von Mitarbeitern (3725)', | |||
' | |||
] | ] | ||
]; | ]; | ||
== One-Stop-Shop (OSS) Kategorien == | == One-Stop-Shop (OSS) Kategorien == | ||
| Zeile 877: | Zeile 1.073: | ||
Wir liefern eine ''callback.php'' mit, die als callback URL angegeben werden kann. | Wir liefern eine ''callback.php'' mit, die als callback URL angegeben werden kann. | ||
Bei allen Aufrufen wird die ''X-Lxo-Signature'' überprüft und sichergestellt, dass der Aufruf wirklich von einem | Bei allen Aufrufen wird die ''X-Lxo-Signature'' überprüft und sichergestellt, dass der Aufruf wirklich von einem Lexware Office Server erstellt wurde. | ||
= Error Handling = | = Error Handling = | ||
Alle Methoden sollten stets in einem try/catch Block verwendet werden.<br> | Alle Methoden sollten stets in einem try/catch Block verwendet werden.<br> | ||
Unser Client bietet eine erweiterte Execption Klasse, die via "$e-> | Unser Client bietet eine erweiterte Execption Klasse, die via "$e->getError()" sofern vorhanden weitere Details zur Anfrage und dem API Response zurück gibt. | ||
Beispiel: Versuch eines PDF Downloads von einer nicht fertig gestellten Rechnung | Beispiel: Versuch eines PDF Downloads von einer nicht fertig gestellten Rechnung | ||
| Zeile 887: | Zeile 1.083: | ||
<syntaxhighlight lang="php" highlight="3,7"> | <syntaxhighlight lang="php" highlight="3,7"> | ||
try { | try { | ||
$ | $lexware->get_invoice_pdf('7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9', 'test.pdf'); | ||
} catch ( | } catch (LexwareException $e) { | ||
echo $e->getMessage(); | echo $e->getMessage(); | ||
// | // LexwareApi: error in api request - check details via $e->getError() | ||
print_r($e-> | print_r($e->getError()); | ||
/* | /* | ||
Array ( | Array ( | ||
[HTTP Status] => 500 | [HTTP Status] => 500 | ||
[Requested URI] => https://api. | [Requested URI] => https://api.lexware.io/v1/invoices/7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9/document | ||
[Requested Payload] => | [Requested Payload] => | ||
[Response] => stdClass Object | [Response] => stdClass Object | ||
Aktuelle Version vom 27. Mai 2026, 20:48 Uhr
Übersicht
PHP Client für office.lexware.de API (ehemals lexoffice.de)
Composer
CLI
composer require baebeca/lexware-php-api:~2.0
composer.json
{
"require": {
"baebeca/lexware-php-api": "~2.0",
}
}
Support
An wen kann ich mich wenden, wenn ich Probleme oder Fragen habe?
Für diese Frage ist entscheidend, ob du eine Nutzungslizenz erworben hast oder die freie Variante benutzt.
- Wenn eine Nutzungslizenz vorhanden ist, kannst du jederzeit ein Ticket bei uns öffnen:
- E-Mail: support@baebeca.de
- Telefon: 02261-8161691
- Wenn du die freie Version benutzt, kannst du einen Github issue öffnen.
Lizenz
Dieses Projekt steht unter der "GNU AGPLv3 Lizenz".
Du darfst den Code frei verwenden, verändern und weiterverbreiten, **sofern deine Software ebenfalls quelloffen und veröffentlicht wird** (AGPLv3-konform).
Kommerzielle / Closed-Source Nutzung
Die Verwendung in kommerziellen oder Closed-Source-Projekten ist nicht ohne eine kommerzielle Lizenz gestattet.
Bitte kontaktiere uns unter support@baebeca.de, um eine Lizenz zu 199,-/netto/einmalig zu erwerben. Siehe dazu alle Infos: Kommerzielle Lizenzbedingungen
Lexware Office API Account erstellen
Erstellen Sie in Ihrem Lexware Office Account einen API Key.
Einstellungen :: Erweiterungen :: Lexware Office Public API :: "Schlüssel neu erstellen"
Mehrwertsteuersenkung - Konjunkturpaket 01.07.2020 - 31.12.2020
- https://office.lexware.de/mehrwertsteuer-rest-api
- https://developers.lexware.io/docs/#faq-valid-tax-rates
One-Stop-Shop (OSS) ab 01.07.2021
- Für den Voucher-Import reicht es aus die Methode get_needed_voucher_booking_id() zu nutzen.
- https://help.lexware.de/de-form/articles/5207137-one-stop-shop-eu-regelung-belege-an-privatpersonen-im-eu-ausland
Rate-Limit
Lexware Office hat ein Rate-Limit von 2 Anfragen pro Sekunde. Siehe dazu: https://developers.lexware.io/docs/#api-rate-limits
Dieses Rate-Limit wird automatisch erkannt und der Request wird nach einem Sleep von "Sekunden * Anzahl Versuche" erneut abgesetzt.
Mithilfe von $lexware->configure_rate_limit(bool $repeat = true, int $seconds_to_sleep = 1, int $max_tries = 10): void kann man das Verhalten parametrisieren.
Zusätzlich besteht die Möglichkeit via configure_rate_limit_callable(callable $callback = null) : void eine Callbackfunktion mitzugeben, die jedes Mal getriggert wird, wenn ein Rate-Limit getroffen wurde. Es wird dann ein bool Parameter mitgegeben ob der Aufruf noch einmal versucht wird.
Klasse einbinden
<?php
require __DIR__.'/vendor/autoload.php';
use \Baebeca\LexwareApi;
use \Baebeca\LexwareException;
$lexware = new LexwareApi([
'api_key' => 'my-api-key'
]);
Start Parameter
- api_key [string]
- API Schlüssel
- callback [string]
- Ihre Standard Callback URL für Webhooks von Lexware Office
- ssl_verify [bool] (default true)
- Soll die SSL verbindung zu Lexware Office validiert werden
Error handling
<?php
// catch errors
try {
$invoices = $lexware->get_last_invoices(-5);
}
catch (LexwareException $e) {
var_dump($e->getMessage());
print_r($e->getError());
}
Methoden
Account
Account abfragen
$lexware->get_profile() : object
Beispiel Rückgabe:
{
"organizationId": "42b1fbdd-c4e0-4bb4-8c20-1d3d0b9432e8",
"companyName": "Testfirma GmbH",
"created": {
"userName": "Frau Erika Musterfrau",
"userEmail": "erika.musterfrau@testfirma.de",
"date": "2017-01-03T13:15:45+0100"
},
"connectionId": "3dea098a-fae5-4458-a85c-f97965966c25",
"features": [
"cashbox"
],
"subscriptionStatus": "active",
"taxType": "net",
"isSmallBusiness": false
}
Rechnungen
Rechnung abfragen
$lexware->get_invoice( string $uuid ) : object
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
Alle Rechnungen abfragen
$lexware->get_invoices_all() : object
Die letzten n Rechnungen abfragen
$lexware->get_last_invoices(int $count) : object
Rechnung PDF herunterladen
legacy function - will be removed in futere releases, use get_pdf($type, $uuid, $filename) instead
$lexware->get_invoice_pdf( string $uuid, string $filename) : bool
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
- filename
- Der lokale Dateiname an dem das PDF abgelegt werden soll. Sofern es sich um eine E-Rechnung handelt wird auch die XML Datei heruntergeladen und mit dem Zusatz ".xml" abgelegt.
Rechnung anlegen
$lexware->create_invoice( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object
- data
- Ein Array der Rechnungsdaten nach der nötigen Lexware Office Formatierung
- Beispiel
array(
'voucherDate' => date(DATE_RFC3339_EXTENDED),
'introduction' => 'Einleitungstext',
'remark' => "Fußzeile\r\nMehrzeilig",
'address' => array(
#'contactId' => '<id>',
'name' => 'Frau Jane Doe',
'street' => 'Str. 1',
'zip' => '12345',
'city' => 'Stadt',
'countryCode' => 'DE',
),
'lineItems' => array(
array(
'type' => 'custom',
'name' => 'Produktname',
'description' => 'Beschreibung',
'quantity' => 1,
'unitName' => 'Stück',
'unitPrice' => array(
'currency' => 'EUR',
'netAmount' => 10.99,
'taxRatePercentage' => 19,
),
#'discountPercentage' => 0,
),
),
'totalPrice' => array(
'currency' => 'EUR',
#'totalDiscountAbsolute' => 0,
#'totalDiscountPercentage' => 0,
),
'taxConditions' => array(
'taxType' => 'net',
),
'shippingConditions' => array(
'shippingDate' => date('Y-m-d').'T00:00:01.000+02:00',
'shippingType' => 'delivery',
),
'paymentConditions' => array(
'paymentTermLabel' => 'Vorkasse',
'paymentTermDuration' => 1,
),
)
- finalized
- Entscheidet ob die Rechnungfertiggestellt werden soll.
- precedingSalesVoucherId
- Eine Lexware Office UUID eines Belegs für den eine Rechnung erstellt wird.
Serienrechnungen
Serienrechnung abfragen
$lexware->get_recurring_template( string $uuid ) : object
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
Alle Serienrechnungen abfragen
$lexware->get_recurring_templates_all() : object
Gutschriften
Gutschrift abfragen
$lexware->get_creditnote( string $uuid ) : object
- uuid
- Die eindeutige uuid der Gutschrift die abgefragt werden soll
Gutschrift anlegen
$lexware->create_creditnote( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object
- data
- Ein Array der Gutschriftsdaten nach der nötigen Lexware Office Formatierung
- Beispiel
array(
'voucherDate' => date(DATE_RFC3339_EXTENDED),
'introduction' => 'Rechnungskorrektur',
'remark' => "Fußzeile\r\nMehrzeilig",
'address' => array(
#'contactId' => '<id>',
'name' => 'Frau Jane Doe',
'street' => 'Str. 1',
'zip' => '12345',
'city' => 'Stadt',
'countryCode' => 'DE',
),
'lineItems' => array(
array(
'type' => 'custom',
'name' => 'Produktname',
'description' => 'Beschreibung',
'quantity' => 1,
'unitName' => 'Stück',
'unitPrice' => array(
'currency' => 'EUR',
'netAmount' => 10.99,
'taxRatePercentage' => 19,
),
#'discountPercentage' => 0,
),
),
'totalPrice' => array(
'currency' => 'EUR',
#'totalDiscountAbsolute' => 0,
#'totalDiscountPercentage' => 0,
),
'taxConditions' => array(
'taxType' => 'net',
)
)
- finalized
- Entscheidet ob die Gutschrift fertiggestellt werden soll.
- precedingSalesVoucherId
- Eine Lexware Office UUID einer offenen Rechnung für die eine Gutschrift erstellt wird.
Angebote
Angebot abfragen
$lexware->get_quotation( string $uuid ) : object
- uuid
- Die eindeutige uuid des Angebotes das abgefragt werden soll
Angebot anlegen
$lexware->create_quotation( array $data [, bool $finalized = false ] ) : object
- data
- Ein Array der Angebotsdaten nach der nötigen Lexware Office Formatierung
- Beispiel
array(
'voucherDate' => substr(date('c'), 0, 19).'.000'.substr(date('c'), 19),
'expirationDate' => substr(date('c'), 0, 19).'.000'.substr(date('c'), 19),
'introduction' => 'Einleitungstext',
'remark' => "Fußzeile\r\nMehrzeilig",
'address' => array(
#'contactId' => '<id>',
'name' => 'Frau Jane Doe',
'street' => 'Str. 1',
'zip' => '12345',
'city' => 'Stadt',
'countryCode' => 'DE',
),
'lineItems' => array(
array(
'type' => 'custom',
'name' => 'Produktname',
'description' => 'Beschreibung',
'quantity' => 1,
'unitName' => 'Stück',
'unitPrice' => array(
'currency' => 'EUR',
'netAmount' => 10.99,
'taxRatePercentage' => 19,
),
#'discountPercentage' => 0,
),
),
'totalPrice' => array(
'currency' => 'EUR',
#'totalDiscountAbsolute' => 0,
#'totalDiscountPercentage' => 0,
),
'taxConditions' => array(
'taxType' => 'net',
),
'shippingConditions' => [
'shippingDate' => date(DATE_RFC3339_EXTENDED),
'shippingType' => 'delivery',
],
'paymentConditions' => [
'paymentTermLabel' => 'Vorkasse',
'paymentTermDuration' => 1,
],
)
- finalized
- Entscheidet ob das ANgebot fertiggestellt werden soll.
Auftragsbestätigungen
Auftragsbestätigung abfragen
$lexware->get_orderconfirmation( string $uuid ) : object
- uuid
- Die eindeutige uuid der Auftragsbestätigung die abgefragt werden soll
Auftragsbestätigung anlegen
$lexware->create_orderconfirmation( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object
- data
- Ein Array der Auftragsbestätigungsdaten nach der nötigen Lexware Office Formatierung
- Beispiel
array(
'voucherDate' => date(DATE_RFC3339_EXTENDED),
'introduction' => 'Einleitungstext',
'remark' => "Fußzeile\r\nMehrzeilig",
'address' => array(
#'contactId' => '<id>',
'name' => 'Frau Jane Doe',
'street' => 'Str. 1',
'zip' => '12345',
'city' => 'Stadt',
'countryCode' => 'DE',
),
'lineItems' => array(
array(
'type' => 'custom',
'name' => 'Produktname',
'description' => 'Beschreibung',
'quantity' => 1,
'unitName' => 'Stück',
'unitPrice' => array(
'currency' => 'EUR',
'netAmount' => 10.99,
'taxRatePercentage' => 19,
),
#'discountPercentage' => 0,
),
),
'totalPrice' => array(
'currency' => 'EUR',
#'totalDiscountAbsolute' => 0,
#'totalDiscountPercentage' => 0,
),
'taxConditions' => array(
'taxType' => 'net',
),
'shippingConditions' => array(
'shippingDate' => date('Y-m-d').'T00:00:01.000+02:00',
'shippingType' => 'delivery',
),
'paymentConditions' => array(
'paymentTermLabel' => 'Vorkasse',
'paymentTermDuration' => 1,
),
)
- finalized
- Entscheidet ob die Auftragsbestätigung fertiggestellt werden soll.
- precedingSalesVoucherId
- Eine Lexware Office UUID eines Belegs für die eine Auftragsbestätigung erstellt wird.
Lieferschein
Lieferschein abfragen
$lexware->get_deliverynote( string $uuid ) : object
- uuid
- Die eindeutige uuid des Lieferscheins der abgefragt werden soll
Lieferschein anlegen
$lexware->create_delivery_note( array $data [, bool $finalized = false, string $precedingSalesVoucherId= '' ] ) : object
- data
- Ein Array der Lieferscheindaten nach der nötigen Lexware Office Formatierung
- Beispiel
array(
'voucherDate' => date(DATE_RFC3339_EXTENDED),
'introduction' => 'Einleitungstext',
'remark' => "Fußzeile\r\nMehrzeilig",
'address' => array(
#'contactId' => '<id>',
'name' => 'Frau Jane Doe',
'street' => 'Str. 1',
'zip' => '12345',
'city' => 'Stadt',
'countryCode' => 'DE',
),
'lineItems' => array(
array(
'type' => 'custom',
'name' => 'Produktname',
'description' => 'Beschreibung',
'quantity' => 1,
'unitName' => 'Stück',
'unitPrice' => array(
'currency' => 'EUR',
'netAmount' => 10.99,
'taxRatePercentage' => 19,
),
#'discountPercentage' => 0,
),
),
'totalPrice' => array(
'currency' => 'EUR',
#'totalDiscountAbsolute' => 0,
#'totalDiscountPercentage' => 0,
),
'taxConditions' => array(
'taxType' => 'net',
),
'shippingConditions' => array(
'shippingDate' => date('Y-m-d').'T00:00:01.000+02:00',
'shippingType' => 'delivery',
),
'paymentConditions' => array(
'paymentTermLabel' => 'Vorkasse',
'paymentTermDuration' => 1,
),
)
- finalized
- Entscheidet ob der Lieferschein fertiggestellt werden soll.
- precedingSalesVoucherId
- Eine Lexware Office UUID eines Belegs für den der Lieferschein erstellt wird.
Mahnung
Mahnung abfragen
$lexware->get_dunning( string $uuid ) : object
- uuid
- Die eindeutige uuid der Mahnung welche abgefragt werden soll
Mahnung anlegen
$lexware->create_dunning( array $data, string $precedingSalesVoucherId ) : object
- data
- Ein Array der Mahndaten nach der nötigen Lexware Office Formatierung
- precedingSalesVoucherId
- Eine Lexware Office UUID einer offenen Rechnung für die eine Mahnung erstellt wird.
Belege
Beleg anlegen
$lexware->create_voucher( array $data ) : object
- Paramater
- data
- Ein Array der Belegdaten nach der nötigen Lexware Office Formatierung
Beleg abfragen
$lexware->get_voucher( string $uuid ) : object
- Paramater
- uuid
- Die eindeutige uuid des Beleges der abgefragt werden soll
Belege abfragen
$lexware->get_vouchers( string $type = 'invoice,creditnote,orderconfirmation', string $state = 'draft,open,paid,paidoff,voided,transferred', string $archived = 'both', string $date_from = '', string $date_to = '') : object
- type
- Einen oder mehrere Typen von Belegen (komma getrennt) die abgefragt werden sollen
- state
- Status der Belege die abgefragt werden sollen
- archived
- "both", "true" oder "false" als String ob archivierte/nicht archivierte Belege ausgegeben werden sollen
- date_from
- Datum (Format YYYY-MM-DD) ab wann einschließlich abgefragt werden soll
- date_to
- Datum (Format YYYY-MM-DD) bis wann einschließlich abgefragt werden soll
Belegbild hochladen (nicht zugeordnet)
$lexware->upload_file($file) : object
- Parameter
- file
- Der Pfad zur Datei die hochgeladen werden soll
- Rückgabe
- id
- Die eindeutige Datei-ID von Lexware Office
- Beispiel Anfrage
$lexware->upload_file(__DIR__.'/invoice.pdf');
- Beispiel Rückgabe
stdClass Object (
[id] => 221fd5ed-5547-4bd3-b7c2-9796c1a0e4a6
)
Beleg hochladen (zugeordnet)
$lexware->upload_voucher($uuid, $file) : object
- Parameter
- uuid
- Die ID des Beleges dem der Upload zugeordnet werden soll
- file
- Der Pfad zur Datei die hochgeladen werden soll
- Rückgabe
- id
- Die eindeutige Datei-ID von Lexware Office
Beleg Dateien herunterladen
$lexware->get_voucher_files(string $uuid, string $filename_prefix) : array
- Parameter
- uiui
- Die ID des Beleges dessen Dateien heruntergeladen werden sollen
- filename_prefix
- Der Dateipfad inkl. eines Dateiprefixes.
- Rückgabe
Ein Array der Dateinamen. Sofern es sich um eine E-Rechnung handelt wird sowohl die XML Datei als auch die von Lexware visualisierte PDF Rechnung heruntergeladen.
- Beispiel Anfrage
$lexware->get_voucher_files($uuid, '/files/IN_1234');
- Beispiel Rückgabe
array (
[0] => /files/IN_1234_1.jpg
[1] => /files/IN_1234_2.png
[2] => /files/IN_1234_3.pdf
)
Kontakte
Kontakt abfragen
$lexware->get_contact( string $uuid ) : object
- Paramater
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
Kontakt suchen
Bitte beachte das Lexware Office stets eine Suche nach "contains" macht. Eine Suche nach hans@hans.de liefert einen Treffer für den Kontakt hans@hans.de.google.com
$lexware->search_contact( array $filter, bool $respect_wildcards = false ) : object
- Paramater
- filter
- Array bestehend aus den möglichen Filtern. Mehere Filter werden mit einem UND verknüpft.
- email (mindestens 3 Zeichen)
- name (mindestens 3 Zeichen)
- number
- customer (true/false)
- vendor (true/false)
- Array bestehend aus den möglichen Filtern. Mehere Filter werden mit einem UND verknüpft.
- wildcards
- Bool | Wenn true werden die Zeichen "_" (ein Zeichen) und "%" (mehrere Zeichen) als Wildcards genutzt, andernfalls im Inhalt als Zeichen erwartet.
- Beispiel Anfrage
$lexware->search_contact(array(
'email' => '',
'name' => 'John Doe',
'number' => '',
'customer' => '',
'vendor' => '',
));
Alle Kontakte abfragen
$lexware->get_contacts_all() : object
Kontakt anlegen
$lexware->create_contact( array $data) : object
- Parameter
- data
- Ein Array der Kontaktdaten nach der nötigen Lexware Office Formatierung
- Beispiel Anfrage
$lexware->create_contact(array(
'version' => 0,
'roles' => array(
'customer' => array(
'number' => '',
),
),
'company' => array(
'name' => 'Baebeca Solutions GmbH',
'street' => 'Genklerhardt 6',
'zip' => '51647',
'city' => 'Gummersbach',
'countryCode' => 'DE',
'contactPersons' => array(
array(
'salutation' => 'Herr',
'firstName' => 'Jon',
'lastName' => 'Doe',
'emailAddress' =>'support@baebeca.de',
'phoneNumber' => '022619202930',
)
),
),
'addresses' => array(
'billing' => array(
array(
'street' => 'Genklerhardt 6',
'zip' => '51647',
'city' => 'Gummersbach',
'countryCode' => 'DE',
),
),
'shipping' => array(
array(
'street' => 'Genklerhardt 6',
'zip' => '51647',
'city' => 'Gummersbach',
'countryCode' => 'DE',
),
),
),
'emailAddresses' => array(
'business' => array(
'support@baebeca.de'
),
),
'phoneNumbers' => array(
'business' => array(
'022619202930'
),
),
'note' => '',
));
Kontakt aktualisieren
$lexware->update_contact( string $uuid, array $data) : object
- Parameter
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
- data
- Ein Array der Kontaktdaten nach der nötigen Lexware Office Formatierung
Events / Webhooks
Event anlegen
$lexware->create_event( string $event [, bool $callback = false ] ) : array|bool
- event
- Mögliche sind alle von Lexware Office angebotenen Events.
- callback
- Die Callback URL für diesen Aufruf. Wenn keine angegeben wird, wird die Standard URL aus der initialisierung genutzt.
Aktives Event abfragen
$lexware->get_event( string $uuid ) : array
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
Alle aktiven Events abfragen
$lexware->get_events_all() : object
Event löschen
$lexware->delete_event( string $iiud ) : object
- uuid
- Die ID eines zuvor erstellten Events.
Steuern
Kleinunternehmer
$lexware->is_tax_free_company(): bool
EU - Innergemeinschaftlicher Raum
$lexware->is_european_member(string $country_code, int $date): bool
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
Buchungskategorie bestimmen
$lexware->get_needed_voucher_booking_id(float $taxrate, string $country_code, int $date, bool $euopean_vatid, bool $b2b_business, bool $physical_good = true): string
- $taxrate
- Steuersatz der verwendet werden soll (Wird auf Gültigkeit geprüft)
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
- $euopean_vatid
- Verfügt man über die Kunden UST-ID
- $b2b_business
- Handelt es sich um einen Endkunden oder Geschäftskunden
- $physical_good
Wird physikalische Ware oder digitale Dienstleistung verkauft
Abfrage der möglichen Steuersätze
$lexware->get_taxrates(string $country_code, int $date): array
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
Prüfung Steuersatz
$lexware->check_taxrate(float $taxrate, string $country_code, int $date): bool
- $taxrate
- Der zu prüfende Steuersatz
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
One-Stop-Shop (OSS) / Steuer Methoden
OSS Einstellungen prüfen
$lexware->is_oss_needed(string $country_code, int $date)
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
Prüfung OSS Voucher Kategorie
$lexware->get_oss_voucher_category(string $country_code, int $date, int $booking_category = 1, float $taxrate = 0): string
- $country_code
- 2-Stelliger Country Code des Rechnungslandes
- $date
- Timestamp Rechnungsdatum
- $booking_category
- Angabe welche Buchungskategorie genutzt werden soll
- 1 => Fernverkauf
- 2 => Elektronische Dienstleistung
- $taxrate
- Genutzter Steuersatz in Buchung
Sonstiges
PDFs herunterladen
$lexware->get_pdf(string $type, string $uuid, string $filename): bool
- type
- Die Art des Beleges. Möglich Varianten sind: "invoices", "credit-notes"
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
- filename
- Der lokale Dateiname an dem das PDF abgelegt werden soll
Voucher Kategorien
Bei zu erstellenden Vouchers, muss ein Buchungskonto angegeben werden.
- incoming
- Ausgangsbelege (eingehender Geldfluß)
- outgoing
- Eingangsbelege (ausgehender Geldfluß)
private $booking_categories = [
'incoming' => [
// Anlagevermögen
'c5430e38-6daa-46e7-99d5-a65fd737338f' => 'Software (135)',
'b32709ec-08c2-4d3f-8c29-4f8da6e03541' => 'Technische Anlagen und Maschinen (400)',
'4f01e761-d912-441f-ad1a-1c1d2d590a81' => 'KFZ (520)',
'13efe6dc-c3a3-4d6b-a793-81a1c0d78ece' => 'LKW (540)',
'21027249-d7c3-455f-9b27-88cfe23cb14f' => 'Sonstige Transportmittel (560)',
'78361a84-43e6-4643-84ce-7c4925e30a7f' => 'Werkzeuge (620)',
'd8f6b5c4-62c4-4ed8-8deb-27eb284de06d' => 'Betriebs-und Geschäftsausstattung (690)',
'f87b5aa8-aa1f-49bb-b5af-7fc6d52c0941' => 'Ladeneinrichtung (640)',
'fe4ed5d8-8e69-4d10-923e-525948ea34df' => 'Büroeinrichtung (650)',
'ec2ec6e5-217f-4e59-a3bc-ebd5562c3f50' => 'Geringwertige Wirtschaftsgüter (670)',
// Darlehen
'4ae5384e-438e-4466-9c9f-338096abac58' => 'Darlehen (3150)',
'b9439764-a201-4a5c-84f4-2ae20c8bd40d' => 'Aufnahme (3150)',
'89c3d29c-5896-4747-8cbb-9e44cb269946' => 'Aufnahme Gesellschafter (3510)',
// Einnahmen
'8f8664a1-fd86-11e1-a21f-0800200c9a66' => 'Einnahmen (4300, 4400, 4200)',
'8f8664a0-fd86-11e1-a21f-0800200c9a66' => 'Dienstleistung (4300, 4400, 4200)',
'8f8664a4-fd86-11e1-a21f-0800200c9a66' => 'Honorar/Gage (4300, 4400, 4200)',
'8f8664a5-fd86-11e1-a21f-0800200c9a66' => 'Geräteverleih (4300, 4400, 4200)',
'8f8664a6-fd86-11e1-a21f-0800200c9a66' => 'Prämien (4300, 4400, 4200)',
'8f8664a7-fd86-11e1-a21f-0800200c9a66' => 'Provisionsumsätze (4569, 4560, 4576, 4566)',
'8f8664a8-fd86-11e1-a21f-0800200c9a66' => 'Warenverkäufe (4300, 4400, 4200)',
'8f8664a9-fd86-11e1-a21f-0800200c9a66' => 'Wartung (4300, 4400, 4200)',
'8f8664a3-fd86-11e1-a21f-0800200c9a66' => 'Erlösminderungen (4710, 4720, 4700)',
'e188b015-58e0-4182-8419-96ba15cbb166' => 'Photovoltaikanlagen (4290)',
'be32ceb3-684a-485e-b628-4bcc748bac4b' => 'Bauleistungen §13b (4337)',
'380a20cb-d04c-426e-b49c-84c22adfa362' => 'Fremdleistungen §13b (4336)',
'f5c7fee8-f184-4e7a-ab04-8f7e7ad6c207' => 'Einnahmen als Kleinunternehmer (4184)',
'7a1efa0e-6283-4cbf-9583-8e88d3ba5960' => 'Einnahmen als Kleinunternehmer (bis 2025) (4185)',
'9075a4e3-66de-4795-a016-3889feca0d20' => 'Innergemeinschaftliche Lieferung (4125)',
'ef5b1a6e-f690-4004-9a19-91276348894f' => 'Dienstleistungen an Drittländer (4338)',
'93d24c20-ea84-424e-a731-5e1b78d1e6a9' => 'Ausfuhrlieferungen an Drittländer (4120)',
'7c112b66-0565-479c-bc18-5845e080880a' => 'Fernverkauf (4315, 4310)',
'd73b880f-c24a-41ea-a862-18d90e1c3d82' => 'Elektronische Dienstleistungen (4449, 4450)',
'4ebd965a-7126-416c-9d8c-a5c9366ee473' => 'Fernverkauf in EU-Land steuerpflichtig (4320)',
'7ecea006-844c-4c98-a02d-aa3142640dd5' => 'Elektronische Dienstleistung in EU-Land steuerpflichtig (4331)',
// Kapital
'f06dd343-53ec-4e6a-8680-e812d526dae1' => 'Stammakapital (2900)',
// Privat
'5461e150-10d7-492f-968d-33413ff63a53' => 'Privat (2180)',
'cfddcc54-fd86-11e1-a21f-0800200c9a66' => 'Privateinlagen (2180)',
'a520b74b-7f64-4b98-a09b-373641d56ba0' => 'Verrechnungskonto Gesellschafter (3640)',
'bc25f5d5-c2c7-4394-b5ae-f422a779d68a' => 'Einlagen Kommanditisten (2580)',
'ef5afd88-4a48-4582-8934-9b60fd9ad9d5' => 'Einkommensteuer (2150)',
'6d0a1338-803c-4188-86a1-ba0b2f88e2f3' => 'Versicherungen (privat) (2200)',
'55e8b902-671e-49a4-b4bf-7e3b6f9ad305' => 'Spenden (2250)',
'db6c9e4f-bf42-424d-ab36-a1c0977c8375' => 'Krankheitskosten (2280)',
// Sonstige Einnahmen
'cfddcc50-fd86-11e1-a21f-0800200c9a66' => 'Sonstige Einnahmen (4836, 4830, 4835)',
'cfddcc52-fd86-11e1-a21f-0800200c9a66' => 'Miete/Pacht (4836, 4200)',
'94c21e70-fdd4-43a6-a199-c233a2b15e33' => 'Kautionen (erhalten) (3550)',
'22d1f5fe-2112-4824-9eb4-22502ce64cf5' => 'Versicherungsentschädigungen (4970)',
'3e031e7a-3bbb-4636-b09d-48b798434551' => 'Investitionszuschüsse (steuerpflichtig) (4975)',
'a848c7de-d80e-453e-b2bc-0f0b0aa70462' => 'Investitionszulagen (steuerfrei) (4980)',
'4cef8d07-b757-43eb-8dd8-da0c947800ff' => 'Mahngebühren (4839)',
'5f1c4290-ad14-4487-b6f9-cbb2aff5efe2' => 'Zinserträge (7100)',
'aba9020f-d0a6-47ca-ace6-03d6ed492351' => 'Rundungsdifferenzen (4840)',
'c9eebb77-3f62-4ffa-99af-887c345a4a02' => 'Währungsumrechnung (4840)',
'b01910ba-bcdd-4465-865e-3ffe0159f193' => 'Erstattungen Aufwendungsausgleichsgesetz (4972)',
'27758e6b-220a-4ad4-98a0-96e1f17e2783' => 'Forderungen gegenüber Krankenkassen aus Aufwendungsausgleichsgesetz (1369)',
// Umsatzsteuer
'af1a07f3-8ce4-47dc-8c82-263960c2442d' => 'Umsatzsteuer-Vorauszahlungen (3820)',
'd9bc790d-1a26-40a6-8b32-e5ef7c8b4d52' => 'Umsatzsteuer-Forderungen (1420)',
'487ce31c-4db6-40d2-b192-3485b5ae5c6e' => 'Umsatzsteuer-Vorjahr (3841)',
'307311b5-9139-4a46-9085-6dfed710458d' => 'Umsatzsteuererstattung aus EU-Ländern (3799)',
// Zu prüfen
'32b4c1d5-050f-4b80-9377-a8e98384ebee' => 'Zu prüfen (1370)',
'eeaffbf8-d006-4c8c-b035-992817499eb4' => 'Durchlaufende Posten (1370)',
'6656bbd4-f278-4a3d-8e22-c8543abfe906' => 'Geldtransit (1460)',
],
'outgoing' => [
// Anlagevermögen
'aa2d19a0-43e7-4330-a579-75c962254546' => 'Software (135)',
'e82f21da-c21b-44a0-8abb-cd805b62b231' => 'Technische Anlagen und Maschinen (400)',
'1b029e34-70ad-4869-95da-bc9454c8650c' => 'KFZ (520)',
'4334a658-f103-4791-810e-ffa997218766' => 'Lastkraftwagen (540)',
'281cd301-6e13-4d27-81c2-30f896e5bf1d' => 'Sonstige Transportmittel (560)',
'121188e5-61ec-4734-bcc2-282e4340bb33' => 'Werkzeuge (620)',
'60a5a91b-6b4a-485e-b610-232b423a161d' => 'Betriebs-und Geschäftsausstattung (690)',
'571e17ef-962d-4ec1-aedf-b166d876ebe1' => 'Ladeneinrichtung (640)',
'd0d633ec-dda7-4aa3-867c-96e7a0d97477' => 'Büroeinrichtung (650)',
'1b2d76c2-23a2-48c6-a717-7f9fecf99556' => 'Geringwertige Wirtschaftsgüter (670)',
// Beratung
'efa85651-fd85-11e1-a21f-0800200c9a66' => 'Beratung (6825)',
'c5aa9395-d856-47d9-b346-27465116e584' => 'Beratung §13b (6825)',
'576c695a-0572-41a0-980e-20ee5279ce65' => 'Beratung §13b Drittland (6825)',
'f48154a0-fd90-11e1-a21f-0800200c9a66' => 'Rechtsanwalt (6825)',
'f48154a1-fd90-11e1-a21f-0800200c9a66' => 'Steuerberater (6825)',
'2bdc3fd5-3ef3-4732-b315-4fa2c1061994' => 'Buchführungskosten (6830)',
'90999976-9851-491a-9b68-12f4078c219c' => 'Abschluss- und Prüfungskosten (6827)',
// Beschränkt abziehbare Betriebsausgaben
'efa82f4a-fd85-11e1-a21f-0800200c9a66' => 'Bewirtungskosten nur Mitarbeiter (6640)',
'934adb21-fd90-11e1-a21f-0800200c9a66' => 'Bewirtungskosten mit Geschäftspartnern (6640)',
'be378725-ff9e-4180-b72a-2effe6493bba' => 'Bewirtungskosten (nicht abziehbar) (6644)',
'09b906eb-8e05-4ee7-88a5-8e49e6c4db72' => 'Geschenke (6610)',
// Darlehen
'efa85654-fd85-11e1-a21f-0800200c9a66' => 'Darlehen (3150)',
'5921d421-fd91-11e1-a21f-0800200c9a66' => 'Tilgung (3150)',
'eb85ea64-2097-4234-a8e3-5f28cb49f0a2' => 'Tilgung Gesellschafter (3150)',
// Fahrzeug
'efa82f47-fd85-11e1-a21f-0800200c9a66' => 'Fahrzeugkosten (6500)',
'9eaf6ff0-fd89-11e1-a21f-0800200c9a66' => 'Kraftstoff/Ladestrom (6530)',
'9eaf6ff7-fd89-11e1-a21f-0800200c9a66' => 'Fahrzeugpflege (6530)',
'9eaf6ff1-fd89-11e1-a21f-0800200c9a66' => 'Inspektion/Reparatur (6540)',
'9eaf6ff3-fd89-11e1-a21f-0800200c9a66' => 'Fahrzeugversicherungen (6520)',
'9eaf6ff4-fd89-11e1-a21f-0800200c9a66' => 'Fremdfahrzeuge (6595)',
'9eaf6ff5-fd89-11e1-a21f-0800200c9a66' => 'Stellplatz/Garagenmiete (6550)',
'1e541b97-42de-4eb2-abe7-0e208cf46f38' => 'Mietleasing KFZ (6560)',
'3199b01b-3a1f-3670-9e54-f2c106441a6e' => 'Mietleasing E-Fahrzeug/Fahrrad (6565)',
'9eaf6ff8-fd89-11e1-a21f-0800200c9a66' => 'Sonstige KFZ-Kosten (6570)',
'79e1efd6-7103-46cf-99c2-0717cc60350b' => 'Mautgebühren (6580)',
'5597e22b-7ce8-4686-b15d-c2a6caa12d3b' => 'Kosten betriebl. Nutzung Fahrzeuge im Privatvermögen (6590)',
// Fortbildung
'5bc9acec-85af-48dd-a4c3-9ccc4ea6ac80' => 'Fortbildung (6821)',
'09e90a1b-1aad-43b8-9803-b6fadffaf193' => 'Fortbildung §13b (6821)',
'90fcbad4-d062-4877-8ca2-9b3176782f45' => 'Fortbildung §13b Drittland (6821)',
'16d04a27-fd91-11e1-a21f-0800200c9a66' => 'Seminar/Weiterbildung (6821)',
// Fremdleistungen
'efa82f43-fd85-11e1-a21f-0800200c9a66' => 'Fremdleistungen (5900)',
'205cae73-fd88-11e1-a21f-0800200c9a66' => 'Dienstleister (5900)',
'205cae70-fd88-11e1-a21f-0800200c9a66' => 'Agenturen (5900)',
'205cae71-fd88-11e1-a21f-0800200c9a66' => 'Freelancer/Freie Mitarbeiter (5900)',
'205cae72-fd88-11e1-a21f-0800200c9a66' => 'Subunternehmer (5900)',
'3ce7ec19-4828-4469-ac31-754a495cdbf1' => 'Bauleistungen §13b (5920)',
'113476af-ac83-4bf2-941d-0daa37022945' => 'Fremdleistungen §13b (5923)',
'6d49f842-54d9-4ebb-9c24-a25daac76203' => 'Fremdleistungen §13b Drittland (5925)',
// Gezahlte Vorsteuer
'3da06950-a89f-4b3f-9932-0e627cdf6a34' => 'Gezahlte Vorsteuer (1400)',
'f1c2c983-db43-4d91-b0b1-c9d8aa89adef' => 'Einfuhrumsatzsteuer (1433)',
// Material/Waren
'efa82f42-fd85-11e1-a21f-0800200c9a66' => 'Material/Waren (5200)',
'97704fd4-0e83-4c5b-a09c-1b4289644d10' => 'Materialeinkauf (5100)',
'97938aa5-c5a7-4d31-bdac-a19209ba432e' => 'Wareneinkauf (5200)',
'dba64b05-85f7-4359-8e83-a2556a62eeac' => 'Innergemeinschaftlicher Erwerb (5425, 5420)',
'3085632b-dd6b-4380-9425-e5821c1c9031' => 'Bezugsnebenkosten (5800)',
'e9905c70-fd87-11e1-a21f-0800200c9a66' => 'Aufwandsminderungen (5700)',
// Personal
'efa82f44-fd85-11e1-a21f-0800200c9a66' => 'Personal (6000)',
'5bcf2ff2-fd88-11e1-a21f-0800200c9a66' => 'Löhne (6010)',
'5bcf2ff4-fd88-11e1-a21f-0800200c9a66' => 'Prämie/Provision (6000)',
'278d79f0-2d9a-4326-9ff7-28b666ae49ca' => 'Gehälter (6020)',
'689092e1-cb82-4d93-8659-e9068cf97b78' => 'Geschäftsführergehälter (6027)',
'a8f23059-48c2-4dc9-aeae-d5fb8438c476' => 'Geschäftsführergehälter GmbH-Gesellschafter (6024)',
'5bcf2ff1-fd88-11e1-a21f-0800200c9a66' => 'Sozialabgaben (6110)',
'ec6225a9-e6d5-40bd-89fb-0d944ea4cc98' => 'Soziale Abgaben für Minijobber (6171)',
'ae6837dc-fc52-41b6-9539-4912df4999f8' => 'Freiwillige steuerfreie soziale Aufwendungen (6130)',
'93793549-d846-4c55-86b8-98902a2c47f3' => 'Berufsgenossenschaft (6120)',
'94c7de01-6898-4e2b-803a-50e442149692' => 'Vermögenswirksame Leistungen (6080)',
'5bcf2ff0-fd88-11e1-a21f-0800200c9a66' => 'Aushilfslöhne (6030)',
'3cea5628-7946-47e0-a3ad-d712c4440c77' => 'Löhne für Minijobs (6035)',
'5bcf2ff3-fd88-11e1-a21f-0800200c9a66' => 'Pauschale Steuer für Aushilfen (6040)',
'48806a21-87a2-4e4c-8ced-1857100091d4' => 'Pauschale Steuern für Minijobber (6036)',
'8afe1a96-bb88-4740-922f-ac36dc897144' => 'Pauschale Steuer auf sonstige Bezüge (6069)',
'7a7300b0-e588-4732-a88b-a09537bf49f4' => 'Pauschale Steuern für Gesellschafter-Geschäftsführer (6037)',
// Privat
'efa85653-fd85-11e1-a21f-0800200c9a66' => 'Privat (2100)',
'16d04a25-fd91-11e1-a21f-0800200c9a66' => 'Privatentnahmen (2100)',
'8ee022a6-6722-4d61-924c-7e50603ffd79' => 'Verrechnungskonto Gesellschafter (1307)',
'35bfb902-6845-45aa-8f90-747226f1e632' => 'Entnahmen Kommanditisten (2500)',
'222b6f70-fd92-11e1-a21f-0800200c9a66' => 'Einkommensteuer (2150)',
'328a41b4-58d7-4595-8840-1b96ad398f15' => 'Versicherungen (privat) (2200)',
'72b9ed0d-95fa-4be7-8035-1f96d28b9725' => 'Spenden (2250)',
'800030a3-b5e8-43ef-b1a1-62046d65f1a3' => 'Krankheitskosten (2280)',
// Raumkosten
'2f47898b-ad5c-460b-93f2-8966c49cf6e3' => 'Raumkosten (6310)',
'ccbd1972-fd88-11e1-a21f-0800200c9a66' => 'Miete/Pacht (6310)',
'58b6ca5f-7d9f-4d5b-805c-6b9ec9ef4347' => 'Kautionen (geleistet) (1350)',
'ccbd1970-fd88-11e1-a21f-0800200c9a66' => 'Heizung (6320)',
'ccbd1973-fd88-11e1-a21f-0800200c9a66' => 'Strom, Wasser, Gas (6325)',
'd5249d11-fd90-11e1-a21f-0800200c9a66' => 'Renovierung/Instandhaltung (6335)',
'ccbd1974-fd88-11e1-a21f-0800200c9a66' => 'Müllgebühren (6859)',
'c3197c22-d101-11ec-9d64-0242ac120002' => 'Sonstige Raumkosten (6345)',
// Reisen
'efa82f49-fd85-11e1-a21f-0800200c9a66' => 'Reisen (6670)',
'f9f05691-fd89-11e1-a21f-0800200c9a66' => 'Fahrtkosten (6673)',
'f9f05692-fd89-11e1-a21f-0800200c9a66' => 'Öffentliche Verkehrsmittel (6673)',
'f9f05693-fd89-11e1-a21f-0800200c9a66' => 'Taxi (6673)',
'f9f05690-fd89-11e1-a21f-0800200c9a66' => 'Bahn-/Flugticket, Mietwagen (6673)',
'f9f05694-fd89-11e1-a21f-0800200c9a66' => 'Übernachtungskosten (6680)',
'4c4f9907-0379-408a-989b-22850d2fbcdc' => 'Frühstück (6680)',
'9fb5e4b0-94ae-47f3-804f-5ed00e4aceb6' => 'Verpflegungsmehraufwendungen (6674)',
'cf03a2b0-f838-474f-ac5e-67adb9b830c7' => 'Reise MA (6650)',
'3620798f-ae06-4492-b775-1c87eb99247c' => 'Fahrtkosten MA (6663)',
'8c69c437-9841-4f7d-ae1c-2457cf6b0a57' => 'Kilometergelderstattung MA (6668)',
'b99b667f-bfee-41b9-8ec0-cee308bdacfd' => 'Übernachtung MA (6660)',
'353e8c93-5f69-4476-887f-d48734ee2cc7' => 'Verpflegungsmehraufw. MA (6664)',
// Reparaturen
'efa85650-fd85-11e1-a21f-0800200c9a66' => 'Reparaturen (6335)',
'd5249d12-fd90-11e1-a21f-0800200c9a66' => 'Wartung (6335)',
'50ca159d-1155-4d9a-8f79-b013943c774e' => 'Anlagen und Maschinen (6460)',
'd854ed5f-969a-4b5f-b13a-9679648aa988' => 'Sonstige Reparaturen (6470)',
// Sonstige Ausgaben
'16d04a28-fd91-11e1-a21f-0800200c9a66' => 'Sonstige Ausgaben (6300)',
'f13b89bc-d104-11ec-9d64-0242ac120002' => 'Sonstige Abgaben (6430)',
'16d04a21-fd91-11e1-a21f-0800200c9a66' => 'Bürobedarf (6815)',
'16d04a24-fd91-11e1-a21f-0800200c9a66' => 'Porto (6800)',
'd5249d10-fd90-11e1-a21f-0800200c9a66' => 'Werkzeuge und Kleingeräte (6845)',
'16d04a29-fd91-11e1-a21f-0800200c9a66' => 'Zeitschriften/Bücher (6820)',
'934adb20-fd90-11e1-a21f-0800200c9a66' => 'Betriebliche Besprechungen (6643)',
'16d04a26-fd91-11e1-a21f-0800200c9a66' => 'Reinigung/Reinigungsmittel (6330)',
'ea834b8c-d104-11ec-9d64-0242ac120002' => 'Grundstücksaufwendungen (betrieblich) (6350)',
'16d04a20-fd91-11e1-a21f-0800200c9a66' => 'Anschaffungen (6850)',
'fb198cf9-79f2-407c-baeb-9d8aa9b98fd0' => 'Kosten der Warenabgabe (6700)',
'26e4fa58-db12-443f-9e70-9a8081730c1c' => 'Verpackungsmaterial (6710)',
'b49aae5f-4121-4262-b8bd-f49278b66423' => 'Lizenzen und Konzessionen (6837)',
'587c625c-2a8b-4a0e-88a7-5e058af9f7e9' => 'Lizenzen und Konzessionen §13b (6837)',
'6d575db0-74e8-433d-a986-27b76ea27f9e' => 'Lizenzen und Konzessionen §13b Drittland (6837)',
'9d92c0dc-8cea-4791-ab3b-90f913101d32' => 'Wartungskosten für Hard- und Software (6495)',
'ccbd1971-fd88-11e1-a21f-0800200c9a66' => 'Leasing für Geräte (6840)',
'6a90d581-46ba-4b59-ba8f-e568a552e0c0' => 'Aufmerksamkeiten (6643)',
'0af461af-02f2-7a3c-4274-dc8c9ba8f013' => 'Sachzuwendungen (6822)',
'61b6c617-d5b6-44ee-b43a-ac97b71f1bd8' => 'Rundungsdifferenzen (6880)',
'207833b2-59fb-4185-b7b3-52ab9b944d59' => 'Währungsumrechnung (6880)',
// Steuern
'9eaf6ff2-fd89-11e1-a21f-0800200c9a66' => 'KFZ-Steuer (7685)',
'222b6f71-fd92-11e1-a21f-0800200c9a66' => 'Gewerbesteuer (7610)',
'75c4dd86-9977-4624-bac8-620e7aa08dd2' => 'Körperschaftsteuer (7600)',
'fcac6066-8597-4086-8544-b95c444738a2' => 'Solidaritätszuschlag (7608)',
// Telefon/Internet
'efa82f4b-fd85-11e1-a21f-0800200c9a66' => 'Telefon/Internet (6805)',
'b3a1f840-fd90-11e1-a21f-0800200c9a66' => 'Festnetz (6805)',
'b3a1f842-fd90-11e1-a21f-0800200c9a66' => 'Mobil (6805)',
'b3a1f841-fd90-11e1-a21f-0800200c9a66' => 'Internet (6810)',
// Umsatzsteuer-Vorauszahlungen
'222b6f72-fd92-11e1-a21f-0800200c9a66' => 'Umsatzsteuer-Vorauszahlungen (3820)',
'e68b1ec8-3a46-4100-890b-01bc86cf8ada' => 'Sondervorauszahlung 1/11 (3830)',
'ebbdd0f4-3bd4-4d2e-847f-8b68314f7ef6' => 'Umsatzsteuer-Vorjahr (3841)',
'd6472ace-832b-4c74-b136-5ceff39fdfa1' => 'Umsatzsteuerzahlung für EU-Länder (3799)',
// Versicherungen/Beiträge
'efa82f46-fd85-11e1-a21f-0800200c9a66' => 'Versicherungen (betrieblich) (6400)',
'f49d88d0-fd88-11e1-a21f-0800200c9a66' => 'Betriebshaftpflicht (6400)',
'5ce0f8a0-fd89-11e1-a21f-0800200c9a66' => 'Firmenversicherung (6400)',
'f49d88d2-fd88-11e1-a21f-0800200c9a66' => 'Rechtschutz (6400)',
'f49d88d3-fd88-11e1-a21f-0800200c9a66' => 'Transportversicherung (6760)',
'f49d88d1-fd88-11e1-a21f-0800200c9a66' => 'Beiträge (6420)',
// Werbung
'efa82f48-fd85-11e1-a21f-0800200c9a66' => 'Werbung (6600)',
'00d8f5f6-1d8a-40da-96ee-c53b25f37503' => 'Werbung §13b (6600)',
'db55a5ca-8b9e-4c84-9961-dd2110f3b2b6' => 'Werbung §13b Drittland (6600)',
'd22989b5-fd89-11e1-a21f-0800200c9a66' => 'Werbegeschenke/Sponsoring (6600)',
'f57c7c2a-d104-11ec-9d64-0242ac120002' => 'Streuartikel (6605)',
'd22989b0-fd89-11e1-a21f-0800200c9a66' => 'Anzeigen Print- und Online (6600)',
'd22989b1-fd89-11e1-a21f-0800200c9a66' => 'Dekoration (6600)',
'd22989b2-fd89-11e1-a21f-0800200c9a66' => 'Geschäftspapier/Visitenkarten (6600)',
'd22989b3-fd89-11e1-a21f-0800200c9a66' => 'Marketing (6600)',
'd22989b4-fd89-11e1-a21f-0800200c9a66' => 'Messekosten (6600)',
'01d94be1-ba15-4dd8-a8e2-e1d51eaab8f9' => 'Repräsentationskosten (6630)',
// Zinsen/Gebühren
'16d04a22-fd91-11e1-a21f-0800200c9a66' => 'Girokontozinsen (7310)',
'16d04a23-fd91-11e1-a21f-0800200c9a66' => 'Nebenkosten des Geldverkehrs (6855)',
'5921d420-fd91-11e1-a21f-0800200c9a66' => 'Darlehenszinsen (7320)',
// Zu prüfen
'8d2e71c6-09d5-439a-a295-a9e71661afcd' => 'Zu prüfen (1370)',
'62e21a0d-af46-4674-bfa0-60bc2607fa17' => 'Durchlaufende Posten (1370)',
'dd56efd2-6c62-40e4-9d9e-cba7b0045911' => 'Geldtransit (1460)',
// Zu zahlen
'ec472a04-9712-4ebb-9c8d-981941a456e5' => 'Zu zahlen (3720)',
'4708d50c-f3a9-4a27-98c4-d37502e3b45c' => 'Lohn-und Kirchensteuer (3730)',
'27c9577e-9472-47cd-818e-a0cbb042bf82' => 'Sozialversicherungsbeiträge (3740)',
'db9689f7-49d6-4f6f-9cc4-93804f7c674a' => 'Vermögensbildung (3770)',
'fa4aadaa-8f1f-4121-99b4-bac9ad7c9bc9' => 'Verrechnung Lohn/Gehalt (3790)',
'cd3ea3e5-b681-496b-9886-7f8a8ab0397a' => 'Nettogehälter (3720)',
'4abd3f74-6556-48df-9581-91c689b0572f' => 'Verbindlichkeiten für Einbehaltungen von Mitarbeitern (3725)',
]
];
One-Stop-Shop (OSS) Kategorien
- Deutsche Umsatzsteuer
Kategorie: Fernverkauf (Fernverkauf steht für Verkauf von Waren) categoryId: 7c112b66-0565-479c-bc18-5845e080880a Steuersätze: Es gelten die deutschen Steuersätze Kategorie: Elektronische Dienstleistungen (ehemals MOSS) categoryId: d73b880f-c24a-41ea-a862-18d90e1c3d82 Steuersätze: Es gelten die deutschen Steuersätze
- EU-Zielland-Steuer
Kategorie: Fernverkauf in EU-Land steuerpflichtig categoryId: 4ebd965a-7126-416c-9d8c-a5c9366ee473 Steuersätze: Es gelten Steuersätze des Ziellandes Kategorie: Elektronische Dienstleistung in EU-Land steuerpflichtig (ehemals MOSS) categoryId: efa82f40-fd85-11e1-a21f-0800200c9a66 Steuersätze: Es gelten Steuersätze des Ziellandes
Webhook Anfragen
Wir liefern eine callback.php mit, die als callback URL angegeben werden kann. Bei allen Aufrufen wird die X-Lxo-Signature überprüft und sichergestellt, dass der Aufruf wirklich von einem Lexware Office Server erstellt wurde.
Error Handling
Alle Methoden sollten stets in einem try/catch Block verwendet werden.
Unser Client bietet eine erweiterte Execption Klasse, die via "$e->getError()" sofern vorhanden weitere Details zur Anfrage und dem API Response zurück gibt.
Beispiel: Versuch eines PDF Downloads von einer nicht fertig gestellten Rechnung
try {
$lexware->get_invoice_pdf('7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9', 'test.pdf');
} catch (LexwareException $e) {
echo $e->getMessage();
// LexwareApi: error in api request - check details via $e->getError()
print_r($e->getError());
/*
Array (
[HTTP Status] => 500
[Requested URI] => https://api.lexware.io/v1/invoices/7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9/document
[Requested Payload] =>
[Response] => stdClass Object
(
[timestamp] => 2019-11-20T17:34:53.360+01:00
[status] => 500
[error] => Internal Server Error
[path] => /v1/invoices/7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9/document
[traceId] => f9f241666675
[message] => A technical error has occurred that is not specified in more detail.
)
)
*/
}
