abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

DATEVconnect Aktualisierung Kreditoren

7
letzte Antwort am 05.01.2024 13:50:17 von einmalnoch
Dieser Beitrag ist geschlossen
0 Personen hatten auch diese Frage
Tobi_C-house
Beginner
Offline Online
Nachricht 1 von 8
124 Mal angesehen

Hallo allerseits,

 

ich versuche über DATEVconnect Geschäftspartner bzw. Kreditoren zu aktualisieren. Mit einen PUT Request kann ich zwar Kreditoren anlegen, aber nicht aktualisieren. Meines Erachtens beschreibt die Schnittstellendokumentation das Thema nicht ausreichend bzw. stellt es nicht eindeutig dar, welche Parametrisierung konkret für welche der beiden Aktionen (Neuanlage/Aktualisierung) notwendig ist. Ich würde mich über einen Hinweis bzw. Anhaltspunkte oder tiefergehende Informationen freuen. Danke und beste Grüße

janm
Erfahrener
Offline Online
Nachricht 2 von 8
114 Mal angesehen

Normalerweise sollte "POST" zur Neuanlage verwendet werden und "PUT" zum Update.

 

Im Developer Portal finden sich doch relativ viele Beispiel Abfragen zu den entsprechenden Requests. Damit einmal getestet?

 

Welcher Fehler kommt denn zurück?

0 Kudos
Tobi_C-house
Beginner
Offline Online
Nachricht 3 von 8
108 Mal angesehen

Danke für die rasche Reaktion 👍

 

Bei POST kann ich aber die Kreditorennummer nicht selbst bestimmen, sondern die nächste freie Nummer wird genommen. Daher PUT für die Neuanlage.

 

Prinzipiell sind meine Fehler folgendermaßen:

 

Wenn ich die ID angebe des vorhandenen Kreditors, dann kommt:

 

{id":"REW92299","description":"Datenkonstellation inkonsistent (Unerlaubter Identitätswechsel): Die angegebene AdressatId=8577324b-95bd-47d7-9b67-a4cf4a5e7921 wurde bereits bei einem anderen Geschäftspartner verwendet!.......

 

Wenn ich die account_number angebe, egal ob mit oder ohne ID, dann kommt

[{"id":"REW11027","description":"Das Feld 'account_number' darf nicht angegeben werden. Es wird automatisch aus dem Pflichtfeld 'Id' übernommen......

 

Als Content-Type im Request gebe ich application/merge-patch+json als Parameter mit.

 

Und hier im Developer Portal wird konkret die Untscheidung zwischen Create und Update nicht beschrieben
https://developer.datev.de/datev/platform/de/product/34830/api/34827#/Accounting_173/operation/%2Fclients%2F{client-id}%2Ffiscal-years%2F{fiscal-year-id}%2Fcreditors/put

 

0 Kudos
timoschneider
Einsteiger
Offline Online
Nachricht 4 von 8
105 Mal angesehen

Hallo,

 

die Doku beschreibt das ganze sehr gut.

Post/PUT auf folgendne Endpunkt zum Anlegen:  api/accounting/v1/clients/{client-id}/fiscal-years/{fiscal-year-id}/creditors

und zum Updates auf folgenden Endpunkt: api/accounting/v1/clients/{client-id}/fiscal-years/{fiscal-year-id}/creditors/{creditor-id}

 

Das Ganze funktioniert 1a. 

0 Kudos
Tobi_C-house
Beginner
Offline Online
Nachricht 5 von 8
102 Mal angesehen

Danke für eure Mühen.

 

Wenn ich den Endpunkt 

api/accounting/v1/clients/{client-id}/fiscal-years/{fiscal-year-id}/creditors/{creditor-id}

anspreche, kommt 

{"error":"DCO10006","error_description":"Key missmatch","error_uri":"http://www.datev.de/hilfe/1046546","request_id":"2f88ce84-50e2-4620-87c8-49c5044aec3a","debugInfo":"clientRequestId: aa2eec6b-edf2-46fa-8b6e-a1d2e635e8e9"}

 

Wenn ich das DATEV Dokument mir dazu ansehe, steht, dass ich die ID im Body mitgeben muss bzw. diese nicht übereinstimmt.

 

Gebe ich die ID im Body mit (gleiche ID wie in der URI), dann bekomme ich wieder die Fehlermeldung 

{"error":"REW92299","error_description":"Datenkonstellation inkonsistent (Unerlaubter Identitätswechsel)

 

Irgendwie drehe ich mich im Kreis oder nutze die falschen IDs. Aber wenn ich die Kreditorenliste abrufe, sind die IDs eindeutig. Quasi Kontonummer plus 4x die Null dahinter

0 Kudos
einmalnoch
Experte
Offline Online
Nachricht 6 von 8
89 Mal angesehen

Eigentlich ist der Fehler doch eindeutig.

 

Es wird versucht einen Kreditor neu anzulegen, dazu wird die id "7xxx" neu vergeben. Im Datensatz ist aber eine addressee_id (UUID) angegeben, die bereits für einen anderen Kreditor "verbraucht" ist. Wäre die id "7xxx" passend zur addressee_id würde ein Update angenommen.

 

Mit anderen Worten: Die UUID für den adressee mus neu generiert werden.

„Einen guten Ruf erwirbt man sich nicht mit Dingen, die man erst machen will.“ - Henry Ford
Tobi_C-house
Beginner
Offline Online
Nachricht 7 von 8
85 Mal angesehen

Oh.... sensationell einmalnoch, das war der entscheidende Hinweis. Es hat geklappt.

 

Ja, hätte man wirklich selbst drauf kommen können, aber unglücklicherweise ist in der Fehlermeldung von einer AdressatID die Rede (gut, da hätte man noch schnell selbst drauf kommen können, dass die adressee_id gemeint ist) und letztendlich bleibe ich dann dabei: Es ist nicht gut dokumentiert... Für die Neuanlage über PUT alles gut, dass aber bei der Aktualisierung die adressee_id zusätzlich angegeben werden muss/soll, wäre in einem kurzen Absatz in der Doku meines Erachtens schon sinnvoll.

 

Euch allen vielen Dank! Beste Grüße und ein schönes Wochenende

 

einmalnoch
Experte
Offline Online
Nachricht 8 von 8
80 Mal angesehen

Das ist halt DATEV Sprech. Mal Englisch, mal Deutsch, mal krampfhaft eingedeutscht usw. Und eine vernünftige Dokumentation wird es bei DATEV nie geben, das ist Tradition.

„Einen guten Ruf erwirbt man sich nicht mit Dingen, die man erst machen will.“ - Henry Ford
7
letzte Antwort am 05.01.2024 13:50:17 von einmalnoch
Dieser Beitrag ist geschlossen
0 Personen hatten auch diese Frage