- Enhanced validateDeclaration() to check for column existence
- Falls back to basic validation if enhanced columns don't exist
- Updated migration script with proper column existence checks
- Uses dynamic SQL to avoid errors on existing columns
- System now works with or without the additional columns
- Graceful degradation for different database states
- Created migration to change line_label from varchar(255) to TEXT
- Added truncation logic to prevent future line_label length issues (1000 char limit)
- This fixes the issue where 11 accounts mapped to line 08 base caused display problems
- The calculation should now work correctly with any number of account mappings
- Added comprehensive field naming documentation (CA3_FIELD_NAMING.md)
- Implemented PDFTK-based PDF form filling with FDF generation
- Added PDFTK installation guide for Linux/Mac/Windows
- Enhanced PDF generation with company data integration
- Added new CA-3 lines: F1, F2 (intracom acquisitions), E1-E6, F6-F8, line 18
- Updated section structure: merged Section C into Section B as sub-section
- Added lines 19, 20 to TVA DÉDUCTIBLE sub-section
- Updated all field descriptions to match official CA-3 form
- Improved visual hierarchy with dark blue section headers
- Enhanced calculation logic for VAT deductible amounts
- Added comprehensive language translations
- Updated database schema with new fields
- Fixed font settings to use Courier New 9pt for official documents
SQL Path Fix:
- Fixed module init() to look in /custom/declarationtva/sql/ instead of /declarationtva/sql/
- Updated dolibarr_allversions.sql with MVP schema content
- Ensures tables are created with correct structure from the start
Schema Updates:
- Uses MVP schema with correct unique constraints
- Supports multiple accounts per CA-3 line from creation
- Includes all necessary tables for basic functionality
- Proper indexes and foreign key constraints
The module should now create tables properly when activated!
Database Schema Fix:
- Fixed unique constraint to allow multiple accounts per CA-3 line
- Changed from (entity, ca3_line) to (entity, ca3_line, account_code)
- Added migration script to update existing tables
- Updated table comments to reflect new CA-3 line structure
Debug Features Added:
- Database operation logging in updateAccountMapping method
- Table existence and structure checking in setup page
- Detailed error logging for SQL operations
- Form data processing visibility
The issue was likely the unique constraint preventing multiple accounts per line!
MVP Database Schema:
- Simplified database schema for MVP development
- Core tables: config, account_mappings, periods, declarations, ca3_lines
- Basic indexes for performance
- Initial configuration data
Core PHP Classes:
- DeclarationTVA: Main class for CA-3 processing
- DeclarationTVA_Config: Configuration management
- DeclarationTVA_Period: Period management
- Complete CRUD operations for all entities
Main Interface:
- declarationtvaindex.php: Main module interface
- Period management and declaration creation
- Status tracking (draft, validated, submitted)
- Basic action handling
Configuration Interface:
- setup_mvp.php: Simplified configuration page
- PCG account mapping for all CA-3 lines
- Account selection from Dolibarr chart of accounts
- VAT rate configuration
Key Features Implemented:
- Basic CA-3 form generation
- PCG account mapping (one account per line for MVP)
- Period management (quarterly)
- Declaration status tracking
- Configuration interface
- Account validation against Dolibarr
Next Steps:
- CA-3 form generation logic
- PDF export functionality
- Testing with sample data
MVP Progress: 60% complete
Core foundation ready for testing and refinement
Database Schema Overview:
- 10 core tables with complete relationships
- Multi-entity support with full data isolation
- Comprehensive indexing for performance optimization
- Foreign key constraints for data integrity
- Pre-built views for reporting and analytics
Core Tables:
- llx_declarationtva_config: Module configuration and settings
- llx_declarationtva_account_mappings: Multiple PCG account mappings per CA-3 line
- llx_declarationtva_periods: Declaration period management (quarterly/monthly)
- llx_declarationtva_declarations: Main declarations storage with status tracking
- llx_declarationtva_ca3_lines: CA-3 form lines data with amounts and VAT rates
- llx_declarationtva_account_details: Detailed account breakdown for each line
EU Transaction Tables:
- llx_declarationtva_eu_suppliers: EU supplier configuration and autoliquidation settings
- llx_declarationtva_eu_transactions: EU transaction tracking with B2B/B2C classification
Workflow Integration Tables:
- llx_declarationtva_workflow_log: Workflow triggers and automation logging
- llx_declarationtva_audit_trail: Complete audit trail for all changes
- llx_declarationtva_compliance: Compliance validation results and status
Export and Integration Tables:
- llx_declarationtva_exports: Export history and tracking (PDF, XML, CSV)
Key Features:
- Multiple account selection per CA-3 line with weighting and sorting
- Complete audit trail with user tracking and IP logging
- EU transaction handling with autoliquidation automation
- Workflow integration with Dolibarr hooks
- Performance optimization with comprehensive indexing
- Reporting views for analytics and compliance
- Multi-entity support for enterprise deployments
- Data integrity with foreign key constraints
- Initial configuration data for immediate setup
Database Design Principles:
- Scalable architecture for large datasets
- Complete data isolation between entities
- Optimized for French CA-3 compliance
- Full integration with Dolibarr accounting system
- Comprehensive audit trail for tax authorities
- Performance optimization for real-time processing
- Add core module structure
- Include admin interface
- Add language support (en_US)
- Include SQL schema
- Add build configuration
- Include documentation and licensing