ExoConnect pour Acomba
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
AccueilRéférence de l'APIGuidesRecettes
AccueilRéférence de l'APIGuidesRecettes
Contactez-nous
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
Latest
  • Latest
  • 2.2.0
  • 2.3.2
  • 2.4.0
  1. Ventes et commerce en ligne
  • Surveiller votre intégration
  • Ventes et commerce en ligne
    • Catalogue de boutique en ligne
    • Prix spéciaux et clients exemptés
    • De la soumission à la commande
    • Commande en ligne, facture et paiement
    • Retours et notes de crédit
    • Commissions des représentants
    • Commandes ouvertes : facturer par livraisons
  • Clients et recouvrement
    • Synchronisation CRM
    • États de compte automatisés
    • Relances de recouvrement
  • Achats et fournisseurs
    • Réapprovisionnement sans double commande
    • Bons de commande, réceptions et rapprochement
    • Rapprocher l'état de compte d'un fournisseur
    • Lot de paiements fournisseurs
  • Paie et ressources humaines
    • Import de feuilles de temps
    • Une prime à la prochaine paie
    • Vérifier une paie avant de la fermer
    • Vérification des DAS
    • Vacances et banques d’heures en libre-service
    • Masse salariale à venir et rétention du personnel
  • Construction et chantiers
    • Embaucher un travailleur de la construction
    • Le vrai coût horaire dans vos soumissions
    • Coût de la main-d’œuvre par chantier
    • Rapport mensuel CCQ
  • Finances et analyses
    • Rapport de trésorerie
    • Budget contre réel
    • Rentabilité des produits
    • Power BI et Excel
    • Un assistant IA sur vos chiffres
  1. Ventes et commerce en ligne

Commandes ouvertes : facturer par livraisons

Un entrepreneur réserve 500 cornières de 10 pieds et 300 de 9 pieds pour la saison de son chantier, au prix convenu au printemps. Il en prendra livraison par lots, au rythme des travaux. À chaque livraison, il faut le facturer, sans jamais dépasser ce qu'il a réservé. Dans le tableur, on finit par ne plus savoir ce qui reste à livrer.
Dans cette recette, nous allons gérer une commande cadre avec une commande ouverte d'Acomba : la créer une fois avec les quantités de la saison, facturer chaque livraison à partir d'elle, et lire à tout moment ce qui reste à livrer.
Ce que vous allez apprendre
créer une commande ouverte avec les quantités totales ;
lire le reste à livrer de chaque produit ;
facturer une livraison partielle à partir de la commande ouverte.
Avant de commencer
une clé API en écriture : la recette crée une commande ouverte et des factures ;
le module Facturation actif ;
les codes de vos produits et du client.

Comment fonctionne une commande ouverte#

Avant d'écrire, voyons comment Acomba tient le compte. Chaque ligne de la commande ouverte garde sa quantité commandée et sa quantité déjà facturée. Chaque livraison crée une facture et ajoute ses quantités au facturé. Le reste à livrer, commandé moins facturé, diminue jusqu'à zéro.

Étape 1 : la commande ouverte#

Commençons par créer la commande ouverte avec les quantités de toute la saison. code est son numéro : choisissez-le, il sert dans toutes les étapes suivantes.
cURL
Vérifiez bien les lignes avant de créer la commande ouverte : une fois enregistrées, elles ne se modifient plus, et on ne peut plus en ajouter. C'est la règle d'Acomba, et l'API la fait respecter (voir Bon à savoir).

Étape 2 : le reste à livrer#

À tout moment, les lignes de la commande ouverte donnent ce qui reste à livrer : ordered_qty − invoiced_qty.
cURL
Réponse 200 (extrait)
Il reste 180 cornières de 10 pieds et 260 de 9 pieds à livrer.

Étape 3 : facturer une livraison#

Chaque livraison se facture à partir de la commande ouverte. Indiquez les lignes livrées (line_id) et leurs quantités : Acomba crée une facture au prix de la commande et ajoute ces quantités au facturé. Sans corps, tout le reste est facturé d'un coup.
cURL
Réponse 200 (extrait)
La facture créée se lit avec GET /api/invoicing/invoices/by-id/{transaction_id}, en passant created_transaction_id. Le line_id des lignes change après chaque facture : relisez les lignes (étape 2) avant chaque livraison. Une quantité plus grande que le reste est refusée (422) : Ligne 133460 : quantité 300 supérieure au reste à livrer (260).
Une facture d'Acomba ne se modifie plus une fois créée. Une livraison facturée par erreur se corrige par une note de crédit (Retours et notes de crédit).

