Skip to Content
SFEC 1.0 Documentation 🎉
Soumission TCC

Soumission TCC (Module de contrĂ´le)

Utilisez cet endpoint pour synchroniser des factures déjà certifiées localement par votre module TCC.

Authentification : mTLS (certificats clients) - voir Authentification


Endpoint

URL : POST /api/invoices/report/tcc
Authentification : mTLS (certificats clients)

POST https://dev-pgsfec.akieni.tech/api/invoices/report/tcc Content-Type: application/json Accept: application/json

Paramètres de requête

Identification et statut

ParamètreTypeDescriptionObligatoire
invoice_idstringIdentifiant unique de la facture dans votre système✅
invoice_typestringType de facture (salesInvoice, creditNote)âś…
invoice_subjectstring|nullObjet ou description de la facture❌
invoice_due_datestring|nullDate d’échéance au format ISO 8601❌
invoice_statusstringStatut de la facture (certified, cancelled)âś…
reference_invoice_idstring|nullID de la facture de référence (pour avoirs)❌
scietstringIdentifiant SCIET du terminalâś…
terminal_identifierstringIdentifiant du point de venteâś…

Informations destinataire

ParamètreTypeDescriptionObligatoire
recipient_typestringType de destinataire (1 = Particulier, 2 = Entreprise)âś…
recipient_namestringNom ou raison sociale du destinataireâś…
recipient_niustring|nullNIU du destinataire si assujetti❌
recipient_rccmstring|nullNuméro RCCM du destinataire❌
recipient_addressstring|nullAdresse physique du destinataire❌
recipient_phonestring|nullNuméro de téléphone du destinataire❌
recipient_emailstring|nullAdresse e-mail du destinataire❌
is_recipient_taxablebooleanIndique si le destinataire est assujetti Ă  la TVAâś…

Montants et totaux

ParamètreTypeDescriptionObligatoire
subtotalnumberSous-total général hors taxe✅
total_tax_t_amountnumberTotal TVA collectée✅
total_tax_r_amountnumberTotal TVA déductible✅
total_exempt_amountnumberMontant exonéré✅
total_tax_amountnumberTotal des taxesâś…
discount_amountnumberRemise globale sur factureâś…
total_line_discount_amountnumberTotal des remises sur lignesâś…
additional_cent_taxnumberTaxe centimes additionnelsâś…
electronic_stamp_dutynumberDroit de timbre électronique✅
total_amountnumberMontant total TTCâś…
amount_duenumberMontant Ă  payerâś…

Paiement

ParamètreTypeDescriptionObligatoire
currencystringCode de devise (ex: XAF)âś…
payment_methodstringMode de paiement (1 = Espèces, 2 = Mobile Money, 3 = Chèque, 4 = Virement)✅
payment_referencestring|nullRéférence du paiement❌
payment_datestring|nullDate du paiement au format ISO 8601❌

Certification locale

ParamètreTypeDescriptionObligatoire
certification_datestringDate/heure de certification au format ISO 8601âś…
certification_statusstringStatut de certification (certified)âś…
certification_signaturestringSignature numérique complète✅
certification_short_signaturestringSignature courte pour affichageâś…
certification_qr_codestringCode QR de vérification✅

Articles (items)

Chaque article de la facture doit contenir :

ParamètreTypeDescriptionObligatoire
designationstringDescription de l’article✅
classification_codestringCode de classification fiscale du produit❌
typestringType d’article (product, service)✅
unit_pricenumberPrix unitaire hors taxeâś…
quantitynumberQuantité✅
subtotalnumberSous-total (unit_price Ă— quantity)âś…
discount_amountnumberMontant de remiseâś…
discount_typestringType de remise (fixed, percentage)âś…
net_amountnumberMontant net après remise✅
tax_ratestringTaux de taxe (0, 18)âś…
tax_amountnumberMontant de la taxeâś…
total_amountnumberMontant total TTCâś…

Exemple de requĂŞte

{ "invoice_id": "INV-2025-20", "invoice_type": "salesInvoice", "invoice_subject": null, "invoice_due_date": null, "invoice_status": "certified", "reference_invoice_id": null, "sciet": "SFEC-0045", "terminal_identifier": "POINT-001", "subtotal": 13280, "total_tax_t_amount": 2390.4, "total_tax_r_amount": 0, "total_exempt_amount": 0, "total_tax_amount": 2390.4, "discount_amount": 4000, "amount_due": 15670.4, "total_line_discount_amount": 4000, "additional_cent_tax": 0, "electronic_stamp_duty": 0, "total_amount": 15670.4, "currency": "XAF", "recipient_type": "1", "recipient_name": "Test Buyer Company", "recipient_niu": "BUYER123456789", "recipient_rccm": null, "recipient_address": "123 Buyer Street, City", "recipient_phone": "+237123456789", "recipient_email": null, "is_recipient_taxable": true, "payment_method": "2", "payment_reference": null, "payment_date": null, "notes": "Test invoice for API", "items": [ { "designation": "iphones 16", "classification_code": "C01", "discount_amount": 2000, "discount_type": "fixed", "net_amount": 7835.2, "quantity": 12, "subtotal": 8640, "tax_amount": 1195.2, "tax_rate": "18", "total_amount": 7835.2, "type": "product", "unit_price": 720 }, { "designation": "mac book pro", "classification_code": "C01", "discount_amount": 2000, "discount_type": "fixed", "net_amount": 7835.2, "quantity": 12, "subtotal": 8640, "tax_amount": 1195.2, "tax_rate": "18", "total_amount": 7835.2, "type": "product", "unit_price": 720 } ], "certification_date": "2024-01-15T10:30:00Z", "certification_status": "certified", "certification_signature": "_SIGNATURE_PLACEHOLDER", "certification_short_signature": "_SHORT_SIGNATURE", "certification_qr_code": "_QR_CODE" }

Réponse

Réponse de succès

ParamètreTypeDescription
sfec_certification_numberstringNuméro de certification SFEC officiel
invoice_numberstringNuméro de facture confirmé
certification_datestringDate/heure de certification au format ISO 8601
sfec_identifierstringIdentifiant SFEC du terminal certifié
sfec_qr_codestringURL de vérification de la facture

Exemple de réponse

{ "sfec_certification_number": "SFEC-2025-0000123456", "invoice_number": "INV-2025-20", "certification_date": "2025-01-15T10:30:00Z", "sfec_identifier": "SFEC-0045", "sfec_qr_code": "https://verify.sfec.cg/invoice/SFEC-2025-0000123456" }

Codes d’erreur

CodeDescription
400Données invalides (format incorrect, champs manquants)
401Authentification mTLS échouée
409Facture déjà soumise
422Erreur de validation des données métier
500Erreur interne du serveur
⚠️

Assurez-vous que tous les montants sont cohérents et que la certification locale a été effectuée avant la soumission.