Documentation technique

Architecture du moteur fiscal, des parsers Amazon et de l’interface Streamlit.

Checklist de Conformité

  • Compléter l'Onboarding Lighthouse pour configurer votre fiche entreprise.
  • Vérifier la validité des numéros TVA B2B via l'onglet VIES.
  • S'assurer que le Pays de Siège est correctement configuré.
  • Vérifier les alertes de Stock FBA pour les immatriculations locales.
  • Réconcilier le CA HT Net avec votre comptabilité via l'export FEC.

Sources de données & API

  • VIES (EU) : Validation des numéros de TVA en temps réel.
  • BCE (SDW) : Récupération quotidienne des taux de change officiels.
  • Polars / Pandas : Parsing haute performance des gros volumes de données (Amazon).
  • DGFIP / Schémas XSD : Validation des fichiers XML OSS.

Cœur du Moteur

  • engine.py : Moteur de classification fiscale (Directive 2006/112/CE).
  • rates.py : Taux TVA historisés par pays et catégorie (Standard/Réduit).
  • ecb_rates.py : Synchro auto avec la Banque Centrale Européenne (BCE).
  • vies_engine.py : Validation VIES avec cache et piste d'audit conforme (365 jours).
  • ca3_report.py / oss_xml.py : Générateurs de liasses fiscales (HTML/XML).
  • local_vat_report.py : Rapports de TVA locaux pour les autres pays de l'UE.
  • billing.py : Moteur de facturation Stripe et gestion des quotas.

📄 Spécifications Techniques Complètes (README)

Accédez à la documentation brute du projet, incluant la structure des fichiers et les scénarios détaillés.

Arborescence du dépôt

tva-intracom/
├── .devcontainer/
├── .github/
│   └── workflows/
│       └── ci.yml                    Pipeline CI (pytest)
├── data/
├── schemas/                          Schémas XSD officiels (DGFIP/UE)
├── tests/                            Tests unitaires et d'intégration
├── tva_intracom/
│   ├── i18n/                         Fichiers de traduction (7 langues)
│   ├── parsers/
│   │   ├── amazon/                   Import Amazon formats 1-5
│   │   ├── aliexpress.py             Parser AliExpress
│   │   ├── mirakl.py                 Parser Mirakl
│   │   ├── shopify.py                Parser Shopify
│   │   └── woocommerce.py            Parser WooCommerce
│   ├── ui/                           Interface Streamlit modulaire
│   │   ├── admin.py                  Gestion des rôles et organisation
│   │   ├── auth_flow.py              Flux d'authentification UI
│   │   ├── background_calc.py        Calculs longs et file d'attente (MAX=1)
│   │   ├── billing_gate.py           Gating de facturation et quotas
│   │   ├── calc_cache.py             State management (CalcCacheState)
│   │   ├── display_mode.py           Mode Simple / Détaillé global
│   │   ├── files.py                  Cache compressé des uploads (MD5)
│   │   ├── formatting.py             Helpers d'affichage et conversion
│   │   ├── glossary.py               Gestion du glossaire TVA et tooltips d'aide
│   │   ├── onboarding.py             Stepper guidé Lighthouse CSS
│   │   ├── rerun_utils.py            Gestion des st.rerun()
│   │   ├── sidebar.py                Barre latérale de configuration
│   │   ├── theme.py                  Thème et CSS adaptatif
│   │   └── tabs/                     Modules d'onglets (OSS, Ventes, VIES...)
│   ├── amazon_adapter.py             Passerelle de compatibilité modèles
│   ├── auth_supabase.py              Authentification Supabase Auth
│   ├── billing.py                    Facturation Stripe et quotas SIREN
│   ├── ca3_report.py                 Rapport CA3 (HTML)
│   ├── database.py                   Pooling Postgres centralisé
│   ├── ecb_rates.py                  Taux BCE (cache multi-niveaux)
│   ├── engine.py                     Moteur de classification fiscale
│   ├── excel_report.py               Export Excel multi-onglets
│   ├── fec_export.py                 Export comptable FEC
│   ├── local_vat_report.py           Rapports TVA locaux UE
│   ├── models.py                     Dataclasses (Pydantic)
│   ├── oss_export.py                 Agrégation OSS et exports CSV
│   ├── oss_xml.py                    Génération XML OSS officiel
│   ├── product_tax_code_category.py  Classification Amazon (PRODUCT_TAX_CODE -> catégorie interne)
│   ├── rates.py                      Taux TVA historisés
│   ├── security.py                   Sécurité Amazon DPP (Fernet)
│   ├── vat_rates_db.py               Taux de TVA dynamiques via l'API TEDB
│   ├── vies_engine.py                Validation VIES avec cache Postgres
│   └── vies_certificate.py           Génération de certificat VIES PDF
│
├── vercel_webhook/                   Webhook Stripe (Vercel)
├── app.py                            Orchestrateur Streamlit principal
├── Procfile                          Configuration démarrage cloud
├── pyproject.toml                    Dépendances et config projet
└── README.md                         Documentation générale
                

Scénarios modélisés

Scénario Situation Règle appliquée
DOMESTIC Stock et acheteur dans le même pays UE (y compris Monaco). TVA locale du pays.
OSS_B2C B2C transfrontalier intra-UE. TVA du pays de destination (OSS).
B2B_REVERSE B2B intra-UE avec n° TVA valide. Exonération (Autoliquidation).
DEEMED_SUPPLIER Vendeur hors UE ou import ≤ 150€. Collecté par Amazon.
EXPORT Acheteur hors UE. Exonération (Exportation).
IMPORT_STD Import > 150€ (B2C). TVA importation (Douane).
IOSS_DIRECT Import ≤ 150€ avec n° IOSS propre. Collecté par le vendeur via IOSS.
IMPORT_DDP Import > 150€ (Vendeur importateur). TVA locale pays destination.

Formats Amazon supportés

  • Format 1-2 : Anciens formats TSV.
  • Format 3-4 : Formats 2024-2025.
  • Format 5 : Rapport fiscal détaillé V5 (Multi-juridictions).

Roadmap

  • ⏳ Intégration directe EDI-TVA (Télédéclaration automatique Cerfa).
  • 📄 Export XML IOSS officiel (Import Scheme).