Le script complet#

Assemblons le tout. Le script affiche le reste à livrer d'une commande ouverte. Si vous lui donnez des quantités, il facture d'abord la livraison, puis affiche le nouveau reste. Il vérifie le reste avant de facturer. Après une réponse 502, 503 ou 504, il ne relance jamais la facturation : il relit la commande ouverte, car la facture a peut-être été créée.
Python
JavaScript (Node.js)
Exemple de sortie :
$ python livraisons.py CADRE-CEDRES
Commande ouverte CADRE-CEDRES — Rénovations Beaulieu inc. (1042)
  C10      Cornière métal 10 pi   commandé     500   facturé       0   reste 500
  C9       Cornière métal 9 pi    commandé     300   facturé       0   reste 300
$ python livraisons.py CADRE-CEDRES C10=120 C9=40
Facture 18660 : 3,880.00 $ + taxes 581.03 $ = 4,461.03 $
Commande ouverte CADRE-CEDRES — Rénovations Beaulieu inc. (1042)
  C10      Cornière métal 10 pi   commandé     500   facturé     120   reste 380
  C9       Cornière métal 9 pi    commandé     300   facturé      40   reste 260
$ python livraisons.py CADRE-CEDRES C10=200
Facture 18661 : 5,000.00 $ + taxes 748.75 $ = 5,748.75 $
Commande ouverte CADRE-CEDRES — Rénovations Beaulieu inc. (1042)
  C10      Cornière métal 10 pi   commandé     500   facturé     320   reste 180
  C9       Cornière métal 9 pi    commandé     300   facturé      40   reste 260
$ python livraisons.py CADRE-CEDRES C9=300
C9 : 300 demandés, il reste 260 à livrer
Les montants se vérifient à la main : 120 × 25 = 3 880 ) et la TVQ (9,975 %, 387,03 $). La dernière livraison est refusée par le script avant tout appel : il ne reste que 260 cornières de 9 pieds.

Bon à savoir#

Lignes figées : comme dans Acomba, les lignes enregistrées d'une commande ouverte ne se modifient pas, ne se retirent pas et ne se déplacent pas, même avant toute livraison. L'API refuse ces modifications (422). Elle refuse aussi l'ajout d'une ligne, que le SDK d'Acomba rejette. Pour un nouveau besoin, créez une nouvelle commande ouverte. L'en-tête (description, référence…) se modifie avec PATCH /api/invoicing/open-orders/{code}, sans lines.
Jamais au-delà du commandé : une commande ouverte entièrement facturée ne se facture plus (422 « entièrement livré »).
Prix de la commande : chaque livraison est facturée au prix de la commande ouverte, même si le prix du produit a changé depuis. Les taxes de la commande sont recalculées sur le reste (back_order_taxes_updated).
Ne pas relancer à l'aveugle : après une réponse 502, 503 ou 504 à la facturation, relisez le reste avant de recommencer, comme le fait le script : la facture a peut-être été créée.
Commande ouverte ou commande : pour une commande livrée une seule fois, ou en quelques fois sans entente de saison, utilisez plutôt une commande (De la soumission à la commande).
Supprimer : Acomba ne supprime une commande ouverte qu'une fois entièrement facturée.
Codes d'erreur : voir Codes d'erreur.

Et voilà#

La commande de la saison est créée une seule fois. Chaque livraison devient une facture au prix convenu, et le reste à livrer se lit à tout moment, sans jamais dépasser ce que le client a réservé.
Pour aller plus loin
Commande en ligne, facture et paiement : encaisser les factures de livraison.
Retours et notes de crédit : corriger une livraison facturée.
Réapprovisionnement sans double commande : commander au fournisseur ce que la saison va consommer.
Modified at 2026-10-12 12:28:28
Previous
Commissions des représentants
Next
Synchronisation CRM
Built with