- Now properly sets total pages after all pages are generated
- Footer now shows proper 'Page X/Y' format with accurate total pages
- Fixed issue where {nb} placeholder wasn't being processed by TCPDF
- Added setTotalPages method to custom PDF class
- Footer now displays correct total page count using custom implementation
- Updated module version to 2.5.24
- Now uses TCPDF's {nb} placeholder for accurate total page count
- Footer now shows proper 'Page X/Y' format with correct total pages
- Fixed issue where total pages showed same as current page
- Footer now displays correct total page count using TCPDF's built-in mechanism
- Updated module version to 2.5.23
- Footer now displays 'Page X/Y' format (e.g., 'Page 1/7')
- Professional PDF layout with total page count for better document navigation
- Users can now see current page and total pages in footer
- Enhanced footer provides complete page information
- Updated module version to 2.5.22
- Only accounts with non-zero amounts are now displayed in PDF detailed pages
- Eliminated display of accounts with 0.00 amounts to save paper and improve readability
- Resume now shows count of only non-zero accounts
- Detailed pages now contain only relevant accounts with actual values
- Improved PDF efficiency and cleaner output
- Updated module version to 2.5.21
- Added SetX positioning to match table alignment for subtitles
- 'Comptes de base (ventes)' and 'Comptes de TVA' subtitles now properly positioned
- Subtitles use same X positioning as center-aligned table
- Table and subtitles now have consistent positioning and alignment
- Updated module version to 2.5.20
- Table subtitles now center-aligned to match table alignment
- 'Comptes de base (ventes)' and 'Comptes de TVA' subtitles now properly centered
- Better layout alignment with center-aligned table for professional appearance
- Table and subtitles now have consistent center alignment
- Updated module version to 2.5.19
- Table subtitles now use same width as table instead of stretching page-wide
- 'Comptes de base (ventes)' and 'Comptes de TVA' subtitles now properly aligned
- Better visual consistency with table width for professional appearance
- Table subtitles no longer extend beyond table boundaries
- Updated module version to 2.5.18
- Now shows separate base and VAT amounts for lines 08, 09, 9B
- Resume displays 'Montant de base: X | Montant de TVA: Y' for mixed amount lines
- More accurate amount display in PDF detailed pages
- Clear distinction between base and VAT amounts in line summaries
- Special handling for lines with both base and VAT amounts
- Updated module version to 2.5.17
- Now shows separate counts for base and VAT accounts for lines 08, 09, 9B
- Resume displays 'Comptes de base: X | Comptes de TVA: Y' for mixed account lines
- More accurate account breakdown in PDF detailed pages
- Clear distinction between base and VAT accounts in line summaries
- Special handling for lines with both base and VAT accounts
- Updated module version to 2.5.16
- Now uses Dolibarr's $mysoc configuration instead of fetching separate company
- PDF footer now uses the same company data as CA-3 form filling
- Uses $mysoc (Dolibarr company config) for all company information
- Company name in PDF footer now matches the company used in CA-3 form
- Updated all method signatures and calls to use $mysoc consistently
- Removed duplicate company fetching and use consistent data source
- Now uses main company entity (1) instead of current entity
- PDF footer now shows the actual Dolibarr company, not first client
- Uses main company entity for consistent company information
- Company name in PDF footer now matches the actual Dolibarr company
- Updated module version to 2.5.14
- Moved custom PDF class definition after TCPDF include
- Custom class now extends TCPDF after it's properly loaded
- Fixed 'Class TCPDF not found' error by correct class definition order
- Custom PDF class now works with proper dependency loading
- Updated module version to 2.5.13
- Removed incorrect TCPDF include since it's already loaded by Dolibarr
- Fixed 'Failed opening required' error for TCPDF file
- TCPDF is already available through Dolibarr's standard loading at line 69
- Custom PDF class now works without duplicate includes
- Updated module version to 2.5.12
- Added proper TCPDF include statement before custom class definition
- Ensured TCPDF is loaded before extending it with custom PDF class
- Fixed 'Class TCPDF not found' error
- Custom PDF class now works correctly with proper dependencies
- Updated module version to 2.5.11
- Fixed TCPDF footer implementation using proper Footer() method override
- Created DeclarationTVA_CustomPDF class extending TCPDF
- Removed incorrect setFooterCallback() calls that don't exist in TCPDF
- Company name and page numbering now work correctly on all pages
- Fixed 'Call to undefined method TCPDF::setFooterCallback()' error
- Updated module version to 2.5.10
- Added company name on the left side of footer
- Page number remains on the right side of footer
- Footer uses same font size as summary information (size 7)
- Professional branding with company name on every page
- Enhanced footer layout for complete document identification
- Updated module version to 2.5.9
- Summary information now uses the same font size as tables (size 7)
- All text elements now have consistent typography
- Professional appearance with uniform font sizing throughout the PDF
- Summary text blends seamlessly with table content
- Updated module version to 2.5.8
- Restored summary information (period, account count, calculated amount)
- Only the redundant 'Résumé de la ligne' titles were removed
- Summary details are preserved for complete information
- Balanced design with clean titles but complete data
- Updated module version to 2.5.7
- Removed redundant 'Résumé de la ligne' titles from detailed pages
- Eliminated unnecessary summary sections to reduce clutter
- Users can now focus directly on the account details tables
- Cleaner, more professional appearance without redundant information
- Updated module version to 2.5.6
- Set all borders to thin (0.1) throughout the entire PDF
- All table cells, titles, and separators now use consistent thin borders
- Detailed page tables now have the same border thickness as first page tables
- Clean, professional appearance with consistent thin borders
- Updated module version to 2.5.5
- Updated detailed page tables to match first page column widths exactly
- All tables now use identical column proportions (20, 60, 40)
- Detailed page tables now have the same width and proportions as journal tables
- Consistent table sizing throughout the entire PDF
- Updated module version to 2.5.4
- Updated detailed page tables to match first page font sizes exactly
- All tables now use identical styling (font size 7, proper spacing)
- Detailed page tables now look identical to journal tables
- Consistent typography and spacing throughout the entire PDF
- Updated module version to 2.5.3
- Applied consistent table styling from journal tables to all tables
- Enhanced visual consistency throughout the entire PDF document
- White backgrounds for data rows, light gray for headers and subtotals
- Unified professional appearance across all pages
- Updated module version to 2.5.2
- Added light gray backgrounds to all section titles in detailed pages
- Enhanced visual hierarchy for better readability
- Improved professional appearance of PDF exports
- Updated module version to 2.5.1
- Update module version from 2.3.0 to 2.4.0
- Add comprehensive changelog for version 2.4.0
- Document template management system features
- Document minor version system implementation
- Document bug fixes and technical improvements
- Document template updates and maintenance manual
- Bump template version from 30.1 to 30.2
- Update manifest.json with new version 30.2
- Add release entry for corrected template
- Template now includes proper field positioning
- Other installations will auto-update to version 30.2
- Update isFillablePDF() to recognize ca3_official_template.pdf
- Ensure official template is used for CA-3 form generation
- Fix missing CA-3 pages in PDF output
- Use official template instead of falling back to basic PDF generation
- Use realpath() to get absolute path to templates directory
- Fix template loading for CA-3 PDF generation
- Resolve template path mismatch issue
- Ensure official template is found and used correctly
- Add major.minor version format (30.1)
- Keep government version as major number (30)
- Use minor version for fixes and improvements (.1, .2, .3)
- Update manifest.json with minor version system
- Add practical examples to maintenance manual
- Enable automatic updates for template fixes
- Maintain government version compliance
- Remove debug logging from action handling
- Remove debug logging from template reset method
- Remove debug logging from template info method
- Clean up production code after successful debugging
- Update template_path to use relative path from class file
- Fix REVENIR AU MODELE OFFICIEL button functionality
- Ensure template detection works correctly
- Resolve template path mismatch issue
- Keep template version at 30 (official government version)
- Remove version 31 entry from manifest
- Maintain official CA-3 template version 30
- Template version should match government document version
- Update hardcoded template version in PDF class to 31
- Update manifest.json current_version to 31
- Add new release entry for version 31
- Enable version checking and update notifications
- Add more descriptive error messages for Gitea server access problems
- Indicate potential causes: private repository or server configuration
- Help users understand why online template updates may not work
- Maintain functionality with local fallback
- Add informative messages when using local files due to Gitea inaccessibility
- Provide clear feedback about fallback behavior
- Maintain functionality even when Gitea server is not accessible
- Support both online and offline template management scenarios
- Try to fetch manifest from Gitea first, fallback to local if not accessible
- Try to download templates from Gitea first, fallback to local if not accessible
- Support both online template updates and offline functionality
- Enable other installations to check for template updates when online
- Provide reliable fallback for offline installations
- Replace Gitea manifest fetching with local manifest file
- Use local template files instead of downloading from Gitea
- Fix 'Failed to fetch manifest from Gitea' error in template management tab
- Use local files for template updates instead of external Gitea server
- Improve reliability by removing external dependencies
- Remove D section (calculated lines) from configuration interface
- Remove D section from section headers configuration
- Simplify configuration page by removing unnecessary calculated section
- Clean up interface to show only configurable sections (A and B)
- Remove 'HT amounts of all taxable operations' description
- Remove all section descriptions (A, B, D sections)
- Fix 'Référence:' display to only show when notice is not empty
- Clean up configuration page completely by removing all technical text
- Simplify interface to show only section titles
- Added journal entry table to detailed PDF with columns: Code compte, Libellé compte, Libellé écriture, Débit, Crédit
- Implemented complex balancing logic for TD > 0 and TD <= 0 cases
- Added account label lookup with proper mapping for 4455100, 4456700, 658000, 758000
- Fixed account label retrieval to use custom uppercase labels from chart of accounts
- Optimized table layout with centered positioning and appropriate column widths
- Reduced font sizes for better page fit while maintaining readability
- Added final balancing entries using 658000 (debit) and 758000 (credit) accounts
- Removed all debug logging for production-ready code
- Restored getVATResultEntry call (needed for main journal entries)
- Changed account code from 4456700 to 4455100
- Uses getAccountLabel for proper account name
- Should now show 4455100 with TD amount in journal table
- Removed getVATResultEntry call (was creating 4456700)
- Removed getRoundingEntry call (was creating duplicate entries)
- All balancing now handled in getBalancingEntries method
- Should now show only 4455100 with TD amount, no 4456700
- TD amount is already rounded (69.00), so no rounding difference needed
- Only creates single entry with TD amount on 4455100
- No more unnecessary rounding calculations
- Should show 4455100 with 69.00 (exact TD amount)
- Now uses Line 16 - Line 23 calculation (same as view page)
- Added getLineAmount method to get line amounts from database
- Uses TD amount as main balancing entry instead of journal difference
- Should handle both positive and negative TD amounts correctly
- Main amount on 4455100, rounding difference on 758000
- Main amount (rounded) on 4455100: 69.00
- Rounding difference on 758000: 0.90
- For difference 69.90: 4455100 credit 70.00 + 758000 credit 0.90
- Should now show correct split between main and rounding accounts
- Changed account code from 758000 to 4455100
- Updated debug message to reflect correct account
- Should now show 4455100 with 0.90 for example 1
- Single entry with correct account as requested
- Removed main balancing entry (4455100)
- Only creates 758000 entry with real difference (0.90)
- No more split entries, just single entry as user requested
- Should show only 758000 with 0.90, no 4455100 entry