Fikcyjny dystrybutor podłącza swoje Odoo
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Distribuciones Duna to wymyślona firma, która już fakturuje w Odoo i właśnie zainstalowała moduł. Laura, konsultantka prowadząca wdrożenie, zajmuje się konfiguracją; Marcos z administracji pracuje na fakturach. Zobaczmy, co widzi każde z nich i co robi z każdym komunikatem.
Jeśli najpierw chcesz zrozumieć, z jakich elementów składa się moduł, zajrzyj do tekstu jak działa od środka; tutaj skupiamy się na komunikatach.
Laura konfiguruje firmę i trafia na pierwsze ostrzeżenia
Brak aktywnej konfiguracji
Pierwsze, co widzi Laura, to No active UAE e-invoicing configuration found for company %s. W miejscu %s pojawia się firma, której dotyczy ostrzeżenie. Jest też wariant bez firmy: No active UAE e-invoicing configuration. Oba mówią, że nie ma aktywnej konfiguracji e-fakturowania dla ZEA. Trzeba ją utworzyć lub aktywować dla firmy wskazanej w komunikacie i sprawdzić, czy pracujesz właśnie w tej firmie, a nie w innej.

UAE E-Invoicing Setup Wizard na etapie TIN Entry, z przykładową firmą YourCompany w polu Company i wciąż pustym polem UAE TIN.TIN i TRN nie przechodzą
Laura wkleja numer podatkowy ze spacją w środku, a moduł odpowiada TIN must be exactly 10 numeric digits. Później, przy drugim identyfikatorze, dostaje TRN must be exactly 15 numeric digits. Obie walidacje wymagają wyłącznie cyfr i dokładnie takiej długości, więc spacje, myślniki czy litery odpadają. Oczyść wartość i zapisz ponownie.
Potwierdzenie, URL ASP i progi
Gdy zapisuje bez potwierdzenia danych, pojawia się Please confirm the information is correct before saving. Wystarczy przejrzeć informacje i potwierdzić, że są poprawne, zanim zapiszesz.
Następnie Laura wychodzi z trybu sandbox i dostaje ASP Endpoint URL is required when not in sandbox mode. Ma dwa wyjścia: uzupełnić URL endpointu ASP albo zostać w trybie sandbox, dopóki go nie ma.
Na koniec zostawia progi na zerze i widzi Alert threshold must be at least 1. oraz Failure threshold must be at least 1. Oba przyjmują minimum 1.
Poświadczenie ASP i jego certyfikat
Po zapisaniu konfiguracji Laura przechodzi do poświadczenia. Dopóki nie ma aktywnego, moduł ostrzega komunikatem No active ASP credential configured.
Gdy tworzy je bez załączonego pliku, pojawia się No certificate uploaded. Po wgraniu pliku może zobaczyć Certificate validation failed: %s lub Credential setup failed: %s. W obu przypadkach wskazówka jest w tekście, który zastępuje %s; przeczytaj go w całości, zanim wgrasz cokolwiek ponownie.
Laura chce zastąpić poświadczenie nowym i uruchamia akcję, zanim je przygotuje. Komunikat brzmi No staged credential found. Upload a new credential and mark it as staged first. Sam tekst podaje kolejność: najpierw wgraj nowe poświadczenie i oznacz je jako staged.
Przy aktywacji dostaje Cannot activate credential "%s": the certificate expired on %s. Pierwsze miejsce to poświadczenie, drugie to data wygaśnięcia certyfikatu. Z wygasłym certyfikatem moduł nie pozwala go aktywować, więc potrzebny jest ważny.
Marcos pracuje na fakturach

Invoicing › Compliance Dashboard pogrupowany według statusu (Accepted, Not Transmitted, Queued, Rejected, Transmitted), z kwotą netto, sumą i wierszem sum.Ponowienie, synchronizacja i unieważnienie
Marcos otwiera zaakceptowaną fakturę i chce ponowić jej wysyłkę. Odpowiedź: Only rejected or failed invoices can be retried. Ponowić można tylko faktury odrzucone lub nieudane.
Potem chce zsynchronizować status faktury, która nie została jeszcze wysłana: Status sync is only relevant for transmitted or queued invoices. Synchronizacja ma sens tylko dla faktur przesłanych lub czekających w kolejce.
Następnie próbuje unieważnić fakturę w kolejce: Only accepted or rejected invoices can be voided. Unieważnić można tylko faktury zaakceptowane lub odrzucone, a ta do nich nie należy.
Przy innej fakturze widzi No e-invoice XML has been generated for this invoice. Ta faktura nie ma jeszcze wygenerowanego XML e-faktury.

UAE E-Invoice pokazuje status Accepted, identyfikator rozliczenia FTA i ostatnią transmisję; w chatterze zaplanowana aktywność i zmiana statusu.Czego moduł nie pozwala usunąć
Marcos chce usunąć starą fakturę i dostaje Invoice %s cannot be deleted: FTA retention period of %d years has not elapsed (expires %s). Moduł sprawdza okres przechowywania i nie pozwala usunąć faktury przed datą podaną w komunikacie.
Nie może też ruszyć dziennika audytu: E-invoice audit logs are immutable and cannot be modified. oraz E-invoice audit logs are immutable and cannot be deleted. Aplikacja przechowuje te rekordy bez możliwości zmiany ani usunięcia.
Na koniec prosi o zarchiwizowane pliki XML z danego okresu i widzi No e-invoice XML archives found for TRN %s in the specified date range. Sprawdza, czy TRN w komunikacie jest właściwy, i poszerza lub poprawia zakres dat.

Compliance Dashboard pogrupowanego według statusu, przez Transmission Queue i kreator na etapie TIN Entry, po fakturę w statusie Accepted.Czego uczy przypadek Distribuciones Duna
- Czytaj cały komunikat, także to, co pojawia się w każdym
%s: tam trafia firma, poświadczenie, data lub szczegół błędu. - Ostrzeżenia konfiguracyjne (
No active UAE e-invoicing configuration...,No active ASP credential configured.) mówią, że brakuje aktywnej konfiguracji lub poświadczenia. - TIN i TRN przyjmują wyłącznie cyfry, w dokładnej długości podanej w komunikacie.
- Przy zmianie poświadczenia kolejność wyznacza
No staged credential found...: wgraj nowe i oznacz je jako staged; do aktywacji certyfikat nie może być wygasły. - Ponowienie, synchronizacja i unieważnienie zależą od statusu faktury; sprawdź status, zanim klikniesz.
- Moduł nie pozwala usuwać faktur w okresie przechowywania ani zmieniać dziennika audytu.
Aby uzupełnić każde ustawienie bez potykania się o te ostrzeżenia, skorzystaj z uruchomienia krok po kroku.
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ą przejrzeć konfigurację, poświadczenie ASP lub konkretny komunikat, którego nie udaje się usunąć. Moduł kosztuje 49 € netto (bez VAT), jednorazowa płatność za wersję Odoo, dla 17, 18, 19 i 20; szczegóły znajdziesz na stronie modułu.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/account_move.py
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_config.py
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_credential.py
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_log.py
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_dsar_wizard.py
- Kod modułu: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_setup_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/17.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/18.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/19.0/flexigo_uae_fta_e_invoicing_connector
- flexigotech.com/en/services.html
