Archives fiscales pour la France
Cet article fournit des informations sur les archives fiscales et l’outil de vérification de l’intégrité des archives fiscales qui sont disponibles dans la localisation de Microsoft Dynamics 365 Commerce pour la France. L’archive fiscale fait partie de la fonctionnalité de caisse enregistreuse pour la France.
Une archive fiscale est un fichier XML qui contient les données de vente d’un magasin et d’une période fiscale. Elle comprend les totaux de la période clôturée, et des données détaillées sur les transactions de vente et les événements.
Une archive fiscale peut être exportée à partir d’un journal de total général de période clôturée. (Pour plus d’informations sur l’utilisation des journaux de total général de période, voir Journal du total général de la période .) Le fichier XML d’archive fiscale exporté est signé numériquement et la signature numérique est contenue dans un fichier séparé. Les archives fiscales exportées doivent être conservées sur des supports externes sécurisés pendant la durée légale de conservation.
Vous pouvez vérifier l’intégrité de l’archive fiscale et de ses données en utilisant l’Outil de vérification de l’intégrité des archives fiscales.
Le format XML de l’archive fiscale est implémenté à l’aide de la gestion des états électroniques (ER). Pour plus d’informations sur l’importation et l’application des configurations ER requises pour exporter les archives fiscales, consultez Configurer les formats d’exportation des archives et des Z de caisse.
Structure des archives fiscales
Une archive fiscale a la structure suivante.
<AchivePeriod> <!-- The identification of the period of the archive and the archive creation date. -->
<Company/> <!-- The identification of the company, including the SIRET code, the NAF code, and the VAT ID of the company. -->
<Store/> <!-- The identification of the store, including its address. -->
<PeriodGrandTotal/> <!-- The data of the period grand total journal that the archive was exported from. -->
<Shifts/> <!-- A collection of all shifts that were closed in the store during the period of the archive. -->
<Shift/> <!-- The data of a shift. -->
<Receipts/> <!-- A collection of all sales receipts that were registered in the shifts included in the archive. -->
<Receipt/> <!-- The data of a sales receipt. -->
<ReceiptCopies/> <!-- A collection of all sales receipt copies that were printed in the shifts included in the archive. -->
<ReceiptCopy> <!-- The data of a sales receipt copy. -->
<AuditEvents> <!-- A collection of all signed audit events that were registered in the shifts included in the archive. -->
<AuditEvent/> <!-- The data of a signed audit event. -->
Nœud PeriodGrandTotal
Le nœud PeriodGrandTotal d’une archive fiscale contient les éléments suivants.
Élément/nœud | Commentaire |
---|---|
SequentialNumber | Numéro séquentiel du journal du total général de la période signée pour le magasin. |
FromDate | Date de début de la période du journal. |
ToDate | Date de fin de la période du journal. |
TotalCashSales | Montant total des ventes, taxes comprises, pour la période. |
TotalCashReturns | Valeur absolue du montant total des retours, taxes comprises, pour la période. |
GrandTotal | Montant total des ventes, taxes comprises, moins la valeur absolue du montant total des retours, taxes comprises, pour la période. |
PerpetualGrandTotal | Total général perpétuel cumulé pour la période. Autrement dit, le total général perpétuel cumulé de la période précédente, plus le montant total des ventes TTC de la période, moins la valeur absolue du montant total des retours TTC de la période. |
PerpetualGrandTotalAbsoluteValue | Le total général perpétuel cumulé (valeur absolue) pour la période. Autrement dit, le total général perpétuel cumulé (valeur absolue) de la période précédente, plus le montant total des ventes TTC de la période, plus la valeur absolue du montant total des retours TTC de la période. |
PeriodGrandTotalLines | Collection de montants totaux généraux par taux d’imposition. |
PeriodGrandTotalLine | Nœud pour le montant total général d’un taux d’imposition. |
TotalInclTax | Montant total général d’un taux d’imposition pour la période. |
TaxRate | Taux d’imposition. |
TaxAmount | Montant total général d’une taxe pour le taux d’imposition. |
DataToSign | Chaîne créée à partir des éléments de l’enregistrement du journal du total général de la période et utilisée pour la signature. |
DataToSignFormatVersion | Version interne du format de données qui a été utilisé pour la signature. |
Signature | Signature numérique de l’enregistrement du journal du total général de la période. |
HashAlgorithm | Algorithme de code de hachage utilisé pour hacher les données avant signature. |
CertificateThumbprint | Empreinte numérique du certificat utilisée pour la signature. |
Shift node
Nœud Shift d’une archive fiscale contient les éléments suivants.
Élément/nœud | Commentaire |
---|---|
RegisterNumber | Identification du registre sur lequel l’équipe a été ouverte. |
Date | Date de l’équipe. |
TotalCashSales | Montant total des ventes, taxes comprises, pour l’équipe. |
TotalCashReturns | Valeur absolue du montant total des retours, taxes comprises, pour l’équipe. |
GrandTotal | Montant total des ventes, taxes comprises, moins la valeur absolue du montant total des retours, taxes comprises, pour l’équipe. |
PerpetualGrandTotal | Total général perpétuel cumulé pour l’équipe. Autrement dit, le total général perpétuel cumulé de l’équipe précédente du même registre, plus le montant total des ventes TTC pour l’équipe, moins la valeur absolue du montant total des retours TTC de l’équipe. |
PerpetualGrandTotalAbsoluteValue | Total général perpétuel cumulé pour l’équipe. Autrement dit, le total général perpétuel cumulé de l’équipe précédente du même registre, plus le montant total des ventes TTC pour l’équipe, plus la valeur absolue du montant total des retours TTC de l’équipe. |
ShiftLines | Collection de montants totaux généraux par taux d’imposition. |
ShiftLine | Nœud pour le montant total général d’un taux d’imposition. |
TotalInclTax | Montant total général d’un taux d’imposition pour l’équipe. |
TaxRate | Taux d’imposition. |
TaxAmount | Montant total général d’une taxe pour le taux d’imposition. |
SequentialNumber | Numéro séquentiel de l’équipe ayant signé pour le registre. |
DataToSign | Chaîne créée à partir des éléments de l’enregistrement de l’équipe et utilisée pour la signature. |
DataToSignFormatVersion | Version interne du format de données qui a été utilisé pour la signature. |
Signature | Signature numérique de l’enregistrement de l’équipe. |
HashAlgorithm | Algorithme de code de hachage utilisé pour hacher les données avant signature. |
CertificateThumbprint | Empreinte numérique du certificat utilisée pour la signature. |
Receipt node
Nœud Receipt d’une archive fiscale contient les éléments suivants.
Élément/nœud | Commentaire |
---|---|
AppVersion | Identification de la version du logiciel de caisse utilisé pour émettre le ticket de caisse. |
Date | Date et heure du ticket de caisse, au format AAAAMMJJHHMMSS. |
NumberOfCopies | Nombre de fois qu’une copie a été imprimée pour le ticket de caisse. |
OperatorCode | Code de l’opérateur ayant délivré le ticket de caisse. |
OperatorName | Nom de l’opérateur ayant délivré le ticket de caisse. |
RegisterNumber | Identification du registre sur lequel le ticket de caisse a été émis. |
CustomerAccount | Identification du client pour lequel le ticket de caisse a été émis. |
LineCount | Nombre de lignes de vente sur le ticket de caisse. |
Total | Nœud Total du ticket de caisse. |
ExclTax | Montant total du ticket de caisse, hors taxes. |
InclTax | Montant total du ticket de caisse, taxes incluses. |
PaymentLines | Collection de lignes de paiement du ticket de caisse. |
PaymentLine | Nœud pour un paiement. |
Type | Identification du type de paiement, tel que configuré dans la caisse enregistreuse. |
Nom | Nom du type de paiement, tel que configuré dans la caisse enregistreuse. |
Montant | Montant du paiement dans la devise du magasin. |
AmountCur | Montant du paiement dans la devise du paiement. |
Devise | Identification de la devise de paiement. |
CurrencyRate | Taux de change multiplié par 100 et arrondi à un nombre entier. |
ReceiptLines | Collection de lignes de ticket de caisse. |
ReceiptLine | Nœud pour une ligne de ticket de caisse. |
Produit | Identification du produit sur la ligne de ticket de caisse. |
Nom | Nom du produit sur la ligne de ticket de caisse. |
TaxRates | Collection de lignes de taxe liées à la ligne de ticket de caisse. |
LineTaxRate | Nœud pour une ligne de taxe. |
TaxRate | Taux d’imposition de la ligne d’imposition. |
TaxAmount | Montant de la taxe pour la ligne de taxe. |
Quantité | Quantité de produit vendu. |
UnitId | Identification de l’unité de produit vendu. |
UnitPriceExclTax | Prix unitaire du produit, hors taxes. |
UnitPriceInclTax | Prix unitaire du produit, taxes incluses. |
TotalExclTax | Montant total de la ligne de ticket de caisse, hors taxes. |
TotalInclTax | Montant total de la ligne de ticket de caisse, taxes incluses. |
Remises | Collection de remises appliquées à la ligne de ticket de caisse. |
FooterLines | Collection de montants totaux de ticket de caisse par taux d’imposition. |
FooterLine | Nœud pour le montant total de ticket de caisse d’un taux d’imposition. |
TotalExclTax | Montant total de la ligne de ticket caisse, hors taxes pour le taux d’imposition. |
TotalInclTax | Montant total de la ligne de ticket de caisse, taxes pour le taux d’imposition incluses. |
TaxRate | Taux d’imposition. |
TaxAmount | Montant total d’une taxe pour le taux d’imposition. |
SequentialNumber | Numéro séquentiel de la transaction de vente signée pour le registre. |
DataToSign | Chaîne créée à partir des éléments de l’enregistrement de la transaction de vente et utilisée pour la signature. |
DataToSignFormatVersion | Version interne du format de données qui a été utilisé pour la signature. |
Signature | Signature numérique de l’enregistrement de la transaction de vente. |
HashAlgorithm | Algorithme de code de hachage utilisé pour hacher les données avant signature. |
CertificateThumbprint | Empreinte numérique du certificat utilisée pour la signature. |
ReceiptCopy node
Nœud ReceiptCopy d’une archive fiscale contient les éléments suivants.
Élément/nœud | Commentaire |
---|---|
RegisterNumber | Numéro du registre à partir duquel la copie du ticket de caisse a été imprimée. |
CopyNumber | Numéro de copie de ticket de caisse pour la transaction de vente. |
SequentialNumber | Numéro séquentiel de l’événement de copie de ticket de caisse signée pour le registre. |
OriginalReceiptNumber | Numéro de ticket de caisse imprimé de la transaction de vente originale. |
OriginalReceiptSequentialNumber | Numéro séquentiel de la transaction de vente d’origine. |
Date | Date et heure de l’événement de copie de ticket de caisse, au format AAAAMMJJHHMMSS. |
OperatorCode | Code de l’opérateur ayant imprimé la copie du ticket de caisse. |
OperatorName | Nom de l’opérateur ayant imprimé la copie du ticket de caisse. |
DataToSign | Chaîne créée à partir des éléments de l’enregistrement de la copie de ticket de caisse et utilisée pour la signature. |
DataToSignFormatVersion | Version interne du format de données qui a été utilisé pour la signature. |
Signature | Signature numérique de l’enregistrement de la copie de ticket de caisse. |
HashAlgorithm | Algorithme de code de hachage utilisé pour hacher les données avant signature. |
CertificateThumbprint | Empreinte numérique du certificat utilisée pour la signature. |
AuditEvent node
Nœud AuditEvent d’une archive fiscale contient les éléments suivants.
Élément/nœud | Commentaire |
---|---|
Code | Code d’événement prédéfini. |
EventType | Type d’événement prédéfini. |
Date | Date et heure de l’événement d’audit, au format AAAAMMJJHHMMSS. |
RegisterNumber | Numéro de registre sous lequel l’événement d’audit a été enregistré. |
OperatorCode | Code de l’opérateur ayant enregistré l’événement d’audit. |
OperatorName | Nom de l’opérateur ayant enregistré l’événement d’audit. |
SequentialNumber | Numéro séquentiel de l’événement d’audit signé pour le registre. |
DataToSign | Chaîne créée à partir des éléments de l’enregistrement de l’événement d’audit et utilisée pour la signature. |
DataToSignFormatVersion | Version interne du format de données qui a été utilisé pour la signature. |
Signature | Signature numérique de l’enregistrement de l’événement d’audit. |
HashAlgorithm | Algorithme de code de hachage utilisé pour hacher les données avant signature. |
CertificateThumbprint | Empreinte numérique du certificat utilisée pour la signature. |
Outil de vérification de l’intégrité des archives fiscales
L’outil de vérification de l’intégrité des archives fiscales peut être utilisé pour vérifier l’intégrité d’une archive fiscale et pour détecter les violations de la signature de l’archive et des chaînes d’enregistrements signés dans l’archive. L’outil doit être appliqué à un fichier d’archive fiscale et au fichier de signature correspondant. Lorsqu’il est exécuté, l’outil effectue les actions suivantes :
Vérifiez la signature du fichier d’archive fiscale.
Vérifiez les signatures et les chaînes de signature de tous les enregistrements d’archives fiscales. (Ces enregistrements sont le journal du total général de la période, de l’équipe, du ticket de caisse, de la copie du ticket de caisse et des enregistrements d’événement d’audit.) Pour chaque enregistrement, l’outil effectue les actions suivantes :
- Créer une chaîne de texte à partir des éléments de données de l’enregistrement, selon les règles de signature numérique et la version interne du format des données qui a été utilisé pour signer le dossier. Ces éléments comprennent la signature de l’enregistrement précédent du même type.
- Calculer un code de hachage de la chaîne en utilisant l’algorithme de hachage qui a été utilisé pour hacher les données de l’enregistrement avant signature.
- Déchiffrer la signature de l’enregistrement à l’aide de la clé publique du certificat numérique qui a été utilisé pour signer l’enregistrement.
- Comparer le résultat avec le code de hachage qui a été calculé précédemment.
Imprimer toutes les violations d’intégrité identifiées.
L’outil de vérification de l’intégrité des archives fiscales prend la forme d’un script Windows PowerShell et est publié via le kit de développement logiciel (SDK) Commerce.
Pour obtenir l’outil de vérification de l’intégrité des archives fiscales et l’exécuter par rapport à une archive fiscale, procédez comme suit.
Téléchargez l’outil à partir du SDK Commerce :
- Ouvrez le référentiel Dynamics 365 Commerce Solutions.
- Ouvrez la dernière branche de version disponible.
- Ouvrez src > FiscalIntegration > SequentialSignatureFrance > FiscalArchiveIntegrityVerificationTool.
- Consultez les termes de la licence de l’outil.
- Téléchargez le contenu du dossier sur votre ordinateur local.
Exportez les fichiers de clé publique pour tous les certificats numériques utilisés pour la signature numérique des transactions et événements d’audit côté canal Commerce, ou les journaux du total général de la période et archives fiscales côté Commerce Headquarters.
Placez le fichier d’archive fiscale, son fichier de signature et tous les fichiers de clé publique dans un seul dossier.
Exécutez Windows PowerShell.
Exécutez le script de l’outil verify.ps1, et précisez le nom du fichier d’archive fiscale. Incluez le chemin d’accès complet du fichier.
Passez en revue toutes les violations d’intégrité identifiées.