See the invoices concerned
See the compliance state
Got it
Your legal details are incomplete. No invoice is generated while they are missing — under French law an invoice without the seller's identity is void. Complete the
Settingspage.
Facturette is set up. Every paid order now produces a Factur-X invoice.
Checking the session…
Loading…
View issued invoices
Filing your B2B invoices automatically on your approved platform (Plateforme Agréée) is part of the paid plan. Your store is on the free plan: Factur-X invoices are still generated as usual.
Your store is on the paid plan: your B2B invoices are filed automatically on your approved platform (Plateforme Agréée).
See the paid plan
Loading…
Manage the connection
Every paid order produces a Factur-X invoice (PDF/A-3 with the EN 16931 XML embedded). A refund produces a credit note. Documents are kept for 30 days, then purged: your legal archive is your store's, where the links are published on each order.
All history
Last 12 months
This month
Last month
This year
Last year
Invoices and credit notes
Invoices only
Credit notes only
Loading…
Export as CSV
Number
Type
Date
Net total
Factur-X
Platform
Action
For an order placed before Facturette was installed, or one whose invoice could not be issued and whose cause you have since fixed. An order that is already invoiced is never invoiced twice.
Generate the invoice
Facturette sends no e-mail. It is Shopify that writes to your customers, using your own notification templates — Facturette simply adds a download link to them.
As soon as an invoice is issued, its link is written onto the order. One thing is left for you to do, once and for all: paste the snippet below into the e-mail template of your choice.
The link opens the invoice from your own storefront, with no account and no password: your customer clicks and the PDF downloads. It stays valid for
30 days.
Store still password-protected? The link goes through your storefront: while the protection is on, it shows the “Enter store password” page instead of the invoice — including for you. Nothing is broken, but you cannot test it until the store is open
(Online Store › Preferences › Password protection).
In the Shopify admin:
Settings ›
Notifications ›
Customer notifications, then choose the notification to change and click
Edit code. Paste the snippet where you want the link to appear in the message, then save.
Start with “Shipping confirmation”
: it is the most reliable place. That e-mail goes out well after payment, so the invoice is always ready when it is sent.
The same snippet works in every order notification. It never shows a dead link: while the invoice is not ready, it shows a waiting sentence instead.
{% if order.metafields.facturette.customer_invoice_url %}
<p>
<a href="{{ order.metafields.facturette.customer_invoice_url }}">
Download your invoice {{ order.metafields.facturette.invoice_number }}
</a><br>
This link is valid for 30 days from the invoice date — download it and keep it.
</p>
{% else %}
<p>Your invoice is being prepared and will be sent to you within a few minutes.</p>
{% endif %}
Copy the snippet
If you have never changed the “Shipping confirmation”, it shows two buttons side by side: View your order and
Track order with Shop. Here is how to slot a third button between them, on a blue background.
In the template's code, look for these two lines:
<td class="button__cell--separator"></td>
<td class="button__cell button__cell--shop-app" width="50%">
Paste the block below just before
those two lines, deleting nothing.
{% if order.metafields.facturette.customer_invoice_url %}
<td class="button__cell--separator"></td>
<td class="button__cell" width="33%" bgcolor="#2C6ECB" style="background-color: #2C6ECB;">
<a href="{{ order.metafields.facturette.customer_invoice_url }}" class="button__text" style="color: #ffffff;">Your invoice</a>
</td>
{% endif %}
Copy the button block
These two lines appear TWICE in the default template
— Shopify ships two wordings of the Shop button (“Track order with” and “Download to track with”) and renders one or the other depending on the customer. Paste the block
in both places: pasted once, a share of your customers never sees the button, and nothing anywhere tells you.
The blue is the #2C6ECB written twice in the block (once for
bgcolor, once for style— both are needed, mail clients do not all read the same one). Replace them with the colour of your choice.
The button appears only when the invoice is ready: otherwise the whole block disappears and your two original buttons take the full width back. If your template shows
no Shop button, those lines are not in it — use the universal snippet above instead.
You can, and it is even the e-mail your customers read most. But it goes out
within seconds of payment, sometimes before the invoice has been issued: those customers will see the waiting sentence, not the link.
The safest option is therefore to put the snippet in both
notifications: the order confirmation for those whose invoice is already ready, the shipping confirmation for everyone else.
Do you only sell digital products? With no shipping there is no second e-mail: the order confirmation is your only place. For orders where the waiting sentence appeared, find the invoice under
Invoices and send it yourself.
The invoice also appears on its own
in the Shopify customer account, on the order status page — the one your e-mails' “View your order” buttons already point to. No snippet to paste, no setting: the block ships with the app.
Your customer finds their invoice number there, and the same download link, just below the payment details.
Two limits worth knowing.
This needs Shopify's new customer accounts, which are today's default: a shop still on the classic customer accounts, deprecated by Shopify in February 2026, does not see it and keeps e-mail as its only channel. And the thank-you page shown right after payment does not show it either — at that moment the invoice does not exist yet.
The link carries a unique key, specific to that invoice. Anyone holding the link can open the invoice — which names and addresses your customer. Treat it as the document itself: send it to your customer, do not publish it.
After 30 days the link stops working and shows a message explaining that the document is no longer available. Your invoices themselves stay under Invoices
and on the Shopify order.
Filing your B2B invoices automatically on your approved platform (Plateforme Agréée) is part of the paid plan, at $5 per month. Your store is currently on the free plan: Factur-X invoices are still generated as usual.
Shopify charges it on your usual Shopify bill. You keep your own SUPER PDP account: the subscription only covers automating the filing.
Your store is on the paid plan. You can change plan, or go back to the free plan, at any time on the page hosted by Shopify.
Switch to the paid plan
Create OAuth2 credentials (“client credentials”) in your own
SUPER PDP account, then paste them here. Facturette holds no account on the platform: your invoices are filed in your name, with your credentials.
“Test the connection” saves your credentials, then tests the link. Leave the client secret empty to test the credentials already saved.
Test the connection
Only invoices addressed to a business
are filed on your approved platform. Sales to consumers
fall outside this scheme: their invoice is created and downloadable, it is simply not transmitted. That is normal, and compliant.
The simplest case: your customer gave their VAT number
If the customer has entered their French EU VAT number
(the Tax details
field on their record, which they fill in at checkout or you enter yourself), Facturette recognises the business on its own: a French VAT number contains the SIREN. No configuration is needed
in that case — you can skip both steps below.
A non-French
VAT number (DE…, BE…, IT…) does not yield a routing address: for those customers, use the Peppol address in step 2.
Step 1 — create two customer fields (once only)
Only needed if some of your business customers have no usable French VAT number. These fields do not exist in your store yet. In Shopify, open
Settings › Custom data › Customers , then click
Add definition and create them one after the other:
Name: SIREN — Type:
Single line text — under “Namespace and key”, replace the suggested value with
facturette.siren
Name: Peppol address
— Type: Single line text
— key: facturette.peppol_address
The key must be copied exactly, with no capitals and no spaces: it is what Facturette reads.
Step 2 — fill in each business customer's record
On the customer's record, in the Metafieldssection, fill in
only one of these two fields:
SIREN — the company's 9 digits. This is the usual case: use it unless your customer tells you otherwise.
Peppol address — only if your customer has given you a precise receiving address, for example
0225:306138900_ndf. Some companies have one per department (accounting, travel…); the SIREN alone then does not reach them.
If both are filled in, the Peppol address wins: it is the exact address, the SIREN is only an inference.
A business customer with no French VAT number, no SIREN and no Peppol address is treated as a consumer. Their invoice is created, but nothing is filed and
no error message appears. If a filing seems to be missing, check the customer's record first.
The state of every filing is on the Compliancepage.
A rejected filing, or one that has failed for good, needs action from you: correct the order or your credentials, then contact us. The code shown is the one the platform returns, verbatim.
All history
Last 12 months
This month
Last month
This year
Last year
All filings
Needs action
Being sent
Filed
Invoice date
Last activity
Loading…
Invoice
Date
State
Platform status
Last event
Your consumer sales are not filed as documents: they are reported to the tax administration as totals per day and per VAT rate, with no document and no buyer's name. How often that report is sent is decided by your platform, from your VAT regime.
Loading…
Day
Net total
VAT
Documents
State