8digits Factura for WooCommerce

Documentation

Introduction

8digits Factura for WooCommerce generates PDF invoices from WooCommerce orders. Each invoice receives a sequential number, includes a VAT breakdown and can be attached to the email your store already sends.

The free version covers the daily flow: automatic or manual generation, list, download, resend, voiding and export. Professional adds credit notes, B2B fields, a customer portal and PDF customisation.

  • Automatic invoices when an order reaches the status you choose.
  • Sequential numbering by prefix and year, in the format F-2026-0001.
  • PDF with issuer, customer, line items, bases, VAT rates and total.
  • Attachment to processing and completed order emails.

Requirements

ComponentMinimum version
WordPress6.0 or later
WooCommerce7.0 or later
PHP8.0 or later
MySQL / MariaDB5.6 / 10.0 or later

The plugin declares compatibility with High-Performance Order Storage (HPOS). You do not need to keep legacy order storage enabled.

Installation

From the WordPress directory: Plugins → Add New, search for “8digits Factura for WooCommerce”, install and activate. Then open 8Digits Factura → Settings and enter your company details.

Manual installation: download the ZIP from WordPress.org, go to Plugins → Add New → Upload Plugin, install and activate. WooCommerce must be installed and active; if it is not, the plugin shows a notice and does not load.

Invoices will not be valid until you complete the company name, NIF/CIF and address in Settings. Do this before accepting real orders.

Quick start

You can have the basic flow ready in a few minutes.

  • Issuer details: 8Digits Factura → Settings → Seller details. Complete name, NIF/CIF and fiscal address.
  • Prefix: in Invoice settings, set the prefix (default F). The resulting format is F-2026-0001.
  • Trigger status: choose which statuses generate an invoice. The initial value is Processing.
  • Email: leave Attach PDF to email enabled if you want it sent with the order email.
  • Save changes. The next order that reaches the chosen status will receive a PDF invoice.
  • Preview: visit /wp-admin/?eightdigits_factura_test_pdf=1 with an administrator account to see a test PDF with the current settings.

Seller details

These fields identify your business in the issuer block of every PDF. Complete at least the tax details before issuing real invoices.

FieldDescriptionRequired
Company nameLegal or trading name.Yes
NIF / CIFSpanish tax identification. Format is validated.Yes
AddressFiscal address: street and number.Yes
PostcodeFive-digit postcode.Yes
CityTown or city of the fiscal address.Yes
ProvinceList of Spanish provinces, Ceuta, Melilla and the Balearic Islands.Yes
PhoneContact phone. Optional.No
Contact emailContact email. Optional.No

NIF/CIF is checked with the official algorithm (Royal Decree 338/1990). The field accepts NIF, NIE and CIF formats. If it is flagged as invalid, check leading zeros and the control letter.

Invoice settings

In 8Digits Factura → Settings → Invoice settings you define prefix, starting number, default VAT, trigger statuses and the email attachment.

  • Prefix: appears at the start of the number, followed by the year and a zero-padded sequence: PREFIX-YYYY-NNNN. Letters, numbers and hyphens only. The prefix RC is reserved for credit notes.
  • Series start number: useful if you migrate from another system. Set it before issuing the first invoice; afterwards it is locked so continuity is not broken.
  • Default VAT: 21%, 10%, 4% or 0%. The plugin reads WooCommerce taxes; this value is used only if the VAT class cannot be resolved.
  • Attach PDF to email: when enabled, the PDF is added to customer processing and completed order emails, once the invoice has been generated.
Trigger statusTypical use
Processing (default)Payment received and the order being prepared. Recommended for most stores.
CompletedOrder delivered. Useful for services or digital products.
On holdPayment awaiting confirmation, for example a bank transfer.

You can enable one or more statuses. Only one invoice is generated per order: if the order passes through several triggers, the first creates the document and later ones do not duplicate the number.

If you change the prefix mid-year, a new counter starts for that prefix. Previous invoices keep their original number. Do not change the prefix if you want to continue the same series.

Invoice list

Open 8Digits Factura → Invoices to see every generated document.

ColumnContent
Invoice #Full number, for example F-2026-0042. Sortable.
OrderWooCommerce order number, with a link to the order.
CustomerBilling name and email.
DateGeneration date. Sortable.
TotalAmount including VAT. Sortable.
VATVAT amount.
StatusGenerated, sent or voided.
ActionsDownload PDF, resend, regenerate or void.
  • Search by invoice or order number.
  • Filter by status: generated, sent or voided.
  • Date range, useful for a quarter or a tax year.
  • Export CSV from the filter bar, using the same applied criteria.
