Documentation

How Facturette behaves, in detail. For setup, see the getting started guide; for what is usually asked before installing, the frequently asked questions.


What triggers an invoice

Shopify event What Facturette produces
Order paid An invoice
Refund A credit note, against the invoice in force for that order
Order paid before the app was installed Nothing automatically — the invoice can be issued by hand from Factures

An order never yields two invoices: a redelivery from Shopify is recognised and ignored.

An invoice is refused — so not issued, and without consuming a number — in two cases: Réglages is incomplete, or Shopify does not supply the buyer's name. The second is almost always the effect of a missing approval on protected customer data: the API then answers without an error and with empty fields. Facturette refuses rather than inventing a buyer, because no compliance check detects a false name — only a missing one.

Numbering

Two independent series, one per document type, reset each year:

FA-2026-000001    invoices
AV-2026-000001    credit notes

The prefix is set under Réglages. Both series are chronological and unbroken: a number is never skipped, never reused, and a failure during issuance consumes no number. That is a legal requirement, and the reason an issued invoice cannot be modified.

The date the invoice carries (BT-2) is the date it was issued, in universal time (UTC). It is the same calendar as the date printed on the PDF, the column in the list and the CSV export — so a document cannot be filed under a different month depending on where you look at it.

The document produced

A Factur-X file: a conforming PDF/A-3 carrying an embedded CII EN 16931 XML named factur-x.xml. A human reader opens the PDF; accounting software or a platform reads the XML. It is one file, not two.

Its conformance is checked continuously against the official schemas, the EN 16931 business rules, the French BR-FR rules and the PDF/A-3B standard, and the text actually printed on the page is checked separately — a mandatory mention can be present in the XML and absent from the paper.

The document is bilingual French/English in every case, with no detection of the buyer's language: the law requires French on an invoice and allows a translation to accompany it.

How a business buyer is recognised

In this order, the first source present wins:

Source Where the merchant fills it in
Customer metafield facturette.siren Customer record, field created by the app
Customer's VAT number Customer record → Tax details, Shopify's native field
Customer metafield facturette.peppol_address Customer record, field created by the app

A French VAT number contains the SIREN, and its check digits are verified before it is believed: a mistyped number is discarded rather than addressing the invoice to a business that does not exist. A non-French VAT number is never used to derive a SIREN — those buyers need the address metafield.

With none of the three, the order is a consumer sale.

B2B filing and B2C e-reporting

These are two different obligations, and one sale never follows both.

A refused deposit is never blindly retried. A document the platform refused on a formal defect can be re-filed; a document the recipient refused cannot — it is already with them, and a second send would create a duplicate a tax platform cannot withdraw. The Conformité page therefore only offers the remedy that applies.

Correcting an invoice

An issued invoice is not modified. Two operations, and the app refuses the one that does not apply:

Re-file — the document is correct and simply never went out (free plan at the time of issuance, platform not yet connected, technical failure). Same number, date and content. Possible for as long as the document exists, so 30 days.

Cancel and replace — the document itself is wrong: wrong buyer, wrong address, missing identifier. Facturette corrects the data at source, in Shopify, then issues two documents: a credit note that voids the original and carries the required cancellation mention, and a replacement invoice that corrects it and references it. The before/after is shown to you before anything is issued, and a correction that would change nothing is refused.

A refund always produces a credit note against the invoice in force, not against the one that was voided.

The buyer's link

Facturette sends no e-mail. It puts four metafields on the Shopify order, in the facturette namespace:

Key Contents
invoice_number The invoice number
customer_invoice_url The link to give the buyer
invoice_pdf_url The PDF, for the signed-in merchant only
invoice_xml_url The XML, for the signed-in merchant only

Only customer_invoice_url can be used in a customer e-mail: the other two require an admin session, and a buyer clicking them would get nothing. The Envoi au client page supplies the Liquid snippet that uses the right one.

The link lives 30 days and carries a 256-bit token; it reveals nothing beyond the invoice it designates. Regenerating it from the invoice list immediately invalidates the previous one. If the invoice was cancelled and replaced, an old link serves the document in force, never the one that was voided.

The accounting export

From Factures, over a chosen period: one row per document and per VAT rate, which is the shape of a French VAT journal rather than a table with fixed columns — an unusual rate is never lost.

Conventions: ; separator, comma decimals, ISO 8601 dates, UTF-8 with a BOM so that Excel in French does not mangle the accents. The file contains no personal data: no buyer name, no address, no product title.

Data and privacy

The document — the only place your buyer's name and address appear — is erased after 30 days. What survives afterwards names nobody: number, date, order reference, amounts per rate and the document's fingerprint.

Erasure and access requests forwarded by Shopify are honoured, including for work still queued. No data is resold or used to train anything. The detail is in the privacy policy.

Known limits