Completez E-Invoicing For WooCommerce Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Your shop receives an order and the invoice appears on its own: numbered from the company’s series, carrying the order’s VAT, filed with ANAF through RO e-Factura (SPV) and sent to the customer by e-mail. Nothing has to be copied by hand from one system into another.
Quick setup. Paste an API key, choose the order status that triggers issuing, and that’s it — three steps, no XML to configure and no digital certificate to install. The settings screen shows you at a glance the company tied to the key, the environment (test or production), whether the ANAF authorisation is valid, and how many invoices you have left this month.
The plugin does not generate invoices itself and does not talk to ANAF directly. It sends the order to the invoicing service facturare.completez.ro, which assigns the number from the series, builds the UBL 2.1 XML according to CIUS-RO and files it with the Romanian tax authority’s SPV. The result: an invoice issued from the shop looks exactly like one issued from the service, and numbering stays a single series — not two sources overwriting each other.
RO e-Factura is Romania’s national electronic invoicing system, mandatory for business transactions. This plugin is the bridge between your WooCommerce shop and that obligation.
Completez E-Invoicing is an independent product by Completez. It is not affiliated with, endorsed or sponsored by WooCommerce, Automattic or ANAF (the Romanian tax administration). WooCommerce is a trademark of Automattic Inc.; RO e-Factura and SPV are public services of ANAF, named here only to describe what the plugin connects to.
What it does
- Quick setup — the API key, the status that triggers issuing, and the shop invoices on its own.
- Issues the invoice at the status you choose — “Completed”, “Processing” or any other.
- Files the invoice with ANAF (SPV) and tracks the reply: “accepted” or “rejected” land back on the order.
- Sends the invoice to the customer by e-mail, with the PDF attached, and adds it under My account Orders.
- Recognises companies by the tax ID (CUI) from checkout and fills in the rest from the ANAF registry.
- Takes the order’s VAT line by line, exactly as WooCommerce calculated it, not from today’s settings: an old order is invoiced with the rate it had then.
- Shipping and fees become invoice lines; coupons and discounts are already reflected in the line amounts.
- Credit notes (storno) from a single button, or automatically on a full refund (off by default).
- Each order’s status is shown in a column in the order list: issued, processing, accepted, rejected, error.
Don’t lose invoices
Issuing does not happen during checkout. A call that includes filing with ANAF can take seconds, and ANAF does go down now and then; placed at payment completion, it would keep the customer on the processing page and, on a timeout, throw an error over an order that was already paid.
That is why the order enters the WooCommerce queue (Action Scheduler) and goes out right after. If issuing fails, the plugin retries on its own, with growing pauses (2 minutes to 12 hours, six attempts). Errors that a retry cannot fix — an incomplete address, a wrong key — stop on the first try, with the reason written into the order note.
The same order never receives two invoices: every request carries a unique identifier (wc_order_1024), and the service returns the invoice already issued instead of making another.
Built for invoices that pass at ANAF
The things that, in practice, decide whether an invoice is accepted or rejected:
- The county is sent in a form ANAF understands. “Bucureşti” written with a Turkish cedilla (as it comes from many themes and imports) is not the same as “București” with a comma below, and that difference is the difference between a filed invoice and a rejected one.
- The Bucharest sector is derived from the address, because ANAF requires “SECTOR 3”, not “București”, as the locality.
- Broken text (the “�” character, from old databases or CSV imports in CP1252) is cleaned before sending and flagged in the order note. On a filed invoice, a single wrong letter can only be corrected through a credit note.
- Discounts do not become negative-price lines — UBL does not allow them — but are distributed proportionally across the invoice lines, preserving the total and the VAT per rate.
- The unit price is computed so that, multiplied by the quantity, it yields exactly the amount the customer paid, with no one-penny drift.
- An incomplete address stops issuing with a message that says what is missing, instead of sending an invoice that then gets stuck at filing.
What you need
An account on facturare.completez.ro with the company authorised at ANAF, and an API key with write permission, created under Integrations.
External services
The plugin sends order data to facturare.completez.ro, the service that issues the invoice and files it with ANAF. Without this service, the plugin has nothing to do.
What is sent, when an invoice is issued: the customer’s billing data (name or company name, tax ID if present, address, locality, county, country, e-mail, phone), the order lines (names, quantities, prices, VAT rates), shipping, fees, currency, payment method, the order number and date, plus an internal identifier of the order and of the customer.
When it is sent: when the invoice is issued (automatically, at the configured status, or manually from the order), when a filing is retried, on a credit note, and when fetching the PDF.
The data reaches ANAF as part of the electronic invoice, under the legal reporting obligation (RO e-Factura).
Service: facturare.completez.ro · API documentation
Terms: facturare.completez.ro/termeni · Privacy: facturare.completez.ro/privacy
Screenshots
Plugin settings: the state of the link with the service — company, environment, ANAF authorisation, series and invoices left this month.
The getting-started steps, while no key is configured yet.
The “e-Factura” column in the order list: each invoice’s status, at a glance.
The box on the order: invoice number, ANAF index and the buttons for retry, PDF, e-mail and credit note.
The order notes, where everything that happened at issuing and filing is written.

