Skip to content

Operation codes

Operation::getCode() returns the CFONB operation code of a CFONB 120 operation (positions 33–34). The static array Silarhi\Cfonb\CfonbCodes::$codes describes each code:

Key Value
label The French label of the CFONB
way D debit, C credit, D/C or C/D either
swift_code The SWIFT MT940 transaction type
swift_label Its English label
swift_way The direction on the SWIFT side, the same as way
operation-codes.php
<?php
use Silarhi\Cfonb\Cfonb120Reader;
use Silarhi\Cfonb\CfonbCodes;
$reader = new Cfonb120Reader();
foreach ($reader->parse(file_get_contents('statements.txt')) as $statement) {
foreach ($statement->getOperations() as $operation) {
$code = CfonbCodes::$codes[$operation->getCode()] ?? null;
echo sprintf(
"%-22s %s %s (%s, %s)\n",
$operation->getLabel(),
$operation->getCode(),
$code['label'] ?? 'Unknown code',
$code['swift_code'] ?? '-',
$code['way'] ?? '-'
);
}
}
Output
PRLV SEPA ONLINE SAS B1 Prélèvements SEPA domiciliés (DDT, D)
PRLV SEPA FREE MOBILE B1 Prélèvements SEPA domiciliés (DDT, D)
VIR JOHNDOE / FOOBAR 05 Virements reçus (TRF, C)
VIR BOR TEST / FOOBAR 06 Virements émis (TRF, D)

A bank can send a code missing from the list: read it with ?? null, as above.

