Fixed:
- Use correct table: llx_accounting_bookkeeping
- Use correct column: numero_compte (not account_number)
- Use correct date column: doc_date
- Removed unnecessary table discovery
- Queries now match actual Dolibarr database structure
Updated:
- Focus on accounting_line table (most likely to exist)
- Added comprehensive table discovery with column structure
- Check for accounting_account, accounting_journal, accounting_line
- Removed dependency on _bookkeeping tables
- Will discover actual table structure in your Dolibarr installation
Debug Features:
- Try multiple possible table names (accounting_bookkeeping, accounting_bookkeeping_tmp)
- Try different column names (account_number, account)
- Try with and without entity filter
- Log successful queries and amounts found
- Identify which query works with your Dolibarr setup
Cleaned up:
- Removed error_log statements from getAccountAmounts()
- Removed debugging from calculateCA3Amounts()
- Calculation system is working correctly
- Ready for production use with real accounting data
Fixed:
- Replaced non-existent getDeclarationInfo() with direct database query
- Fetches start_date and end_date from declarationtva_declarations table
- Proper error handling for missing declarations
- recalculateCA3Amounts() now works without undefined method errors
View Page Updates:
- Use declaration's own start_date and end_date instead of period dates
- Show dates in Period field: 'Start Date - End Date'
- Remove separate DateRange line (redundant)
- Fix created_date property in fetch() method
- Cleaner, more accurate display of declaration information
Fixed:
- Removed duplicate getAccountMappings() method declaration
- Kept the original method that includes vat_rate field
- Resolves PHP Fatal error: Cannot redeclare method
Declaration Numbering Changes:
- Replace 'Q2' (quarter) with month numbers (2 characters)
- Single month: 'CA3-2024-05-20241002123456'
- Multiple months: 'CA3-2024-05-07-20241002123456' (May to July)
- Updated both generateDeclarationNumber() and generateDeclarationNumberFromDates()
- More precise period identification in declaration numbers
Delete Feature:
- Added deleteDeclaration() method to DeclarationTVA class
- Only allows deletion of draft declarations (safety check)
- Deletes CA-3 lines first, then declaration record
- Added delete button to main interface for draft declarations
- Added confirmation dialog before deletion
- Added success/error messages for delete operations
- Added translations in both English and French
Security:
- Only draft declarations can be deleted
- Confirmation dialog prevents accidental deletion
- Proper error handling and user feedback
The interface now shows a delete button for each draft declaration!
Class Enhancement:
- Added missing properties: rowid, period_id, declaration_number, declaration_name, start_date, end_date, status
- Added fetch() method to retrieve declaration by ID
- Method populates object properties from database
- Returns 1 if found, 0 if not found, -1 if error
This fixes the 'Call to undefined method fetch()' error in declarationtva_view.php.
Create Declaration Improvements:
- Removed period dropdown selection
- Moved date fields to top of form
- Made start_date and end_date mandatory fields
- Added createDeclarationWithDates() method to DeclarationTVA class
- Added generateDeclarationNumberFromDates() helper method
- Simplified form with direct date input
- Better user experience with mandatory date fields
The form is now more straightforward - users just enter the dates
directly instead of selecting from predefined periods.
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