Waliduje i przygotowuje, a wysyłka to zadanie l10n_pl_edi
Najpierw warto jasno ustalić podział pracy. Moduł waliduje i przygotowuje, i nie ma klienta HTTP do KSeF. Faktyczną wysyłkę wykonuje l10n_pl_edi, moduł Odoo Community, który wysyła do KSeF i istnieje w Odoo 18, 19 i 20 (w Odoo 17 go nie ma).
Z tego wynika sposób działania w zależności od wersji: w 18 do 20 moduł waliduje FA(3), który l10n_pl_edi generuje lub już wysłał; w 17 gotowy FA(3) wgrywa się spoza Odoo. Moduł jest opublikowany w Odoo Apps dla 17.0, 18.0, 19.0 i 20.0.
Walidacja FA(3) działa w FlexigoTech Cloud w ramach subskrypcji. Sama strona w Odoo Apps uprzedza o tym w osobnej sekcji, Before you buy: this app uses a paid external service. Jeśli dopiero zastanawiasz się, czy to dla Ciebie, piszemy o tym osobno w artykule czy Poland KSeF 2.0 Validator pasuje do Twojej firmy.
Menu, które pojawiają się pod KSeF
Po instalacji dostajesz menu główne KSeF o takiej strukturze:
KSeF › DashboardKSeF › MigrationKSeF › Operations, zKSeF › Operations › Submission QueueiKSeF › Operations › Inbound InvoicesKSeF › Configuration, zKSeF › Configuration › Compliance Profile,KSeF › Configuration › FA(3) Fields,KSeF › Configuration › Error CodesiKSeF › Configuration › API Sessions
Panel KSeF › Dashboard to widok kanban; na zrzucie widać kartę jednej firmy.

Moduł a l10n_pl_edi, element po elemencie
Ta tabela porównuje, co robi każdy z nich według swojej dokumentacji.
| Aspekt | l10n_pl_edi z Odoo | Poland KSeF 2.0 Validator |
|---|---|---|
| Gdzie jest | Odoo Community 18, 19 i 20; w 17 nie istnieje | Odoo Apps dla 17.0, 18.0, 19.0 i 20.0 |
| Faktyczna wysyłka do KSeF | Wykonuje ją on | Nie ma klienta HTTP do KSeF |
| FA(3) w Odoo 18 do 20 | Generuje go i wysyła | Waliduje ten, który l10n_pl_edi generuje lub już wysłał |
| FA(3) w Odoo 17 | Moduł nie istnieje | Gotowy plik wgrywa się spoza Odoo |
| Walidacja FA(3) | - | W FlexigoTech Cloud, z podpisanym raportem |
| Dane uwierzytelniające | W Odoo 19 zapisuje w firmie KSeF Certificate i nim się uwierzytelnia | Ma model KSeF Credential (certificate / token) |
| Zaplanowane akcje | W Odoo 19 akcja odnawia tokeny dostępu każdej firmy z certyfikatem | KSeF: session maintenance, co 5 minut |
W praktyce to nie są alternatywy, tylko się uzupełniają. W 18 do 20 wysyła l10n_pl_edi, a walidator sprawdza FA(3), który ten moduł generuje lub już wysłał. W 17 nie ma l10n_pl_edi, a walidator pracuje na FA(3) wgranym spoza Odoo.
Dane uwierzytelniające modułu mają własną listę.

Z aktywną usługą i bez niej
Ponieważ walidacja zależy od FlexigoTech Cloud, moduł zachowuje się inaczej w zależności od stanu subskrypcji.
| Aspekt | Z aktywną subskrypcją | Bez subskrypcji lub z zawieszoną usługą |
|---|---|---|
| Walidacja FA(3) | Działa w FlexigoTech Cloud i zapisuje podpisany raport | Zatrzymuje się; faktura pozostaje „niezwalidowana” |
| To, co daje subskrypcja | Dostępne | Zatrzymuje się |
| Twoje dane | W Twoim Odoo | Zostają w Twoim Odoo |
Moduł ma też rekord zgody, Consent to validate FA(3) files in FlexigoTech Cloud. W ramach subskrypcji moduł dla nowych wersji Odoo jest wliczony, jeśli kupiłeś go na flexigotech.com; w Odoo App Store każdą wersję Odoo kupuje się tam. Usługa lokalna kosztuje 29 €/mies. lub 290 €/rok netto (bez VAT), a plan Pro 58 €/mies. lub 580 €/rok netto (bez VAT).
Jaką drogę przechodzi faktura w module
W Odoo 18 do 20 l10n_pl_edi generuje FA(3) i wykonuje faktyczną wysyłkę do KSeF; walidator waliduje w FlexigoTech Cloud FA(3), który l10n_pl_edi wygenerował lub już wysłał, i zapisuje podpisany raport. Jeśli usługa jest niedostępna, faktura pozostaje „niezwalidowana”.
Moduł definiuje rekordy KSeF Submission Queue Item, a w menu KSeF › Operations › Submission Queue masz listę kolejki.

Offline pendiente, Accepted i Ready to upload to KSeF.W trybie offline termin biegnie do następnego polskiego dnia roboczego, z codziennym przypomnieniem. Moduł zawiera kreator o nazwie KSeF Offline/Emergency Mark Wizard.
Wokół tej ścieżki moduł definiuje inne rekordy o następujących nazwach:
KSeF Inbound Invoice, obok menuKSeF › Operations › Inbound InvoicesKSeF Immutable Audit LogKSeF API Error Code, obok menuKSeF › Configuration › Error CodesFA(3) Mandatory Field ReferenceKSeF Compliance ProfileKSeF Authorization / DelegationKSeF Migration Validator Wizard,KSeF Migration Validation Run,KSeF Validation ResultiKSeF Validation IssueKSeF Compliance Export Wizard
Zaplanowana akcja, która działa sama
Dokumentacja modułu wymienia akcję KSeF: session maintenance, aktywną i uruchamianą co 5 minut. W konfiguracji masz też menu KSeF › Configuration › API Sessions, a moduł zapisuje rekordy KSeF API Session.
Nie myl jej z akcją l10n_pl_edi w Odoo 19, która odnawia tokeny dostępu każdej firmy z certyfikatem: ta należy do Odoo, nie do walidatora.
Jeśli w swojej bazie widzisz obie akcje, każda należy do innego modułu.
Jak pomaga FlexigoTech
W FlexigoTech wdrażamy Odoo 17, 18, 19 i 20 oraz tworzymy konektory i integracje na zamówienie. Jeśli chcesz, żeby walidator działał razem z l10n_pl_edi w Twojej wersji, albo musisz walidować w Odoo 17 FA(3) generowany poza Odoo, szczegóły i zakup znajdziesz na stronie modułu i na jego stronie w Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): views/ksef_menus.xml
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): data/ksef_cron.xml
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): static/description/index.html
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_api_session.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_audit_log.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_authorization.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_cloud.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_compliance_profile.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_credential.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_error_code.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_fa3_field.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_inbound_invoice.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_queue_item.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_session.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_validation.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_cloud_consent.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_export_wizard.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_migration_wizard.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_offline_mark_wizard.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizards/ksef_migration_validator.py
- apps.odoo.com/apps/modules/20.0/flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati
- github.com/odoo/odoo/tree/18.0/addons/l10n_pl_edi
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/account_move.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_session.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_tools.py
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_cloud.py
- github.com/odoo/odoo/blob/19.0/addons/l10n_pl_edi/models/res_company.py
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
