Security|

Avoid duplicate invoices: set Stripe to proforma

Configure your Stripe invoices as proforma so Facturaz issues the official Veri*Factu invoice and your customers never receive two documents.

Written by the Facturaz team

4 min readLast updated: Oct 2026

In short

When Stripe is connected, both Stripe and Facturaz can generate a document for the same payment. Mark Stripe's invoices as proforma, disable Stripe's invoice emails and hide them in the customer portal, so customers only receive the official Veri*Factu invoice from Facturaz.

On this page

When you connect Stripe to Facturaz, two systems can end up producing documents for the same payment: Stripe generates its own receipts and invoices, and Facturaz generates the official Veri*Factu invoice. Stripe's documents have no fiscal validity in Spain, so a customer could receive two papers and not know which one counts.

The fix takes about five minutes, and you only do it once on your own Stripe account: mark Stripe's invoices as proforma and let Facturaz issue the official ones.

1. Add a "PROFORMA" prefix to Stripe invoices

In the Stripe Dashboard, open Settings > Billing > Invoice template. In the Prefix field, type PROFORMA- and save. Stripe invoices are then numbered PROFORMA-0001, PROFORMA-0002, making it clear they are not fiscal documents.

2. Add an informational note

In the same Invoice template section, find the Footer or Memo field and add a line such as: "This document is for information only and has no fiscal validity. The official invoice is issued by Facturaz in compliance with Veri*Factu." Save your changes.

3. Turn off Stripe invoice emails

Open Settings > Billing > Emails and disable Email invoices and receipts to customers, so customers only receive the official invoice from Facturaz. If you still want Stripe to send a simple payment confirmation, leave receipts enabled and only disable invoices.

4. Hide invoices in the Customer Portal

If you use the Stripe Customer Portal, open Settings > Billing > Customer portal and turn off Invoice history visibility. Otherwise customers would still see the proforma documents there.

5. Ask for the buyer's NIF on sales over €400

A sale over €400, VAT included, needs a full invoice with the buyer's NIF (Real Decreto 1619/2012, articles 4 and 6.1.d). If the NIF is missing, Facturaz saves the sale as a draft and you add it there. To have these invoices go out on their own, ask for the NIF when your customer pays. Pick how you sell:

I sell with Stripe Checkout or Payment Links

For business buyers, switch on tax ID collection in Stripe. The buyer ticks that they are buying as a business and types their NIF or EU VAT number.

For private buyers and buyers from abroad, add a text custom field with the label NIF / NIE / Pasaporte. Facturaz recognises it by its label.

My webshop takes payments with a Stripe plugin, such as WooCommerce

Add a field called NIF / NIE / Pasaporte to your shop's checkout. Then ask your developer or the Stripe plugin's support to send it to Stripe as metadata named facturazTaxId. WooCommerce explains how in its Stripe guide.

I built my own checkout (developers)

Business buyers: tax_id_collection on the Checkout Session. A tax ID given there always takes priority.

Everyone else: one name, facturazTaxId. In Stripe Checkout, a text custom field with that key, required only above €400:

custom_fields: [{
  key: 'facturazTaxId',
  label: { type: 'custom', custom: 'NIF / NIE / Pasaporte' },
  type: 'text',
  optional: !(totalCents > 40000),
}]

With your own payment form (Payment Element, or Checkout in elements mode), send it as metadata on the PaymentIntent. For a subscription, put it on the customer or the subscription. A subscription started in Checkout keeps its custom field.

metadata: { facturazTaxId: 'X1234567L' }

What Facturaz checks

A Spanish NIF, NIE or CIF must pass its check character and an EU VAT number is checked in VIES. An ID that doesn't pass never reaches an invoice: the sale waits as a draft, its notice shows what the buyer typed and you correct it there. A sale over €400 with no ID at all, such as a card reader payment, waits the same way.

The result

  • Customers receive only the official Veri*Factu invoice from Facturaz.
  • Stripe's documents are clearly marked PROFORMA for your own records.
  • No duplicates and no confusion about which invoice is valid.

One current limitation: with Stripe invoices hidden, customers can no longer view them in the Stripe Customer Portal. This is the cleanest way to avoid duplicates today.

Facturaz

Your books and taxes in one place

  • Your books stay up to date as you go
  • You always know what you owe
  • You choose who files it: you or our team

€24 + IVA a month

Autónomo Go. The first 14 days are free.

Was this guide helpful?

In this topic: Invoicing

Sources

Each guide links to its official sources, so you can check every detail yourself.

Get this guide by email

We'll send it so you can read it later or share it.

Written by Facturaz. Last checked on 14/10/2026.

Rather ask a person?

Write to us and someone from our team answers, usually within 1-2 hours in office hours. For a general question you can also call.

+34 960 327 641

Your next quarter, already prepared.

Connect your bank today and see where you stand before the week is out. 14 days free, cancel anytime.