Przejdź do głównej treści
Portugal SAF-T (PT) File Checks

Wdrożenie Portugal SAF-T (PT) File Checks w Odoo, opowiedziane na przykładzie

Żeby uruchomić Portugal SAF-T (PT) File Checks, musisz zrozumieć trzy rzeczy: formularz konfiguracji ATCUD tworzony z poziomu Invoicing, pola, które wiążą każdy rekord z firmą i schematem, oraz statusy na poszczególnych listach, takie jak Draft, Generated, Validated, Validation Failed i Submitted przy generowaniu plików. Przechodzimy przez to na przykładzie zmyślonej firmy, od pierwszego dnia do końca pierwszego tygodnia.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 4 listopada 2026

Najważniejsze

Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym modułu, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
4 min

Distribuciones Ribeira, czyli oś przykładu

Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.

Distribuciones Ribeira to zmyślona firma, która wystawia faktury w Portugalii z Odoo 18 i prowadzi drugą spółkę w tej samej bazie danych. Marta, która odpowiada za administrację, ma przygotować Portugal SAF-T (PT) File Checks. W przykładzie nie ma kwot: liczy się to, jakie ekrany otwiera, na jakie pola patrzy i na jakie statusy trafia.

Moduł jest opublikowany w Odoo Apps dla wersji 17.0, 18.0, 19.0 i 20.0, więc Marta wybiera kartę swojej wersji. Kosztuje 9 € za wersję Odoo, jednorazowo, netto (bez VAT), we wszystkich czterech wersjach, a ponieważ zawiera lokalną usługę FlexigoTech Cloud, dochodzi subskrypcja 29 €/mies. lub 290 €/rok netto (bez VAT) (Pro: 58 €/mies. lub 580 €/rok).

Pierwszy dzień: formularz konfiguracji ATCUD

Po utworzeniu nowej konfiguracji ATCUD z poziomu Invoicing Marta widzi formularz podzielony na sekcje: dane firmy, ATCUD, e-mail i powiadomienia oraz wysyłka. Wypełniony jest tylko adres URL endpointu, reszta jest pusta.

Nowy formularz konfiguracji ATCUD we Fakturowaniu z sekcjami danych firmy, ATCUD, e-maila i powiadomień oraz wysyłki
Świeżo utworzona konfiguracja ATCUD, jeszcze bez danych: zawiera tylko URL endpointu, a dolna część ekranu jest ucięta.

Marta przechodzi formularz sekcja po sekcji, od góry do dołu, łącznie z częścią, która nie mieści się na ekranie. To, że URL endpointu jest już wpisany, nic jej nie mówi o reszcie, więc nie uznaje konfiguracji za gotową, dopóki nie sprawdzi jej w całości.

Pola, którym Marta przygląda się dokładnie

Zanim cokolwiek wygeneruje, Marta przegląda pola modułu, które jej dotyczą. Oto te, które wyłapuje:

  • company_id: występuje w kilku modelach modułu jako relacja do res.company. Przy dwóch spółkach w tej samej bazie Marta sprawdza, do której firmy należy każdy rekord.
  • schema_url, z etykietą SAF-T Schema URL: według opisu pola to adres URL, z którego pobierany jest schemat XSD portugalskiego SAF-T.
  • export_file_csv: załącznik (ir.attachment) opisany jako Exported CSV format.
  • transaction_count, z etykietą Transaction Count: liczba transakcji ujętych w SAF-T.
  • name, z etykietą Request ID.
  • submission_id: relacja do saft.submission, opisana jako Related SAF-T submission if applicable.

Marta nie przypisuje tym polom żadnej funkcji poza tą, którą wskazuje ich nazwa lub opis. Jeśli chcesz wiedzieć, jak łączą się wewnętrznie, opisujemy to w tekście jak moduł działa od środka.

Statusy, jakie może mieć każdy rekord

Drugiego dnia Marta poznaje wartości statusów zdefiniowane w module. To cztery osobne zestawy i lepiej ich nie mylić:

  • Pole state z wartościami Draft, Exported i Submitted.
  • Pole status z wartościami Draft, Processing, Approved i Denied.
  • Pole state z wartościami Draft, Generated, Validated, Validation Failed i Submitted. To je widać na liście Generate SAF-T Files.
  • Pole state z wartościami Draft, Validated, Submitted, Accepted, Rejected, ATCUD Unreachable i Error.

