=== UZYTAK KSeF Invoices for WooCommerce ===
Contributors: uzytak
Tags: ksef, invoice, faktura, nip, woocommerce
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Polish e-invoices for WooCommerce: NIP at checkout, invoice numbers, KSeF XML (FA(3)) and a printable invoice for every order. 10 languages.

== Description ==

Since 2026 Polish businesses issue their invoices in KSeF, the national e-invoicing system. This plugin turns your WooCommerce orders into invoices that are ready for KSeF.

* **"I need an invoice" at checkout** — a tick box, the NIP (checked with the official checksum) and the company name. Works with the classic checkout and with the checkout block (WooCommerce 8.9 or newer). Foreign EU customers can enter their VAT number.
* **Invoice numbers** — your own pattern, for example FV/{year}/{month}/{n}; numbering every month, every year or continuous. Never the same number twice.
* **Structured invoice FA(3)** — the official XML format of KSeF, made from the order: products, shipping and fees as lines, discounts included in the prices, VAT rates 23%, 8%, 5%, 0%, zw and np from your WooCommerce tax rates, totals per rate, payment form and term, bank account. Checked against the official FA(3) schema.
* **VAT-exempt sellers** — every line "zw" with the legal basis (for example art. 113 ust. 1 ustawy o VAT).
* **Printable invoice** in Polish, as the law requires — print it or save it as PDF in the browser.
* **Create invoices** one by one, in bulk from the orders list, or automatically when an order becomes Processing or Completed.
* **Invoice column** in the orders list, invoice number in the order e-mails, search by invoice number, the invoice for the customer under My account → Orders.
* **HPOS** (High-Performance Order Storage) and the legacy order storage are both supported.

= Sending to KSeF =

Download the XML of the invoice and send it in the free Aplikacja Podatnika KSeF of the Ministry of Finance (ap.ksef.mf.gov.pl). Then paste the KSeF number into the order; it is printed on the invoice.

The add-on **UZYTAK KSeF Invoices Pro** (separate plugin) sends the invoices directly to KSeF through the official API: on a button, in bulk or automatically on an order status. It keeps the KSeF number and the official receipt (UPO), prints the verification QR code on the invoice and retries with clear messages.

= 10 languages =

Admin and checkout in Deutsch, English, Español, Français, Italiano, Nederlands, Polski, Svenska, Русский, Українська. The invoice document itself is always in Polish.

= Private =

Invoices are stored only in your WordPress database, in the order. The plugin sends nothing to UZYTAK or anyone else, loads nothing from other servers and sets no cookies.

= Disclaimer =

This plugin helps you create e-invoices and send them to KSeF. You, the seller, are responsible for the content of each invoice and for its tax treatment. It is not tax advice; check with your accountant how to set up VAT for your shop.

== Installation ==

1. Install the plugin from Plugins → Add New, or upload the zip, and activate it. WooCommerce must be active.
2. Go to WooCommerce → KSeF invoices and fill in the seller NIP, name and address, the invoice number pattern and the VAT settings.
3. Open an order and press "Create invoice", or choose automatic invoices in the settings.

== Frequently Asked Questions ==

= Which orders can be invoiced? =

Orders in PLN with Polish VAT rates (23, 8, 5, 0%, zw, np). Foreign OSS rates and other currencies are not supported in this version.

= Can I change an invoice? =

No. An invoice does not change after it is created, like on paper. If it was not sent to KSeF yet, you can delete it (its number is not used again) and create a new one. Corrections of invoices that are in KSeF are not part of this version.

= Is a consumer (B2C) invoice possible? =

Yes. Without a NIP the buyer is written as a consumer (BrakID). Sending B2C invoices to KSeF is optional.

= Does it work with the checkout block? =

Yes, with WooCommerce 8.9 or newer. With WooCommerce 9.9 or newer the NIP and company fields appear only when the box is ticked.

== Screenshots ==

1. "I need an invoice" with NIP at checkout.
2. The invoice box in the order.
3. Printable invoice.
4. Settings.

== Changelog ==

= 1.0.0 =
* First release: NIP at checkout (classic and block), invoice numbers, FA(3) XML, printable invoice, bulk and automatic invoices, 10 languages.
