Fixed:
- Line 25: Only shows value if net_vat_due < 0 (VAT credit - we receive money)
- Line TD: Only shows value if net_vat_due > 0 (VAT due - we pay money)
- Clear separation between payment (TD) and receipt (25) scenarios
- Line TD description: 'TVA due (montant à payer)'
- This clearly separates when we need to pay vs receive VAT
Fixed:
- Line 25: TVA brute due (Total VAT collected) - always positive
- Line TD: TVA due (absolute value) - never negative, shows abs(net_vat_due)
- Line TD appears between lines 26 and 28 in Section D
- Line TD shows 'TVA due (valeur absolue)' as description
- This ensures VAT due is never negative, even with VAT credits
Added:
- Line 23: Subtotal of lines 20, 21, 22 (for user reference)
- calculateLine23() method that sums VAT amounts from lines 20, 21, 22
- Line 23 display in Section C between lines 22 and Section D
- Line 23 shows as 'Sous-total TVA déductible (20 + 21 + 22)' with bold formatting
- Provides subtotal for Section C just like line 16 for Section B
Fixed:
- Line 16 now appears in Section B between lines 9B and 17
- Line 16 shows as 'Sous-total TVA due (08 + 09 + 9B)' with bold formatting
- Line 16 displays the calculated subtotal amount
- Proper positioning in the CA-3 form structure
Fixed:
- Removed extra header line above section A
- Right-aligned all value column titles (Amount, Base Amount, VAT Amount)
- Professional look with consistent alignment
- Table now starts directly with section A header
Fixed:
- Description column now spans 2 columns (colspan='2') for normal rows
- All section headers span 4 columns (colspan='4')
- Table headers properly aligned with data rows
- Lines 08, 09, 9B: 4 columns (Line | Description | Base HT | VAT)
- All other lines: 3 columns (Line | Description spanning 2 | Amount)
- Table should now be properly aligned and readable
Reverted:
- Main table back to 3 columns (Line, Description, Amount)
- Sections A, C, D use normal 3-column layout
- Only lines 08, 09, 9B have special 4-column layout (Line, Description, Base HT, VAT)
- Added special header 'Base HT et TVA par taux' for these lines
- Line 17 uses normal 3-column layout
- Added language translations for new header
Enhanced:
- Updated CA-3 line definitions for 08, 09, 9B to show both base and VAT
- Changed type from 'vat' to 'base_vat' for these fields
- Updated view table to show 5 columns: Line, Description, Base HT, VAT, Total
- Added language translations for new columns
- Fields 08, 09, 9B now display both base amounts and VAT amounts
- Enhanced debugging to show final amounts for each line
Fixed:
- Added CA-3 line definitions lookup
- Use proper descriptions from configuration
- Fallback to database line_label if definition missing
- All CA-3 lines now show proper descriptions:
A1: Montant hors TVA des opérations imposables
A2: Opérations imposables mais ne relevant pas du CA courant
etc.
Enhanced Declaration View:
- Restored all declaration fields (number, name, period, status, created date)
- Added totals section with VAT collected, deductible, net due, and credit
- Bold formatting for totals to highlight important amounts
- Added translations for all new fields
- Complete layout with all necessary information
Fixed:
- Moved object initialization before action processing
- Prevents 'Call to a member function on null' error
- recalculateCA3Amounts() now works properly
- Objects are available when action handlers run
Recalculate Button Integration:
- Replaced placeholder CA-3 data with real database queries
- getCA3Lines() now fetches actual calculated amounts
- Shows 'No CA-3 data' message when no calculations exist
- Displays real VAT amounts from database after recalculation
- Added translations for 'No CA-3 data' message
Now the recalculate button will:
1. Trigger calculation engine
2. Query accounting data
3. Display real calculated amounts
4. Show debugging info in error logs
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
New Pages Added:
- declarationtva_create.php: Complete declaration creation form
- declarationtva_view.php: Declaration details and CA-3 amounts display
Features Implemented:
- Period selection for new declarations
- Declaration naming with helpful examples
- Optional date range override
- Complete CA-3 form structure display
- Status-based action buttons (Validate/Submit)
- Proper error handling and success messages
- Full bilingual support (English/French)
Create Page Features:
- Period dropdown with date ranges
- Declaration name field with help text
- Optional date override
- Configuration reminder with link to setup
View Page Features:
- Complete declaration details
- CA-3 amounts table with all 16 lines
- Status-based actions
- Navigation back to main list
The module now has a complete declaration workflow!