Z tej listy Marta notuje wartości, które chce kontrolować codziennie: Validation Failed, Denied, Rejected, ATCUD Unreachable i Error. Nie zakłada z góry przyczyny żadnej z nich; gdy któraś się pojawi, szuka dokładnej treści komunikatu w przewodniku po komunikatach błędów modułu.

Pierwszy tydzień: co sprawdza każdego ranka

Po zakończeniu konfiguracji Marta przez pierwszy tydzień każdego ranka otwiera te same ekrany w tej samej kolejności. Wygląda to tak:

Przejście przez listy Annual SAF-T Statistics, SAF-T Error Logs i Generate SAF-T Files we Fakturowaniu
Roczne statystyki SAF-T z firmą, rokiem, dokumentami, wartością i statusem; logi błędów z datą, typem, wagą, komunikatem i niezaznaczonym polem rozwiązania; oraz generowanie plików z okresami w statusach Draft, Generated, Validated, Validation Failed i Submitted, z rozmiarem pliku i transakcjami równymi zero.
  • W Invoicing › Annual SAF-T Statistics patrzy na kolumny Company, Year, Total Documents, Total Value i State i sprawdza, czy każdy wiersz należy do spółki, której się spodziewa.
  • W SAF-T Error Logs czyta datę, typ błędu, wagę i komunikat każdego rekordu i zwraca uwagę, które nadal mają niezaznaczone pole rozwiązania.
  • W Generate SAF-T Files sprawdza status każdego okresu, od początku do końca, razem z rozmiarem pliku i liczbą transakcji.

W jej bazie, z dwiema spółkami, kolumna Company to pierwsza rzecz, na którą Marta patrzy. Ta sama lista ma przycisk New i wyszukiwarkę:

Lista rocznych statystyk SAF-T z wierszami według firmy, roku, liczby dokumentów, wartości całkowitej i statusu, z przyciskiem New i wyszukiwarką
Ta sama lista rocznych statystyk, z pięcioma wierszami w statusie Borrador lub Exportado.

Czego uczy przykład Ribeiry

  • Nowy formularz ATCUD jest prawie pusty, zawiera tylko URL endpointu: przejdź go sekcja po sekcji, łącznie z częścią, która nie mieści się na ekranie, zanim uznasz go za gotowy.
  • company_id występuje w kilku modelach. Jeśli masz więcej niż jedną spółkę, najpierw sprawdź firmę na każdym rekordzie.
  • Istnieją cztery różne zestawy statusów. Naucz się, na której liście widać każdy z nich i które wartości chcesz obserwować.
  • Trzy listy z porannego obchodu (roczne statystyki, logi błędów i generowanie plików) to rutyna Marty w pierwszym tygodniu.

Jak pomaga FlexigoTech

FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie, więc możemy razem z Tobą przygotować konfigurację ATCUD i spółki. Jeśli kupisz moduł na jego stronie w flexigotech.com, subskrypcja obejmuje moduł dla nowych wersji Odoo; w Odoo App Store natomiast każdą wersję kupuje się osobno (karta w Odoo Apps). Bez subskrypcji lub przy zawieszonej usłudze przestaje działać to, co zapewnia subskrypcja, a dane zostają w Twoim Odoo. Jeśli wciąż nie wiesz, czy moduł do Ciebie pasuje, najpierw sprawdź, co obejmuje i czego potrzebujesz przed instalacją.

Czytaj dalej

Jak działa Portugal SAF-T (PT) File Checks w Odoo od środkaJakie menu dodaje Portugal SAF-T (PT) File Checks we Fakturowaniu, jakie modele stoją za nim, jakie statusy widzisz na listach i co korzysta z usługi zewnętrznej.Błędy Portugal SAF-T (PT) File Checks: kiedy pojawia się każdy komunikat i co zrobićKażdy komunikat błędu Portugal SAF-T (PT) File Checks dosłownie: kiedy się pojawia, co oznacza i co zrobić w Odoo, od generowania do wysyłki ATCUD.Portugal SAF-T (PT) File Checks: co obejmuje, czego potrzebujesz i w jakiej wersji OdooCo obejmuje Portugal SAF-T (PT) File Checks według README, czego potrzebujesz przed instalacją (NIF, ATCUD, poczta) i w jakich wersjach Odoo działa.
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach

Źródła