Skip to main content

Tax Archives in France: Everything You Need to Know

C
Written by Comply Help Center

Comply automatically generates your tax archives in compliance with the NF525 V2.3 standard. This article explains what the file contains, how it is secured, and your legal obligations as a merchant.


What is a tax archive?

A tax archive is a JSON file generated by Comply at regular intervals (at least once a year, at most once a month in the standard configuration). It contains all sales and payment data for a given cash register and period.

This file is required by the NF525 V2.3 standard. It is designed to be read and verified without needing the software that produced it.


What the archive contains

The archive is organized around 9 main sections.

1. Tickets (sales and payments)

Each ticket represents a validated transaction: a sale, a return, or an exchange. It includes the VAT-inclusive amount, the VAT breakdown by rate, line items, payment methods used, and the legal entity and register details.

2. Reprints

Reprints share the same structure as tickets, with two additional fields: the reason for printing the copy and a snapshot of the original ticket data at the time of reprinting.

3. Treasury movements

These entries record cash operations not directly tied to a sale, such as an opening float or a gift card redemption. Each movement indicates the direction (cash-in or cash-out), the amount, and the reason.

4. Grand Totals (GTJ, GTM, GTY)

Grand Totals are cumulative counters calculated at each period close:

  • GTJ: daily close (midnight UTC, which is 1am or 2am French local time)

  • GTM: monthly close

  • GTY: annual close (present only in annual archives)

Each Grand Total includes VAT-inclusive and VAT-exclusive revenue, a breakdown by VAT rate and payment method, and two perpetual counters:

  • GTPCA (Algebraic Perpetual Cumulative Total): increments at each close, can be positive or negative. Resets to zero only on a SIREN number change.

  • GTPVA (Absolute-Value Perpetual Total): can only ever increase. Represents the total gross volume processed since the register was first put into service.

5. Technical Event Log (jetlogs and systemJetlogs)

The JET records all significant software events: period closes, tax archiving, version installations, integrity check errors, identification data changes, and more. It is non-modifiable and secured by signature.


Security and data integrity

Every document in the archive (ticket, Grand Total, JET event) is secured by three mechanisms.

Digital fingerprint (SHA-256 hash)

A SHA-256 hash is computed over the document's data. Any modification after signing produces a different hash, making tampering detectable.

Asymmetric electronic signature (RSA 2048-bit)

Each document is signed with Comply's private key. Verification can be performed with the corresponding public key, available on request.

Signature chaining (tickets)

Each ticket embeds the previous ticket's signature inside its own signed content. This creates a tamper-evident chain: removing or altering any ticket breaks the chain for all subsequent tickets.


Organization by register and period

Series identification

Each archive belongs to a series (seriesKey), which corresponds to a specific cash register at a location. The format is {locationId}-{registerIndex} (e.g. 284561902714-2).

Period covered

The period is defined in the summary.period field, in the format YYYY-MM-DD_YYYY-MM-DD. The archive groups all transactions for that period and register.


Retention obligations

Under article L. 102 B of the French Tax Procedure Code (Livre des Procédures Fiscales), tax archives must be retained for 6 years (current fiscal year plus the 5 prior years) on a secure external physical medium.

Archives must be producible on request by the tax authorities, without requiring the software that generated them. Comply's open JSON format guarantees this software-independent readability.


Frequently asked questions

How often does Comply generate archives?
At least once a year, at most once a month in the standard configuration. An annual archive is also produced at the end of each fiscal year.

Where should I store the archives?
On a secure external physical medium (USB drive, external hard drive, etc.), separate from your point-of-sale system. Comply does not store archives on your behalf.

How do I open an archive file?
The archive is a plain-text JSON file. You can open it with any text editor (Notepad++, VS Code) or JSON tool. No proprietary software is required.

What happens if an archive is missing?
Missing archives for a given period may constitute a violation during a tax audit. Contact Comply support if you notice a missing archive.

Did this answer your question?