How dseichter/vatvalidation works
VATValidation offers desktop, CLI, and REST interfaces for single and batch VAT checks. Requests enter through an interface, use the shared single- or batch-processing layer, then pass through a workflow dispatcher to a country-specific validator and official service. Batch processing reads and writes CSV, XLSX, or JSON. The graph also shows configuration, networking, and desktop presentation. Several connections are supported by the SOURCE INDEX rather than full excerpts; unsampled subsystem links are omitted where ownership is unclear.
Main entry points: vatvalidation.py Desktop app · network.py HTTP and proxy · validate_workflow.py Workflow dispatcher · single.py Single checks
Components 27
User interfaces
- Desktop app
src/vatvalidation.py - GUI views
src/gui_vatvalidation.py - CLI
src/vatvalidation_cli.py - REST API
src/vatvalidation_api.py - About dialog
src/about_ui.py - About window
src/gui_about.py - UI icons
src/icons.py
Validation processing
- Single checks
src/single.py - Batch files
src/batch.py - Workflow dispatcher
src/validate_workflow.py
Tax authority integrations
- BZSt validation
src/validate_bzst.py - HMRC validation
src/validate_hmrc.py - VIES validation
src/validate_vies.py - Swiss UID validation
src/validate_swiss.py - BZSt codes
src/codes_bzst.py - HMRC codes
src/codes_hmrc.py - VIES codes
src/codes_vies.py
Shared services
- HTTP and proxy
src/network.py - Runtime settings
src/settings.py - Logging setup
src/logging_config.py - App utilities
src/helper.py - Theme manager
src/theme_manager.py
Other components
- User or integrator
- BZSt service
- HMRC service
- VIES service
- Swiss UID service
Connections 37
- User or integrator → Desktop app: uses
README.md - User or integrator → CLI: invokes
README.md - User or integrator → REST API: integrates
README.md - Desktop app → GUI views: uses views
src/vatvalidation.py - Desktop app → Single checks: starts checks
src/vatvalidation.py - Desktop app → Batch files: starts batches
src/vatvalidation.py - Desktop app → Runtime settings: loads and saves
src/vatvalidation.py - Desktop app → Theme manager: applies theme
src/vatvalidation.py - Desktop app → About dialog: uses dialog
src/vatvalidation.py - Desktop app → About window: opens about
- GUI views → UI icons: loads icons
src/gui_vatvalidation.py - About window → UI icons: loads icons
src/gui_about.py - About dialog → About window: uses window
src/about_ui.py - CLI → Single checks: runs checks
src/vatvalidation_cli.py - CLI → Batch files: runs batches
src/vatvalidation_cli.py - REST API → Single checks: runs checks
src/vatvalidation_api.py - REST API → Batch files: runs batches
src/vatvalidation_api.py - Single checks → Workflow dispatcher: dispatches to
src/single.py - Batch files → Single checks: validates rows
src/batch.py - Workflow dispatcher → BZSt validation: dispatches to
src/validate_workflow.py - Workflow dispatcher → HMRC validation: dispatches to
src/validate_workflow.py - Workflow dispatcher → VIES validation: dispatches to
src/validate_workflow.py - Workflow dispatcher → Swiss UID validation: dispatches to
src/validate_workflow.py - BZSt validation → BZSt codes: looks up codes
src/validate_bzst.py - VIES validation → VIES codes: looks up codes
src/validate_vies.py - HMRC validation → HMRC codes: uses codes
src/validate_hmrc.py - BZSt validation → HTTP and proxy: sends requests
src/validate_bzst.py - HMRC validation → HTTP and proxy: sends requests
src/validate_hmrc.py - VIES validation → HTTP and proxy: sends requests
src/validate_vies.py - Swiss UID validation → HTTP and proxy: sends requests
src/validate_swiss.py - HTTP and proxy → Runtime settings: reads proxy
src/network.py - Logging setup → Runtime settings: reads log config
src/logging_config.py - App utilities → HTTP and proxy: checks release
src/helper.py - BZSt validation → BZSt service: queries
README.md - HMRC validation → HMRC service: queries
README.md - VIES validation → VIES service: queries
README.md - Swiss UID validation → Swiss UID service: queries
README.md