Complete CA-3 Form Structure: - Added Section C: Décompte de la TVA déductible (Deductible VAT Calculation) - Added Section D: Résultat (Result) - Now includes all 4 sections: A, B, C, D - Total of 17 CA-3 lines covering complete form Section C - Deductible VAT Calculation: - Line 20: TVA déductible sur immobilisations (Deductible VAT on fixed assets) - Line 21: TVA déductible sur autres biens et services (Deductible VAT on other goods and services) - Line 22: TVA déductible sur importations (Deductible VAT on imports) Section D - Result: - Line 25: TVA brute due (Total VAT due) - Line 26: TVA déductible totale (Total deductible VAT) - Line 28: TVA nette à payer (Net VAT to pay) - Line 29: Crédit de TVA à reporter ou remboursement (VAT credit to carry forward or refund) Enhanced Configuration: - Added section C and D headers with proper descriptions - Added all 7 new CA-3 lines for sections C and D - Updated PCG account mappings for all new lines - Enhanced form layout to show all 4 sections Language Support: - Added English translations for sections C and D and all lines - Added French translations for sections C and D and all lines - Complete bilingual support for all 17 CA-3 lines Documentation: - Updated PLANNING.md with complete CA-3 structure - Added sections C and D documentation with all lines - Complete Notice 4722 compliance with all 4 sections The module now includes the COMPLETE CA-3 structure with all 4 sections A, B, C, D!
18 KiB
18 KiB
DeclarationTVA - French CA-3 VAT Declaration Module
Project Overview
This Dolibarr module creates the French VAT declaration CA-3 (Déclaration de TVA CA3) with PCG account mapping functionality. The module allows users to configure PCG (Plan Comptable Général) accounts for each CA-3 box and generates the appropriate VAT declaration.
Architecture
Core Components
- Module Class:
modDeclarationTVA.class.php- Main module descriptor - Setup Interface:
admin/setup.php- Configuration page for PCG account mapping - Database Schema:
sql/dolibarr_allversions.sql- Database structure - Language Support: Bilingual (French/English) interface
- Main Interface:
declarationtvaindex.php- Main module page
CA-3 Box Structure
The module handles the complete French CA-3 VAT declaration structure:
CA-3 Form Structure (Notice 4722 - 3310-CA3-SD)
A. Opérations imposables (Taxable Operations) - Notice 4722
| CA-3 Line | Label | Description | PCG Accounts |
|---|---|---|---|
| A1 | Montant HT des opérations imposables normales | HT amount of all taxable operations that form normal sales (goods + services taxable in France at 20%, 10%, 5,5%, 2,1%) | Sales: 7xxxx; VAT: 44571x / 44572x / 44573x / 44574x |
| A2 | Montant HT des opérations imposables spéciales | HT amount of special taxable operations not part of ordinary turnover (e.g. cessions d'immobilisations, livraisons à soi-même) | 775xxx (gains on disposal), 72xxx (production immobilisée), VAT: 44571x |
| A3 | Montant HT des services achetés à des prestataires non établis | HT amount of services purchased from providers not established in France but taxable in France (reverse charge for foreign services) | 6xxxx (services purchased), 4452xxx (TVA due autoliquidée) |
| A4 | Montant HT des importations imposables en France | HT amount of imports taxable in France (non-EU), excluding petroleum products | 6xxxx / 2xxxx purchases or assets; VAT: 4452xxx (import VAT) |
| A5 | Montant HT des opérations à la sortie d'un régime suspensif | HT amount of taxable operations at exit from a suspensive fiscal regime (customs regimes, free zones, etc.) | Specific 6xxxx/2xxxx depending on goods; VAT: 4452xxx |
B. Décompte de la TVA due (VAT Due Calculation) - Notice 4722
| CA-3 Line | Label | Description | PCG Accounts |
|---|---|---|---|
| 08 | TVA due au taux de 20% | VAT amounts due, calculated on A1/A2 bases at 20% rate | 44571x (TVA collectée à 20%) |
| 09 | TVA due au taux de 10% | VAT amounts due, calculated on A1/A2 bases at 10% rate | 44572x (TVA collectée à 10%) |
| 9B | TVA due aux taux réduits (5,5% et 2,1%) | VAT amounts due, calculated on A1/A2 bases at reduced rates (5,5% and 2,1%) | 44573x (5,5%) / 44574x (2,1%) (TVA collectée aux taux réduits) |
| 17 | TVA due au titre des acquisitions intracommunautaires | VAT due on intra-EU acquisitions (autoliquidation) | 4452xxx (TVA due intracommunautaire) |
C. Décompte de la TVA déductible (Deductible VAT Calculation) - Notice 4722
| CA-3 Line | Label | Description | PCG Accounts |
|---|---|---|---|
| 20 | TVA déductible sur immobilisations | Deductible VAT on capital goods (fixed assets) | 44562x (TVA déductible sur immobilisations) |
| 21 | TVA déductible sur autres biens et services | Deductible VAT on other goods and services (operating expenses) | 44566x (TVA déductible sur autres biens et services) |
| 22 | TVA déductible sur importations | Deductible VAT on imports | 44566x / 44562x (TVA déductible sur importations) |
D. Résultat (Result) - Notice 4722
| CA-3 Line | Label | Description | PCG Accounts |
|---|---|---|---|
| 25 | TVA brute due (Total TVA due) | Total VAT due (sum of all VAT due amounts) | Sum of 08 + 09 + 9B + 17 |
| 26 | TVA déductible totale (Total deductible VAT) | Total deductible VAT (sum of all deductible VAT amounts) | Sum of 20 + 21 + 22 |
| 28 | TVA nette à payer | Net VAT to pay (if total due > total deductible) | 445510 (État - TVA à décaisser) |
| 29 | Crédit de TVA à reporter ou remboursement | VAT credit to carry forward or refund (if total deductible > total due) | 445670 (État - Crédit de TVA à reporter ou rembourser) |
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
Core Tables
llx_declarationtva_config: Module configuration and settingsllx_declarationtva_account_mappings: PCG account mappings for CA-3 linesllx_declarationtva_periods: Declaration period managementllx_declarationtva_declarations: Main declarations storagellx_declarationtva_ca3_lines: CA-3 form lines datallx_declarationtva_account_details: Detailed account breakdown
EU Transaction Tables
llx_declarationtva_eu_suppliers: EU supplier configurationllx_declarationtva_eu_transactions: EU transaction tracking
Workflow Integration Tables
llx_declarationtva_workflow_log: Workflow triggers and automationllx_declarationtva_audit_trail: Complete audit trailllx_declarationtva_compliance: Compliance validation results
Export and Integration Tables
llx_declarationtva_exports: Export history and tracking
Performance Features
- Comprehensive Indexing: Optimized for large datasets
- Foreign Key Constraints: Data integrity enforcement
- Reporting Views: Pre-built views for analytics
- Multi-Entity Support: Full entity isolation
PCG Account Mapping System
Multiple Account Selection
Each CA-3 line can be mapped to multiple PCG accounts from Dolibarr's existing chart of accounts:
- Account Selection Interface: Multi-select dropdown from Dolibarr's
llx_accounting_accounttable - Account Validation: Real-time validation against existing chart of accounts
- Account Grouping: Group multiple accounts by CA-3 line
- Account Weighting: Optional weighting for account importance
- Account Filtering: Filter accounts by type (7xxxx, 4457xx, 4456xx, etc.)
Account Mapping Structure
-- PCG Account Mappings Table
llx_declarationtva_account_mappings:
- id (Primary Key)
- ca3_line (VARCHAR) -- A1, A2, B1, B2, B3, B4, 05, 06, 17, 20, 21, 22, 28, 29
- account_code (VARCHAR) -- PCG account code from llx_accounting_account
- account_label (VARCHAR) -- Account description
- vat_rate (DECIMAL) -- VAT rate (20%, 10%, 5.5%, 2.1%, 0%)
- account_type (VARCHAR) -- base, vat_collected, vat_deductible, vat_due
- is_active (BOOLEAN) -- Enable/disable this mapping
- weight (DECIMAL) -- Optional weighting (default 1.0)
- created_date (DATETIME)
- modified_date (DATETIME)
Account Selection Interface
- Multi-Select Dropdown: Select multiple accounts for each CA-3 line
- Account Search: Search accounts by code or description
- Account Filtering: Filter by account type (7xxxx, 4457xx, etc.)
- Account Preview: Show account details and current balances
- Account Validation: Ensure accounts exist and are active
- Bulk Operations: Add/remove multiple accounts at once
Key Features
- PCG Account Configuration: Setup page to map PCG accounts to CA-3 boxes
- Period Management: Handle quarterly/monthly declaration periods
- Data Extraction: Query Dolibarr accounting data based on PCG mappings
- Declaration Generation: Create CA-3 format declarations
- Export Functionality: Export to various formats (PDF, XML, CSV)
- Bilingual Interface: French and English language support
Advanced Features
- Draft System: All declarations start as drafts with detailed account breakdowns
- Validation Workflow: User validation with detailed verification
- Accounting Integration: Automatic journal entry generation for validated declarations
- Audit Trail: Complete history of changes and validations
- Comparison Tools: Compare declarations across periods
- Exception Handling: Flag unusual amounts or missing data
- Multi-Entity Support: Handle multiple companies/entities
- Automated Calculations: Real-time calculation updates
- Document Management: Attach supporting documents
- Notification System: Email alerts for deadlines and status changes
- Reporting Dashboard: Visual analytics and trends
- Backup/Restore: Declaration data backup and recovery
- Integration APIs: Connect with external tax systems
- Mobile Support: Responsive design for mobile access
Dolibarr Workflow Integration
- Autoliquidation Automation: Automatic EU VAT autoliquidation on invoice transfer
- Hook System Integration: Extend Dolibarr core functionality
- Invoice Processing Hooks: Intercept invoice accounting transfers
- Supplier Invoice Automation: Auto-detect EU suppliers and apply autoliquidation
- Customer Invoice Automation: Auto-apply EU transaction rules
- Accounting Entry Automation: Generate VAT entries during transfer to accounting
- Workflow Triggers: Automatic VAT processing based on invoice status
- Custom Fields Integration: Extend invoices with VAT-specific fields
- Status Change Automation: Trigger VAT processing on invoice validation
- Batch Processing: Handle multiple invoices for VAT processing
Advanced Analytics & Intelligence
- VAT Forecasting: Predict future VAT obligations based on historical data
- Anomaly Detection: AI-powered detection of unusual VAT patterns
- Cash Flow Impact: Calculate VAT impact on cash flow projections
- VAT Optimization: Suggest strategies to minimize VAT payments
- Trend Analysis: Identify VAT trends and seasonal patterns
- Benchmarking: Compare VAT performance against industry standards
- Risk Assessment: Flag potential VAT compliance risks
- Predictive Alerts: Early warning system for VAT issues
Tax Authority Integration
- Direct Submission: Submit CA-3 declarations directly to French tax authorities
- API Integration: Connect with French tax authority APIs
- Real-time Validation: Validate declarations against tax authority systems
- Electronic Signatures: Digital signature for declaration submission
- Receipt Management: Store and manage tax authority receipts
- Status Tracking: Track declaration status with tax authorities
- Amendment Handling: Process declaration amendments and corrections
- Payment Integration: Direct payment of VAT obligations
Advanced Reporting & Compliance
- Multi-Period Analysis: Compare VAT across multiple periods
- VAT Reconciliation: Reconcile VAT with general ledger
- Audit Trail: Complete audit trail for tax authorities
- Compliance Dashboard: Real-time compliance status monitoring
- Regulatory Updates: Automatic updates for tax law changes
- Penalty Calculation: Calculate potential penalties for late submissions
- Deadline Management: Automated deadline tracking and reminders
- Document Generation: Auto-generate supporting documentation
Business Intelligence
- VAT Analytics: Deep insights into VAT patterns and trends
- Cost Analysis: Analyze VAT impact on business costs
- Profitability Impact: Show how VAT affects product profitability
- Customer VAT Analysis: Analyze VAT by customer segments
- Supplier VAT Analysis: Analyze VAT by supplier categories
- Geographic Analysis: VAT analysis by geographic regions
- Product Analysis: VAT analysis by product categories
- Seasonal Analysis: Identify seasonal VAT patterns
Integration & Connectivity
- ERP Integration: Connect with other ERP systems
- Banking Integration: Direct bank account integration for VAT payments
- Accounting Software: Integration with other accounting software
- CRM Integration: Connect with customer relationship management
- E-commerce Integration: Connect with e-commerce platforms
- API Gateway: Centralized API for external integrations
- Webhook Support: Real-time notifications to external systems
- Data Synchronization: Sync data across multiple systems
Dolibarr Hook Integration
Available Hooks for VAT Automation
invoice_validate: Trigger when invoice is validatedinvoice_accountancy_transfer: Trigger when invoice is transferred to accountingsupplier_invoice_validate: Trigger when supplier invoice is validatedsupplier_invoice_accountancy_transfer: Trigger when supplier invoice is transferredinvoice_paid: Trigger when invoice is marked as paidinvoice_unpaid: Trigger when invoice is marked as unpaidinvoice_cancel: Trigger when invoice is cancelled
Automation Workflow
- Invoice Creation: User creates supplier invoice from EU supplier
- Hook Trigger:
supplier_invoice_validatehook fires - EU Detection: Module checks if supplier is EU-based
- Autoliquidation: Automatically creates VAT due (4452xxx) and VAT deductible (4456xx) entries
- Accounting Transfer: When transferred to accounting, entries are already created
- CA-3 Integration: Entries automatically appear in CA-3 calculations
Custom Fields for VAT Processing
- EU Supplier Flag: Mark suppliers as EU-based
- VAT Treatment: Specify autoliquidation vs normal VAT
- Transaction Type: B2B, B2C, special cases
- OSS Threshold: Track B2C sales thresholds
- DEB/DES Required: Flag invoices requiring exchange declarations
File Structure
declarationtva/
├── admin/
│ ├── setup.php (Enhanced with PCG configuration)
│ └── about.php
├── core/
│ ├── modules/modDeclarationTVA.class.php
│ ├── class/
│ │ ├── declarationtva.class.php
│ │ ├── declarationtva_config.class.php
│ │ └── declarationtva_period.class.php
│ └── triggers/
│ ├── interface_99_modDeclarationTVA_DeclarationTVATrigger.class.php
│ └── action_99_modDeclarationTVA_DeclarationTVAAction.class.php
├── lib/
│ └── declarationtva.lib.php
├── langs/
│ ├── en_US/declarationtva.lang
│ └── fr_FR/declarationtva.lang
├── sql/
│ └── dolibarr_allversions.sql
├── templates/
│ └── declarationtva/
│ ├── ca3_form.tpl
│ └── ca3_pdf.tpl
└── declarationtvaindex.php
Development Phases
Phase 1: Foundation (Week 1-2)
- Database schema design and implementation
- Core class structure
- Basic module setup and configuration
Phase 2: Configuration Interface (Week 3-4)
- PCG account mapping interface
- Period management
- User permissions and access control
Phase 3: Data Processing (Week 5-6)
- Accounting data extraction
- CA-3 calculation logic
- Data validation and error handling
Phase 4: User Interface (Week 7-8)
- Main declaration interface
- Period selection and management
- Declaration preview and editing
Phase 5: Export and Reporting (Week 9-10)
- PDF generation
- XML export for tax authorities
- CSV export for analysis
Phase 6: Testing and Documentation (Week 11-12)
- Unit testing
- Integration testing
- User documentation
- French tax compliance validation
Success Criteria
-
Functional Requirements
- Complete CA-3 form generation
- Accurate PCG account mapping
- Proper period management
- Export functionality
-
Technical Requirements
- Dolibarr compatibility (v19+)
- Bilingual interface (FR/EN)
- Database integrity
- Performance optimization
-
Compliance Requirements
- French tax authority format compliance
- Data accuracy and validation
- Audit trail maintenance
Risk Mitigation
- Tax Compliance: Regular validation with French tax requirements
- Data Accuracy: Comprehensive testing with real accounting data
- Performance: Optimization for large datasets
- User Experience: Intuitive interface for non-technical users
Future Enhancements
- Automated Submission: Direct submission to tax authorities
- Advanced Analytics: VAT analysis and reporting
- Multi-Entity Support: Support for multiple companies
- Integration: Enhanced integration with other Dolibarr modules