You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Company created with its DIČ stays on 9950 + IČ DPH (no endpoint at all without a VAT number) #5
A res.company created with vat and l10n_sk_dic in one save (the company form) leaves its partner on 9950 + IČ DPH, and a company with only a DIČ gets no endpoint, while a res.partner created with the same values goes to 0245 + DIČ; the export constraint passes because a DIČ is recorded, so the DIČ-only company exports invoices that fail PEPPOL-EN16931-R020, BR-06 and BR-CO-26, and action_l10n_sk_adopt_dic_participant fixes both but is not reachable from the UI. Tested on 1dd85c2 with Odoo 19.0 Community; drop-in test below (the contact control passes, the two company cases fail).
Thanks for the precise report and the drop-in test — confirmed and fixed in 208b7f6 (l10n_sk_ubl_bis3 19.0.3.2.0).
Cause.res.company.create builds the company's partner from a fixed set of values (name, vat, country_id, …) that never includes the DIČ, and flushes it, so peppol_eas is computed before the related l10n_sk_dic is written through. With an IČ DPH that gives 9950:<IČ DPH>; without one, core falls back to the first SK code — also 9950 — with no endpoint. When the DIČ arrives a moment later, 9950 is a valid SK code, and our compute deliberately keeps a valid scheme as chosen. A contact gets every value in one write, which is why your control case passed.
Fix.
res.company.create now runs action_l10n_sk_adopt_dic_participant on the partners core created for the new companies (using core's own condition for creating one). A partner_id passed in is left alone, since its scheme may be a deliberate choice.
The action is now reachable from the UI: Action ▸ Peppol: use 0245 + DIČ on contacts (list and form), for Accounting administrators. Like the migration, it moves a partner only if its endpoint is empty or is exactly what core derived from the VAT number; a hand-set endpoint is left alone and logged.
Your three tests are in tests/test_peppol_eas_sk.py, along with company creation through income_tax_id, an existing partner_id keeping its scheme, and the server action. Without the fix, exactly the three company cases fail.
Companies created before this fix are not moved by the upgrade. Open the company's contact and run Peppol: use 0245 + DIČ from the Action menu.
A DIČ entered later on an existing company or contact still doesn't change a 9950 scheme by itself. That is the module's general rule (an existing valid scheme may have been chosen), and the same action is the remedy.
Thanks for the quick fix and the clear explanation. I re-ran my three tests on 208b7f6 and they pass, along with the rest of the module's tests. I'll open the next findings as separate issues, one at a time.
Activity
sync: l10n_cssk@6082d044
Rad0van commentedon Oct 24, 2026
Thanks for the precise report and the drop-in test — confirmed and fixed in 208b7f6 (
l10n_sk_ubl_bis319.0.3.2.0).Cause.
res.company.createbuilds the company's partner from a fixed set of values (name,vat,country_id, …) that never includes the DIČ, and flushes it, sopeppol_easis computed before the relatedl10n_sk_dicis written through. With an IČ DPH that gives9950:<IČ DPH>; without one, core falls back to the first SK code — also9950— with no endpoint. When the DIČ arrives a moment later,9950is a valid SK code, and our compute deliberately keeps a valid scheme as chosen. A contact gets every value in one write, which is why your control case passed.Fix.
res.company.createnow runsaction_l10n_sk_adopt_dic_participanton the partners core created for the new companies (using core's own condition for creating one). Apartner_idpassed in is left alone, since its scheme may be a deliberate choice.Your three tests are in
tests/test_peppol_eas_sk.py, along with company creation throughincome_tax_id, an existingpartner_idkeeping its scheme, and the server action. Without the fix, exactly the three company cases fail.Companies created before this fix are not moved by the upgrade. Open the company's contact and run Peppol: use 0245 + DIČ from the Action menu.
A DIČ entered later on an existing company or contact still doesn't change a
9950scheme by itself. That is the module's general rule (an existing valid scheme may have been chosen), and the same action is the remedy.4ktLuffy commentedon Oct 24, 2026
Thanks for the quick fix and the clear explanation. I re-ran my three tests on 208b7f6 and they pass, along with the rest of the module's tests. I'll open the next findings as separate issues, one at a time.
sync: l10n_cssk@6082d044