Skip to content
Log in

Méthodes de paiement

Ce guide décrit les codes internes de méthodes de paiement dans B2Brouter ainsi que leur encodage correspondant dans UBL, Facturae et FatturaPA.

Équivalences :

  • Champ interne B2Brouter : payment_method
  • Champ Facturae : PaymentMeans (élément à /facturae:Facturae/Invoices/Invoice/PaymentDetails/Installment/PaymentMeans)
  • Champ UBL : cbc:PaymentMeansCode (élément à /Invoice/cac:PaymentMeans/cbc:PaymentMeansCode)
  • Champ FatturaPA : ModalitaPagamento (élément à /p:FatturaElettronica/FatturaElettronicaBody/DatiPagamento/DettaglioPagamento/ModalitaPagamento)
  • Champ CII : TypeCode (élément à rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode)
  • Business Terms ID : BT-81
MéthodeRéférence interneUBLFacturaeFatturaPADescription
CASH11001MP01Paiement en espèces (y compris billets et pièces en circulation), y compris les dépôts sur compte courant.
DEBIT24902MP19Prélèvement direct (le montant est, ou a été, directement débité du compte bancaire du client).
HOLD3803MP12Indique que la banque doit conserver le paiement pour recouvrement par le bénéficiaire ou selon d’autres instructions.
TRANSFER43004MP05Virement bancaire (le montant est, ou a été, directement crédité sur le compte bancaire du fournisseur).
AWARDING7ZZZ07Paiement par cession ou adjudication
PAGARE N O106010MP06Billet à ordre non transmissible. Paiement au moyen d’une promesse inconditionnelle écrite par laquelle une personne s’engage envers une autre, signée par l’émetteur, à payer à vue ou à une date future déterminée une somme certaine en argent, à ordre ou au porteur.
CHEQUE112011MP02Paiement au moyen d’un formulaire préimprimé par lequel un titulaire de compte (banque ou caisse d’épargne) ordonne le paiement d’une somme donnée à un bénéficiaire désigné.
REPOSITION12ZZZ12MP22Remboursement en compte ouvert.
SPECIAL/OTHER13ZZZ13MP22Définit toute autre méthode de paiement ; utilisez payment_method_text pour les descriptions personnalisées.
COMPENSATION149714MP22Montants que deux partenaires se doivent mutuellement et qui sont compensés afin d’éviter des paiements inutiles.
PLUSGIRO155015MP18Méthode de paiement suédoise standard utilisant le système postal giro.
CHEQUE B172317MP03Paiement au moyen d’un formulaire préimprimé, complété par une institution financière, par lequel des instructions sont données à un titulaire de compte (banque ou caisse d’épargne) de payer une somme donnée à un bénéficiaire désigné.
BANK CARD194819MP08Paiement au moyen d’une carte émise par une banque ou un autre établissement financier.
DEBIT TRANSFER313104MP13Paiement par mouvement débiteur de fonds d’un compte vers un autre.
CREDIT CARD545419MP08Paiement effectué au moyen d’une carte de crédit
BANKGIRO565604MP03Méthode de paiement utilisant le réseau bank giro.
TRANSFER SEPA585804MP05Virement SEPA (les fonds sont crédités sur le compte bancaire du fournisseur).
DEBIT SEPA595902MP19Prélèvement SEPA (les fonds sont débités du compte bancaire du client ; un mandat peut être requis).
GIRO101ZZZ13Giro
PAY NOW102ZZZ13Paiement immédiat (Pay Now)