StatusMeaning
GeneratedThe invoice exists and the PDF is available.
SentThe email with the PDF was sent to the customer.
VoidedThe invoice was voided for administrative purposes. The PDF is kept.
Rectified (Pro)A credit note has been issued against this document.

Order panel

Each WooCommerce order screen includes the 8Digits Factura - Invoice panel, compatible with HPOS.

  • Invoice number and date, if one already exists.
  • Download PDF.
  • Resend by email the order message with the PDF attached.
  • Generate invoice, only if the order does not yet have one.

Use Resend by email if the customer says they did not receive the invoice. Also check the junk mail folder.

Manual generation

Use this for orders placed before installation, or for statuses that are not among the triggers.

  • Open the order in WooCommerce → Orders.
  • Find the 8Digits Factura - Invoice panel.
  • Click Generate invoice. The number and date appear immediately.

Each order can have only one ordinary invoice. The button is not shown if the document already exists. The date of an invoice generated later is the generation day, not the original order date; take that into account in your accounts.

Voiding

Voiding marks the invoice as cancelled for administrative purposes. The record and PDF are kept; they are not deleted and the number is not reused.

  • Go to 8Digits Factura → Invoices.
  • Click Void next to the invoice.
  • Confirm. The status changes to Voided.

Voiding is not a credit note. If the customer already received the document and you need a legal correction, use a credit note (Professional). Voiding is for internal use when the document should no longer stay active.

Bulk actions

Select several invoices in the list and choose an action. CSV is exported from the filter bar, not from the bulk dropdown.

ActionWhat it does
Download ZIPPackages the selected PDFs into a .zip file.
Export CSVDownloads number, date, customer, NIF, bases, VAT, total and status, with the filters applied.
Regenerate PDFsRegenerates the PDF files for the selected invoices.
VoidVoids the selected invoices at once.
Resend emailsResends the order email with the PDF to each customer.

Filter by dates before exporting CSV if you need a specific period, for example the first quarter.

Credit notesPro

A credit note (factura rectificativa) is the corrective document when an issued invoice needs to be cancelled or modified. Professional generates credit notes linked to the original invoice and includes the usual fields from Royal Decree 1619/2012 — original number and date, reason and type. The plugin produces the document from the data you enter; the store owner remains responsible for using it correctly.

  • Open the WooCommerce order that has the invoice to correct.
  • Click Generate credit note in the 8digits Factura panel.
  • Choose the reason (required) and the type: substitution or differences.
  • Confirm. The PDF is created, the original is marked as rectified and the customer is notified by email.
TypeWhen to use itAmounts
Substitution (full)The entire original invoice is cancelled and replaced.All amounts shown as negative.
Differences (partial)Only part of the invoice is corrected.Only the difference appears.

Typical reasons: error in recipient data, goods return, packaging, later discount, incorrect tax rate, or another reason in free text.

Credit notes use the RC series, for example RC-2026-0001. That prefix cannot be used on ordinary invoices. The record stores the original number and date, reason and type, for the audit trail. You cannot issue a credit note without an original invoice, nor duplicate one for the same order unless the previous credit note was voided.

B2B checkout fieldsPro

Professional adds two fields to the WooCommerce checkout billing block and to My Account addresses.

FieldDescription
Legal name / CompanyCustomer’s legal name. Always optional.
NIF / CIF / NIECustomer’s tax identification. Can be made required.
  • NIF: individuals (8 digits and a control letter).
  • NIE: foreign residents (X, Y or Z, digits and a letter).
  • CIF: companies and entities (organisation letter, digits and control).

Validation runs as the customer types and again on the server when the order is placed. In 8Digits Factura → Settings → B2B you can require the NIF; without a valid value the customer cannot complete the purchase.

The data appears on the PDF, in the order billing details and in My Account → Addresses for later orders. B2B checkout fields need the classic checkout or a compatible extension; invoice generation itself works with Blocks.

Customer portalPro

Professional adds a My invoices tab to the WooCommerce My Account page. The customer can view and download their documents without writing to the store.

  • Table with number, type, order, date and amount.
  • PDF download button for each document.
  • Credit notes are marked as Credit note and link to the original.
  • Pagination when there are many documents.

