fattura.dev

The simplest way to send e-invoices for Stripe payments. Connect Stripe, enter your Italian VAT number, and it runs automatically.

Start freeRead the docs

10 trial invoices · no card · then from €9 a month

Set it up once. Three steps, a few minutes.

  1. 01Sign inWith Google or an email link.
  2. 02Connect StripeRead-only access to payments, customers and refunds.
  3. 03Type the VAT numberCompany name and address arrive from the EU VAT register. Pick the tax regime and save.

The right invoice for every payment. Without you opening anything.

  1. 14:02:11Payment on StripeYour customer pays as usual
  2. 14:02:12Invoice createdFatturaPA XML from Stripe data
  3. 14:02:14Sent to the SdIThrough an accredited intermediary
  4. 14:02:51DeliveredReceipt saved, nothing for you to do

From payment to delivery

The invoice is created when you are paid, sent to the SdI and followed until the delivery receipt.

Mario Rossi49 € · numero da assegnareMancano dati
Codice fiscaleRSSMRA80A01H501USalva e invia

If data is missing, it waits

Nothing wrong goes out: the document is held, you are told, and you complete it in one field.

FD-2026-00039Kunde GmbH · 99 €Consegnata
charge.refunded−99 €
FD-2026-00040 nota di creditoKunde GmbH · −99 €Inviata

Refunds included

When you refund on Stripe, the credit note linked to the invoice goes out.

<DatiGeneraliDocumento><TipoDocumento>TD01</TipoDocumento><Divisa>EUR</Divisa><Data>2026-11-10</Data><Numero>FD-2026-00042</Numero><Causale>Stripe in_1Qx4Tz</Causale></DatiGeneraliDocumento>

Correct XML, without learning it

Tax regime, VAT nature codes, stamp duty and recipient code are filled in for you.

It handles the common cases by itself. Anything it cannot decide with certainty is never guessed.

  • Businesses and consumers

    VAT number, SdI code or PEC. Consumers are invoiced only when they ask.

  • Foreign customers

    Reverse charge for EU businesses, out-of-scope sales outside the EU.

  • Forfettario regime

    No VAT, the statutory wording, and virtual stamp duty when due.

  • Refunds

    An automatic credit note, for partial refunds too.

  • SdI rejections

    You get the reason, fix the data, and we resend with the same number.

  • Your accountant

    Every XML can be emailed to them automatically.

For developers. No API to integrate.

Fattura.dev reads the data you already collect on Stripe. If your Checkout does not ask for an address and VAT number, add these options.

With a test key you see the XML generated for each payment, and nothing is sent.

It also works from Claude and ChatGPT: add the connector and ask which invoices are held.

Read the docs
checkout.ts
1await stripe.checkout.sessions.create({2  mode: "payment",3  line_items: [{ price: "price_123", quantity: 1 }],4  billing_address_collection: "required",5  tax_id_collection: { enabled: true },6  custom_fields: [{7    key: "codice_fiscale",8    label: { type: "custom", custom: "Codice fiscale" },9    type: "text",10    optional: true,11  }],12  success_url: "https://example.com/thanks",13});
$ claude mcp add --transport http fattura \    https://fattura.dev/api/mcp

One flat price a month. Excluding VAT, no per-invoice fee.

  • Starter9 € / monthup to 50 documents a month
  • Pro19 € / monthup to 300 documents a month
  • Scale49 € / monthup to 1,500 documents a month

Every plan has the same features. The first 10 invoices are free and need no card. Cancel any time.

Start free

Questions

Do I need to write code?

No. Connect Stripe and type the VAT number: sending is automatic. If your Checkout does not already collect your customers' address and VAT number, three options on the session are enough.

Does it work with subscriptions and one-off payments?

Yes: Stripe Billing, Stripe invoices, Checkout and direct PaymentIntents. Each payment produces exactly one invoice.

What about consumers?

For online sales to consumers an invoice is not required unless the customer asks for one. By default we invoice only consumers who give their codice fiscale; you can choose to invoice everyone.

Who can use it?

Businesses and freelancers with an Italian VAT number, in the ordinary or the forfettario regime. If you are a developer or an agency, you set it up once on your client's Stripe account.

What happens if the SdI rejects an invoice?

We email the reason. You fix the data in the dashboard and we resend it with the same number and date, as the rules require.

Is legal archiving included?

No. The Italian tax agency offers it free from its Fatture e Corrispettivi portal. From Fattura.dev you can download every XML and have it sent to the accountant automatically.

Who is the issuer of the invoice?

The seller. Fattura.dev generates and transmits invoices on the seller's instruction through an accredited intermediary; the seller remains responsible for their content.

Start sending e-invoices for your Stripe payments. The first 10 are free.

Start free