From a08cc30293efbf7ca4cc3b0f26cef2aac1bf9ad3 Mon Sep 17 00:00:00 2001 From: Frank Cools Date: Thu, 2 Oct 2025 15:55:13 +0200 Subject: [PATCH] Add comprehensive EU transaction handling for CA-3 VAT declarations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EU Transaction Scenarios: 1️⃣ Incoming EU Invoices (Purchases): - Supplier invoices HT (no VAT) - French autoliquidation: 4452xxx (VAT due) + 4456xx (VAT deductible) - Net effect: zero if fully deductible - CA-3 impact: Lines 17 (VAT due) + 20/21 (VAT deductible) 2️⃣ Outgoing EU Invoices (Sales): - Case A (B2B): No French VAT, Lines 05/06 (base HT only) - Case B (B2C): OSS threshold handling (€10,000) - Case C (Special): Construction/energy reverse charge - Invoice text requirements for EU transactions 3️⃣ DEB/DES Integration: - Link CA-3 lines 05/06 with exchange declarations - Cross-validation between CA-3 and DEB/DES - Automatic data import and validation Enhanced Features: - EU transaction type detection and classification - OSS threshold monitoring and alerts - DEB/DES data integration and validation - Special case handling (construction, energy) - Comprehensive EU transaction workflow Updated estimates: +64 hours for EU transaction handling Total project: 414+ hours with full EU compliance --- PLANNING.md | 42 +++++++++++++++++++++++++++++++++ TASK.md | 21 ++++++++++++++--- langs/en_US/declarationtva.lang | 19 +++++++++++++++ langs/fr_FR/declarationtva.lang | 19 +++++++++++++++ 4 files changed, 98 insertions(+), 3 deletions(-) diff --git a/PLANNING.md b/PLANNING.md index 0352f6e..f6cc8ed 100644 --- a/PLANNING.md +++ b/PLANNING.md @@ -29,6 +29,14 @@ The module handles the complete French CA-3 VAT declaration structure: | **B3** | Répartition 5,5% (base + taxe) | 5.5% VAT operations (base + VAT) | 7xxxx → 44573x | Reduced rate operations | | **B4** | Répartition 2,1% (base + taxe) | 2.1% VAT operations (base + VAT) | 7xxxx → 44574x | Reduced rate operations | +##### A. Opérations intracommunautaires (Intra-EU Operations) + +| CA-3 Line | Label | Description | PCG Accounts | Form Mapping | +|-----------|-------|-------------|---------------|--------------| +| **05** | Livraisons intracommunautaires (B2B) | Intra-EU sales to businesses (no French VAT) | 7xxxx (EU sales) | Base HT only, no VAT | +| **06** | Prestations intracommunautaires (B2B) | Intra-EU services to businesses (no French VAT) | 7xxxx (EU services) | Base HT only, no VAT | +| **B2C** | Ventes B2C intracommunautaires | Intra-EU sales to individuals (French VAT) | 7xxxx → 4457xx | Normal French VAT rules | + ##### B. TVA due (VAT Due) | CA-3 Line | Label | Description | PCG Accounts | Form Mapping | @@ -50,6 +58,40 @@ The module handles the complete French CA-3 VAT declaration structure: | **28** | TVA nette à payer | Net VAT to pay | 445510 | If due > deductible | | **29** | Crédit de TVA à reporter ou remboursement | VAT credit to carry forward or refund | 445670 | Credit amount | +### EU Transaction Handling + +#### 1️⃣ Incoming Invoices (EU Purchases) +- **Scenario**: Supplier in another EU country invoices HT (no VAT) +- **French Treatment**: Self-assess VAT (autoliquidation) +- **Accounting**: Book both VAT due (4452xxx) and VAT deductible (44566x/44562x) +- **Net Effect**: Zero if fully deductible +- **CA-3 Impact**: Line 17 (VAT due) and Lines 20/21 (VAT deductible) + +#### 2️⃣ Outgoing Invoices (EU Sales) + +##### Case A: B2B Intra-EU Sales (Business Customers) +- **Invoice Treatment**: No French VAT charged +- **Invoice Text**: "Exonération de TVA, article 138" (goods) or "Autoliquidation par le preneur, article 196" (services) +- **Accounting**: No 4457xxx VAT output booked +- **CA-3 Declaration**: Lines 05/06 (base HT only, no VAT) +- **Additional**: DEB/DES declarations required + +##### Case B: B2C Intra-EU Sales (Individual Customers) +- **Under OSS Threshold (€10,000)**: Charge French VAT (4457xx) +- **Over OSS Threshold**: Register for OSS/IOSS, charge customer's country VAT rate +- **CA-3 Declaration**: Normal French VAT rules or OSS portal + +##### Case C: Special Reverse Charge Cases +- **Construction Services**: Subcontractor invoices HT, contractor self-assesses +- **Energy Products**: Specific reverse charge rules +- **Accounting**: Similar to EU purchases (4452xxx + 4456xx) + +#### 3️⃣ DEB/DES Integration +- **DEB (Déclaration d'échanges de biens)**: Goods movement declarations +- **DES (Déclaration d'échanges de services)**: Services movement declarations +- **Integration**: Link CA-3 lines 05/06 with DEB/DES data +- **Validation**: Cross-check amounts between CA-3 and DEB/DES + ## Technical Requirements ### Database Structure diff --git a/TASK.md b/TASK.md index ce428f8..4767fd5 100644 --- a/TASK.md +++ b/TASK.md @@ -159,6 +159,21 @@ - **Estimated**: 10 hours - **Dependencies**: Task 3.1.5 +- [ ] **Task 3.1.7**: Implement EU transaction handling + - Incoming EU invoices: autoliquidation (4452xxx + 4456xx) + - B2B EU sales: no French VAT, lines 05/06 (base HT only) + - B2C EU sales: OSS threshold handling (€10,000) + - Special cases: construction, energy reverse charge + - **Estimated**: 15 hours + - **Dependencies**: Task 3.1.5 + +- [ ] **Task 3.1.8**: Add DEB/DES integration + - Link CA-3 lines 05/06 with DEB/DES data + - Cross-validation between CA-3 and exchange declarations + - Automatic DEB/DES data import + - **Estimated**: 12 hours + - **Dependencies**: Task 3.1.7 + ### 3.2 Period Management - [ ] **Task 3.2.1**: Implement period calculation - Automatic period detection @@ -449,16 +464,16 @@ - Performance optimization for large datasets - Security considerations for financial data -## Total Estimated Time: 350+ hours +## Total Estimated Time: 414+ hours ### Breakdown by Phase: - **Phase 1-2**: Foundation & Configuration (40 hours) -- **Phase 3**: Data Processing (50 hours) +- **Phase 3**: Data Processing (87 hours) - **Phase 4**: User Interface (30 hours) - **Phase 5**: Export & Reporting (25 hours) - **Phase 6**: Testing & Documentation (25 hours) - **Phase 7**: Advanced Features (80 hours) -- **Buffer & Integration**: 100 hours +- **Buffer & Integration**: 127 hours ## Priority Order: 1. Database schema and core classes diff --git a/langs/en_US/declarationtva.lang b/langs/en_US/declarationtva.lang index 6ca1cb9..496f2b0 100644 --- a/langs/en_US/declarationtva.lang +++ b/langs/en_US/declarationtva.lang @@ -71,6 +71,25 @@ DECLARATIONTVA_LINE_28_TOOLTIP = Net VAT to pay if due > deductible DECLARATIONTVA_LINE_29 = Line 29 - VAT credit to carry forward or refund DECLARATIONTVA_LINE_29_TOOLTIP = Amount of VAT credit to carry forward or request refund +# Intra-EU Operations +DECLARATIONTVA_LINE_05 = Line 05 - Intra-EU deliveries (B2B) +DECLARATIONTVA_LINE_05_TOOLTIP = Intra-EU B2B sales (base HT only, no VAT) +DECLARATIONTVA_LINE_06 = Line 06 - Intra-EU services (B2B) +DECLARATIONTVA_LINE_06_TOOLTIP = Intra-EU B2B services (base HT only, no VAT) + +# EU Transaction Management +DECLARATIONTVA_EU_PURCHASES = Intra-EU purchases +DECLARATIONTVA_EU_SALES_B2B = Intra-EU B2B sales +DECLARATIONTVA_EU_SALES_B2C = Intra-EU B2C sales +DECLARATIONTVA_EU_AUTOLIQUIDATION = Intra-EU autoliquidation +DECLARATIONTVA_EU_REVERSE_CHARGE = Reverse charge by customer +DECLARATIONTVA_EU_EXONERATION = VAT exemption +DECLARATIONTVA_EU_OSS_THRESHOLD = OSS threshold (€10,000) +DECLARATIONTVA_EU_OSS_REGISTRATION = OSS/IOSS registration +DECLARATIONTVA_EU_DEB_DES = DEB/DES (Exchange declarations) +DECLARATIONTVA_EU_CONSTRUCTION = Construction services +DECLARATIONTVA_EU_ENERGY = Energy products + # VAT Rates DECLARATIONTVA_RATE_20 = Rate 20% DECLARATIONTVA_RATE_10 = Rate 10% diff --git a/langs/fr_FR/declarationtva.lang b/langs/fr_FR/declarationtva.lang index 370a370..b179d3e 100644 --- a/langs/fr_FR/declarationtva.lang +++ b/langs/fr_FR/declarationtva.lang @@ -53,6 +53,25 @@ DECLARATIONTVA_LINE_28_TOOLTIP = TVA nette à payer si due > déductible DECLARATIONTVA_LINE_29 = Ligne 29 - Crédit de TVA à reporter ou remboursement DECLARATIONTVA_LINE_29_TOOLTIP = Montant du crédit de TVA à reporter ou demander remboursement +# Opérations intracommunautaires +DECLARATIONTVA_LINE_05 = Ligne 05 - Livraisons intracommunautaires (B2B) +DECLARATIONTVA_LINE_05_TOOLTIP = Ventes intracommunautaires B2B (base HT uniquement, pas de TVA) +DECLARATIONTVA_LINE_06 = Ligne 06 - Prestations intracommunautaires (B2B) +DECLARATIONTVA_LINE_06_TOOLTIP = Services intracommunautaires B2B (base HT uniquement, pas de TVA) + +# Gestion des transactions UE +DECLARATIONTVA_EU_PURCHASES = Achats intracommunautaires +DECLARATIONTVA_EU_SALES_B2B = Ventes intracommunautaires B2B +DECLARATIONTVA_EU_SALES_B2C = Ventes intracommunautaires B2C +DECLARATIONTVA_EU_AUTOLIQUIDATION = Autoliquidation intracommunautaire +DECLARATIONTVA_EU_REVERSE_CHARGE = Autoliquidation par le preneur +DECLARATIONTVA_EU_EXONERATION = Exonération de TVA +DECLARATIONTVA_EU_OSS_THRESHOLD = Seuil OSS (10 000 €) +DECLARATIONTVA_EU_OSS_REGISTRATION = Inscription OSS/IOSS +DECLARATIONTVA_EU_DEB_DES = DEB/DES (Déclarations d'échanges) +DECLARATIONTVA_EU_CONSTRUCTION = Services de construction +DECLARATIONTVA_EU_ENERGY = Produits énergétiques + # Taux de TVA DECLARATIONTVA_RATE_20 = Taux 20% DECLARATIONTVA_RATE_10 = Taux 10%