Selon payment_method, il peut être nécessaire de fournir des champs supplémentaires pour que la facture puisse être générée/exportée correctement.
Cette section se concentre sur les exigences universelles en matière de données bancaires/de paiement ; certains formats de factures électroniques peuvent toutefois restreindre les codes de paiement acceptés.

  • Compte bancaire du client (payeur) : DEBIT (2), DEBIT SEPA (59). Requis dans certains formats/flux spécifiques, mais pas universellement. Par exemple, XRechnung \common_xrechnung_v23 requiert invoice.contact_iban, XRechnung v3 requiert aussi mandate_reference_identifier, et Facturae requiert le compte bancaire du client (contact.bank_account_number ou un invoice.contact_iban valide). Cela ne s’applique pas à IssuedSimplifiedInvoice.
  • Conditions de paiement : DEBIT (2). Fournissez terms (il ne peut pas être 0 ou vide).
  • Date d’échéance du paiement (dans la plupart des exports) : Si vous définissez un payment_method et utilisez terms = "custom", vous devez fournir due_date (sauf pour certains transports comme PEPPOL et SDI). Si vous utilisez des terms non personnalisés, le système dérive automatiquement due_date.
  • Compte bancaire de l’entreprise (bénéficiaire) : TRANSFER (4), TRANSFER SEPA (58), DEBIT TRANSFER (31), PLUSGIRO (15), BANKGIRO (56), AWARDING (7). Fournissez bank_account_id (ou incluez l’objet bank_account lors de la création/mise à jour de la facture).
  • Description personnalisée : SPECIAL/OTHER (13). Fournissez payment_method_text (elle n’est conservée que lorsque payment_method = 13).
  • Toutes les autres méthodes de paiement ne requièrent pas de champs bancaires/de paiement supplémentaires.
  • IssuedSelfInvoice :
    • DEBIT (2) / DEBIT SEPA (59) requièrent bank_account_id (compte bancaire de l’entreprise).
    • Les méthodes de type virement (TRANSFER (4), TRANSFER SEPA (58), DEBIT TRANSFER (31), PLUSGIRO (15), BANKGIRO (56), AWARDING (7)) requièrent invoice.contact_iban (certains flux PDF-only peuvent ne pas l’exiger, mais la plupart des exports de factures électroniques oui).
  • IssuedSimplifiedInvoice : DEBIT (2) / DEBIT SEPA (59) ne requièrent pas invoice.contact_iban.
  • Facturae :
    • Si vous définissez un payment_method et que la facture n’est pas un avoir, vous devez fournir soit des terms valides (non personnalisés), soit due_date (en utilisant terms = "custom").
    • Si la facture est en DEBIT/DEBIT SEPA, le compte bancaire du client doit être disponible (le bank_account_number du contact ou un invoice.contact_iban valide).
    • Si la facture est en TRANSFER (y compris les méthodes assimilées au virement), le compte bancaire de l’entreprise doit être disponible (via bank_account_id / bank_account) et contenir un numéro de compte/IBAN valide.
  • Svefaktura : les paiements par prélèvement (DEBIT/DEBIT SEPA) ne sont pas pris en charge.
  • FatturaPA : COMPENSATION (14) n’est pas autorisé.
  • XRechnung (UBL/CII) :
    • Si la facture est en DEBIT/DEBIT SEPA, vous devez fournir bank_assigned_creditor_reference et invoice.contact_iban.
    • Pour les profils v3, mandate_reference_identifier est également requis.

Ci-dessous, nous montrons comment utiliser les principaux endpoints pour gérer les paiements et les comptes bancaires associés aux contacts et aux factures.

Lors de la création d’un compte bancaire, vous devez spécifier le type du compte afin d’indiquer quels champs utiliser :

  • number : utilisez uniquement le champ number.
    • number : numéro de compte bancaire.
  • iban : utilisez iban et bic.
    • iban : International Bank Account Number.
    • bic : code SWIFT de la banque.

Exemple de requête :

Terminal window
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/bank_accounts \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json'
'

sufix est le suffixe utilisé pour l’identifiant créancier dans les fichiers SEPA.

Exemple de réponse :

{
"bank_account": {
"type": "number",
"id": 3296,
"name": "Ejemplo S.L.",
"number": "ES9121000418450200051332",
"sufix": 123,
"country": "es",
"created_at": "2025-07-14T11:37:02.000Z",
"updated_at": "2025-07-14T11:37:02.000Z"
}
}

Conservez bank_account.id pour référencer ce compte dans de futures requêtes.

Bank Account API Reference

Configurer les détails de paiement pour les factures envoyées à un contact est utile pour éviter de gérer ces informations à chaque fois que vous devez envoyer un document.

Exemple de requête :

Terminal window
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json'
'

Contact API Reference

Vous n’avez pas besoin de redéfinir les champs de paiement déjà définis sur le contact, sauf si vous devez les surcharger. Pour minimiser les appels API, incluez directement tous les détails de paiement requis, tels que payment_method, bank_account_id, payment_terms, etc., dans la requête Create Invoice au lieu de créer au préalable des contacts ou des comptes bancaires.

Exemple de requête :

Terminal window
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'content-type: application/json'
'

Et si vous n’avez pas fourni bank_account_id, vous pouvez toujours inclure l’objet bank_account :

Terminal window
{"invoice": {
...
"bank_account": {
"type": "number",
"number": "ES9121000418450200051332"
},
...
}}
'