TCC SFEC Terminal
Le TCC SFEC Terminal est un dispositif fiscal Android (l’Android SFEC App) déployé chez le contribuable. Votre logiciel de facturation (ERP / POS) lui envoie une facture au format JSON, le terminal la certifie (validation, signature, attribution d’un numéro fiscal SFEC, génération d’un QR code), puis vous renvoie le résultat. La certification est locale ; la synchronisation vers le backend fiscal de la DGID se fait plus tard, sur le propre calendrier du terminal.
Contrairement aux modes cloud, le TCC SFEC Terminal est une intégration périphérique : vous ne parlez pas à une API REST distante mais à un port COM série (COM10), exposé par un outil Windows fourni. Vous n’écrivez que votre propre client.
Ce que c’est
- Le terminal fait le travail fiscal ; vous ne faites qu’envoyer une facture. Le terminal valide la facture, la signe, lui attribue un numéro
sfec_number, produit un QR code (PNG en Base64) et vous les retourne. Vous n’écrivez que votre propre client. - Vous parlez à un port COM, pas au terminal directement. Votre client ouvre
COM10et échange du JSON encadré avec un outil Windows fourni,SfecTcpMiddleware(exécuté en tant qu’Administrateur), qui relaie les messages pour vous. - C’est un échange requête/réponse propre. Le pont gère la liaison avec le terminal pour vous et ne vous transmet que les trames
success/error. Votre client n’a ni poignée de main initiale, ni boucle de heartbeat, ni démultiplexage de flux à implémenter.
Architecture : votre logiciel, le pont, le terminal
Vous n’écrivez que votre logiciel, qui parle à COM10. Le pont fourni et le terminal font tout le reste ; leur fonctionnement interne est hors du périmètre de votre intégration.
Votre logiciel (ERP / POS) Python · C# · Java
│ écriture / lecture : <json>END_JSON sur COM10
│ (115200 · 8N1 · sans contrôle de flux · UTF-8)
▼
Pont fourni : SfecTcpMiddleware vous l'exécutez en Administrateur ; jamais compilé ni modifié
│ expose COM10 · relaie votre facture au terminal · ne renvoie que success / error
▼
Android SFEC App (terminal fiscal) valide · signe · numérote · génère le QR · synchronise vers la DGIDModèle requête / réponse
Sur le port série, une certification est un échange simple, sans cérémonie de session :
1. OUVRIR Votre client ouvre COM10 (115200, 8N1, sans contrôle de flux, UTF-8)
2. ENVOYER Écrire une facture JSON, encadrée : <json>END_JSON
3. CERTIFIER (le pont relaie au terminal) le terminal valide, signe, numérote, génère le QR
4. RECEVOIR Lire les octets jusqu'à END_JSON, retirer le marqueur, parser le JSON qui précède
... répéter les étapes 2 à 4 par facture ; le port peut rester ouvert toute la journée ...| Propriété | Valeur |
|---|---|
| Terminal | Android SFEC App (valide, signe, numérote, renvoie le QR) |
| Transport | Port COM COM10 via l’outil Windows fourni SfecTcpMiddleware |
| Paramètres série | 115200 bauds, 8 bits de données, sans parité, 1 bit de stop (8N1), sans contrôle de flux |
| Encodage | UTF-8 |
| Unité de message | exactement un objet JSON par trame |
| Marqueur de trame | suffixe ASCII littéral END_JSON — jamais un saut de ligne |
| Taille max. | 1048576 (1 Mo) ; au-delà → MESSAGE_TOO_LARGE |
| Réponse succès | status:"success" avec sfec_number + qr_code (PNG Base64) |
| Réponse erreur | status:"error" avec error_code (+ error_message, ou errors[] pour VALIDATION_ERROR) |
Quand l’utiliser
- Vous intégrez un terminal fiscal matériel déjà déployé chez le contribuable et piloté via un port COM.
- Vous voulez une certification locale capable de fonctionner hors ligne (la soumission à la DGID est gérée par le terminal).
- Votre poste hôte Windows peut exécuter le pont fourni
SfecTcpMiddlewareen Administrateur.
La liaison avec le terminal est locale. Isolez le terminal et le poste hôte du pont sur un environnement de confiance.
Le parcours
Étape suivante → Connexion série / COM