Add comprehensive EU transaction handling for CA-3 VAT declarations

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
This commit is contained in:
Frank Cools 2025-10-02 15:55:13 +02:00
parent a48cfc18a8
commit a08cc30293
4 changed files with 98 additions and 3 deletions

View File

@ -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 | | **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 | | **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) ##### B. TVA due (VAT Due)
| CA-3 Line | Label | Description | PCG Accounts | Form Mapping | | 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 | | **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 | | **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 ## Technical Requirements
### Database Structure ### Database Structure

21
TASK.md
View File

@ -159,6 +159,21 @@
- **Estimated**: 10 hours - **Estimated**: 10 hours
- **Dependencies**: Task 3.1.5 - **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 ### 3.2 Period Management
- [ ] **Task 3.2.1**: Implement period calculation - [ ] **Task 3.2.1**: Implement period calculation
- Automatic period detection - Automatic period detection
@ -449,16 +464,16 @@
- Performance optimization for large datasets - Performance optimization for large datasets
- Security considerations for financial data - Security considerations for financial data
## Total Estimated Time: 350+ hours ## Total Estimated Time: 414+ hours
### Breakdown by Phase: ### Breakdown by Phase:
- **Phase 1-2**: Foundation & Configuration (40 hours) - **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 4**: User Interface (30 hours)
- **Phase 5**: Export & Reporting (25 hours) - **Phase 5**: Export & Reporting (25 hours)
- **Phase 6**: Testing & Documentation (25 hours) - **Phase 6**: Testing & Documentation (25 hours)
- **Phase 7**: Advanced Features (80 hours) - **Phase 7**: Advanced Features (80 hours)
- **Buffer & Integration**: 100 hours - **Buffer & Integration**: 127 hours
## Priority Order: ## Priority Order:
1. Database schema and core classes 1. Database schema and core classes

View File

@ -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 = Line 29 - VAT credit to carry forward or refund
DECLARATIONTVA_LINE_29_TOOLTIP = Amount of VAT credit to carry forward or request 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 # VAT Rates
DECLARATIONTVA_RATE_20 = Rate 20% DECLARATIONTVA_RATE_20 = Rate 20%
DECLARATIONTVA_RATE_10 = Rate 10% DECLARATIONTVA_RATE_10 = Rate 10%

View File

@ -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 = Ligne 29 - Crédit de TVA à reporter ou remboursement
DECLARATIONTVA_LINE_29_TOOLTIP = Montant du crédit de TVA à reporter ou demander 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 # Taux de TVA
DECLARATIONTVA_RATE_20 = Taux 20% DECLARATIONTVA_RATE_20 = Taux 20%
DECLARATIONTVA_RATE_10 = Taux 10% DECLARATIONTVA_RATE_10 = Taux 10%