- 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
- Complete guide for updating official CA-3 templates
- Step-by-step instructions for template management
- Version control and file structure documentation
- Troubleshooting guide and best practices
- Quick reference checklist for template updates
- 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 ca3_official_template.pdf as the official template
- Update manifest.json to point to the official template
- Enable online template updates with the official template
- Template now available for download from Gitea
- Fix manifest download URL to point to ca3_custom_template.pdf
- Enable online template updates with existing template file
- Resolve template download issues for other installations
- 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 'Actions' title from configuration page
- Add missing UpdateConfiguration translation to French and English
- Fix button text to display properly in both languages
- Clean up configuration page by removing unnecessary title
- Remove the 'Current Configuration' section that duplicated information
- Users can see their configuration directly in the form above
- Simplify configuration page by removing redundant summary
- Improve user experience with cleaner, more focused interface
- 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)
- Add condition to only show description when it's not empty
- Prevent empty description lines from being displayed
- Clean up configuration page by removing empty title lines
- Improve user experience with cleaner interface
- 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
- Remove the redundant title section from the PCG Mapping tab
- Clean up the configuration page interface further
- Improve user experience with less redundant text
- Remove the informational header about Notice 4722 and CA-3 structure
- Clean up the configuration page interface
- Simplify the page layout for better user experience
- Update French language file: ConfigurePCGAccounts = Configuration
- Update English language file: ConfigurePCGAccounts = Configuration
- Simplify button text for better user experience
- Maintain consistency across both languages
- Replace custom tab implementation with Dolibarr's native dol_get_fiche_head() function
- Use proper tab navigation with URL parameters (?tab=mapping, ?tab=templates)
- Remove custom JavaScript in favor of Dolibarr's built-in tab functionality
- Maintain all existing functionality while using standard Dolibarr patterns
- Fix tab visibility and navigation issues
- Split configuration page into two tabs: PCG Mapping and Template Management
- Move CA-3 PDF template upload section to separate 'Template Management' tab
- Add JavaScript for tab switching functionality
- Add language strings for tab labels in French and English
- Improve user experience by organizing configuration options logically
- Maintain all existing functionality while improving navigation
- 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
- Added debug logging to see how many balancing entries are found
- Added logging to show each balancing entry being added
- Added total count of entries after balancing
- Should help identify if entries are being added to the PDF
- Added debug logging to see what template path is being used
- This will help identify if the path is correct or if files are missing
- Should show exactly where the system is looking for template files
- Added *** NEW LOGIC *** to debug messages
- This will help identify if the new code is actually being executed
- Should show if there are multiple code paths or caching issues
- Added debug logging to see what amounts are being created
- Cleared caches and reset OPcache
- Should help identify if the new logic is being executed
- Will show exactly what values are being put in the journal table
- Rounded difference on 4455100 (formatAmount)
- Real difference on 758000 (formatAmountReal)
- For difference 69.90: 4455100 credit 70.00 + 758000 credit 0.90
- No more complex logic, just 2 simple lines
- Exactly what user requested: 69.00 on 4455100 and 0.90 on 758000
- Main amount: rounded value on 4455100/4456700 (formatAmount)
- Rounding difference: real difference on 758000/658000 (formatAmountReal)
- For difference 69.90: 4455100 credit 70.00 + 758000 credit 0.90
- For difference -0.90: 4456700 debit 1.00 + 658000 debit 0.90
- Should now show correct split between main and rounding accounts
- NO round() function anywhere
- Uses real difference values only (formatAmountReal)
- Single entry with real difference on correct account
- For difference 69.90: 4455100 credit 69.90 (real value)
- No more rounding, no more split entries
- Main entry: rounded amount on 4455100/4456700 (formatAmount)
- Rounding entry: real difference on 758000/658000 (formatAmountReal)
- For difference -0.90: 4455100 credit 1.00 + 758000 credit 0.90
- Should now show correct split between main and rounding accounts
- Completely removed rounding logic
- Now uses real difference values only (formatAmountReal)
- No more rounded amounts or complex rounding logic
- Simple: real difference goes to 4455100/4456700 with real value
- Should show 4455100 with 0.90 instead of 1.00
- Added special handling for differences < 1.0 (like -0.90)
- Small differences now create rounding-only entries (758000/658000)
- No main balancing entry (4455100/4456700) for small differences
- Should show 758000 with 0.90 instead of 4455100 with 1.00
- Added handling for cases where rounded difference is 0 but real difference is not 0
- Now creates rounding-only entry when difference is small (like -0.90)
- Should show 758000 with 0.90 instead of 1.00
- Handles edge cases where difference rounds to 0 but real value is significant
- Added debug logging to show which account is being created
- Added logging for difference calculation and condition evaluation
- Should help identify why example 1 shows 4456700 instead of 4455100
- Will help trace the source of duplicate 4455100 entries
- Debit difference: now uses 4455100 credit (not 4456700)
- Credit difference: now uses 4456700 debit (not 4455100)
- Rounding accounts also corrected: 758000 for debit diff, 658000 for credit diff
- Should now match user examples correctly
- Debit difference: 758000 credit (not debit) for rounding
- Credit difference: 658000 debit for rounding
- Now matches user examples where debit difference uses 758000 credit
- Should show correct rounding entries in journal table