Trivial-rechnung anlegen, was mache ich falsch?

hallo zusammen, ich versuche mich gerade an einer selbstgestrickten integration für mein zeitmanagement (clockify-basiert), und ich wollte daher eine ganz ganz triviale rechnung anlegen. das klappt nicht, und ich weiß nicht mehr weiter hier. wäre also für hilfe dankbar! (IDs der *person felder geändert, die entsprachen vorher schon - soweit ich das verifizieren konnte - korrekten personen / sevusern).

{
    "invoice": {
        "mapAll": true,
        "objectName": "Invoice",
        "contact": {"id": 26262626, "objectName": "Contact"},
        "invoiceDate": "02.08.2021",
        "header": "headerino",
        "discount": 0,
        "deliveryDate": "02.09.2021",
        "status": 50,
        "smallSettlement": false,
        "contactPerson": {"id": 13371337, "objectName": "SevUser"},
        "taxRate": 0.19,
        "taxText": "yayay",
        "taxType": "default",
        "invoiceType": "RE",
        "currency": "EUR",
        "showNet": true
    },
    "invoicePosSave": [{
        "mapAll": true,
        "objectName": "InvoicePos",
        "taxRate": 0.19,
        "unity": {"id": 9, "objectName": "Unity"},
        "quantity": 5,
        "price": 100
    }],
    "invoicePosDelete": null,
    "discountSave": null,
    "discountDelete": null
}

Hallo als status, taxrate solltest du als string übergeben und der ist 19 nicht 0.19 ansonsten fällt mir nichts auf, was bekommst du denn als response

Hallo @Axel_Bock,

Mit deinem Body konnte ich erfolgreich eine Rechnung erstellen, könntest du bitte einmal deine response mitteilen?
Den Status und taxrate brauchst du nicht als String hinterlegen, jedoch solltest du den Status auf 100 (Entwurf) setzen und die taxrate bei invoice und invoicePosSave auf 19 statt 0.19 ändern.

Schöne Grüße
Laura

1 „Gefällt mir“

well … siehe bild - da steht „float“, nicht integer oder string, weswegen ich auf eine kommazahl geschlossen hatte (quelle). und von dem swagger-xml-beispiel will ich nicht anfangen, das ist komplett unbrauchbar.

oh, ja klar. vergessen :see_no_evil: . hier:

{
    "objects": null,
    "error": {
        "message": "Model_Factory not found",
        "code": null,
        "data": null,
        "exceptionUUID": "d8b8ba2a-ecc2-46bc-ad10-6e11c5799248"
    }
}

mit exakt diesem request hier.

Die Nutzung der API ist eher ein try and error Prinzip. Es finden sich verschiedene Manuals mit verschiedenen Anleitungen und Möglichkeiten… Eine Kombination funktioniert dann meist (mit etwas Glück…)

Und für manche Dinge muss man halt schauen wie sevDesk es im System selbst macht und daraus dann seine Rückschlüsse ziehen.

Aber lt. sevDesk nutzen nicht so viele Kunden die API (wieso bloß?!), weswegen es eben auch keine Priotität ist hier etwas zu ändern…

Hallo Axel,
vielen Danke für die response.

Es scheint als wäre dein Call nicht korrekt.
Wenn du deine Rechnung per Api erstellen möchtest, dann musst du den Call „https://my.sevdesk.de/api/v1/Invoice/Factory/saveInvoice“ mit der Request-Methode POST verwenden.

Schöne Grüße
Laura

kaum macht mans richtig … das /Invoice hat gefehlt, kann mir allerdings nicht erklären warum. jetzt hab ich eine rechnung :slight_smile:

oh ja.

die api wäre für mich allerdings ein killer-kriterium. ich schau mir das noch etwas gründlicher an denke ich. danke für den hinweis!!

Also Grundlegend funktioniert die API echt gut, nur die ganze Doku ist fürn ***. Am besten ist eigentlich wirklich Browser auf, Enwicklerconsole an und gucken was die WEBUI schickt. Und wenn irgendwas nicht Funktioniert, bekommt man eigentlich als Response den Fehler in Klartext zurück. Wenn man dann einmal hinter die logik von der API gestiegen ist, lässt sich damit auch gut arbeiten.

was noch zu erwähnen ist, Über die API lassen sich einfach auch Dinge schnell erledigen die über die WEBUI nicht gehen (z.b. Festgeschrieben Dokumente entsperren) oder einfach mal ewig dauern …

okay, die API ist also first class citizen, mit etwas seltsamer struktur (finde ich auch bisher) und verbesserungsfähiger doku. damit kann ich zumindest arbeiten :slight_smile: . danke für das feedback und den tip mit der dev konsole!

Die Schweiz hat z.B. Steuersätze von 7,7%, 2,5% und 3,7%. Float passt da schon.
Ich gebe dir aber recht dass man solche Feinheiten durchaus dokumentieren und mit ansatzweise brauchbaren Beispielen untermauern könnte.

kleines update - das mit dem rechnung anlegen ist doch nicht sooo einfach über die API. man kann geisterrechnungen erzeugen wie mir scheint :laughing: