This project provides a small validation service and runner that invoke the official DUK-Integrator (ANAF) to validate Romanian fiscal XML declarations and then normalize the validator output into structured JSON responses.
- Minimal runner and helper scripts in the
app/folder (Windows and container-friendly). parser.py— contains parsers and specifications for converting raw DUK outputs into structured errors.runner.py— orchestrates invoking DUK, reading.err.txtoutput and (planned) parsing viaparser.parse_duk_err_txt().doc/— contains the error-formatting specification (Romanian and English).- Tests live under
tests/(pytest).
- Install Python 3.10+ and dependencies:
pip install -r app/requirements.txt
- Run the local runner (provided helper):
build and run.bat
pytest -q- DUK produces messages in Romanian. The parser aims to convert raw
.err.txtinto a list of structured error and warning objects, each containing acode, human-friendlymessage(in Romanian), and optional fields such asfield,rule,tax_type,rate,actual,expected. - See doc/spec_error_formatting_ro.md (RO) and doc/spec_error_formatting_en.md (EN) for the parsing specification.
Important
If you would like to use this functionality in your commercial projects — contact me. Absolutely free for open source projects (non-commercial usage).
Acest proiect oferă un runner și utilitare care apelează DUK-Integrator (ANAF) pentru a valida declarațiile fiscale în format XML și normalizează ieșirea validatorului în răspunsuri JSON structurate.
- Runner și scripturi auxiliare în folderul
app/(compatibil Windows și containere). parser.py— conține parser-ele și specificațiile pentru conversia ieșirii DUK în erori structurate.runner.py— orchestrează rularea DUK, citirea fișierului.err.txtși (planificat) parsarea prinparser.parse_duk_err_txt().doc/— conține specificația formatării erorilor (în română și engleză).- Testele se află în
tests/(pytest).
- Instalează Python 3.10+ și dependențele:
pip install -r app/requirements.txt
- Rulează runner-ul local (script ajutător):
build and run.bat
pytest -q- DUK returnează mesaje în limba română. Parser-ul convertește textul brut din
.err.txtîntr-o listă de obiecte structurate de erori și avertismente, fiecare avândcode,message(în română) și câmpuri opționale cafield,rule,tax_type,rate,actual,expected. - Vezi doc/spec_error_formatting_ro.md (RO) și doc/spec_error_formatting_en.md (EN) pentru specificația parser-ului.
Important
Dacă doriți să utilizați această funcționalitate în proiectele dvs. comerciale, contactați-mă. Absolut gratuit pentru proiecte open source (utilizare necomercială).
Future improvements and team contributions are welcome.