Faro Factu – Tax Details

Description

Faro Factu – Datos fiscales adds the fiscal data a Spanish invoice needs and validates it before the customer pays. It does not issue invoices and it does not send anything to the Spanish tax agency (AEAT): it makes sure the data you are going to invoice is correct.

What it does

  • Adds a tax ID field (NIF, NIE or CIF) to the checkout, in both the block checkout and the classic checkout.
  • Validates the document for real, not with a regular expression: it checks the control letter of a NIF or NIE and the control digit of a CIF, so a typo or an invented number is rejected before payment.
  • Optionally asks for the company name and the intra-EU VAT number.
  • Saves the data on the order (compatible with HPOS) and shows it in the order screen, in the order emails and in the orders list.
  • Lets the shop staff correct the tax ID of an existing order without touching the database.
  • Exports the fiscal data of any date range to a CSV that opens cleanly in Excel and LibreOffice.
  • Generates the AEAT verification QR for invoices issued with another system, following the four mandatory parameters (NIF, serial number, date and amount). That is the QR Veri*factu (also written Verifactu) asks for, generated here without issuing the invoice.

What it does not do

  • It does not issue invoices, it does not chain records and it does not send anything to the AEAT.
  • It does not call any external service. No data leaves your server.

Requirements

  • WordPress 6.5 or later.
  • WooCommerce 8.6 or later.
  • PHP 7.4 or later.

External services

This plugin does not connect to any external service and does not send data anywhere.

Credits

  • QR generation uses qrcode-generator by Kazuhiko Arase, licensed under the MIT license. The library is bundled in assets/js/qrcode.js.

Installation

  1. Upload the plugin folder to /wp-content/plugins/, or install it from the Plugins screen.
  2. Activate it through the Plugins screen in WordPress.
  3. Go to WooCommerce Tax details and set your tax ID, your territory and whether the tax ID is mandatory.
  4. Open WooCommerce Diagnostics to check the store is ready.

FAQ

Does this plugin issue invoices?

No. It collects and validates the fiscal data. Issuing, chaining and sending invoices to the AEAT is the job of a billing system (a SIF, in Spanish).

Is it mandatory for my customers to enter a tax ID?

No, it is optional by default. You can make it mandatory in the settings, but for a shop selling to the general public it is usually better to leave it optional and only validate it when it is filled in.

Does it work with the block checkout?

Yes. It registers the fields through the WooCommerce Additional Checkout Fields API, so they appear in the block checkout, and it also supports the classic checkout.

Does it work with HPOS?

Yes. The plugin declares compatibility with WooCommerce custom order tables.

What happens to the data if I uninstall the plugin?

The plugin settings are deleted. The fiscal data stored in each order is kept, because it is part of the record of the sale.

Does it validate VAT numbers against VIES?

No. It validates the format and, for Spanish numbers, the control digit. Checking a VAT number against VIES requires an online call to the European Commission, which this plugin does not make.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Faro Factu – Tax Details” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.4.2

  • Fix: the Spanish tax ID is sanitized before it is validated and stored (settings walkthrough, QR generator and order screen).
  • Tidy: development test scripts are no longer shipped in the released package.

0.4.1

  • Fix: the QR generator nonce is unslashed and sanitized before it is verified.
  • Fix: the EU VAT number is sanitized and validated before it is saved on the order.
  • Fix: removed load_plugin_textdomain(), no longer needed since WordPress 4.6.

0.4.0

  • New: three-step getting started guide when the plugin is activated.
  • New: customer type selector (individual, Spanish company, EU company) with conditional fields.
  • Fix: the CSV export now includes orders that only carry an EU VAT number.

0.3.1

  • The diagnostics and the product card adapt to the store territory: the paid product is not advertised where Veri*factu does not apply or the tax is not covered.

0.3.0

  • Diagnostics: new check for an active Veri*factu billing system, with an informational card about the paid product.

0.2.3

  • WordPress notices are back in their natural place, above the plugin header.

0.2.2

  • WordPress and third-party notices were shown below the header (reverted in 0.2.3).

0.2.1

  • Header with the official FaroWP lighthouse icon.
  • WordPress notices no longer overlap the header.

0.2.0

  • Panel redesign: brand header, tabs and cards shared by all four screens.
  • CSV export now includes orders that only carry an EU VAT number.
  • Fixed the block-checkout field registration (unsupported attribute).

0.1.0

  • First version: tax ID fields for block and classic checkout, real NIF/NIE/CIF validation, order meta, emails, admin correction, readiness check, QR generator and CSV export.