跳至主要内容

Odoo 波兰本地化 2026:KSeF 电子发票、增值税和 JPK

配置 Odoo 以实现波兰合规性:l10n_pl_edi KSeF 强制要求 2026 年 2 月/4 月,增值税 23%,JPK_V7 记录,MPP 分期付款附件 15,白名单。

E
ECOSIRE Research and Development Team
|2026年5月4日11 分钟阅读2.0k 字数|

本文目前仅提供英文版本。翻译即将推出。

Poland's National e-Invoicing System (Krajowy System e-Faktur, KSeF) becomes mandatory for B2B invoicing in 2026 after multiple postponements.

Poland's National e-Invoicing System (Krajowy System e-Faktur, KSeF) becomes mandatory for B2B invoicing in 2026 after multiple postponements. The Ministry of Finance confirmed the new staged timeline in 2025: the largest taxpayers (annual sales above PLN 200 million) must use KSeF from 1 February 2026, with all other VAT-registered taxpayers following from 1 April 2026. Beyond KSeF, Poland requires Standard Audit Files for Tax (Jednolity Plik Kontrolny, JPK) covering invoices (JPK_FA), VAT (JPK_V7M/V7K), and accounts (JPK_KR), making it one of Europe's most digitally-controlled tax environments. Odoo's l10n_pl localization is well-developed, with l10n_pl_edi providing KSeF integration.

Key Takeaways

  • Ministry of Finance / KAS administers VAT (23%), CIT (19%/9%), and PIT (12%/32%)
  • KSeF mandatory: large taxpayers (>PLN 200M) from 1 Feb 2026; all VAT-registered from 1 Apr 2026
  • Odoo l10n_pl provides chart of accounts; l10n_pl_edi provides KSeF FA(2) integration
  • JPK_V7M/V7K replaced traditional VAT returns since October 2020 — combined declaration + records
  • Split payment (Mechanizm Podzielonej Platnosci, MPP) mandatory for specific Annex 15 goods/services
  • White List of VAT taxpayers verification required for B2B payments above PLN 15,000
  • Statutory reports include JPK_V7, JPK_FA, JPK_KR, CIT-8, PIT-11

Poland Tax Framework Overview

KAS (Krajowa Administracja Skarbowa) under the Ministry of Finance enforces:

  • VAT: 23% standard rate; 8% reduced (food in restaurants, hotels, some construction); 5% (basic foods, books); 0% on exports and intra-EU supplies; exempt for financial services, healthcare, education
  • CIT (Corporate Income Tax): 19% standard; 9% for small taxpayers (revenue under EUR 2M)
  • PIT (Personal Income Tax): 12% (up to PLN 120,000) and 32% (above)
  • Solidarity Levy: 4% on personal income above PLN 1 million
  • Sugar Tax / Health Levies: On sugary beverages, retail (specific industries)

Poland enforces compliance through multiple data points — KSeF clears invoices in real-time; JPK files provide audit trail; the White List validates VAT taxpayer status; split payment ensures VAT collection on high-risk supplies.

Required Odoo Localization Modules

ModulePurposeEdition
l10n_plPoland chart of accounts and VATCommunity
l10n_pl_ediKSeF FA(2) integrationEnterprise
l10n_pl_jpkJPK file exports (V7, FA, KR, MAG)Enterprise / Custom
l10n_pl_account_checkPolish bank file formats (Elixir)Community
account_reportsVAT, CIT report templatesEnterprise
hr_payroll_l10n_plZUS, PIT-4, PFRONEnterprise / Custom

The OCA Poland community (project-poland) supplements Odoo Enterprise with additional JPK and KSeF flavors. Active community development ensures keeping pace with KAS schema updates.

Chart of Accounts Setup

Polish accounting law (Ustawa o rachunkowosci) and the National Accounting Standards govern the chart structure. The l10n_pl chart provides:

  • 0: Aktywa trwale (fixed assets)
  • 1: Srodki pieniezne (cash and equivalents)
  • 2: Rozrachunki (settlements - receivables and payables)
  • 3: Materialy i towary (materials and goods)
  • 4: Koszty rodzajowe (expenses by nature)
  • 5: Koszty wedlug funkcji (expenses by function, optional)
  • 6: Produkty i rozliczenia (products and adjustments)
  • 7: Przychody (revenues)
  • 8: Kapitaly i fundusze (capital and funds)

Configure the company record with:

  • NIP (Numer Identyfikacji Podatkowej, 10 digits) - tax ID
  • REGON (9 or 14 digits) - statistical number
  • KRS (10 digits) - National Court Register
  • PKD code - business activity classification
  • KSeF authorization (UPL-1 grant or qualified signature)

