- Fixed return value handling in generateCompleteCA3PDF() method
- Export now correctly returns file path instead of boolean
- Improved error handling for PDF generation failures
- Export functionality now works with both fillable and improved layouts
- Updated module version to 2.5.31
- Created single method generateCompleteCA3PDF() for both export and validation
- Export uses fillable template when available, validation uses improved layout
- Both export and validation now use the same improved detailed pages
- Cleaner architecture with status parameter (export/validation)
- All PDF improvements centralized in generateImprovedPDF() method
- Better maintainability and consistency across all PDF generation
- Updated module version to 2.5.30
- Restored export functionality to use fillable PDF template when available
- Fixed validation PDF to use improved layout with all enhancements
- Separated export and validation: export uses fillable template, validation uses improved layout
- Validation PDF now includes OD and bank journal tables on first page
- Validation PDF now has all improvements (footer, filtered accounts, etc.)
- Updated module version to 2.5.29
- Validation now uses the same improved PDF generation as export
- Validation PDF now includes OD and bank journal tables on first page
- Both export and validation now use generateBasicPDF() for consistency
- Validation PDF now has all improvements (footer, filtered accounts, etc.)
- Fixed issue where validation used different PDF generation method
- Updated module version to 2.5.28
- Cleaned up all debug statements and error_log calls from PDF generation
- Removed test data and debugging code for production readiness
- Eliminated unnecessary logging during PDF generation
- Code is now clean and optimized for production use
- Updated module version to 2.5.27
- Footer now displays declaration period centered between company name and page number
- Enhanced footer information with company name, declaration period, and page count
- Professional PDF layout with complete footer information
- Declaration period helps identify the document period
- Updated module version to 2.5.26
- Now uses TCPDF's alias system for proper total page count
- Footer now shows proper 'Page X/Y' format with accurate total pages
- Fixed issue where total pages were showing as current page
- Added getAliasNbPages() method override for correct page counting
- Footer now displays correct total page count using TCPDF's alias system
- Updated module version to 2.5.25
- 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