Skip to content

Commit e7d4243

Browse files
committed
[ADD] accounting: adding polish localization
taskid-5935346 Focusing on e-Invoicing for now as there is a number of requests. 19.4: bank account verification module is merged into l10n_pl, is no longer a stand-alone closes #18366 X-original-commit: 427e7c1 Signed-off-by: Tom Horrent (tohor) <tohor@odoo.com>
1 parent 9099000 commit e7d4243

2 files changed

Lines changed: 164 additions & 1 deletion

File tree

content/applications/finance/fiscal_localizations.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Fiscal localization modules are available for the countries listed below.
119119
- Panama
120120
- :doc:`Peru <fiscal_localizations/peru>`
121121
- :doc:`Philippines <fiscal_localizations/philippines>`
122-
- Poland
122+
- :doc:`Poland <fiscal_localizations/poland>`
123123
- Portugal
124124
- Qatar
125125
- :doc:`Romania <fiscal_localizations/romania>`
@@ -183,6 +183,7 @@ Fiscal localization modules are available for the countries listed below.
183183
fiscal_localizations/oman
184184
fiscal_localizations/peru
185185
fiscal_localizations/philippines
186+
fiscal_localizations/poland
186187
fiscal_localizations/romania
187188
fiscal_localizations/saudi_arabia
188189
fiscal_localizations/singapore
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
======
2+
Poland
3+
======
4+
5+
.. _localizations/poland/modules:
6+
7+
Modules
8+
=======
9+
10+
The following modules are installed automatically with the Polish localization:
11+
12+
.. list-table::
13+
:header-rows: 1
14+
:widths: 25 25 50
15+
16+
* - Name
17+
- Technical name
18+
- Description
19+
* - :guilabel:`Poland - Accounting`
20+
- `l10n_pl`
21+
- Polish :ref:`fiscal localization package <fiscal_localizations/packages>`, complete with the
22+
local chart of accounts, taxes, tax report, and fiscal positions
23+
* - :guilabel:`Poland - Accounting Reports`
24+
- `l10n_pl_reports`
25+
- Accounting reports for Poland
26+
* - :guilabel:`Polish - E-Invoicing FA (3)`
27+
- `l10n_pl_edi`
28+
- Integration module for KSeF to support Polish e-Invoicing requirements
29+
* - :guilabel:`Poland - Taxable Supply Date`
30+
- `l10n_pl_taxable_supply_date`
31+
- Support for taxable supply dates
32+
* - :guilabel:`Poland - Accounting - Bank Account Verification`
33+
- `l10n_pl_bank_verification`
34+
- Verification of the VAT/Bank account number combination for PL-to-PL payments exceeding
35+
15,000 PLN
36+
* - :guilabel:`Poland - JPK FA Reports`
37+
- `l10n_pl_reports_jpk_fa`
38+
- Module to generate JPK_FA XML reports for Poland
39+
* - :guilabel:`Poland - JPK_VAT PoS Enterprise`
40+
- `l10n_pl_reports_pos_jpk`
41+
- Integration module for PoS information in the Polish JPK report
42+
* - :guilabel:`Poland - SAFT Income Tax Report (JPK KR PD)`
43+
- `l10n_pl_reports_account_saft`
44+
- Module to generate the JPK_KR_PD XML report for Poland
45+
46+
.. note::
47+
In some cases, such as when upgrading to a version with additional modules, it is possible that
48+
modules may not be installed automatically. Any missing modules can be manually :ref:`installed
49+
<general/install>`.
50+
51+
.. _localizations/poland/ksef:
52+
53+
E-invoicing with KSeF
54+
=====================
55+
56+
`KSeF <https://ksef.podatki.gov.pl/>`_ is Poland's mandatory, centralized electronic invoicing
57+
system used to issue, transmit, and store electronic invoices according to national regulations.
58+
59+
.. _localizations/poland/ksef-configuration:
60+
61+
.. seealso::
62+
`KSeF platform video tutorials of the Polish Ministry of Finance <https://www.youtube.com/watch?v=V6E1fGUFPw4&list=PLGj5OAFBHLKX0cEVGjcGplnbX6LpDFF38&index=1>`_
63+
64+
Configuration
65+
-------------
66+
67+
To use KSeF e-Invoicing with Odoo, first `create a KSeF account <https://ap.ksef.mf.gov.pl/web/>`_
68+
or log in using your company's NIP if you already have credentials. Next, request a certificate and
69+
ensure you save the password created during this process, as it will be required later.
70+
71+
Once the certificate request is complete, download the `.pem` **certificate file** and save the
72+
**private key** issued by KSeF. You will need both to complete the Odoo integration.
73+
74+
.. _localizations/poland/linking-ksef:
75+
76+
Link Odoo to KSeF
77+
~~~~~~~~~~~~~~~~~
78+
79+
.. seealso::
80+
`KSeF test and pre-production environments <https://ksef.podatki.gov.pl/aplikacja-podatnika-ksef-20/>`_
81+
82+
#. Open the **Accounting** app and navigate to :menuselection:`Configuration --> Settings`.
83+
#. Scroll down to the :guilabel:`Polish Localization` section and enable :guilabel:`Allow KSeF
84+
integration`.
85+
#. Enter a name for your KSeF certificate in the newly enabled field, then select :guilabel:`Create
86+
and edit...` from the drop-down menu.
87+
#. In the pop-up window, click :guilabel:`Upload your file` and select your **certificate**
88+
(`.pem`). In the :guilabel:`Certificate Password` field, enter the password created during the
89+
certificate application on the KSeF platform.
90+
#. Once the certificate is uploaded, the :guilabel:`Private Key` field appears. Click the empty
91+
field, select :guilabel:`Create` from the drop-down menu, and enter your **private key**. The
92+
**public key** is embedded within the `.pem` file and is automatically filled in.
93+
#. Finally, click :guilabel:`Save`.
94+
95+
.. _localizations/poland/company-and-contacts:
96+
97+
Company and customers
98+
~~~~~~~~~~~~~~~~~~~~~
99+
100+
The KSeF invoicing workflow requires address information related to the company that sends the
101+
invoices and the customers who receive them:
102+
103+
#. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that
104+
will use KSeF.
105+
#. Fill in the :guilabel:`Company Name`, :guilabel:`VAT` (Tax ID), and :guilabel:`Country`. If
106+
desired, fill in additional optional fields such as :guilabel:`Street`, :guilabel:`City`,
107+
:guilabel:`State`, and :guilabel:`ZIP`.
108+
109+
.. important::
110+
- The :guilabel:`Country` must be set to :guilabel:`Poland`.
111+
- The company must have a valid Polish VAT (**NIP**) number.
112+
113+
#. Open the **Accounting** app, and go to :menuselection:`Customers --> Customers`.
114+
#. For each customer whose invoices will be sent to KSeF, click on the customer to open the form
115+
view, and complete the :guilabel:`Country` and :guilabel:`VAT`. If desired, fill in additional
116+
optional fields such as :guilabel:`Street`, :guilabel:`City`, :guilabel:`State`, and
117+
:guilabel:`ZIP`.
118+
119+
.. _localizations/poland/sending-invoices:
120+
121+
Sending invoices to KSeF via Odoo
122+
---------------------------------
123+
124+
Once you have :ref:`linked your company with KSeF <localizations/poland/linking-ksef>` and
125+
:ref:`configured your company and contacts <localizations/poland/company-and-contacts>`, you can
126+
send invoices to KSeF directly through Odoo:
127+
128+
#. Open the **Accounting** app, go to :menuselection:`Customers --> Invoices`, and select a posted
129+
invoice.
130+
#. Click :guilabel:`Send`.
131+
#. In the pop-up window, check :guilabel:`Send via KSeF (e-Faktura)` and click :guilabel:`Send`.
132+
133+
When an invoice is sent, Odoo automatically:
134+
135+
- Generates the invoice in the required FA(3) XML format.
136+
- Submits the file to KSeF for validation.
137+
- Saves a copy of the XML file in the invoice's chatter.
138+
139+
You can also manually export the FA(3) XML and check the invoice's processing status:
140+
141+
#. Open a posted invoice.
142+
#. Click :guilabel:`Export FA(3) XML` to download the invoice as an XML file to your browser's
143+
download folder.
144+
#. To check its processing status, click :guilabel:`Check invoice status` next to the export option.
145+
#. The live status is displayed on the invoice under the :guilabel:`eInvoice status` field.
146+
147+
Once the Polish government officially registers the invoice on the KSeF platform, it assigns an
148+
**Official Receipt Certificate (UPO)**. To view it, open the invoice and click
149+
:guilabel:`Check invoice UPO`.
150+
151+
.. _localizations/poland/ksef-import:
152+
153+
Automatic bill import
154+
~~~~~~~~~~~~~~~~~~~~~
155+
156+
By default, the Polish localization automatically fetches vendor bills from KSeF every three hours.
157+
To adjust this frequency or toggle the feature:
158+
159+
#. With :doc:`developer mode <../../general/developer_mode>` activated, open the **Settings** app
160+
and go to :menuselection:`Technical --> Scheduled Actions`.
161+
#. Search for and open :guilabel:`Polish eInvoice: Download vendor bills from KSeF`.
162+
#. Use the :guilabel:`Execute Every` field to change the frequency.

0 commit comments

Comments
 (0)