[{"data":1,"prerenderedAt":1023},["ShallowReactive",2],{"seite-\u002Fratgeber\u002Fbexio-api-make-zapier\u002F":3},{"id":4,"title":5,"body":6,"description":1014,"extension":1015,"meta":1016,"navigation":1017,"path":1018,"robots":1019,"seo":1020,"stem":1021,"__hash__":1022},"seiten_de\u002Fratgeber\u002Fbexio-api-make-zapier.md","bexio API aus Make und Zapier: was die Module nicht können",{"type":7,"value":8,"toc":1001},"minimark",[9,14,26,31,36,51,55,82,102,306,317,321,340,357,398,413,417,426,449,453,462,480,497,501,510,560,652,656,665,699,703,712,719,755,765,769,778,801,805,953,971,975,978,991,997],[10,11,13],"h1",{"id":12},"bexio-api-aus-make-und-zapier-was-die-fertigen-module-nicht-können","bexio API aus Make und Zapier: was die fertigen Module nicht können",[15,16,17,18,25],"p",{},"Make und Zapier bieten bexio als fertige App an: ein paar Felder ausfüllen, und die Rechnung\nsteht in der Buchhaltung. In den Community-Foren beider Dienste stehen seit 2023 aber Fragen\nzu bexio, die ohne Lösung blieben, weil dem Modul ein Feld oder ein Endpunkt fehlt. Ich habe\ndiese Fäden durchgesehen und mit der ",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fdocs.bexio.com\u002F",[23],"nofollow","offiziellen bexio-API-Dokumentation","\nverglichen. Dieser Ratgeber zeigt je Fall, woran es im Forum scheiterte und welches Feld\nder bexio API den Fall löst. Er beschreibt die Module so, wie die Fragenden sie beschreiben;\neigene Erfahrung mit Make oder Zapier steckt nicht darin.",[27,28],"produkt-ablauf",{":schritte":29,"titel":30},"[{\"ort\":\"Shop, Formular, Zahlungsanbieter\",\"text\":\"Bestellung, Anfrage oder Zahlung\"},{\"ort\":\"Eigener Dienst\",\"text\":\"Alle Felder der API, Fehler werden wiederholt\",\"eigen\":true},{\"ort\":\"api.bexio.com\",\"text\":\"Rechnung mit Positionen, Offerte, Zeiteintrag, PDF\"}]","Ablauf: Shop, Formular oder Zahlungsanbieter liefern die Daten, ein eigener Dienst spricht die bexio API mit allen Feldern an, api.bexio.com legt Rechnung, Offerte oder Zeiteintrag an",[32,33,35],"h2",{"id":34},"woher-die-acht-fälle-stammen","Woher die acht Fälle stammen",[15,37,38,39,44,45,50],{},"Die Fälle kommen aus den öffentlichen Foren ",[19,40,43],{"href":41,"rel":42},"https:\u002F\u002Fcommunity.make.com\u002F",[23],"community.make.com","\nund ",[19,46,49],{"href":47,"rel":48},"https:\u002F\u002Fcommunity.zapier.com\u002F",[23],"community.zapier.com",", Fragen von 2023 bis 2025. Jeder\nFall ist unten verlinkt. «Ohne Lösung» heisst: Im Faden steht keine Antwort, die der Fragende\nbestätigt hat, oder die Antwort verweist an den Support. Mehrere Fragende melden dasselbe\nMuster, teils mit Monaten Abstand. Die Lösung über die API ist jeweils an der Dokumentation\nbelegt; die Pfade stehen so in der Referenz.",[32,52,54],{"id":53},"fall-1-mehrere-positionen-in-einer-rechnung","Fall 1: Mehrere Positionen in einer Rechnung",[15,56,57,58,63,64,69,70,75,76,81],{},"Das häufigste Problem. Ein Fragender will in Make ",[19,59,62],{"href":60,"rel":61},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fcreate-multiple-positions-for-invoice-in-bexio\u002F83340",[23],"mehrere Positionen in eine\nbexio-Rechnung","\nschreiben; das Modul lehnt die Liste ab, und «Update Invoice» bietet gar keine Position an. In\nZapier scheitert dasselbe bei einer\n",[19,65,68],{"href":66,"rel":67},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=32203&fid=99",[23],"Shopify-Bestellung mit mehreren Produkten",",\nbei einer ",[19,71,74],{"href":72,"rel":73},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=26149&fid=3",[23],"WooCommerce-Bestellung","\nüber einen Umweg mit Schleife und Zwischenspeicher, und bei einer\n",[19,77,80],{"href":78,"rel":79},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=50864&fid=99",[23],"Payrexx-Zahlung"," mit der Meldung,\ndass die Liste der Beträge nicht gleich lang sei wie die Liste der Artikel; am Ende steht\nein Entwurf ohne Positionen mit Summe 0.",[15,83,84,85,89,90,93,94,97,98,101],{},"In der API ist das kein Sonderfall. ",[86,87,88],"code",{},"POST \u002F2.0\u002Fkb_invoice"," nimmt ein Array ",[86,91,92],{},"positions","\nentgegen, und die Dokumentation sagt ausdrücklich, dass sich Positionstypen mischen lassen:\n",[86,95,96],{},"KbPositionCustom"," für freie Zeilen, ",[86,99,100],{},"KbPositionArticle"," für Artikel aus dem Stamm, dazu\nText-, Zwischensummen-, Rabatt- und Seitenumbruch-Positionen. Eine Rechnung mit zwei Zeilen\nsieht so aus:",[103,104,109],"pre",{"className":105,"code":106,"language":107,"meta":108,"style":108},"language-json shiki shiki-themes github-light github-dark","{\n  \"contact_id\": 14,\n  \"user_id\": 1,\n  \"mwst_type\": 0,\n  \"mwst_is_net\": true,\n  \"positions\": [\n    { \"type\": \"KbPositionArticle\", \"article_id\": 3, \"amount\": \"2\", \"unit_price\": \"45.00\", \"tax_id\": 4 },\n    { \"type\": \"KbPositionCustom\", \"text\": \"Versand\", \"amount\": \"1\", \"unit_price\": \"9.00\", \"tax_id\": 4 }\n  ]\n}\n","json","",[86,110,111,120,136,149,162,175,184,243,294,300],{"__ignoreMap":108},[112,113,116],"span",{"class":114,"line":115},"line",1,[112,117,119],{"class":118},"sVt8B","{\n",[112,121,123,127,130,133],{"class":114,"line":122},2,[112,124,126],{"class":125},"sj4cs","  \"contact_id\"",[112,128,129],{"class":118},": ",[112,131,132],{"class":125},"14",[112,134,135],{"class":118},",\n",[112,137,139,142,144,147],{"class":114,"line":138},3,[112,140,141],{"class":125},"  \"user_id\"",[112,143,129],{"class":118},[112,145,146],{"class":125},"1",[112,148,135],{"class":118},[112,150,152,155,157,160],{"class":114,"line":151},4,[112,153,154],{"class":125},"  \"mwst_type\"",[112,156,129],{"class":118},[112,158,159],{"class":125},"0",[112,161,135],{"class":118},[112,163,165,168,170,173],{"class":114,"line":164},5,[112,166,167],{"class":125},"  \"mwst_is_net\"",[112,169,129],{"class":118},[112,171,172],{"class":125},"true",[112,174,135],{"class":118},[112,176,178,181],{"class":114,"line":177},6,[112,179,180],{"class":125},"  \"positions\"",[112,182,183],{"class":118},": [\n",[112,185,187,190,193,195,199,202,205,207,210,212,215,217,220,222,225,227,230,232,235,237,240],{"class":114,"line":186},7,[112,188,189],{"class":118},"    { ",[112,191,192],{"class":125},"\"type\"",[112,194,129],{"class":118},[112,196,198],{"class":197},"sZZnC","\"KbPositionArticle\"",[112,200,201],{"class":118},", ",[112,203,204],{"class":125},"\"article_id\"",[112,206,129],{"class":118},[112,208,209],{"class":125},"3",[112,211,201],{"class":118},[112,213,214],{"class":125},"\"amount\"",[112,216,129],{"class":118},[112,218,219],{"class":197},"\"2\"",[112,221,201],{"class":118},[112,223,224],{"class":125},"\"unit_price\"",[112,226,129],{"class":118},[112,228,229],{"class":197},"\"45.00\"",[112,231,201],{"class":118},[112,233,234],{"class":125},"\"tax_id\"",[112,236,129],{"class":118},[112,238,239],{"class":125},"4",[112,241,242],{"class":118}," },\n",[112,244,246,248,250,252,255,257,260,262,265,267,269,271,274,276,278,280,283,285,287,289,291],{"class":114,"line":245},8,[112,247,189],{"class":118},[112,249,192],{"class":125},[112,251,129],{"class":118},[112,253,254],{"class":197},"\"KbPositionCustom\"",[112,256,201],{"class":118},[112,258,259],{"class":125},"\"text\"",[112,261,129],{"class":118},[112,263,264],{"class":197},"\"Versand\"",[112,266,201],{"class":118},[112,268,214],{"class":125},[112,270,129],{"class":118},[112,272,273],{"class":197},"\"1\"",[112,275,201],{"class":118},[112,277,224],{"class":125},[112,279,129],{"class":118},[112,281,282],{"class":197},"\"9.00\"",[112,284,201],{"class":118},[112,286,234],{"class":125},[112,288,129],{"class":118},[112,290,239],{"class":125},[112,292,293],{"class":118}," }\n",[112,295,297],{"class":114,"line":296},9,[112,298,299],{"class":118},"  ]\n",[112,301,303],{"class":114,"line":302},10,[112,304,305],{"class":118},"}\n",[15,307,308,309,312,313,316],{},"bexio empfiehlt höchstens 150 Positionen beim Anlegen; weitere Zeilen hängt man danach mit\n",[86,310,311],{},"POST \u002F2.0\u002Fkb_invoice\u002F{document_id}\u002Fkb_position_article"," oder ",[86,314,315],{},"…\u002Fkb_position_custom"," an.\nVersand und Rabatt sind damit gewöhnliche Zeilen, kein Sonderweg.",[32,318,320],{"id":319},"fall-2-dokumentnummer-bei-offerten","Fall 2: Dokumentnummer bei Offerten",[15,322,323,324,329,330,333,334,339],{},"Ein Zapier-Nutzer kann ",[19,325,328],{"href":326,"rel":327},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=21008&fid=99",[23],"keine Offerte anlegen",":\nbexio verlangt ",[86,331,332],{},"document_nr",", die Aktion hat kein Feld dafür; ein zweiter Betroffener meldet\nsich im selben Faden. Ein anderer findet eine Offerte\n",[19,335,338],{"href":336,"rel":337},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=24884&fid=99",[23],"über ihre Nummer nicht",", obwohl\ndieselbe Nummer in einem anderen Werkzeug Treffer liefert.",[15,341,342,343,346,347,349,350,353,354,356],{},"Die Dokumentation zu ",[86,344,345],{},"POST \u002F2.0\u002Fkb_offer"," erklärt die Regel: ",[86,348,332],{}," darf nicht gesetzt\nwerden, wenn in bexio die automatische Nummerierung aktiv ist, und ist Pflicht, wenn sie\nabgeschaltet ist. Ein Modul ohne dieses Feld funktioniert also nur bei automatischer\nNummerierung. Wer eigene Nummern führt, setzt sie über die API. Die Suche läuft über\n",[86,351,352],{},"POST \u002F2.0\u002Fkb_offer\u002Fsearch"," mit ",[86,355,332],{}," als Suchfeld:",[103,358,360],{"className":105,"code":359,"language":107,"meta":108,"style":108},"[{ \"field\": \"document_nr\", \"value\": \"AN-00001\", \"criteria\": \"=\" }]\n",[86,361,362],{"__ignoreMap":108},[112,363,364,367,370,372,375,377,380,382,385,387,390,392,395],{"class":114,"line":115},[112,365,366],{"class":118},"[{ ",[112,368,369],{"class":125},"\"field\"",[112,371,129],{"class":118},[112,373,374],{"class":197},"\"document_nr\"",[112,376,201],{"class":118},[112,378,379],{"class":125},"\"value\"",[112,381,129],{"class":118},[112,383,384],{"class":197},"\"AN-00001\"",[112,386,201],{"class":118},[112,388,389],{"class":125},"\"criteria\"",[112,391,129],{"class":118},[112,393,394],{"class":197},"\"=\"",[112,396,397],{"class":118}," }]\n",[15,399,400,401,404,405,408,409,412],{},"Ohne ",[86,402,403],{},"criteria"," sucht bexio mit «like», also nach Teiltreffern; für eine Nummer ist ",[86,406,407],{},"=","\nder sichere Weg. Dieselben Suchfelder gibt es für Rechnungen unter ",[86,410,411],{},"POST \u002F2.0\u002Fkb_invoice\u002Fsearch",".",[32,414,416],{"id":415},"fall-3-steuersatz-je-position","Fall 3: Steuersatz je Position",[15,418,419,420,425],{},"Eine Rechnung kommt mit ",[19,421,424],{"href":422,"rel":423},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=29926&fid=3",[23],"7.7 % statt 8.1 %","\nin bexio an, und der Steuersatz lässt sich im Modul nicht wählen. Zapier bestätigt im Faden\neinen Fehlerbericht; der Workaround lautet, den Satz am Produkt in bexio zu hinterlegen.",[15,427,428,429,432,433,436,437,201,440,201,442,445,446,448],{},"In der API trägt jede Position ihr Feld ",[86,430,431],{},"tax_id",". Die gültigen Werte liefert\n",[86,434,435],{},"GET \u002F3.0\u002Ftaxes?types=sales_tax&scope=active","; genau diesen Aufruf empfiehlt die\nDokumentation, weil auf Offerten, Aufträgen und Rechnungen nur aktive Umsatzsteuern\nzulässig sind. Die Antwort nennt je Satz ",[86,438,439],{},"id",[86,441,86],{},[86,443,444],{},"value"," und die Jahre, in denen er\ngilt. Ein Dienst liest diese Liste einmal und wählt die ",[86,447,431],{}," nach Prozentsatz, statt eine\nNummer fest einzubauen, die beim nächsten Satzwechsel falsch wird.",[32,450,452],{"id":451},"fall-4-referenz-für-den-zahlungsabgleich","Fall 4: Referenz für den Zahlungsabgleich",[15,454,455,456,461],{},"Ein Fragender legt Rechnungen aus einem Google Sheet an und will die\n",[19,457,460],{"href":458,"rel":459},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=23831&fid=3",[23],"27-stellige Referenznummer"," in\ndas Referenzfeld schreiben, damit bexio Zahlungen von der Bank automatisch zuordnet. Zapier\nlegt einen Funktionswunsch an; ein Termin wird nicht genannt.",[15,463,464,465,468,469,472,473,475,476,479],{},"Die Rechnung in der API hat zwei Referenzfelder. ",[86,466,467],{},"reference"," ist ein Freitext auf dem\nDokument. ",[86,470,471],{},"api_reference"," ist laut Dokumentation nur über die API lesbar und änderbar und\ndafür gedacht, Verweise auf andere Systeme abzulegen, etwa die Bestellnummer des Shops oder\ndie Zahlungs-ID des Anbieters; es ist auch ein Suchfeld von ",[86,474,411],{},".\nDie Antwort einer Rechnung enthält zudem ",[86,477,478],{},"qr_invoice_id",". Ein Feld, über das man die\nReferenz des QR-Zahlteils selbst setzt, beschreibt die Dokumentation nicht.",[15,481,482,483,486,487,135,490,492,493,496],{},"Wer die Zahlung ohnehin von einem Zahlungsanbieter gemeldet bekommt, braucht den Bankabgleich\ndafür nicht: ",[86,484,485],{},"POST \u002F2.0\u002Fkb_invoice\u002F{invoice_id}\u002Fpayment"," bucht die Zahlung mit ",[86,488,489],{},"date",[86,491,444],{}," und ",[86,494,495],{},"bank_account_id"," direkt auf die Rechnung. Die Zahlung steht dann in bexio auf\nder Rechnung, und niemand mahnt Kunden, die längst bezahlt haben.",[32,498,500],{"id":499},"fall-5-benutzer-bei-der-zeiterfassung","Fall 5: Benutzer bei der Zeiterfassung",[15,502,503,504,509],{},"Zeiteinträge aus einem Google Sheet sollen in bexio dem richtigen Mitarbeiter gehören. Im\nZapier-Modul lässt sich die ",[19,505,508],{"href":506,"rel":507},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=49831&fid=3",[23],"Benutzer-ID nicht setzen",";\ndas Feld wird mit einem Kontakt gefüllt, der Fragende findet keinen Weg.",[15,511,512,515,516,519,520,523,524,527,528,531,532,353,535,492,537,540,541,544,545,548,549,552,553,201,556,559],{},[86,513,514],{},"POST \u002F2.0\u002Ftimesheet"," verlangt ",[86,517,518],{},"user_id"," als Pflichtfeld, dazu ",[86,521,522],{},"client_service_id"," für die\nLeistung, ",[86,525,526],{},"allowable_bill"," für «verrechenbar» und ein Objekt ",[86,529,530],{},"tracking",", entweder als Dauer\n(",[86,533,534],{},"type: duration",[86,536,489],{},[86,538,539],{},"duration",") oder als Zeitspanne (",[86,542,543],{},"type: range","). Die\nBenutzer liefert ",[86,546,547],{},"GET \u002F3.0\u002Fusers",", die Leistungen ",[86,550,551],{},"GET \u002F2.0\u002Fclient_service",". Kontakt und\nProjekt sind optional (",[86,554,555],{},"contact_id",[86,557,558],{},"pr_project_id","). Ein Eintrag von einer Stunde und\nvierzig Minuten:",[103,561,563],{"className":105,"code":562,"language":107,"meta":108,"style":108},"{\n  \"user_id\": 1,\n  \"client_service_id\": 1,\n  \"allowable_bill\": true,\n  \"contact_id\": 2,\n  \"tracking\": { \"type\": \"duration\", \"date\": \"2026-11-04\", \"duration\": \"01:40\" }\n}\n",[86,564,565,569,579,590,601,612,648],{"__ignoreMap":108},[112,566,567],{"class":114,"line":115},[112,568,119],{"class":118},[112,570,571,573,575,577],{"class":114,"line":122},[112,572,141],{"class":125},[112,574,129],{"class":118},[112,576,146],{"class":125},[112,578,135],{"class":118},[112,580,581,584,586,588],{"class":114,"line":138},[112,582,583],{"class":125},"  \"client_service_id\"",[112,585,129],{"class":118},[112,587,146],{"class":125},[112,589,135],{"class":118},[112,591,592,595,597,599],{"class":114,"line":151},[112,593,594],{"class":125},"  \"allowable_bill\"",[112,596,129],{"class":118},[112,598,172],{"class":125},[112,600,135],{"class":118},[112,602,603,605,607,610],{"class":114,"line":164},[112,604,126],{"class":125},[112,606,129],{"class":118},[112,608,609],{"class":125},"2",[112,611,135],{"class":118},[112,613,614,617,620,622,624,627,629,632,634,637,639,641,643,646],{"class":114,"line":177},[112,615,616],{"class":125},"  \"tracking\"",[112,618,619],{"class":118},": { ",[112,621,192],{"class":125},[112,623,129],{"class":118},[112,625,626],{"class":197},"\"duration\"",[112,628,201],{"class":118},[112,630,631],{"class":125},"\"date\"",[112,633,129],{"class":118},[112,635,636],{"class":197},"\"2026-11-04\"",[112,638,201],{"class":118},[112,640,626],{"class":125},[112,642,129],{"class":118},[112,644,645],{"class":197},"\"01:40\"",[112,647,293],{"class":118},[112,649,650],{"class":114,"line":186},[112,651,305],{"class":118},[32,653,655],{"id":654},"fall-6-pdf-einer-offerte","Fall 6: PDF einer Offerte",[15,657,658,659,664],{},"Ein Make-Nutzer will ",[19,660,663],{"href":661,"rel":662},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fconvert-data-long-string-binary-to-pdf-bexio-to-docuware\u002F38702",[23],"Offerten als PDF in DocuWare ablegen",".\nFür Rechnungen gibt es ein Modul, für Offerten nicht; der Versuch mit einem HTTP-Aufruf\nliefert ein PDF, das sich nicht öffnen lässt. Die einzige Antwort verweist auf\nHTTP-Grundlagen.",[15,666,667,670,671,674,675,201,678,201,681,492,684,687,688,690,691,694,695,698],{},[86,668,669],{},"GET \u002F2.0\u002Fkb_offer\u002F{quote_id}\u002Fpdf"," liefert das Dokument, wahlweise mit oder ohne Briefpapier\n(",[86,672,673],{},"logopaper","). Der Punkt, an dem der Fragende scheiterte: Die Antwort ist kein PDF, sondern\nJSON mit den Feldern ",[86,676,677],{},"name",[86,679,680],{},"size",[86,682,683],{},"mime",[86,685,686],{},"content",", und ",[86,689,686],{}," enthält die Datei\nBase64-kodiert. Erst nach dem Dekodieren liegt eine gültige PDF-Datei vor. Dasselbe gilt für\nRechnungen (",[86,692,693],{},"\u002F2.0\u002Fkb_invoice\u002F{invoice_id}\u002Fpdf",") und Aufträge (",[86,696,697],{},"\u002F2.0\u002Fkb_order\u002F{order_id}\u002Fpdf",").",[32,700,702],{"id":701},"fall-7-geänderte-rechnungen-erkennen","Fall 7: Geänderte Rechnungen erkennen",[15,704,705,706,711],{},"Der Make-Trigger «Watch Invoices» liefert nach Angabe eines Fragenden\n",[19,707,710],{"href":708,"rel":709},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fbexio-watch-invoice\u002F69633",[23],"keine Datensätze, wenn eine Rechnung nur geändert wird",".\nEin Antwortender vermutet einen Fehler im Modul, ein zweiter schlägt vor, stattdessen zu suchen.",[15,713,714,715,718],{},"Die API bietet dafür das Suchfeld ",[86,716,717],{},"updated_at"," mit Vergleichskriterien. Ein Dienst merkt\nsich den Zeitstempel seines letzten Laufs und fragt:",[103,720,722],{"className":105,"code":721,"language":107,"meta":108,"style":108},"[{ \"field\": \"updated_at\", \"value\": \"2026-11-04 06:00:00\", \"criteria\": \">\" }]\n",[86,723,724],{"__ignoreMap":108},[112,725,726,728,730,732,735,737,739,741,744,746,748,750,753],{"class":114,"line":115},[112,727,366],{"class":118},[112,729,369],{"class":125},[112,731,129],{"class":118},[112,733,734],{"class":197},"\"updated_at\"",[112,736,201],{"class":118},[112,738,379],{"class":125},[112,740,129],{"class":118},[112,742,743],{"class":197},"\"2026-11-04 06:00:00\"",[112,745,201],{"class":118},[112,747,389],{"class":125},[112,749,129],{"class":118},[112,751,752],{"class":197},"\">\"",[112,754,397],{"class":118},[15,756,757,758,761,762,764],{},"an ",[86,759,760],{},"POST \u002F2.0\u002Fkb_invoice\u002Fsearch?order_by=updated_at_desc",". Das Zeitformat entspricht dem,\ndas bexio in ",[86,763,717],{}," zurückgibt. So erscheinen neue und geänderte Rechnungen gleich,\netwa ein Statuswechsel auf «bezahlt».",[32,766,768],{"id":767},"fall-8-rechnung-aus-einer-bestellung","Fall 8: Rechnung aus einer Bestellung",[15,770,771,772,777],{},"Eine Shopify-Bestellung wird in Make zur bexio-Bestellung; die Rechnung daraus soll ein\nHTTP-Aufruf erzeugen, weil es kein Modul dafür gibt. Der Aufruf\n",[19,773,776],{"href":774,"rel":775},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fcorrectly-include-request-header-in-api-call-bexio\u002F33491",[23],"scheitert mit Status 415",",\nwährend derselbe Aufruf in Postman funktioniert. Der Make-Support bestätigt im Faden ein\nbekanntes Problem («known issue») und gibt es an die Entwicklung weiter, ohne Termin.",[15,779,780,781,784,785,787,788,201,790,492,793,796,797,800],{},"Der Endpunkt ist ",[86,782,783],{},"POST \u002F2.0\u002Fkb_order\u002F{order_id}\u002Finvoice",". Der Body ist optional: Fehlt er,\nübernimmt bexio alle Positionen der Bestellung; sonst nennt ",[86,786,92],{}," die gewünschten\nZeilen mit ",[86,789,439],{},[86,791,792],{},"type",[86,794,795],{},"amount",". Status 415 bedeutet, dass der Server den Inhaltstyp\nder Anfrage nicht annimmt; die Dokumentation verlangt ",[86,798,799],{},"Accept: application\u002Fjson"," und JSON\nals Body. Ein eigener Dienst setzt die Header selbst und ist nicht davon abhängig, wie ein\nZwischendienst sie weitergibt.",[32,802,804],{"id":803},"die-acht-fälle-im-überblick","Die acht Fälle im Überblick",[806,807,808,824],"table",{},[809,810,811],"thead",{},[812,813,814,818,821],"tr",{},[815,816,817],"th",{},"Fall",[815,819,820],{},"Im Forum",[815,822,823],{},"In der bexio API",[825,826,827,844,860,876,894,908,924,940],"tbody",{},[812,828,829,833,836],{},[830,831,832],"td",{},"Mehrere Positionen",[830,834,835],{},"Liste wird abgelehnt, Entwurf mit Summe 0",[830,837,838,840,841,843],{},[86,839,92],{}," in ",[86,842,88],{},", gemischte Typen",[812,845,846,849,852],{},[830,847,848],{},"Dokumentnummer",[830,850,851],{},"Pflichtfeld fehlt, Suche ohne Treffer",[830,853,854,856,857],{},[86,855,332],{},", Suche mit ",[86,858,859],{},"criteria: \"=\"",[812,861,862,865,868],{},[830,863,864],{},"Steuersatz",[830,866,867],{},"nicht wählbar, falscher Satz",[830,869,870,872,873],{},[86,871,431],{}," je Position, Liste aus ",[86,874,875],{},"\u002F3.0\u002Ftaxes",[812,877,878,881,884],{},[830,879,880],{},"Referenz",[830,882,883],{},"Feld fehlt, Funktionswunsch offen",[830,885,886,201,888,890,891],{},[86,887,467],{},[86,889,471],{},", Zahlung per ",[86,892,893],{},"…\u002Fpayment",[812,895,896,899,902],{},[830,897,898],{},"Zeiterfassung",[830,900,901],{},"Benutzer nicht setzbar",[830,903,904,840,906],{},[86,905,518],{},[86,907,514],{},[812,909,910,913,916],{},[830,911,912],{},"Offerten-PDF",[830,914,915],{},"kein Modul, Datei unlesbar",[830,917,918,201,921,923],{},[86,919,920],{},"\u002F2.0\u002Fkb_offer\u002F{id}\u002Fpdf",[86,922,686],{}," Base64 dekodieren",[812,925,926,929,932],{},[830,927,928],{},"Geänderte Rechnungen",[830,930,931],{},"Trigger reagiert nicht",[830,933,934,935,353,937],{},"Suche nach ",[86,936,717],{},[86,938,939],{},">",[812,941,942,945,948],{},[830,943,944],{},"Rechnung aus Bestellung",[830,946,947],{},"kein Modul, Status 415",[830,949,950],{},[86,951,952],{},"POST \u002F2.0\u002Fkb_order\u002F{id}\u002Finvoice",[15,954,955,956,961,962,966,967,412],{},"Dazu kommt ein Risiko, das keinem Feld zuzuordnen ist: Ein Zapier-Nutzer meldet, dass bexio\ndie ",[19,957,960],{"href":958,"rel":959},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=30103&fid=99",[23],"Client-ID der Zapier-App gesperrt","\nhat und seine Verbindung damit stand. Wer über eine fremde App verbindet, hängt an deren\nZulassung; eine eigene App im Developer Portal hängt nur an der eigenen. Wie man sie\nanlegt, steht im Ratgeber ",[19,963,965],{"href":964},"\u002Fratgeber\u002Fbexio-api-token\u002F","bexio API Token erstellen",", die\nAnmeldung per OAuth 2 im Ratgeber ",[19,968,970],{"href":969},"\u002Fratgeber\u002Fbexio-api-wordpress\u002F","bexio API mit WordPress verbinden",[32,972,974],{"id":973},"wann-sich-die-direkte-anbindung-lohnt","Wann sich die direkte Anbindung lohnt",[15,976,977],{},"Für einen Kontakt aus einem Formular reichen die fertigen Module meist. Sobald Rechnungen mit\nmehreren Zeilen, eigene Nummern, Steuersätze, Zeiteinträge je Mitarbeiter oder PDFs im\nSpiel sind, kostet der Umweg über die Zwischenplattform mehr Zeit, als er spart: Jedes\nfehlende Feld wird zu einem Forenfaden ohne Ende.",[15,979,980,981,985,986,990],{},"Eine Schnittstelle, die direkt mit der bexio API spricht, baue ich zum Festpreis: Sie\nnennen mir Quellsystem und Ablauf, ich lege den Umfang an Ihren echten Belegen fest, die\nAnbindung läuft auf eigener Infrastruktur ohne Abo bei einem Dritten, mit Wiederholung bei\nFehlern und einem Protokoll, das zeigt, was übertragen wurde. Für HubSpot gibt es die\nAnbindung fertig: ",[19,982,984],{"href":983},"\u002Fbexio-hubspot\u002F","bexio ↔ HubSpot"," macht aus einem gewonnenen Deal eine\nOfferte oder Rechnung mit Positionen und meldet den Zahlungsstand zurück. Für alles andere:\n",[19,987,989],{"href":988},"\u002Fkontakt\u002F","Kontakt",", mit Quellsystem und dem, was heute von Hand läuft.",[15,992,993],{},[19,994,996],{"href":995},"\u002Fratgeber\u002F","Alle Ratgeber",[998,999,1000],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":108,"searchDepth":122,"depth":122,"links":1002},[1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013],{"id":34,"depth":122,"text":35},{"id":53,"depth":122,"text":54},{"id":319,"depth":122,"text":320},{"id":415,"depth":122,"text":416},{"id":451,"depth":122,"text":452},{"id":499,"depth":122,"text":500},{"id":654,"depth":122,"text":655},{"id":701,"depth":122,"text":702},{"id":767,"depth":122,"text":768},{"id":803,"depth":122,"text":804},{"id":973,"depth":122,"text":974},"bexio API aus Make und Zapier: acht offene Forenfragen zu Positionen, Dokumentnummer, Steuersatz, Referenz, Zeiterfassung und PDF, mit dem API-Feld, das sie löst.","md",{},true,"\u002Fratgeber\u002Fbexio-api-make-zapier",null,{"title":5,"description":1014},"ratgeber\u002Fbexio-api-make-zapier","Ixqps1C3Y30rbX9TR-k0grrrwqlSvgyQtzJllGD7AMY",1793785418579]