[{"data":1,"prerenderedAt":1024},["ShallowReactive",2],{"seite-\u002Ffr\u002Fratgeber\u002Fbexio-api-make-zapier\u002F":3},{"id":4,"title":5,"body":6,"description":1015,"extension":1016,"meta":1017,"navigation":1018,"path":1019,"robots":1020,"seo":1021,"stem":1022,"__hash__":1023},"seiten_fr\u002Fratgeber\u002Fbexio-api-make-zapier.md","API bexio depuis Make et Zapier : ce que les modules ne font pas",{"type":7,"value":8,"toc":1002},"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,954,972,976,979,992,998],[10,11,13],"h1",{"id":12},"api-bexio-depuis-make-et-zapier-ce-que-les-modules-prêts-à-lemploi-ne-font-pas","API bexio depuis Make et Zapier : ce que les modules prêts à l’emploi ne font pas",[15,16,17,18,25],"p",{},"Make et Zapier proposent bexio comme app prête à l’emploi : quelques champs à remplir, et la\nfacture est dans la comptabilité. Pourtant, les forums communautaires des deux services\ncontiennent depuis 2023 des questions sur bexio restées sans solution, parce qu’il manque au\nmodule un champ ou un point d’accès. J’ai parcouru ces fils et je les ai comparés à la\n",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fdocs.bexio.com\u002F",[23],"nofollow","documentation officielle de l’API bexio",". Ce guide montre, cas par\ncas, où cela a bloqué dans le forum et quel champ de l’API bexio résout le cas. Il décrit les\nmodules tels que les personnes qui posent la question les décrivent ; il ne repose pas sur\nune expérience personnelle de Make ou de Zapier.",[27,28],"produkt-ablauf",{":schritte":29,"titel":30},"[{\"ort\":\"Boutique, formulaire, prestataire de paiement\",\"text\":\"Commande, demande ou paiement\"},{\"ort\":\"Service dédié\",\"text\":\"Tous les champs de l’API, les erreurs sont réessayées\",\"eigen\":true},{\"ort\":\"api.bexio.com\",\"text\":\"Facture avec lignes, offre, saisie de temps, PDF\"}]","Déroulement : la boutique, le formulaire ou le prestataire de paiement fournissent les données, un service dédié parle à l’API bexio avec tous les champs, api.bexio.com crée la facture, l’offre ou la saisie de temps",[32,33,35],"h2",{"id":34},"doù-viennent-les-huit-cas","D’où viennent les huit cas",[15,37,38,39,44,45,50],{},"Les cas proviennent des forums publics ",[19,40,43],{"href":41,"rel":42},"https:\u002F\u002Fcommunity.make.com\u002F",[23],"community.make.com"," et\n",[19,46,49],{"href":47,"rel":48},"https:\u002F\u002Fcommunity.zapier.com\u002F",[23],"community.zapier.com",", questions posées de 2023 à 2025.\nChaque cas est lié ci-dessous. « Sans solution » signifie : le fil ne contient aucune réponse\nconfirmée par la personne qui a posé la question, ou la réponse renvoie au support. Plusieurs\npersonnes signalent le même schéma, parfois à des mois d’intervalle. La solution par l’API est\nà chaque fois étayée par la documentation ; les chemins y figurent tels quels.",[32,52,54],{"id":53},"cas-1-plusieurs-lignes-dans-une-facture","Cas 1 : plusieurs lignes dans une facture",[15,56,57,58,63,64,69,70,75,76,81],{},"Le problème le plus fréquent. Dans Make, quelqu’un veut écrire\n",[19,59,62],{"href":60,"rel":61},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fcreate-multiple-positions-for-invoice-in-bexio\u002F83340",[23],"plusieurs lignes dans une facture bexio"," ;\nle module refuse la liste, et « Update Invoice » ne propose aucune ligne. Dans Zapier, la même\nchose échoue avec une\n",[19,65,68],{"href":66,"rel":67},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=32203&fid=99",[23],"commande Shopify de plusieurs produits",",\navec une ",[19,71,74],{"href":72,"rel":73},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=26149&fid=3",[23],"commande WooCommerce"," via un\ndétour par une boucle et un stockage intermédiaire, et avec un\n",[19,77,80],{"href":78,"rel":79},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=50864&fid=99",[23],"paiement Payrexx",", où le message\nindique que la liste des montants n’a pas la même longueur que la liste des articles ; au bout\ndu compte, un brouillon sans lignes et un total de 0.",[15,83,84,85,89,90,93,94,97,98,101],{},"Dans l’API, ce n’est pas un cas particulier. ",[86,87,88],"code",{},"POST \u002F2.0\u002Fkb_invoice"," accepte un tableau\n",[86,91,92],{},"positions",", et la documentation précise que les types de lignes se combinent :\n",[86,95,96],{},"KbPositionCustom"," pour les lignes libres, ",[86,99,100],{},"KbPositionArticle"," pour les articles du catalogue,\nplus des lignes de texte, de sous-total, de remise et de saut de page. Une facture de deux\nlignes ressemble à ceci :",[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\": \"Livraison\", \"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},"\"Livraison\"",[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 recommande au plus 150 lignes à la création ; les lignes suivantes s’ajoutent ensuite\navec ",[86,310,311],{},"POST \u002F2.0\u002Fkb_invoice\u002F{document_id}\u002Fkb_position_article"," ou ",[86,314,315],{},"…\u002Fkb_position_custom",".\nLivraison et remise sont ainsi des lignes ordinaires, sans voie détournée.",[32,318,320],{"id":319},"cas-2-numéro-de-document-des-offres","Cas 2 : numéro de document des offres",[15,322,323,324,329,330,333,334,339],{},"Un utilisateur de Zapier ",[19,325,328],{"href":326,"rel":327},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=21008&fid=99",[23],"ne peut pas créer d’offre"," :\nbexio exige ",[86,331,332],{},"document_nr",", l’action n’a pas de champ pour cela ; une deuxième personne touchée\nse manifeste dans le même fil. Une autre\n",[19,335,338],{"href":336,"rel":337},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=24884&fid=99",[23],"ne retrouve pas une offre par son numéro",",\nalors que le même numéro donne un résultat dans un autre outil.",[15,341,342,343,346,347,349,350,353,354,356],{},"La documentation de ",[86,344,345],{},"POST \u002F2.0\u002Fkb_offer"," explique la règle : ",[86,348,332],{}," ne doit pas être\nrenseigné si la numérotation automatique est active dans bexio, et il est obligatoire si elle\nest désactivée. Un module sans ce champ ne fonctionne donc qu’avec la numérotation\nautomatique. Qui tient ses propres numéros les transmet par l’API. La recherche passe par\n",[86,351,352],{},"POST \u002F2.0\u002Fkb_offer\u002Fsearch"," avec ",[86,355,332],{}," comme champ de recherche :",[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],{},"Sans ",[86,402,403],{},"criteria",", bexio cherche en mode « like », donc par correspondance partielle ; pour un\nnuméro, ",[86,406,407],{},"="," est la voie sûre. Les mêmes champs de recherche existent pour les factures sous\n",[86,410,411],{},"POST \u002F2.0\u002Fkb_invoice\u002Fsearch",".",[32,414,416],{"id":415},"cas-3-taux-de-tva-par-ligne","Cas 3 : taux de TVA par ligne",[15,418,419,420,425],{},"Une facture arrive dans bexio avec ",[19,421,424],{"href":422,"rel":423},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=29926&fid=3",[23],"7,7 % au lieu de 8,1 %",",\net le taux ne se choisit pas dans le module. Zapier confirme dans le fil un rapport de bogue ;\nla solution de contournement consiste à enregistrer le taux sur le produit dans bexio.",[15,427,428,429,432,433,436,437,201,440,201,442,445,446,448],{},"Dans l’API, chaque ligne porte son champ ",[86,430,431],{},"tax_id",". Les valeurs valables viennent de\n",[86,434,435],{},"GET \u002F3.0\u002Ftaxes?types=sales_tax&scope=active"," ; c’est exactement l’appel que recommande la\ndocumentation, parce que seules les taxes sur les ventes actives sont admises sur les offres,\nles commandes et les factures. La réponse donne pour chaque taux ",[86,438,439],{},"id",[86,441,86],{},[86,443,444],{},"value"," et les\nannées de validité. Un service lit cette liste une fois et choisit la ",[86,447,431],{}," d’après le\npourcentage, au lieu de figer un numéro qui deviendra faux au prochain changement de taux.",[32,450,452],{"id":451},"cas-4-référence-pour-le-rapprochement-des-paiements","Cas 4 : référence pour le rapprochement des paiements",[15,454,455,456,461],{},"Quelqu’un crée des factures depuis un Google Sheet et veut écrire la\n",[19,457,460],{"href":458,"rel":459},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=23831&fid=3",[23],"référence à 27 positions"," dans le\nchamp de référence, pour que bexio attribue automatiquement les paiements reçus de la banque.\nZapier enregistre une demande de fonctionnalité ; aucune échéance n’est donnée.",[15,463,464,465,468,469,472,473,475,476,479],{},"La facture a deux champs de référence dans l’API. ",[86,466,467],{},"reference"," est un texte libre sur le\ndocument. ",[86,470,471],{},"api_reference",", selon la documentation, ne se lit et ne se modifie que par l’API\net sert à stocker des renvois vers d’autres systèmes, par exemple le numéro de commande de la\nboutique ou l’identifiant de paiement du prestataire ; c’est aussi un champ de recherche de\n",[86,474,411],{},". La réponse d’une facture contient en outre ",[86,477,478],{},"qr_invoice_id",". Un\nchamp permettant de définir soi-même la référence de la section de paiement QR n’est pas\ndécrit dans la documentation.",[15,481,482,483,486,487,201,490,492,493,496],{},"Qui reçoit de toute façon le paiement signalé par un prestataire n’a pas besoin du\nrapprochement bancaire pour cela : ",[86,484,485],{},"POST \u002F2.0\u002Fkb_invoice\u002F{invoice_id}\u002Fpayment"," enregistre le\npaiement directement sur la facture avec ",[86,488,489],{},"date",[86,491,444],{}," et ",[86,494,495],{},"bank_account_id",". Le paiement\nfigure alors sur la facture dans bexio, et personne ne relance des clients qui ont payé depuis\nlongtemps.",[32,498,500],{"id":499},"cas-5-utilisateur-dans-la-saisie-des-temps","Cas 5 : utilisateur dans la saisie des temps",[15,502,503,504,509],{},"Des saisies de temps venant d’un Google Sheet doivent être attribuées au bon collaborateur dans\nbexio. Dans le module Zapier,\n",[19,505,508],{"href":506,"rel":507},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=49831&fid=3",[23],"l’identifiant d’utilisateur ne se définit pas"," ;\nle champ se remplit avec un contact, et la personne ne trouve aucune issue.",[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"," exige ",[86,517,518],{},"user_id"," comme champ obligatoire, ainsi que ",[86,521,522],{},"client_service_id","\npour la prestation, ",[86,525,526],{},"allowable_bill"," pour « facturable » et un objet ",[86,529,530],{},"tracking",", soit comme\ndurée (",[86,533,534],{},"type: duration",[86,536,489],{},[86,538,539],{},"duration","), soit comme plage horaire (",[86,542,543],{},"type: range",").\nLes utilisateurs viennent de ",[86,546,547],{},"GET \u002F3.0\u002Fusers",", les prestations de ",[86,550,551],{},"GET \u002F2.0\u002Fclient_service",".\nContact et projet sont facultatifs (",[86,554,555],{},"contact_id",[86,557,558],{},"pr_project_id","). Une saisie d’une heure\nquarante :",[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},"cas-6-pdf-dune-offre","Cas 6 : PDF d’une offre",[15,657,658,659,664],{},"Un utilisateur de Make veut ",[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],"archiver des offres en PDF dans DocuWare",".\nIl existe un module pour les factures, pas pour les offres ; l’essai avec un appel HTTP donne\nun PDF qui ne s’ouvre pas. La seule réponse renvoie aux bases du HTTP.",[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"," fournit le document, avec ou sans papier à en-tête\n(",[86,672,673],{},"logopaper","). Le point où la personne a échoué : la réponse n’est pas un PDF, mais du JSON\navec les champs ",[86,676,677],{},"name",[86,679,680],{},"size",[86,682,683],{},"mime",[86,685,686],{},"content",", et ",[86,689,686],{}," contient le fichier encodé\nen Base64. Ce n’est qu’après décodage qu’on obtient un fichier PDF valide. Il en va de même\npour les factures (",[86,692,693],{},"\u002F2.0\u002Fkb_invoice\u002F{invoice_id}\u002Fpdf",") et les commandes\n(",[86,696,697],{},"\u002F2.0\u002Fkb_order\u002F{order_id}\u002Fpdf",").",[32,700,702],{"id":701},"cas-7-détecter-les-factures-modifiées","Cas 7 : détecter les factures modifiées",[15,704,705,706,711],{},"Le déclencheur Make « Watch Invoices », selon une personne du forum,\n",[19,707,710],{"href":708,"rel":709},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fbexio-watch-invoice\u002F69633",[23],"ne livre aucun enregistrement quand une facture est seulement modifiée",".\nUne personne qui répond soupçonne un bogue du module, une deuxième propose de passer par une recherche.",[15,713,714,715,718],{},"L’API offre pour cela le champ de recherche ",[86,716,717],{},"updated_at"," avec des critères de comparaison. Un\nservice retient l’horodatage de sa dernière exécution et interroge :",[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],{},"sur ",[86,759,760],{},"POST \u002F2.0\u002Fkb_invoice\u002Fsearch?order_by=updated_at_desc",". Le format de date correspond à\ncelui que bexio renvoie dans ",[86,763,717],{},". Les factures nouvelles et modifiées apparaissent\nainsi de la même manière, par exemple un passage au statut « payée ».",[32,766,768],{"id":767},"cas-8-facture-à-partir-dune-commande","Cas 8 : facture à partir d’une commande",[15,770,771,772,777],{},"Une commande Shopify devient dans Make une commande bexio ; la facture doit en être tirée par\nun appel HTTP, faute de module. L’appel\n",[19,773,776],{"href":774,"rel":775},"https:\u002F\u002Fcommunity.make.com\u002Ft\u002Fcorrectly-include-request-header-in-api-call-bexio\u002F33491",[23],"échoue avec le statut 415",",\nalors que le même appel fonctionne dans Postman. Le support de Make confirme dans le fil un\nproblème connu (« known issue ») et le transmet au développement, sans échéance.",[15,779,780,781,784,785,787,788,201,790,492,793,796,797,800],{},"Le point d’accès est ",[86,782,783],{},"POST \u002F2.0\u002Fkb_order\u002F{order_id}\u002Finvoice",". Le corps est facultatif : s’il\nmanque, bexio reprend toutes les lignes de la commande ; sinon ",[86,786,92],{}," nomme les lignes\nvoulues avec ",[86,789,439],{},[86,791,792],{},"type",[86,794,795],{},"amount",". Le statut 415 signifie que le serveur n’accepte pas le\ntype de contenu de la requête ; la documentation exige ",[86,798,799],{},"Accept: application\u002Fjson"," et du JSON\ncomme corps. Un service dédié définit lui-même les en-têtes et ne dépend pas de la façon dont\nun intermédiaire les transmet.",[32,802,804],{"id":803},"les-huit-cas-en-un-coup-dœil","Les huit cas en un coup d’œil",[806,807,808,824],"table",{},[809,810,811],"thead",{},[812,813,814,818,821],"tr",{},[815,816,817],"th",{},"Cas",[815,819,820],{},"Dans le forum",[815,822,823],{},"Dans l’API bexio",[825,826,827,844,860,876,894,908,925,941],"tbody",{},[812,828,829,833,836],{},[830,831,832],"td",{},"Plusieurs lignes",[830,834,835],{},"liste refusée, brouillon avec total 0",[830,837,838,840,841,843],{},[86,839,92],{}," dans ",[86,842,88],{},", types combinés",[812,845,846,849,852],{},[830,847,848],{},"Numéro de document",[830,850,851],{},"champ obligatoire absent, recherche sans résultat",[830,853,854,856,857],{},[86,855,332],{},", recherche avec ",[86,858,859],{},"criteria: \"=\"",[812,861,862,865,868],{},[830,863,864],{},"Taux de TVA",[830,866,867],{},"non sélectionnable, mauvais taux",[830,869,870,872,873],{},[86,871,431],{}," par ligne, liste depuis ",[86,874,875],{},"\u002F3.0\u002Ftaxes",[812,877,878,881,884],{},[830,879,880],{},"Référence",[830,882,883],{},"champ absent, demande de fonctionnalité ouverte",[830,885,886,201,888,890,891],{},[86,887,467],{},[86,889,471],{},", paiement via ",[86,892,893],{},"…\u002Fpayment",[812,895,896,899,902],{},[830,897,898],{},"Saisie des temps",[830,900,901],{},"utilisateur non définissable",[830,903,904,840,906],{},[86,905,518],{},[86,907,514],{},[812,909,910,913,916],{},[830,911,912],{},"PDF d’offre",[830,914,915],{},"pas de module, fichier illisible",[830,917,918,921,922,924],{},[86,919,920],{},"\u002F2.0\u002Fkb_offer\u002F{id}\u002Fpdf",", décoder ",[86,923,686],{}," en Base64",[812,926,927,930,933],{},[830,928,929],{},"Factures modifiées",[830,931,932],{},"le déclencheur ne réagit pas",[830,934,935,936,353,938],{},"recherche sur ",[86,937,717],{},[86,939,940],{},">",[812,942,943,946,949],{},[830,944,945],{},"Facture depuis commande",[830,947,948],{},"pas de module, statut 415",[830,950,951],{},[86,952,953],{},"POST \u002F2.0\u002Fkb_order\u002F{id}\u002Finvoice",[15,955,956,957,962,963,967,968,412],{},"S’y ajoute un risque qu’aucun champ ne couvre : un utilisateur de Zapier signale que bexio a\n",[19,958,961],{"href":959,"rel":960},"https:\u002F\u002Fcommunity.zapier.com\u002Ftopic\u002Fshow?tid=30103&fid=99",[23],"bloqué l’ID client de l’app Zapier","\net que sa connexion s’est arrêtée avec elle. Qui se connecte par une app tierce dépend de son\nautorisation ; une app propre dans le Developer Portal ne dépend que de la vôtre. Sa création\nest décrite dans le guide ",[19,964,966],{"href":965},"\u002Ffr\u002Fratgeber\u002Fbexio-api-token\u002F","Créer un token d’accès à l’API bexio",",\nla connexion par OAuth 2 dans le guide\n",[19,969,971],{"href":970},"\u002Ffr\u002Fratgeber\u002Fbexio-api-wordpress\u002F","Connecter l’API bexio à WordPress",[32,973,975],{"id":974},"quand-la-connexion-directe-vaut-la-peine","Quand la connexion directe vaut la peine",[15,977,978],{},"Pour un contact issu d’un formulaire, les modules prêts à l’emploi suffisent la plupart du\ntemps. Dès qu’il s’agit de factures à plusieurs lignes, de numéros propres, de taux de TVA, de\nsaisies de temps par collaborateur ou de PDF, le détour par la plateforme intermédiaire coûte\nplus de temps qu’il n’en fait gagner : chaque champ manquant devient un fil de forum sans fin.",[15,980,981,982,986,987,991],{},"Une interface qui parle directement à l’API bexio, je la construis à prix fixe : vous\nm’indiquez le système source et le déroulement, je fixe le périmètre sur vos vrais documents,\nla connexion tourne sur votre propre infrastructure sans abonnement chez un tiers, avec\nnouvelle tentative en cas d’erreur et un journal qui montre ce qui a été transmis. Pour\nHubSpot, la connexion existe déjà : ",[19,983,985],{"href":984},"\u002Ffr\u002Fbexio-hubspot\u002F","bexio ↔ HubSpot"," transforme un deal\ngagné en offre ou en facture avec ses lignes et renvoie l’état du paiement. Pour tout le\nreste : ",[19,988,990],{"href":989},"\u002Ffr\u002Fkontakt\u002F","Contact",", avec le système source et ce qui se fait aujourd’hui à la\nmain.",[15,993,994],{},[19,995,997],{"href":996},"\u002Ffr\u002Fratgeber\u002F","Tous les guides",[999,1000,1001],"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":1003},[1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014],{"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":974,"depth":122,"text":975},"API bexio depuis Make et Zapier : huit questions sans réponse sur les lignes, le numéro, la TVA, la référence, le temps et le PDF, et le champ d’API qui les résout.","md",{},true,"\u002Fratgeber\u002Fbexio-api-make-zapier",null,{"title":5,"description":1015},"ratgeber\u002Fbexio-api-make-zapier","L8vcyqQdawSX-r-VOW0Dw_RFx58lt3szj1gmJfwffAo",1793785418797]