VAT Configuration

Configure VAT tax records:

Tax NameRateTypeNotes
VAT 23% Sprzedaz23%SalesStandard
VAT 8% Sprzedaz8%SalesReduced (some foods, construction, hotels)
VAT 5% Sprzedaz5%SalesBasic foods, books
VAT 0% Eksport0%SalesExports outside EU
WDT (Intra-EU)0%SalesGoods to EU VAT-registered
VAT Zwolniony0%SalesExempt - financial, healthcare
VAT 23% Zakup23%PurchaseRecoverable
Reverse Charge MPP23%PurchaseMandatory split payment goods

Annex 15 to the VAT Act lists goods and services subject to mandatory split payment when the invoice value exceeds PLN 15,000 gross. Items include construction services, electronics (tablets, smartphones), steel, copper, metals scrap, fuel.

<record id="account_tax_pl_23_sale_mpp" model="account.tax">
    <field name="name">VAT 23% Sprzedaz - MPP (Annex 15)</field>
    <field name="amount">23</field>
    <field name="amount_type">percent</field>
    <field name="type_tax_use">sale</field>
    <field name="l10n_pl_split_payment_required">True</field>
    <field name="l10n_pl_jpk_code">P_19</field>
</record>

KSeF Integration

KSeF (Krajowy System e-Faktur) is the National e-Invoicing System operated by KAS. The flow:

  1. Invoice approved in Odoo
  2. l10n_pl_edi generates FA(2) XML per KSeF schema
  3. Authentication: token (UPL-1 grant) or qualified electronic signature/seal
  4. POSTs invoice to KSeF API (https://ksef-api.mf.gov.pl)
  5. KSeF assigns KSeF Reference Number (NumerKSeF) and stores the invoice
  6. Buyer can retrieve from KSeF using their own credentials
  7. The seller can deliver KSeF reference (and PDF visualization) to the buyer outside KSeF

Key KSeF facts:

  • Invoice issuance date is when KSeF accepts and stamps the invoice
  • "Faktura ustrukturyzowana" (structured invoice) replaces traditional invoices for B2B
  • KSeF stores invoices for 10 years - replacing the seller's archival burden
  • B2C invoices remain optional in KSeF; consumers can request paper or PDF

Phased mandate:

DateScope
1 February 2026Active VAT taxpayers with sales above PLN 200M (2024 figures)
1 April 2026All other active VAT taxpayers
1 January 2027Exempt VAT taxpayers and certain B2B simplified invoices (likely)

The schedule has shifted multiple times; verify the current Ministry of Finance announcements before assuming dates.

JPK Files

Poland's Standard Audit Files for Tax (Jednolity Plik Kontrolny):

JPK FilePurposeFrequency
JPK_V7M / JPK_V7KCombined VAT declaration + recordsMonthly / Quarterly
JPK_FASales invoice registerOn audit demand
JPK_KRAccounting booksOn audit demand
JPK_MAGWarehouse movementsOn audit demand
JPK_PKPIRTax book of revenues and expensesOn audit demand

JPK_V7 is the most operationally important — submitted monthly/quarterly to MoF, it combines the VAT return with detailed record-level data. KSeF will eventually subsume JPK_FA functionality, but JPK_V7 remains separate.

Odoo's l10n_pl_jpk module exports JPK files in the prescribed XML schema with proper code mappings.

Split Payment (MPP)

Mandatory split payment applies when:

  • The invoice contains at least one Annex 15 item
  • The gross invoice value exceeds PLN 15,000

Buyer pays:

  • Net amount + non-Annex-15 VAT to seller's regular bank account
  • VAT on Annex-15 items to seller's special VAT account

The seller's VAT account is restricted (used only for VAT payments to the tax office and certain other VAT-related transfers). This mechanism ensures VAT cannot be pocketed.

Configure invoices:

  • Identify Annex 15 items at product level (boolean flag)
  • Display "Mechanizm podzielonej platnosci" (Split Payment Mechanism) on the invoice
  • Suppress payment terms allowing direct full payment

White List Verification

Before paying any B2B invoice above PLN 15,000 gross to a Polish supplier, the buyer must verify the supplier's bank account against the White List of VAT Taxpayers. Payment to an unlisted account exposes the buyer to:

  • Joint liability for the supplier's unpaid VAT
  • Disallowance of the cost as deductible

Odoo workflows should call the White List API (https://wl-api.mf.gov.pl) at payment time and either confirm or block the transfer.

Payroll Considerations

Polish payroll components:

ItemEmployeeEmployerNotes
ZUS Pension9.76%9.76%Social insurance
ZUS Disability1.5%6.5%
ZUS Sickness2.45%0%Voluntary for self-employed
ZUS AccidentN/A0.67%-3.86%Industry-specific
Health Insurance (NFZ)9%0%On gross (no longer deductible against PIT)
Labour FundN/A1%
FGSP (Solvency Fund)N/A0.1%
PPK (Employee Capital Plans)2%1.5%Optional opt-out
PIT12%/32%N/ABrackets at PLN 120,000
PFRONN/AVariableIf 25+ employees, disability quota

PIT-4 monthly withholding and ZUS contribution remittance follow strict deadlines.

Reporting Requirements

A Polish Odoo deployment must produce:

  • JPK_V7M/V7K: Monthly or quarterly VAT declaration + records by the 25th
  • JPK_FA: On KAS demand within 3 days
  • JPK_KR: On KAS demand
  • CIT-8: Annual corporate income tax return by end of March
  • PIT-11: Annual employee income statement by end of February
  • ZUS DRA / RCA / RZA: Monthly social insurance returns
  • PFRON: Monthly disability fund payment if applicable
  • Intrastat: Monthly intra-EU trade statistics

Implementation Checklist

  1. Confirm NIP, REGON, KRS, PKD code
  2. Obtain qualified electronic signature/seal or KSeF token (UPL-1)
  3. Install l10n_pl and l10n_pl_edi; configure NIP, KSeF auth
  4. Verify chart of accounts; map VAT control accounts
  5. Configure VAT 23%, 8%, 5%, 0%, exempt; reverse charge codes
  6. Tag Annex 15 products for mandatory split payment
  7. Implement White List verification at payment
  8. Configure KSeF submission (test environment first, then production)
  9. Build JPK_V7 export per current MoF schema
  10. Configure payroll with current ZUS rates and 2026 PIT brackets
  11. Schedule monthly filings: JPK_V7 by 25th, ZUS by 15th, PIT-4 by 20th

Common Pitfalls

Wrong KSeF auth type: Token-based auth (UPL-1) versus qualified signature have different setup. Choose based on company structure and renew tokens before expiry.

Missing Annex 15 product flag: Selling Annex 15 items without MPP marking exposes buyers to joint liability — they may refuse payment or insist on rebilling.

Incorrect JPK_V7 schema version: KAS updates JPK_V7 schema periodically. Outdated versions cause submission rejection.

White List skipped: B2B payments above PLN 15,000 to unlisted accounts trigger joint VAT liability. Always verify before transfer.

KSeF dates confused: Invoice date in KSeF is when KSeF accepts (not when the seller drafted). VAT recognition date may differ. Configure date logic explicitly.

ECOSIRE provides Odoo localization for Poland, including KSeF integration, JPK exports, and ZUS-compliant payroll. Contact us for implementation or explore our accounting services.

Frequently Asked Questions

When is KSeF mandatory for my company?

Per the 2025 announcements: 1 February 2026 for active VAT taxpayers with 2024 sales above PLN 200 million. 1 April 2026 for all other active VAT taxpayers. Smaller and exempt taxpayers may have later dates per subsequent legislation. Confirm the current schedule with your tax advisor as the timeline has changed multiple times.

Can we still issue paper invoices after KSeF mandate?

For B2B transactions in scope of the mandate, the structured KSeF invoice is the official document. The seller may also send a PDF copy outside KSeF for buyer convenience, but the legal invoice is the KSeF version. B2C remains flexible — paper or PDF is acceptable, but B2C can opt into KSeF voluntarily.

Does KSeF replace JPK_FA?

Eventually, yes — once all B2B invoices flow through KSeF, JPK_FA's role diminishes. However, JPK_FA remains required during the transition for invoices not yet in KSeF and for historical periods. JPK_V7 (combined VAT declaration) continues independently of KSeF.

How does Odoo handle the White List verification?

Odoo's l10n_pl extensions can call the White List API at vendor onboarding and at payment authorization. The verification result is logged on the vendor record with timestamp. ECOSIRE's deployment pattern uses scheduled re-verification monthly plus on-demand at payment time to keep the data fresh.

What is the difference between JPK_V7M and JPK_V7K?

JPK_V7M is monthly (for monthly VAT taxpayers); JPK_V7K is quarterly (for quarterly VAT taxpayers, mostly small entities). Both have the same schema covering declaration + records. Frequency choice depends on your VAT settlement period configured with KAS.

E

作者

ECOSIRE Team

Technical Writing

The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.

ECOSIRE

使用 Odoo ERP 转变您的业务

专家 Odoo 实施、定制和支持可简化您的运营。