{"id":23611,"library":"django-vies","title":"Django VIES","description":"Validate and store VAT Information Exchange System (VIES) data in Django. Current version 6.3.0, requires Python >=3.10 and Django >=4.2. Active maintenance.","status":"active","version":"6.3.0","language":"python","source_language":"en","source_url":"https://github.com/benkonrath/django-vies","tags":["django","vies","vat","validation","soap"],"install":[{"cmd":"pip install django-vies","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Core Django requirement","package":"django","optional":false},{"reason":"HTTP requests to VIES SOAP service","package":"requests","optional":true},{"reason":"SOAP client used for VIES validation","package":"suds-py3","optional":true}],"imports":[{"note":"VATINField is a form/model field, not a model","wrong":"from django_vies.models import VATINField","symbol":"VATINField","correct":"from django_vies.fields import VATINField"},{"note":"After v6, the model field is also called VATINField (no separate VATINModelField)","wrong":"","symbol":"VATINModelField","correct":"from django_vies.models import VATINField"}],"quickstart":{"code":"from django_vies.fields import VATINField\nfrom django.db import models\n\nclass Company(models.Model):\n    name = models.CharField(max_length=100)\n    vat = VATINField(blank=True, null=True)\n\n# Usage:\nfrom django_vies.validators import VATINValidator\nvalidator = VATINValidator()\ntry:\n    validator('DE123456789')\n    print('Valid VAT')\nexcept Exception as e:\n    print('Invalid:', e)","lang":"python","description":"Add a VIES-validated VAT field to a Django model."},"warnings":[{"fix":"Change imports: from django_vies.models import VATINField (not VATINModelField)","message":"In v6, the model field no longer has a separate VATINModelField; use VATINField from models module.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Set blank=True, null=True to allow empty VAT numbers; handle validation asynchronously if needed.","message":"VIES SOAP service may be slow or unreliable; fields accept 'None' for offline fallback.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to v6 and ensure no custom SOAP backend configuration.","message":"The suds-py3 dependency is deprecated; use requests-based backend (default since v5).","severity":"deprecated","affected_versions":"<5.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"pip install django-vies","cause":"Package not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'django_vies'"},{"fix":"from django_vies.models import VATINField","cause":"Since v6, the model field is renamed to VATINField (no 'ModelField' suffix).","error":"ImportError: cannot import name 'VATINModelField' from 'django_vies.models'"},{"fix":"pip install requests","cause":"Missing requests (or suds-py3) for VIES SOAP requests.","error":"django.core.exceptions.ImproperlyConfigured: VATINField requires 'requests' library"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}