1---2name: poland-einvoice3description: > Use this skill whenever asked about Polish e-invoicing, KSeF, Krajowy System e-Faktur, faktura ustrukturyzowana, FA(3) schema, structured invoice Poland, e-Faktura, UPO (Urzędowe Poświadczenie Odbioru), KSeF API, KSeF 2.0, batch submission Poland, offline mode KSeF, GTU codes, split payment MPP, NIP validation, or any question about issuing, receiving, validating, or archiving electronic invoices in Poland. Also trigger when preparing FA(3) XML invoices, configuring KSeF API integration, handling KSeF rejection errors, or advising on the transition to mandatory KSeF. This skill covers the FA(3) schema, KSeF API architecture, mandatory fields, validation rules, archiving, penalties, and interaction with Polish VAT returns. ALWAYS read this skill before touching any Polish e-invoicing work.4license: AGPL-3.0-or-later (code) / OpenAccountants Guide License v1.0 (c5---67# Poland E-Invoicing -- KSeF (Krajowy System e-Faktur) Skill v1.089> **General reference only.** This skill is general tax/accounting reference material for AI-assisted workflows. It has not been reviewed for any specific person's facts, documents, elections, deadlines, residency, filing status, or local procedures. Do not rely on it to file, pay, amend, or take a tax position without review by a qualified professional in the relevant jurisdiction.1011---1213## Section 1 -- Quick Reference1415| Field | Value |16|---|---|17| Country | Poland (Rzeczpospolita Polska) |18| Currency | PLN (Polish złoty); foreign currency invoices also supported |19| E-invoicing system | KSeF (Krajowy System e-Faktur) -- Krajowy System e-Faktur 2.0 |20| Invoice format | FA(3) XML (proprietary Polish schema, NOT EN 16931) |21| Governing body | Ministerstwo Finansów (Ministry of Finance) |22| Tax authority | Krajowa Administracja Skarbowa (KAS) |23| Key legislation | Act of 29 October 2021 amending VAT Act (Dz.U. 2021 poz. 2076); RD on KSeF implementation; VAT Act Art. 106na--106nd |24| Portal URL | https://ksef.podatki.gov.pl |25| Schema URL | https://crd.gov.pl/wzor/2025/06/25/13775/ (FA(3) production) |26| API documentation | OpenAPI 3.0.4 specification at ksef.podatki.gov.pl |27| Phase 1 mandatory | 1 February 2026 (businesses with 2024 VAT sales > PLN 200M) |28| Phase 2 mandatory | 1 April 2026 (all remaining VAT-registered businesses) |29| Penalties effective | 1 January 2027 |30| Current status | Fully operational in production since 1 February 2026 |31| Skill version | 1.0 |3233---3435## Section 2 -- Mandate Scope3637### Who Must Comply3839| Scope | From | Requirement |40|---|---|---|41| Large taxpayers (2024 VAT sales > PLN 200M) | 1 February 2026 | Must issue all B2B invoices via KSeF |42| All remaining VAT-registered businesses | 1 April 2026 | Must issue all B2B invoices via KSeF |43| B2G | 1 February 2026 | Invoices to public entities must be issued via KSeF (integration with PEF -- Platforma Elektronicznego Fakturowania) |44| B2C | Not mandatory | Consumer invoices may be issued outside KSeF; if issued via KSeF, buyer receives a visualisation (not the XML) |45| Foreign entities with Polish VAT registration | 1 April 2026 | Must issue structured invoices via KSeF for Polish-taxable transactions |46| Cross-border invoices | Required | All invoices issued by Polish VAT payers, including cross-border, must be reported through KSeF |4748### Exemptions4950- Invoices issued by taxpayers not registered for Polish VAT51- Tickets and simplified invoices for amounts up to PLN 450 (EUR ~100) -- exempt from KSeF but subject to Veri\*factu-like fiscal printer rules52- Invoices from the agricultural flat-rate scheme (rolnik ryczałtowy) issued by the buyer (RR invoices use a separate FA_RR(1) schema)5354### Timeline Summary5556| Date | Milestone |57|---|---|58| October 2021 | KSeF legislative framework enacted |59| January 2022 | Voluntary KSeF 1.0 launched |60| September 2023 | FA(2) schema published |61| April 2025 | AEAT Veri\*factu services enter production |62| June 2025 | KSeF 2.0 API documentation published |63| September 2025 | Open API testing begins |64| October 2025 | Pre-production DEMO environment available |65| 1 February 2026 | KSeF 2.0 production launch; mandatory for large taxpayers; FA(3) schema effective |66| 1 April 2026 | Mandatory for all remaining VAT-registered businesses |67| 1 January 2027 | Financial penalties for non-compliance take effect |6869---7071## Section 3 -- Technical Format7273### FA(3) Schema7475| Parameter | Value |76|---|---|77| Format | Proprietary Polish XML schema (NOT EN 16931 / UBL / CII) |78| Schema version | FA(3) (effective 1 February 2026, replacing FA(2)) |79| Schema location | https://crd.gov.pl/wzor/2025/06/25/13775/ |80| Encoding | UTF-8 |81| Namespace | As defined in FA(3) XSD |82| Validation | XSD schema validation + semantic business rules |8384### FA(3) Root Structure8586| Element | Required | Description |87|---|---|---|88| `Naglowek` | Yes | Header: schema version, form code, creation date |89| `Podmiot1` | Yes | Seller: tax ID (NIP), name, address |90| `Podmiot2` | Yes | Buyer: tax ID (NIP or other), name, address |91| `Podmiot3` | No | Third party (e.g., tax representative, factor) |92| `PodmiotUpowazniony` | Conditional | Authorised entity (if issuing on behalf of seller) |93| `Fa` | Yes | Invoice body: header data, line items, totals, payment, annotations |94| `Stopka` | No | Footer: additional free-text information |95| `Zalacznik` | No | Attachment node (new in FA(3) -- for structured attachments) |9697### Key Differences from EN 169319899| Feature | KSeF FA(3) | EN 16931 |100|---|---|---|101| Schema | Proprietary Polish XSD | UBL 2.1 or CII |102| GTU codes | Required for classified goods/services (GTU_01--GTU_13) | No equivalent |103| MPP marker | Split payment indicator for transactions > PLN 15,000 | No equivalent |104| Adnotacje (annotations) | Mandatory boolean fields (P_16 through P_18A, Zwolnienie, etc.) | Free-text notes |105| Hash/chain integrity | Not in schema (KSeF assigns number) | Not applicable |106| Peppol interoperability | Not supported -- closed national system | Core design principle |107108---109110## Section 4 -- Mandatory Fields111112### Naglowek (Header)113114| Field | Description | Required |115|---|---|---|116| `KodFormularza` | Form code (must be "FA") | Yes |117| `WariantFormularza` | Schema variant (3 for FA(3)) | Yes |118| `DataWytworzeniaFa` | XML creation datetime | Yes |119| `SystemInfo` | Issuing system identifier | Yes |120121### Podmiot1 (Seller)122123| Field | Description | Required |124|---|---|---|125| `DaneIdentyfikacyjne/NIP` | Seller Polish tax ID (NIP, 10 digits) | Yes |126| `DaneIdentyfikacyjne/Nazwa` | Seller full legal name | Yes |127| `Adres` | Seller address (street, city, postal code, country) | Yes |128129### Podmiot2 (Buyer)130131| Field | Description | Required |132|---|---|---|133| `DaneIdentyfikacyjne/NIP` or `NrVatUE` or `KodUE`+`NrID` | Buyer identification | Yes (at least one) |134| `DaneIdentyfikacyjne/Nazwa` | Buyer name | Yes |135| `Adres` | Buyer address | Yes |136137### Fa (Invoice Body)138139| Field | Description | Required |140|---|---|---|141| `P_1` | Invoice issue date (YYYY-MM-DD) | Yes |142| `P_2` | Invoice number (sequential) | Yes |143| `P_3A` or `P_3B` | Sale/service date or period | Yes (one required) |144| `FaWiersz/NrWierszaFa` | Line number (unique, sequential) | Yes |145| `FaWiersz/P_7` | Description of goods/services | Yes |146| `FaWiersz/P_8A` or `P_8B` | Unit of measure | Yes |147| `FaWiersz/P_9A` or `P_9B` | Quantity | Yes |148| `FaWiersz/P_10` | Unit net price (up to 8 decimal places) | Conditional |149| `FaWiersz/P_11` | Line net amount (2 decimal places) | Yes |150| `FaWiersz/P_11A` | Line VAT amount | Conditional |151| `FaWiersz/P_12` | VAT rate (23, 8, 5, 0, zw, oo, np) | Yes |152| `P_13_1` through `P_13_11` | Summary net amounts per rate | Conditional (per applicable rate) |153| `P_14_1` through `P_14_5` | Summary VAT amounts per rate | Conditional |154| `P_15` | Total gross amount (brutto) | Yes |155156### Adnotacje (Annotations -- Mandatory Booleans)157158| Field | Description | Values |159|---|---|---|160| `P_16` | Reverse charge (Art. 17 ust. 1 pkt 7/8) | 1 or 2 |161| `P_17` | Self-supply (Art. 106a pkt 2 lit. b) | 1 or 2 |162| `P_18` | Margin scheme | 1 or 2 |163| `P_18A` | Mechanism of split payment (MPP) | 1 or 2 |164| `Zwolnienie` | VAT exemption basis | Selection required if any line is "zw" |165166### GTU Codes (Goods/Services Classification)167168| Code | Category |169|---|---|170| GTU_01 | Alcohol |171| GTU_02 | Fuel |172| GTU_03 | Heating oil |173| GTU_04 | Tobacco |174| GTU_05 | Waste |175| GTU_06 | Electronic devices |176| GTU_07 | Vehicles and parts |177| GTU_08 | Precious metals |178| GTU_09 | Pharmaceuticals |179| GTU_10 | Buildings/land |180| GTU_11 | Emission allowances |181| GTU_12 | Intangible services (consulting, advisory, legal, management) |182| GTU_13 | Transport services |183184---185186## Section 5 -- Transmission Method187188### KSeF API 2.0189190| Parameter | Detail |191|---|---|192| API specification | OpenAPI 3.0.4 (JSON) |193| Production endpoint | `https://api.ksef.mf.gov.pl/v2` |194| DEMO endpoint | `https://api-demo.ksef.mf.gov.pl/v2` |195| Test endpoint | `https://api-test.ksef.mf.gov.pl/v2` |196| Authentication | Qualified electronic signature, trusted profile (profil zaufany), or KSeF authorisation token |197| Session types | Interactive (real-time, single invoices) or Batch (bulk submission) |198199### Submission Flow2002011. **Authenticate** -- open a KSeF session using certificate, trusted profile, or token2022. **Submit** -- send FA(3) XML file via API endpoint2033. **Validate** -- KSeF performs XSD and semantic validation2044. **Accept or Reject** -- if valid, KSeF assigns a unique KSeF number and timestamp; if invalid, returns error2055. **UPO** -- download Urzędowe Poświadczenie Odbioru (official receipt of acceptance) as proof of issuance2066. **Buyer access** -- buyer retrieves invoice from KSeF using their NIP credentials207208### Alternative Submission Methods209210| Method | Description |211|---|---|212| Aplikacja Podatnika KSeF | Free web application from Ministry of Finance |213| Aplikacja Mobilna KSeF | Free mobile app for issuing/receiving on smartphone |214| e-mikrofirma | Integration with e-Urząd Skarbowy for micro-businesses |215| Batch mode | Upload ZIP of multiple FA(3) XMLs; each validated individually |216217### Offline Mode218219If KSeF is unavailable (system downtime declared by MF), businesses may:2202211. Issue invoices outside KSeF with offline numbering2222. Submit to KSeF within 7 days of system restoration2233. The date of issue (P_1) remains the original date; the KSeF date is the submission date2244. Offline invoices require specific handling and must reference the offline period225226### KSeF Number Format227228Format: `{NIP}-{YYYYMMDD}-{sequential number}` -- assigned by KSeF upon acceptance. This number becomes the primary legal identifier of the invoice.229230---231232## Section 6 -- Validation Rules233234### XSD Validation (First Layer)235236KSeF validates every submitted XML against the FA(3) XSD. Approximately 70% of rejections are XSD validation errors.237238| Common XSD Error | Cause | Resolution |239|---|---|---|240| Missing required element | Required field not populated (e.g., NIP in Podmiot1) | Populate all mandatory fields |241| Wrong date format | Dates must be YYYY-MM-DD (not DD.MM.YYYY or DD/MM/YYYY) | Standardise date formatting |242| Invalid element order | XML elements must follow XSD-defined sequence | Reorder elements per schema |243| Wrong data type | Numeric field contains text or vice versa | Validate field types |244| Excess decimal places | Amounts: max 2 decimals; prices: max 8; quantities: max 6 | Apply correct precision |245246### Semantic Validation (Second Layer)247248| Rule | Description |249|---|---|250| NIP checksum | Seller NIP must pass modulus-11 check digit validation |251| Tax calculation | Sum of line net amounts per rate must equal summary amount (P_13_x); VAT amounts must equal P_14_x |252| Gross total | P_15 must equal sum of all net amounts + all VAT amounts |253| GTU format | Must be exact codes (e.g., `GTU_12` not `12` or `GTU 12`) |254| Duplicate detection | Same seller NIP + invoice number + date = error 440 (duplicate) |255| Adnotacje completeness | All mandatory annotation fields (P_16, P_17, P_18, P_18A) must be populated |256| Zwolnienie logic | If any line has rate "zw", the Zwolnienie element must specify the exemption basis |257| Currency handling | Foreign currency invoices must include PLN conversion amounts in separate fields |258259### Common Rejection Scenarios260261| Issue | Resolution |262|---|---|263| Polish NIP in NrVatUE field | Polish NIPs go in the NIP field; NrVatUE is for EU VAT numbers with country prefix |264| Rounding mismatch | Use banker's rounding; ensure line totals sum to header totals within 1 grosz |265| Negative quantities on non-corrective invoice | Only corrective invoices (korekta) may have negative values |266| Missing Adnotacje fields | Even if not applicable, P_16 through P_18A must contain value "2" (not applicable) |267| Invalid bank account format | Polish IBAN must be exactly 26 characters (digits only, no PL prefix in domestic format) |268269---270271## Section 7 -- Tax Computation Rules272273### VAT Rates (2025/2026)274275| Rate Code | Rate | Application |276|---|---|---|277| 23 | 23% | Standard rate |278| 8 | 8% | Reduced (construction, certain food, medical) |279| 5 | 5% | Reduced (basic food, books, periodicals) |280| 0 | 0% | Zero-rated (intra-EU supplies, exports) |281| zw | Exempt | VAT-exempt supplies (must specify exemption basis) |282| oo | Not subject | Out-of-scope transactions |283| np | Not applicable | Supplies not subject to Polish VAT (e.g., place of supply outside Poland) |284285### Rounding286287- Line net amount (`P_11`): 2 decimal places288- Unit price (`P_10`): up to 8 decimal places289- Quantity (`P_9A`/`P_9B`): up to 6 decimal places290- VAT amount per line (`P_11A`): 2 decimal places291- Gross total (`P_15`): 2 decimal places292- Use banker's rounding (round half to even) for consistency with KSeF validation293- Sum of line amounts must exactly equal the corresponding summary field -- no tolerance294295### Multi-Rate Invoice Handling296297- Each applicable VAT rate has dedicated summary fields (P_13_1/P_14_1 for 23%, P_13_2/P_14_2 for 8%, etc.)298- Line items reference the rate via P_12299- If a single invoice has lines at 23%, 8%, and exempt, all three summary pairs must be populated300- P_15 (gross total) = sum of all P_13_x + sum of all P_14_x301302### Split Payment (Mechanizm Podzielonej Płatności -- MPP)303304- Mandatory for transactions > PLN 15,000 gross involving goods/services listed in Annex 15 to the VAT Act305- Set annotation P_18A = 1 when MPP applies306- Invoice must include the phrase "mechanizm podzielonej płatności"307- Payment is split: net amount to seller's account, VAT amount to seller's VAT account308309### Corrective Invoices (Faktury Korygujące)310311- Must reference the original KSeF number of the corrected invoice312- Show both "before" and "after" values, or the difference313- Use same FA(3) schema with corrective-specific fields populated314- KSeF validates that the referenced original invoice exists and belongs to the same seller NIP315316---317318## Section 8 -- Archiving Requirements319320| Requirement | Detail |321|---|---|322| KSeF as legal archive | KSeF stores all accepted invoices for 10 years -- this constitutes the legal archive |323| No separate archiving needed | Once accepted by KSeF, the invoice is legally archived; businesses do not need to maintain separate copies for VAT purposes |324| Attachments | KSeF does NOT store attachments (Zalacznik node in FA(3) is metadata only); supporting documents (contracts, delivery notes) must be archived separately by the business |325| UPO retention | Retain UPO (official receipt) as proof of successful submission |326| Pre-KSeF invoices | Invoices issued before KSeF mandate remain subject to standard Polish archiving rules (5 years from end of tax year) |327| Access | Both seller and buyer can retrieve invoices from KSeF at any time during the retention period using their NIP credentials |328| Audit | Tax authorities have direct access to all KSeF invoices; no separate data provision needed during audits |329330---331332## Section 9 -- Penalties for Non-Compliance333334Financial penalties take effect from 1 January 2027. During 2026, the practical consequences of non-compliance are primarily operational (invoices not legally valid for VAT deduction).335336| Violation | Penalty |337|---|---|338| Issuing invoice outside KSeF (when mandatory) | Up to 100% of the VAT amount on the invoice |339| Invoice not conforming to FA(3) schema | Rejection by KSeF -- invoice not legally issued; must correct and resubmit |340| Failure to issue invoice at all | Standard VAT Act penalties apply (up to 720 daily rates under fiscal penal code) |341| Late submission in offline mode | Must submit within 7 days of system restoration; late submission may trigger penalties |342| Buyer deducting input VAT from non-KSeF invoice | Input VAT deduction denied -- buyer bears the risk |343| Using non-KSeF invoices after mandate date | Trading partners on compliant systems may reject non-KSeF invoices |344345### Practical Risks During 2026 (Before Penalty Enforcement)346347- Invoices not submitted through KSeF are not legally valid for VAT deduction purposes348- Trading partners may refuse non-KSeF invoices349- Audit exposure increases as KAS cross-references KSeF data350351---352353## Section 10 -- Interaction with Tax Skills354355### VAT Return Integration356357- KSeF data directly feeds into JPK_VAT (Jednolity Plik Kontrolny) -- the standard audit file for VAT358- JPK_V7M (monthly) and JPK_V7K (quarterly) declarations must reconcile with invoices in KSeF359- KSeF invoice numbers are used as references in JPK records360- GTU codes from KSeF invoices must match GTU markings in JPK_VAT361- Split payment (MPP) markers from KSeF feed into JPK_VAT classification362- Tax authorities can automatically cross-check KSeF invoices against JPK declarations in real-time363364### e-Urząd Skarbowy Integration365366- The e-mikrofirma module in e-Urząd Skarbowy connects directly to KSeF367- Taxpayers can issue invoices in KSeF and transfer data directly to VAT records without manual re-entry368- Pre-filled VAT returns based on KSeF data are progressively being developed369370### Income Tax Integration371372- For sole proprietors (JDG -- jednoosobowa działalność gospodarcza), KSeF invoice data feeds into the annual PIT-36/PIT-36L return373- Revenue and cost figures must reconcile with KSeF records374- KSeF provides an authoritative source for income verification during audits375376### Cross-Border Considerations377378- All invoices issued by Polish VAT payers, including intra-EU and export invoices, must be reported through KSeF379- Intra-EU supplies must be reported in both KSeF and the EU VAT Information Exchange System (VIES) via VAT-UE declaration380- Import VAT (from customs declarations) is handled separately but must reconcile with purchase invoices in KSeF381382### PEF (Platforma Elektronicznego Fakturowania) Integration383384- B2G invoices previously submitted through PEF are being migrated to KSeF385- From 1 February 2026, PEF forwards invoices to KSeF production environment386- Public entities receive invoices through KSeF with PEF acting as an intermediary during transition387388---389390## Disclaimer391392This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a doradca podatkowy, biegły rewident, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon.393394The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com). Log in to access the latest version, request a professional review from a licensed accountant, and track updates as tax law changes.395396---397398_Source: [OpenAccountants](https://openaccountants.com/skills/poland-einvoice) — open tax Guides for AI, reviewed by named CPAs/CAs/EAs. Quality: **source-cited draft**. For always-current figures and named-accountant backing, connect the OpenAccountants MCP server (`openaccountants-mcp`)._