Créer une facture
https://api.mobupay.nc/api/v1/billing/invoicesCe que fait cet appel
Crée une facture. Par défaut un brouillon : sans numéro, modifiable, non opposable.
Avec issue: true, la facture est émise dans la foulée si elle est complète. Si des mentions obligatoires manquent, l'appel échoue en 422 avec la liste des manques : le brouillon n'est pas créé à moitié.
Le destinataire exige un nom ET une adresse. Une adresse électronique seule ne suffit jamais, quelle que soit la juridiction. Pour un client professionnel, son numéro d'identification (RID en Nouvelle-Calédonie, SIREN en France) est également obligatoire.
Les taxes se déclarent au niveau du document (`taxDetail`) ou par ligne, jamais les deux. Dès qu'une seule ligne porte un taxDetail, le taxDetail racine est ignoré pour TOUTES les lignes, et une ligne sans taxe devient non taxée. C'est la règle du moteur fiscal : la contourner ferait diverger la facture du paiement qu'elle documente.
Authorization: Bearer sk_test_XXXXLe pool est déduit du préfixe de la clé
Il n'y a pas d'interrupteur test et production sur cette page. sk_test_* ne traite aucun paiement réel, sk_live_* encaisse.
Corps de la requête
application/jsonDestinataire du document. Le nom ET l'adresse sont obligatoires : une adresse électronique seule ne suffit jamais (CGI art. 242 nonies A ann. II 1°, art. Lp. 441-3 du code de commerce NC).
linesarray[object]RequisAu moins une ligne. Chacune exige une désignation précise et une quantité.
productstringRequisDénomination PRÉCISE du bien ou du service. Mention obligatoire : « prestation » ou « divers » ne suffit pas.
descriptionstringOptionnelPrécision libre affichée sous la désignation.
quantitynumberRequisQuantité. Strictement positive, mention obligatoire.
unitPriceCentsintegerRequisPrix unitaire HT, dans la plus petite unité de la devise. Le franc pacifique n'a pas de décimale.
discountCentsintegerOptionnelRemise sur cette ligne. La taxe porte sur la base NETTE, après remise.
unitstringOptionnelUnité de mesure.
taxDetailarray[object]OptionnelTaxes de CETTE ligne. Dès qu'une seule ligne en porte, le `taxDetail` du document est ignoré pour toutes les lignes.
catalogItemIdstringOptionnelÉlément de catalogue d'origine (`cti_*`). Les valeurs sont COPIÉES à l'ajout : modifier le catalogue ensuite ne change pas la ligne.
typestringOptionnelNature. Détermine l'exigibilité de la taxe : biens à la livraison, services à l'encaissement.
productstringRequisDénomination PRÉCISE du bien ou du service. Mention obligatoire : « prestation » ou « divers » ne suffit pas.
descriptionstringOptionnelPrécision libre affichée sous la désignation.
quantitynumberRequisQuantité. Strictement positive, mention obligatoire.
unitPriceCentsintegerRequisPrix unitaire HT, dans la plus petite unité de la devise. Le franc pacifique n'a pas de décimale.
discountCentsintegerOptionnelRemise sur cette ligne. La taxe porte sur la base NETTE, après remise.
unitstringOptionnelUnité de mesure.
taxDetailarray[object]OptionnelTaxes de CETTE ligne. Dès qu'une seule ligne en porte, le `taxDetail` du document est ignoré pour toutes les lignes.
catalogItemIdstringOptionnelÉlément de catalogue d'origine (`cti_*`). Les valeurs sont COPIÉES à l'ajout : modifier le catalogue ensuite ne change pas la ligne.
typestringOptionnelNature. Détermine l'exigibilité de la taxe : biens à la livraison, services à l'encaissement.
taxDetailarray[object]OptionnelTaxes applicables à TOUTES les lignes. Ignoré dès qu'une ligne porte son propre `taxDetail`.
idstringRequisIdentifiant unique de la taxe (ex: `TVA20`, `TGC5`).
typestringRequisPERCENTAGE = valeur en basis-points (2000 = 20%). FIXED = montant fixe en centimes.
valueintegerRequisValeur (basis-points pour PERCENTAGE, centimes pour FIXED). Entier positif.
discountCentsintegerOptionnelRemise globale, en plus des remises de ligne. Répartie au prorata du poids HT de chaque ligne.
currencystringOptionnelDevise d'affichage du document. Défaut `XPF`.
operationTypestringOptionnelDétermine l'exigibilité de la taxe : biens à la livraison, services à l'encaissement. Déduit des lignes s'il est absent.
operationDatestringOptionnelDate de l'opération (AAAA-MM-JJ). Mention obligatoire, distincte de la date d'émission.
dueDatestringOptionnelÉchéance (AAAA-MM-JJ). Défaut : émission + le délai des paramètres, 30 jours à l'installation. Plafonds légaux contrôlés.
purchaseOrderRefstringOptionnelRéférence du bon de commande du client, quand il en impose une.
customFieldsarray[object]OptionnelChamps libres affichés sur le document.
freeTextstringOptionnelTexte libre en pied de document. Max 2000 caractères.
paymentIdstringOptionnelPaiement Mobupay déjà encaissé à rattacher (`pay_*`). La facture sort alors soldée.
quoteIdstringOptionnelDevis signé dont cette facture est la suite (`qot_*`).
issuebooleanOptionnelÉmettre immédiatement. La facture reçoit son numéro et devient définitive.
Codes de retour
Facture créée.
Permission billing.write absente, ou module non activé.
Mentions obligatoires manquantes : l'émission est refusée, avec le fondement légal de chaque manque.
Langage
Cliquez sur Essayer pour lancer la requête et voir la réponse ici. Ou choisissez un exemple :
application/json