Only invoices for the authenticated account are shown. Download links use expiring nonces and are checked against the order customer.

If the tab does not appear after activating Professional, go to Settings → Permalinks and click Save Changes to regenerate rewrite rules.

Invoice designPro

In the free version the PDF uses the default template with the issuer details. Professional lets you adjust the look from Settings → Design.

  • Logo: PNG or SVG, at least 200 px wide recommended, in the header of each invoice.
  • Colours: background, header, accent, text, secondary text, table header, even and odd rows, border and total.
  • Font sizes: body, title, number, table header, total and footer.
  • Footer: turn it on or off and add your own text (payment terms, IBAN or a legal notice).

Numbering

The number follows the format PREFIX-YYYY-NNNN. The prefix is the configured one (F by default), YYYY is the year of issue and NNNN is the zero-padded sequence within that year and series.

  • Examples: F-2026-0001, F-2026-0042, RC-2026-0003.
  • Each series counter returns to 1 (or the configured start number) at the beginning of the calendar year. 2027 invoices will start at F-2027-0001 even if 2026 ended on a high number.
  • When assigning the number the plugin uses a database lock so two simultaneous orders do not receive the same sequence.

PDF storage and security

PDFs are saved in the WordPress uploads directory, organised by year and month: wp-content/uploads/eightdigits-factura/YYYY/MM/.

The plugin creates an .htaccess file in that folder to block direct URL access. Downloads only go through the plugin endpoint, which checks identity and permissions.

Include that folder in your WordPress backups. If a PDF disappears, it can be regenerated from the invoice record, but copies are still worth keeping.

Download links carry an expiring token (nonce). A link copied outside the system expires. Always download from the admin or, in Pro, from the customer portal.

Frequently asked questions

Are the invoices valid in Spain? The plugin includes the usual fields from Royal Decree 1619/2012. Validity depends on complete company and NIF details. Confirm the setup with a tax adviser.

Can I invoice orders placed before installation? Yes. Open the order and click Generate invoice. The date will be the generation date, not the order date.

Can I edit an invoice after it has been issued? No. If it needs correcting, void it and generate another only if the customer has not received it; if they already have it, issue a credit note (Pro).

What if there is a gap in the numbering? A jump can be a problem with the Spanish Tax Agency. The plugin avoids duplicates and gaps with a lock when assigning the number. If you see a gap, check voided invoices: they keep the number even if they are no longer active.

The customer did not receive the PDF? Resend the email from the order panel and ask them to check junk mail.

Does it work with the block checkout? Invoice generation does. Professional B2B fields need the classic checkout or a compatible extension.

Is it compatible with Veri*factu? We follow the regulatory development. Integration with the AEAT verifiable invoicing system is on the roadmap; we will publish an update when the technical specifications allow it.

What currency does it use? The one configured in WooCommerce → Settings → General → Currency. Spanish stores usually use EUR.

How do I migrate from another programme? Set the series start number to the next free sequence. If the last invoice was 150, use 151, and do it before issuing the first invoice with the plugin.

Troubleshooting

Invoices are not generated automatically.

  • Check that the order status matches a trigger in Settings → Generate invoice when moving to.
  • Verify that the order does not already have an invoice: only one is created per order.
  • Check the server PHP error log for messages from 8digits Factura.

The PDF is blank or missing data.

  • Complete every Seller details field.
  • Review WooCommerce tax settings.
  • Open /wp-admin/?eightdigits_factura_test_pdf=1 to see what is missing from the template.

The portal tab is not visible.

  • Save Settings → Permalinks again.
  • Confirm that the customer is logged in.
  • Check that Professional is active.

The download returns 403 or file not found.

  • The link may have expired. Return to the list and download again.
  • If the file was deleted, click Regenerate PDF and then download.
  • The server must be able to write to wp-content/uploads/eightdigits-factura/.

Validation rejects a valid NIF.

  • A NIF has 8 digits: include the leading zero (01234567Z, not 1234567Z).
  • On a NIE the first letter must be X, Y or Z in uppercase.
  • On a CIF the first letter identifies the entity type (A–H, J–N, P–W).

More help: the free plan uses the WordPress.org support forum for 8digits Factura for WooCommerce. Professional includes priority support through 8digits.es. Technical support is not tax or legal advice.