Forum Discussion
alexis-ricard
Première note
il y a 4 joursAPI Pennylane : factures fournisseurs via PA et statuts e-invoicing depuis ERP tiers
Bonjour à tous, Nous utilisons Pennylane comme Plateforme Agréée (PA) et nous avons intégré l'API côté ventes : nos factures clients sont générées dans notre ERP (LOGIBASE) et exportées vers Pennyla...
Angélique_
Pennylaneur
il y a 2 joursBonjour alexis-ricard
1) Récupérer / exporter des factures fournisseurs reçues dans Pennylane (dont e-invoicing via PA)
Oui, l’API permet de lister et récupérer le détail des factures fournisseurs.
- Lister les factures fournisseurs : GET /api/external/v2/supplier_invoices [1]
- Récupérer une facture fournisseur : GET /api/external/v2/supplier_invoices/:id [2]
Dans les réponses, vous retrouvez notamment un champ e_invoicing (présent uniquement pour les factures “reçues via e-invoicing”), avec le statut de cycle de vie e-invoicing : waiting_for_validation, approved, rejected, disputed, refused, collected, partially_collected
Vous avez aussi une URL de PDF (ex. public_file_url, avec expiration) pour redescendre la pièce si besoin
Côté droits, l’index des docs précise que la liste nécessite les scopes supplier_invoices:all ou supplier_invoices:readonly
2) Mettre à jour des statuts de cycle de vie (Refusée / Litige / etc.) via API
Il faut distinguer (a) le cycle de vie e-invoicing (PA) et (b) le statut de paiement.
(a) Cycle de vie e-invoicing (litige / refus…)
Il existe un endpoint dédié pour piloter certaines transitions du cycle e-invoicing :
- PUT /api/external/v2/supplier_invoices/:supplier_invoice_id/e_invoice_status
Actions supportées (d’après le changelog) :
- Dispute → status = disputed (reason obligatoire)
- Refuse → status = refused (reason obligatoire)
- Undispute → status = approved (reason non obligatoire) [4]
Limite importante : cet endpoint est annoncé comme disponible uniquement pour les factures dans le pilote e-invoicing (vendeur + acheteur enrôlés) et “à ce stade, seules les factures créées via l’UI Pennylane (éditeur ou mobile) sont éligibles au flux e-invoicing”
Mettre à jour les statuts e‑invoicing d’une facture fournisseur via API (cycle de vie RFE)
Pennylane a un endpoint dédié pour piloter certaines transitions du cycle e‑invoicing côté factures fournisseurs :
- Endpoint : PUT /api/external/v2/supplier_invoices/:supplier_invoice_id/e_invoice_status
- Scope OAuth : supplier_invoices:all [1]
- Transitions supportées (et uniquement celles‑ci) : disputed (litige), refused (refus), approved (sortie de litige / approbation). Le champ reason est requis pour disputed et refused.
Ce que ça couvre par rapport à votre liste
- “En litige” →via status=disputed [1]
- “Refusée” →via status=refused [1]
- “Suspendue” →pas exposé comme action supportée par cet endpoint [1]
- “Encaissée” → l’objet e_invoicing.status peut prendre des valeurs dont collected / partially_collected côté API, mais ce n’est pas une transition pilotable via l’endpoint (qui ne documente que dispute/refuse/approved). [2] [1]
2) Mettre à jour le statut de paiement d’une facture fournisseur via API
Indépendamment du cycle e‑invoicing, il existe un endpoint pour forcer le statut de paiement :
- Endpoint : PUT /api/external/v2/supplier_invoices/:supplier_invoice_id/payment_status
- Valeurs acceptées documentées : paid ou to_be_paid [3]
Donc si votre besoin derrière “encaissée” est en réalité “considérée payée côté achats”, c’est plutôt ce endpoint qu’il faut utiliser.