„Jeśli AEAT zwraca błąd, faktura jest nieważna”
Fakt: zależy od błędu. AEAT odpowiada statusem dla każdego rekordu: Correcto, AceptadoConErrores albo Incorrecto. Rekord przyjęty z błędami jest zarejestrowany i trzeba tylko poprawić to, co wskazuje kod. Wysłanie go ponownie jako nowego byłoby błędem.
„Odcisk cyfrowy ustala AEAT”
Fakt: odcisk cyfrowy oblicza Twój system, gdy tworzy rekord: to skrót SHA-256 powiązany z poprzednim rekordem. AEAT przelicza go, żeby go sprawdzić. Jeśli się nie zgadza, rekord zostaje przyjęty z błędem, który trzeba poprawić.

„Jeśli się pomylę, usuwam rekord i robię go od nowa”
Fakt: nie. Rekordów anulowania nie można zmieniać ani usuwać, podobnie jak dziennika zdarzeń. Odoo na to nie pozwala i wyświetla jasne komunikaty: Cancellation records cannot be deleted. albo Event log records are immutable. To, co trzeba poprawić, poprawia się nowym rekordem, który zostawia ślad.
„Zmiana programu do fakturowania przerywa łańcuch”
Fakt: tylko wtedy, gdy robi się ją bez porządku. Moduł ma własny proces migracji, w Configuration › Migration Runs, i import rekordów historycznych. W trakcie migracji łańcuch jest zawieszony i nie przyjmuje nowych rekordów: Chain is suspended for migration. Cannot append new records.

„Do 2028 nie ma nic do zrobienia”
Fakt: zatwierdzone terminy to nadal te z RDL 15/2025: przed 1 stycznia 2027 dla firm rozliczających podatek dochodowy od osób prawnych (Impuesto sobre Sociedades) i przed 1 lipca 2027 dla wszystkich pozostałych. Październik 2028 to prognoza, którą Ministerstwo Finansów ogłosiło 5 października 2026. A sama nota mówi, że gwarancje techniczne pozostaną „w zasadniczo równoważnych warunkach”.
„Odoo ma już VeriFactu, nie potrzebuję niczego więcej”
Fakt: Odoo zawiera własny moduł, l10n_es_edi_verifactu, w wersjach 17, 18, 19 i 20. Wielu firmom może wystarczyć. Moduł FlexigoTech to inny system, z własnymi narzędziami kontroli: kontrola integralności co noc, kontrola odchylenia zegara co godzinę i konsola dla biur doradczych. Zanim wybierzesz, porównaj oba z tym, czego musisz pilnować.

„Z wygasłym certyfikatem mogę dalej wysyłać”
Fakt: nie. Bez ważnego certyfikatu AEAT nie może zidentyfikować wystawcy, a Odoo zatrzymuje wysyłkę, zanim do niej dotrze: The certificate … of company … has expired. Żeby Cię to nie zaskoczyło, moduł codziennie sprawdza termin ważności certyfikatu i ostrzega Cię z wyprzedzeniem.
„Zegar serwera nie ma znaczenia”
Fakt: każdy rekord ma datę i godzinę, a łańcuch zależy od ich kolejności. Dlatego moduł co godzinę sprawdza odchylenie zegara serwera i ostrzega Cię, jeśli zegar się rozjeżdża. To cicha usterka, którą warto wychwycić, zanim zrobi to AEAT.

Jeśli po lekturze nadal masz konkretną wątpliwość, zajrzyj najpierw do katalogu błędów w Odoo: na wiele pytań o VeriFactu odpowiada przeczytanie dokładnego kodu, który zwróciła AEAT.
W razie wątpliwości sięgnij do źródła: AEAT publikuje specyfikację odcisku cyfrowego oraz dokument walidacji i błędów. Linki są poniżej.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/Sis
- www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Veri-Factu_
- www.hacienda.gob.es/sgt/gabsehacienda/nota-informativa-verifactu.pdf
- sede.agenciatributaria.gob.es/Sede/iva/sistemas-informaticos-facturacion-verifactu/nota-in
- github.com/odoo/odoo/tree/19.0/addons/l10n_es_edi_verifactu
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_anulacion.py
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_cadena.py
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_evento.py
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): views/menu_views.xml
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): data/verifactu_crons.xml
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- Kod modułu: flexigo_spain_verifactu 20.0 (4dc42be4): models/verifactu_aeat_client.py
