TCC Datamega Terminal
Le TCC Datamega Terminal est un dispositif fiscal (Tax Control Device) que votre logiciel pilote directement sur un port série. Votre système de caisse ou de facturation (POS / ERP) ouvre le port, envoie des commandes encadrées (démarrer une facture, ajouter des articles, encaisser, clôturer) et lit les réponses (résultats, totaux, numéro de reçu, données du QR code). Le dispositif enregistre toutes les ventes et transmet lui-même les données de contrôle fiscal au serveur — cette remontée est hors périmètre de ce guide.
Contrairement aux modes API et TCC Server (API REST cloud/local), le TCC Datamega Terminal n’est pas une API REST : c’est une intégration matérielle. Vous parlez un protocole binaire encadré sur un port série au dispositif ; vous ne modifiez jamais son firmware.
Le modèle en 60 secondes
- Le dispositif est l’enregistreur fiscal ; vous le pilotez sur un port série. Votre logiciel ouvre le port série vers le dispositif Datamega TCC et exécute une courte transaction : démarrer une facture, envoyer le client, ajouter chaque article, envoyer le sous-total, envoyer le paiement, puis clôturer la facture. Le dispositif répond à chaque commande et renvoie, à la fin, un numéro de reçu et une signature QR pour le reçu fiscal.
- Chaque message est une trame binaire. Un message n’est pas du texte brut : c’est une trame
SOH · LEN · SEQ · CMD · DATA · AMB · CRC16 · ETX. Le champDATAest une chaîne de valeurs séparées par des virgules en UTF-8 ; la trame qui l’entoure porte une longueur, un numéro de séquence, un code de commande et une somme de contrôle CRC16-Modbus. - C’est du requête → réponse, une commande à la fois. Vous écrivez une trame, puis vous lisez exactement une trame de réponse (dont le
SEQcorrespond à votre requête). Les commandes doivent être envoyées dans le bon ordre. - Testez le lien avec une seule commande :
C1h(Status). Elle renvoie le NIU du contribuable, l’identifiant du terminal, les compteurs de taxe et l’URL de vérification des reçus (verify_url).
Faits essentiels
| Propriété | Valeur |
|---|---|
| Dispositif | Datamega TCC (Tax Control Device) |
| Transport | port série (PC ⇄ dispositif) |
| Paramètres série (baud, bits de données/parité/stop) | Non fixés par le protocole — utilisez les réglages indiqués par votre dispositif/fournisseur |
| Unité de message | une trame : SOH·LEN·SEQ·CMD·DATA·AMB·CRC16·ETX |
Charge utile DATA | champs séparés par des virgules, texte UTF-8, avec échappement de caractères |
Longueur de DATA | 0–200 octets |
| Somme de contrôle | CRC16-Modbus sur LEN…AMB, envoyée en 4 octets ASCII (chaque quartet hexadécimal + 0x30) |
Numéro de séquence SEQ | 20h–FFh, différent à chaque nouvelle requête ; la réponse le renvoie |
| Échange | requête → une seule trame de réponse |
| Convention de résultat | 0 = échec, 1 = succès (41h renvoie aussi 2 = plus d’items) |
| Commande de test | C1h (Status Query) |
| Sortie fiscale | 38h renvoie receipt_NO + qrcode (à ajouter à la verify_url de C1h) |
Quand utiliser le TCC Datamega Terminal ?
- Vous disposez d’un dispositif matériel Datamega TCC relié au PC par un port série.
- Vous voulez que le dispositif soit l’enregistreur fiscal de référence et remonte lui-même les données au serveur.
- Votre logiciel peut ouvrir un port série et implémenter un protocole binaire encadré (C#, Python, Java ou tout langage capable d’ouvrir un port série).
Deux règles évitent la plupart des bugs d’intégration : (1) encadrer et calculer la somme de contrôle correctement (CRC16-Modbus sur LEN…AMB, encodée en 4 octets où chaque quartet est quartet + 0x30) ; (2) échapper les caractères spéciaux dans DATA (une virgule littérale devient ^x2c;, etc.). Voir Format des trames.
Le parcours
Étape suivante → Connexion