Ce que dit KSeF et ce que testent le ministère
| Code | Texte de KSeF | Cas des tests du ministère |
|---|---|---|
| 410 | « Nieprawidłowy zakres uprawnień » (périmètre d'autorisations incorrect) | Facture avec un NIP vendeur différent du NIP avec lequel la session s'est authentifiée. |
| 410 | « Nieprawidłowy zakres uprawnień » | Vendeur sans autorisation pour les pièces jointes ; dans details : « Sprzedawca {nip} nie posiada zgody do wysyłania faktur z załącznikami ». |
| 415 | « Brak możliwości wysyłania faktury z załącznikiem » (impossible d'envoyer une facture avec pièce jointe) | Facture avec pièce jointe envoyée dans une session interactive. |
La documentation de KSeF ajoute deux règles. L'envoi d'une facture exige le droit de l'émettre dans le contexte de ce contribuable. Les factures avec pièces jointes ne s'envoient qu'en mode lot (l'exception étant la correction technique d'une facture hors ligne), et seulement après l'activation de cette option dans e-Urząd Skarbowy.

Comment cela se présente dans Odoo 18, 19 et 20
l10n_pl_edi se connecte à KSeF avec le certificat KSeF des paramètres, en utilisant le NIP de la société comme contexte, et écrit ce même NIP dans Podmiot1. Il exige que le numéro de TVA de la société commence par PL (« A polish VAT number must be set on your company. »). Après un 410, il passe le statut à Rejected et écrit « KSeF Status: Rejected (Code: 410). Incorrect scope of permissions. » (en polonais sur 18 et 19 : « Status KSeF: Odrzucono (Kod:410). Nieprawidłowy zakres uprawnień. »).
Le 410 arrive comme statut de la facture, comme le 450, donc Odoo l'affiche dans l'historique après la vérification du statut : juste après l'envoi, ou plus tard avec le bouton « Check Sending ». Les autorisations s'accordent et se contrôlent dans KSeF lui-même, pas dans Odoo : Odoo ne connaît que le certificat et le NIP de la société.
Le modèle FA(3) d'Odoo ne contient pas d'élément Zalacznik et Odoo envoie en session interactive. Le 415, et un 410 causé par les pièces jointes, ne devraient donc pas provenir d'une facture générée par Odoo ; si vous les voyez, le fichier vient d'un autre logiciel.
Quoi vérifier face à un 410
- Le NIP de la société dans Odoo est exactement celui pour lequel le titulaire du certificat dispose d'autorisations.
- Le titulaire du certificat a le droit d'émettre des factures pour ce NIP dans KSeF ; c'est le propriétaire de la société qui l'accorde. Sans aucune autorisation, KSeF bloque déjà la connexion (statut 415 à l'authentification : « Brak przypisanych uprawnień », aucune autorisation attribuée).
- Si vous avez modifié le NIP de la société dans Odoo, enregistrez à nouveau le certificat dans les paramètres. Odoo écrit le NIP actuel dans
Podmiot1alors que, jusqu'au prochain renouvellement automatique, son accès provient d'une connexion avec l'ancien NIP, ce qui correspond précisément au cas de test du ministère. - Dans une base avec plusieurs sociétés, chacune a son propre certificat ; une facture part avec le contexte de la société à laquelle elle appartient.

Le renvoyer
Après correction, remettez la facture en brouillon (sur une facture rejetée, Odoo efface le statut et le numéro KSeF), confirmez-la puis renvoyez-la. Notre module, Poland KSeF 2.0 Validator, reprend de l10n_pl_edi le statut Rejected puis Accepted, mais n'envoie rien de lui-même et ne modifie pas les autorisations dans KSeF.
À lire aussi
Vérifié dans le code du module (version 20.0) et dans les sources citées
Sources
- 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
- Code du module : flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/account_move.py