Codelabelwayswift_codeswift_label
01Chèques payésDCHKCheques
02Remises de chèquesCCLRCash letters/Cheques remittance
03Chèques impayésDRTIReturned item
04Versements espècesCMSCMiscellaneous
05Virements reçusCTRFTransfer
06Virements émisDTRFTransfer
07LCR/BOR domiciliésDBOEBill of exchange
08Prélèvements, TIP et Télérèglements domiciliésDDDTDirect Debit Item
09Prélèvements, TIP et Télérèglements émisCDDTDirect Debit Item
10Prélèvements, TIP et Télérèglements rejetés/impayésD/CRTIReturned item
11Factures cartes de paiement/DAB-GABC/DMSCMiscellaneous
12Rejet/retour de virementCRTIReturned item
13Virements de trésorerie reçusCTRFTransfer
14Virements de trésorerie émisDTRFTransfer
15Remises de chèques sur caisseCCLRCash letters/Cheques remittance
18Autres virements reçusCTRFTransfer
21Autres virements émisDTRFTransfer
22TIP domiciliésDDDTDirect Debit Item
24TIP émisCDDTDirect Debit Item
26TIP rejetés / impayésDRTIReturned item
27Prélèvements rejetés / impayésD/CRTIReturned item
28Factures cartes payéesDMSCMiscellaneous
29Retrait DAB-GABDMSCMiscellaneous
30Factures cartes remisesCMSCMiscellaneous
31Remises d'effets à l'encaissementCBOEBill of exchange
32Remises à l'escompte (papier commercial / chèques)CBOEBill of exchange
33Effets impayésDRTIReturned item
34Incidents sur effetsC/DRTIReturned item
35Remises de LCR/BOR à l'encaissementCBOEBill of exchange
36Remise de facture CB créditDMSCMiscellaneous
37Remises de LCR/BOR à l'escompteCBOEBill of exchange
38Facture CB impayée / rejetéeDMSCMiscellaneous
39Virements d'Origine Extérieur (VOE) reçusCTRFTransfer
41Transferts vers/en provenance de l'étrangerD/CTRFTransfer
42Achats/Ventes de devisesD/CFEXForeign exchange
43Autres opérations avec l'étrangerD/CMSCMiscellaneous
44Virements internationaux émisDTRFTransfer
45Virements internationaux reçusCTRFTransfer
46Achats de devises au comptantDFEXForeign exchange
47Ventes de devises au comptantCFEXForeign exchange
48Levée sur achat à termeDFEXForeign exchange
49Livraisons sur vente à termeCFEXForeign exchange
51Achats et Ventes de titresD/CSECSecurities (used when entering a principal amount)
52Diverses opérations sur titresD/CSECSecurities (used when entering a principal amount)
53Achats/Souscriptions VM/BFDSECSecurities (used when entering a principal amount)
54Ventes de VM/BFCSECSecurities (used when entering a principal amount)
55Solde de liquidation - BFC/DSECSecurities (used when entering a principal amount)
56Achats OPCVMDSECSecurities (used when entering a principal amount)
57Ventes OPCVMCSECSecurities (used when entering a principal amount)
58Achats TCNDSECSecurities (used when entering a principal amount)
59Ventes TCNCSECSecurities (used when entering a principal amount)
61AgiosD/CINTInterest
62Commissions et frais divers, dont intérêts compensatoiresDCOMCommission
63Produits financiersCINTInterest
64Commissions y compris taxesDCOMCommission
65Commissions hors taxesDCOMCommission
66Commissions non taxablesDCOMCommission
67TaxesDSECSecurities (used when entering a principal amount)
68Autres opérations avec l'étranger - DébitDMSCMiscellaneous
69Autres opérations avec l'étranger - CréditCMSCMiscellaneous
70Charges financièresDINTInterets
71Tirage de créditsCLDPLoan deposit
72Echéance créditsDMSCMiscellaneous
73Emission de valeurs mobilièresCSECSecurities (used when entering a principal amount)
74Emission de titres de créancesCSECSecurities (used when entering a principal amount)
75RemboursementDMSCMiscellaneous
76Dépôt à termeDMSCMiscellaneous
77Echéance dépôt à termeCMSCMiscellaneous
80Achats autres TCDSECSecurities (used when entering a principal amount)
81Ventes autres TCCSECSecurities (used when entering a principal amount)
82ContratsC/DSECSecurities (used when entering a principal amount)
83OptionsC/DSECSecurities (used when entering a principal amount)
84Achats Bourses EtrangèresDSECSecurities (used when entering a principal amount)
85Ventes Bourses EtrangèresCSECSecurities (used when entering a principal amount)
86Opérations sur titresC/DSECSecurities (used when entering a principal amount)
87Revenus sur titresCSECSecurities (used when entering a principal amount)
88Commissions et droits de gardeDCOMCommission
89Remboursement impôts étrangersCRECTax reclaim
90Facture Acceptée à Echéance émiseDTRFTransfer
91Opérations diversesCMSCMiscellaneous
92Centralisation de recettesC/DCMICash Management item - No detail
93Centralisation de dépensesC/DCMICash Management item - No detail
94Centralisation de trésorerie - CréditCCMICash Management item - No detail
95Centralisation de trésorerie - DébitDCMICash Management item - No detail
96Télérèglements domiciliésDDDTDirect Debit Item
97Télérèglements émisCDDTDirect Debit Item
98Télérèglements rejetés/impayésDRTIReturned item
99Annulations et régularisationsC/DMSCMiscellaneous
A1Prélèvements SEPA émisCDDTDirect Debit Item
A2Prélèvements SEPA interentreprises émisCDDTDirect Debit Item
A3Prélèvements SEPA rejetés/impayés (émis par le débiteur ou sa banque)CRTIReturned item
A4Prélèvements SEPA interentreprises rejetés/impayés (émis par le débiteur ou sa banque)CRTIReturned item
A5Prélèvements SEPA interentreprises – reversements émis (par le créancier ou sa banque)DMSCMiscellaneous
A6Prélèvements SEPA interentreprises – reversements émis (par le créancier ou sa banque)DMSCMiscellaneous
B1Prélèvements SEPA domiciliésDDDTDirect Debit Item
B2Prélèvements SEPA interentreprises domiciliésDDDTDirect Debit Item
B3Prélèvements SEPA rejetés/impayés reçus (par le créancier)DRTIReturned item
B4Prélèvements SEPA interentreprises rejetés/impayés reçus (par le créancier)DRTIReturned item
B5Prélèvements SEPA – reversements reçus (par le débiteur)CMSCMiscellaneous
B6Prélèvements SEPA interentreprises – reversements reçus (par le débiteur)CMSCMiscellaneous
C1Virement SEPA instantané émisDTRFTransfer
C2Virement SEPA instantané reçuCTRFTransfer
C3Crédit suite à demande de retour de fonds (« recall ») d’un virement SEPA instantané émise (par le donneur d’ordre)CRTIReturned item
C4Débit suite à demande de retour de fonds (« recall ») d’un virement SEPA instantané reçue (par le bénéficiaire)DMSCMiscellaneous
C5Recrédit du Donneur d’OrdreCRTIReturned item