Co mówi KSeF i co sprawdza MF
| Kod | Tekst KSeF | Przypadek z testów MF |
|---|---|---|
| 410 | „Nieprawidłowy zakres uprawnień” | Faktura z NIP sprzedawcy innym niż NIP, którym uwierzytelniono sesję. |
| 410 | „Nieprawidłowy zakres uprawnień” | Sprzedawca bez zgody na załączniki; w details: „Sprzedawca {nip} nie posiada zgody do wysyłania faktur z załącznikami”. |
| 415 | „Brak możliwości wysyłania faktury z załącznikiem” | Faktura z załącznikiem wysłana w sesji interaktywnej. |
Dokumentacja KSeF dodaje dwie zasady. Wysłanie faktury wymaga uprawnień do jej wystawienia w kontekście danego podmiotu. Faktury z załącznikami wolno wysyłać tylko w trybie wsadowym (wyjątek: korekta techniczna faktury offline) i dopiero po zgłoszeniu tej opcji w e-Urzędzie Skarbowym.

Jak to wygląda w Odoo 18, 19 i 20
l10n_pl_edi loguje się do KSeF certyfikatem KSeF z ustawień, z NIP firmy jako kontekstem, i ten sam NIP wpisuje do Podmiot1. Wymaga przy tym, żeby numer VAT firmy zaczynał się od PL („A polish VAT number must be set on your company.”, w 18 i 19 „W danych firmy należy podać polski numer NIP.”). Po kodzie 410 ustawia stan Rejected i pisze „Status KSeF: Odrzucono (Kod:410). Nieprawidłowy zakres uprawnień.” (w 20 po angielsku: „KSeF Status: Rejected (Code: 410). Incorrect scope of permissions.”).
Kod 410 przychodzi jako status faktury, tak jak 450, więc Odoo pokazuje go w historii po sprawdzeniu statusu: zaraz po wysyłce albo później, przyciskiem „Sprawdź wysyłkę”. Uprawnienia nadaje się i sprawdza w samym KSeF, nie w Odoo: Odoo zna tylko certyfikat i NIP firmy.
Szablon FA(3) z Odoo nie ma elementu Zalacznik, a Odoo wysyła w sesji interaktywnej. Kod 415 i 410 z powodu załączników nie powinny więc pochodzić z faktury wygenerowanej przez Odoo; jeśli je widzisz, plik przyszedł z innego programu.
Co sprawdzić przy 410
- NIP firmy w Odoo to dokładnie ten NIP, na który ma uprawnienia właściciel certyfikatu.
- Właściciel certyfikatu ma w KSeF uprawnienie do wystawiania faktur dla tego NIP; nadaje je właściciel firmy. Bez żadnych uprawnień KSeF nie przepuści już logowania (status 415 przy uwierzytelnianiu: „Brak przypisanych uprawnień”).
- Jeśli zmieniłeś NIP firmy w Odoo, zapisz certyfikat w ustawieniach jeszcze raz. Odoo pisze w
Podmiot1aktualny NIP firmy, a do najbliższego automatycznego odnowienia ma dostęp z logowania na poprzedni, czyli dokładnie przypadek z testu MF. - W bazie z kilkoma firmami każda ma własny certyfikat; faktura idzie z kontekstem firmy, której jest.

Ponowna wysyłka
Po poprawce przywróć fakturę do wersji roboczej (przy odrzuconej Odoo czyści stan i numer KSeF), zatwierdź ją i wyślij jeszcze raz. Nasz moduł, Poland KSeF 2.0 Validator, przejmie od l10n_pl_edi stan Rejected, a potem Accepted, ale sam niczego nie wysyła i nie zmienia uprawnień w KSeF.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/data
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- github.com/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- github.com/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/data
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/account_move.py
