<?php
// Fichier : src/Services/ChartOfAccounts.php
// Version 3.0 - Plan Comptable Général complet pour TPE/SASU/VTC
// Conforme PCG 2025 (comptes cession 657/757)

namespace ComptaFlowPro\Services;

class ChartOfAccounts
{
    private static $accounts = [
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 1 : COMPTES DE CAPITAUX
        // ═══════════════════════════════════════════════════════════════════
        
        '101' => ['code' => '101', 'label' => 'Capital', 'category' => 'Capitaux', 'keywords' => ['capital', 'apport', 'associé', 'social']],
        '1013' => ['code' => '1013', 'label' => 'Capital souscrit appelé versé', 'category' => 'Capitaux', 'keywords' => ['capital', 'versé', 'libéré']],
        '106' => ['code' => '106', 'label' => 'Réserves', 'category' => 'Capitaux', 'keywords' => ['réserves', 'bénéfices', 'report']],
        '1061' => ['code' => '1061', 'label' => 'Réserve légale', 'category' => 'Capitaux', 'keywords' => ['réserve légale', '10%', 'obligatoire']],
        '1068' => ['code' => '1068', 'label' => 'Autres réserves', 'category' => 'Capitaux', 'keywords' => ['réserves', 'facultatives']],
        '108' => ['code' => '108', 'label' => 'Compte de l\'exploitant', 'category' => 'Capitaux', 'keywords' => ['exploitant', 'ei', 'entreprise individuelle']],
        '110' => ['code' => '110', 'label' => 'Report à nouveau (solde créditeur)', 'category' => 'Capitaux', 'keywords' => ['report', 'bénéfice antérieur', 'ran']],
        '119' => ['code' => '119', 'label' => 'Report à nouveau (solde débiteur)', 'category' => 'Capitaux', 'keywords' => ['report', 'perte antérieure', 'ran', 'déficit']],
        '120' => ['code' => '120', 'label' => 'Résultat de l\'exercice (bénéfice)', 'category' => 'Capitaux', 'keywords' => ['résultat', 'bénéfice', 'profit']],
        '129' => ['code' => '129', 'label' => 'Résultat de l\'exercice (perte)', 'category' => 'Capitaux', 'keywords' => ['résultat', 'perte', 'déficit']],
        '131' => ['code' => '131', 'label' => 'Subventions d\'équipement', 'category' => 'Capitaux', 'keywords' => ['subvention', 'investissement', 'aide']],
        '139' => ['code' => '139', 'label' => 'Subventions d\'investissement inscrites au compte de résultat', 'category' => 'Capitaux', 'keywords' => ['subvention', 'reprise']],
        '142' => ['code' => '142', 'label' => 'Provisions réglementées', 'category' => 'Capitaux', 'keywords' => ['provision', 'réglementée', 'amortissement dérogatoire']],
        '151' => ['code' => '151', 'label' => 'Provisions pour risques', 'category' => 'Provisions', 'keywords' => ['provision', 'risque', 'litige', 'garantie']],
        '1511' => ['code' => '1511', 'label' => 'Provisions pour litiges', 'category' => 'Provisions', 'keywords' => ['litige', 'procès', 'contentieux', 'prud\'hommes']],
        '1514' => ['code' => '1514', 'label' => 'Provisions pour amendes et pénalités', 'category' => 'Provisions', 'keywords' => ['amende', 'pénalité', 'urssaf', 'redressement']],
        '155' => ['code' => '155', 'label' => 'Provisions pour impôts', 'category' => 'Provisions', 'keywords' => ['provision', 'impôt', 'is', 'fiscal']],
        '164' => ['code' => '164', 'label' => 'Emprunts auprès des établissements de crédit', 'category' => 'Dettes financières', 'keywords' => ['emprunt', 'crédit', 'banque', 'prêt', 'financement']],
        '1641' => ['code' => '1641', 'label' => 'Emprunts - Remboursables à moins d\'un an', 'category' => 'Dettes financières', 'keywords' => ['emprunt', 'court terme']],
        '165' => ['code' => '165', 'label' => 'Dépôts et cautionnements reçus', 'category' => 'Dettes financières', 'keywords' => ['caution', 'dépôt', 'garantie']],
        '167' => ['code' => '167', 'label' => 'Emprunts et dettes assortis de conditions particulières', 'category' => 'Dettes financières', 'keywords' => ['prêt participatif', 'avance conditionnée']],
        '168' => ['code' => '168', 'label' => 'Autres emprunts et dettes assimilées', 'category' => 'Dettes financières', 'keywords' => ['emprunt', 'dette', 'financement', 'associé']],
        '1681' => ['code' => '1681', 'label' => 'Autres emprunts', 'category' => 'Dettes financières', 'keywords' => ['emprunt', 'prêt']],
        '1687' => ['code' => '1687', 'label' => 'Autres dettes', 'category' => 'Dettes financières', 'keywords' => ['dette', 'divers']],
        '169' => ['code' => '169', 'label' => 'Primes de remboursement des obligations', 'category' => 'Dettes financières', 'keywords' => ['prime', 'obligation', 'emprunt obligataire']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 2 : COMPTES D'IMMOBILISATIONS
        // ═══════════════════════════════════════════════════════════════════
        
        // Immobilisations incorporelles
        '201' => ['code' => '201', 'label' => 'Frais d\'établissement', 'category' => 'Immobilisations incorporelles', 'keywords' => ['création', 'constitution', 'société', 'statuts', 'greffe']],
        '203' => ['code' => '203', 'label' => 'Frais de recherche et développement', 'category' => 'Immobilisations incorporelles', 'keywords' => ['r&d', 'recherche', 'développement', 'innovation']],
        '205' => ['code' => '205', 'label' => 'Concessions, brevets, licences, logiciels', 'category' => 'Immobilisations incorporelles', 'keywords' => ['licence', 'brevet', 'logiciel', 'droit', 'marque', 'saas']],
        '206' => ['code' => '206', 'label' => 'Droit au bail', 'category' => 'Immobilisations incorporelles', 'keywords' => ['bail', 'pas de porte', 'droit entrée', 'local']],
        '207' => ['code' => '207', 'label' => 'Fonds commercial', 'category' => 'Immobilisations incorporelles', 'keywords' => ['fonds de commerce', 'clientèle', 'goodwill', 'achalandage']],
        '208' => ['code' => '208', 'label' => 'Autres immobilisations incorporelles', 'category' => 'Immobilisations incorporelles', 'keywords' => ['incorporel', 'droit', 'fichier client']],
        
        // Immobilisations corporelles
        '211' => ['code' => '211', 'label' => 'Terrains', 'category' => 'Immobilisations corporelles', 'keywords' => ['terrain', 'sol', 'foncier', 'parcelle']],
        '212' => ['code' => '212', 'label' => 'Agencements et aménagements de terrains', 'category' => 'Immobilisations corporelles', 'keywords' => ['agencement', 'terrain', 'clôture', 'parking']],
        '213' => ['code' => '213', 'label' => 'Constructions', 'category' => 'Immobilisations corporelles', 'keywords' => ['bâtiment', 'construction', 'immeuble', 'local', 'bureaux']],
        '2135' => ['code' => '2135', 'label' => 'Installations générales, agencements', 'category' => 'Immobilisations corporelles', 'keywords' => ['agencement', 'installation', 'travaux', 'aménagement']],
        '214' => ['code' => '214', 'label' => 'Constructions sur sol d\'autrui', 'category' => 'Immobilisations corporelles', 'keywords' => ['construction', 'bail', 'locataire']],
        '215' => ['code' => '215', 'label' => 'Installations techniques, matériel et outillage', 'category' => 'Immobilisations corporelles', 'keywords' => ['machine', 'outil', 'équipement', 'technique']],
        '2154' => ['code' => '2154', 'label' => 'Matériel industriel', 'category' => 'Immobilisations corporelles', 'keywords' => ['machine', 'équipement', 'matériel industriel', 'production']],
        '2155' => ['code' => '2155', 'label' => 'Outillage industriel', 'category' => 'Immobilisations corporelles', 'keywords' => ['outillage', 'outil', 'équipement']],
        '218' => ['code' => '218', 'label' => 'Autres immobilisations corporelles', 'category' => 'Immobilisations corporelles', 'keywords' => ['immobilisation', 'corporel', 'autre']],
        '2181' => ['code' => '2181', 'label' => 'Installations générales, agencements divers', 'category' => 'Immobilisations corporelles', 'keywords' => ['agencement', 'installation', 'aménagement']],
        '2182' => ['code' => '2182', 'label' => 'Matériel de transport', 'category' => 'Immobilisations corporelles', 'keywords' => ['véhicule', 'voiture', 'camion', 'utilitaire', 'transport', 'vtc', 'taxi', 'scooter', 'moto']],
        '2183' => ['code' => '2183', 'label' => 'Matériel de bureau et informatique', 'category' => 'Immobilisations corporelles', 'keywords' => ['ordinateur', 'bureau', 'informatique', 'pc', 'mac', 'imprimante', 'serveur', 'écran', 'téléphone']],
        '2184' => ['code' => '2184', 'label' => 'Mobilier', 'category' => 'Immobilisations corporelles', 'keywords' => ['mobilier', 'meuble', 'bureau', 'chaise', 'armoire', 'rangement']],
        '2185' => ['code' => '2185', 'label' => 'Cheptel', 'category' => 'Immobilisations corporelles', 'keywords' => ['animaux', 'élevage', 'bétail']],
        '2186' => ['code' => '2186', 'label' => 'Emballages récupérables', 'category' => 'Immobilisations corporelles', 'keywords' => ['emballage', 'consigne', 'palette']],
        
        // Immobilisations en cours
        '231' => ['code' => '231', 'label' => 'Immobilisations corporelles en cours', 'category' => 'Immobilisations en cours', 'keywords' => ['en cours', 'travaux', 'construction']],
        '232' => ['code' => '232', 'label' => 'Immobilisations incorporelles en cours', 'category' => 'Immobilisations en cours', 'keywords' => ['en cours', 'développement', 'projet']],
        '237' => ['code' => '237', 'label' => 'Avances et acomptes sur immobilisations incorporelles', 'category' => 'Immobilisations en cours', 'keywords' => ['avance', 'acompte', 'commande']],
        '238' => ['code' => '238', 'label' => 'Avances et acomptes sur immobilisations corporelles', 'category' => 'Immobilisations en cours', 'keywords' => ['avance', 'acompte', 'commande']],
        
        // Immobilisations financières
        '261' => ['code' => '261', 'label' => 'Titres de participation', 'category' => 'Immobilisations financières', 'keywords' => ['participation', 'filiale', 'actions', 'parts']],
        '267' => ['code' => '267', 'label' => 'Créances rattachées à des participations', 'category' => 'Immobilisations financières', 'keywords' => ['créance', 'filiale', 'groupe']],
        '271' => ['code' => '271', 'label' => 'Titres immobilisés - Droit de propriété', 'category' => 'Immobilisations financières', 'keywords' => ['titre', 'action', 'placement long terme']],
        '272' => ['code' => '272', 'label' => 'Titres immobilisés - Droit de créance', 'category' => 'Immobilisations financières', 'keywords' => ['obligation', 'titre', 'créance']],
        '275' => ['code' => '275', 'label' => 'Dépôts et cautionnements versés', 'category' => 'Immobilisations financières', 'keywords' => ['caution', 'dépôt', 'garantie', 'loyer', 'bail', 'edf', 'téléphone']],
        
        // Amortissements des immobilisations
        '280' => ['code' => '280', 'label' => 'Amortissements des immobilisations incorporelles', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'incorporel']],
        '2801' => ['code' => '2801', 'label' => 'Amortissements des frais d\'établissement', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'frais établissement', 'création']],
        '2803' => ['code' => '2803', 'label' => 'Amortissements des frais de R&D', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'r&d', 'recherche']],
        '2805' => ['code' => '2805', 'label' => 'Amortissements des logiciels', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'logiciel', 'licence']],
        '2807' => ['code' => '2807', 'label' => 'Amortissements du fonds commercial', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'fonds commerce']],
        '281' => ['code' => '281', 'label' => 'Amortissements des immobilisations corporelles', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'corporel']],
        '2811' => ['code' => '2811', 'label' => 'Amortissements des terrains', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'terrain']],
        '2812' => ['code' => '2812', 'label' => 'Amortissements des agencements terrains', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'agencement', 'terrain']],
        '2813' => ['code' => '2813', 'label' => 'Amortissements des constructions', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'bâtiment', 'construction', 'immeuble']],
        '2815' => ['code' => '2815', 'label' => 'Amortissements des installations techniques', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'installation', 'matériel industriel']],
        '2818' => ['code' => '2818', 'label' => 'Amortissements autres immobilisations corporelles', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'autre', 'corporel']],
        '28181' => ['code' => '28181', 'label' => 'Amortissements des installations générales', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'agencement', 'installation']],
        '28182' => ['code' => '28182', 'label' => 'Amortissements du matériel de transport', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'véhicule', 'voiture', 'vtc', 'transport']],
        '28183' => ['code' => '28183', 'label' => 'Amortissements du matériel informatique', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'ordinateur', 'informatique', 'bureau']],
        '28184' => ['code' => '28184', 'label' => 'Amortissements du mobilier', 'category' => 'Amortissements', 'keywords' => ['amortissement', 'mobilier', 'meuble']],
        
        // Dépréciations des immobilisations
        '290' => ['code' => '290', 'label' => 'Dépréciations des immobilisations incorporelles', 'category' => 'Dépréciations', 'keywords' => ['dépréciation', 'perte valeur', 'incorporel']],
        '291' => ['code' => '291', 'label' => 'Dépréciations des immobilisations corporelles', 'category' => 'Dépréciations', 'keywords' => ['dépréciation', 'perte valeur', 'corporel']],
        '296' => ['code' => '296', 'label' => 'Dépréciations des participations', 'category' => 'Dépréciations', 'keywords' => ['dépréciation', 'participation', 'filiale']],
        '297' => ['code' => '297', 'label' => 'Dépréciations des autres immobilisations financières', 'category' => 'Dépréciations', 'keywords' => ['dépréciation', 'titre', 'financier']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 3 : COMPTES DE STOCKS
        // ═══════════════════════════════════════════════════════════════════
        
        '31' => ['code' => '31', 'label' => 'Matières premières', 'category' => 'Stocks', 'keywords' => ['stock', 'matière première', 'matériaux']],
        '32' => ['code' => '32', 'label' => 'Autres approvisionnements', 'category' => 'Stocks', 'keywords' => ['stock', 'fourniture', 'consommable']],
        '33' => ['code' => '33', 'label' => 'En-cours de production de biens', 'category' => 'Stocks', 'keywords' => ['en-cours', 'production', 'wip']],
        '34' => ['code' => '34', 'label' => 'En-cours de production de services', 'category' => 'Stocks', 'keywords' => ['en-cours', 'service', 'prestation']],
        '35' => ['code' => '35', 'label' => 'Stocks de produits', 'category' => 'Stocks', 'keywords' => ['stock', 'produit fini', 'production']],
        '37' => ['code' => '37', 'label' => 'Stocks de marchandises', 'category' => 'Stocks', 'keywords' => ['stock', 'marchandise', 'négoce', 'revente']],
        '39' => ['code' => '39', 'label' => 'Dépréciations des stocks', 'category' => 'Stocks', 'keywords' => ['dépréciation', 'stock', 'provision']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 4 : COMPTES DE TIERS
        // ═══════════════════════════════════════════════════════════════════
        
        // Fournisseurs
        '401' => ['code' => '401', 'label' => 'Fournisseurs', 'category' => 'Fournisseurs', 'keywords' => ['fournisseur', 'dette', 'facture à payer', 'achat']],
        '403' => ['code' => '403', 'label' => 'Fournisseurs - Effets à payer', 'category' => 'Fournisseurs', 'keywords' => ['effet', 'lettre de change', 'traite']],
        '404' => ['code' => '404', 'label' => 'Fournisseurs d\'immobilisations', 'category' => 'Fournisseurs', 'keywords' => ['fournisseur', 'immobilisation', 'investissement', 'équipement']],
        '408' => ['code' => '408', 'label' => 'Fournisseurs - Factures non parvenues', 'category' => 'Fournisseurs', 'keywords' => ['facture non parvenue', 'fnp', 'provision', 'estimation', 'régularisation']],
        '409' => ['code' => '409', 'label' => 'Fournisseurs débiteurs', 'category' => 'Fournisseurs', 'keywords' => ['avance', 'acompte', 'avoir', 'fournisseur débiteur']],
        
        // Clients
        '411' => ['code' => '411', 'label' => 'Clients', 'category' => 'Clients', 'keywords' => ['client', 'créance', 'facture à recevoir', 'vente']],
        '413' => ['code' => '413', 'label' => 'Clients - Effets à recevoir', 'category' => 'Clients', 'keywords' => ['effet', 'lettre de change', 'traite', 'client']],
        '416' => ['code' => '416', 'label' => 'Clients douteux ou litigieux', 'category' => 'Clients', 'keywords' => ['impayé', 'douteux', 'litige', 'contentieux', 'recouvrement']],
        '418' => ['code' => '418', 'label' => 'Clients - Produits non encore facturés', 'category' => 'Clients', 'keywords' => ['facture à établir', 'fae', 'produit non facturé', 'régularisation']],
        '419' => ['code' => '419', 'label' => 'Clients créditeurs', 'category' => 'Clients', 'keywords' => ['avance', 'acompte', 'avoir', 'client créditeur']],
        
        // Personnel
        '421' => ['code' => '421', 'label' => 'Personnel - Rémunérations dues', 'category' => 'Personnel', 'keywords' => ['salaire', 'personnel', 'rémunération due', 'paie', 'net à payer']],
        '422' => ['code' => '422', 'label' => 'Comités d\'entreprise', 'category' => 'Personnel', 'keywords' => ['ce', 'cse', 'comité entreprise']],
        '425' => ['code' => '425', 'label' => 'Personnel - Avances et acomptes', 'category' => 'Personnel', 'keywords' => ['avance', 'acompte', 'salarié', 'personnel']],
        '427' => ['code' => '427', 'label' => 'Personnel - Oppositions', 'category' => 'Personnel', 'keywords' => ['opposition', 'saisie', 'pension']],
        '428' => ['code' => '428', 'label' => 'Personnel - Charges à payer et produits à recevoir', 'category' => 'Personnel', 'keywords' => ['congés payés', 'provision', 'prime', 'intéressement']],
        '4282' => ['code' => '4282', 'label' => 'Dettes provisionnées pour congés payés', 'category' => 'Personnel', 'keywords' => ['congés payés', 'provision', 'cp']],
        '4286' => ['code' => '4286', 'label' => 'Autres charges à payer', 'category' => 'Personnel', 'keywords' => ['charges à payer', 'prime', 'bonus']],
        
        // Organismes sociaux
        '431' => ['code' => '431', 'label' => 'Sécurité sociale', 'category' => 'Organismes sociaux', 'keywords' => ['urssaf', 'sécurité sociale', 'charges sociales', 'cotisations']],
        '4372' => ['code' => '4372', 'label' => 'Caisses de retraite', 'category' => 'Organismes sociaux', 'keywords' => ['retraite', 'agirc', 'arrco', 'pension', 'complémentaire']],
        '4373' => ['code' => '4373', 'label' => 'Caisses de prévoyance et mutuelle', 'category' => 'Organismes sociaux', 'keywords' => ['prévoyance', 'mutuelle', 'santé', 'assurance']],
        '437' => ['code' => '437', 'label' => 'Autres organismes sociaux', 'category' => 'Organismes sociaux', 'keywords' => ['organisme social', 'caisse', 'pôle emploi']],
        '438' => ['code' => '438', 'label' => 'Organismes sociaux - Charges à payer', 'category' => 'Organismes sociaux', 'keywords' => ['charges sociales', 'régularisation', 'provision']],
        
        // État - Impôts
        '442' => ['code' => '442', 'label' => 'État - Impôts et taxes recouvrables sur des tiers', 'category' => 'État Impôts', 'keywords' => ['impôt', 'taxe', 'tiers']],
        '4421' => ['code' => '4421', 'label' => 'Prélèvement à la source (PAS)', 'category' => 'État Impôts', 'keywords' => ['impôt', 'revenu', 'pas', 'prélèvement', 'source', 'retenue']],
        '444' => ['code' => '444', 'label' => 'État - Impôt sur les bénéfices', 'category' => 'État Impôts', 'keywords' => ['is', 'impôt société', 'bénéfice', 'acompte']],
        '4452' => ['code' => '4452', 'label' => 'TVA due intracommunautaire', 'category' => 'État TVA', 'keywords' => ['tva intracommunautaire', 'ue', 'europe', 'autoliquidation', 'acquisition']],
        '4455' => ['code' => '4455', 'label' => 'TVA à décaisser', 'category' => 'État TVA', 'keywords' => ['tva', 'tva à payer', 'tva due', 'déclaration']],
        '44562' => ['code' => '44562', 'label' => 'TVA déductible sur immobilisations', 'category' => 'État TVA', 'keywords' => ['tva déductible', 'immobilisation', 'investissement', 'récupérable']],
        '44566' => ['code' => '44566', 'label' => 'TVA déductible sur autres biens et services', 'category' => 'État TVA', 'keywords' => ['tva déductible', 'tva récupérable', 'achat', 'charge']],
        '44567' => ['code' => '44567', 'label' => 'Crédit de TVA à reporter', 'category' => 'État TVA', 'keywords' => ['crédit tva', 'excédent tva', 'report', 'remboursement']],
        '44571' => ['code' => '44571', 'label' => 'TVA collectée', 'category' => 'État TVA', 'keywords' => ['tva collectée', 'tva facturée', 'vente']],
        '44583' => ['code' => '44583', 'label' => 'Remboursement de TVA demandé', 'category' => 'État TVA', 'keywords' => ['remboursement tva', 'crédit tva', 'demande remboursement']],
        '44584' => ['code' => '44584', 'label' => 'TVA récupérée d\'avance', 'category' => 'État TVA', 'keywords' => ['tva avance', 'acompte tva', 'régularisation']],
        '44586' => ['code' => '44586', 'label' => 'TVA sur factures non parvenues', 'category' => 'État TVA', 'keywords' => ['facture non parvenue', 'fnp', 'provision tva']],
        '44587' => ['code' => '44587', 'label' => 'TVA sur factures à établir', 'category' => 'État TVA', 'keywords' => ['facture à établir', 'fae', 'tva à facturer']],
        '447' => ['code' => '447', 'label' => 'Autres impôts, taxes et versements assimilés', 'category' => 'État Impôts', 'keywords' => ['impôt', 'taxe', 'cfe', 'cvae', 'contribution']],
        '448' => ['code' => '448', 'label' => 'État - Charges à payer et produits à recevoir', 'category' => 'État Impôts', 'keywords' => ['régularisation', 'provision', 'impôt']],
        
        // Associés
        '451' => ['code' => '451', 'label' => 'Groupe et associés', 'category' => 'Associés', 'keywords' => ['groupe', 'associé', 'filiale']],
        '455' => ['code' => '455', 'label' => 'Associés - Comptes courants', 'category' => 'Associés', 'keywords' => ['associé', 'compte courant', 'avance', 'apport', 'prêt']],
        '456' => ['code' => '456', 'label' => 'Associés - Opérations sur le capital', 'category' => 'Associés', 'keywords' => ['capital', 'augmentation', 'libération', 'associé']],
        '457' => ['code' => '457', 'label' => 'Associés - Dividendes à payer', 'category' => 'Associés', 'keywords' => ['dividende', 'distribution', 'bénéfice']],
        '458' => ['code' => '458', 'label' => 'Associés - Opérations faites en commun', 'category' => 'Associés', 'keywords' => ['société en participation', 'opération commune']],
        
        // Débiteurs et créditeurs divers
        '462' => ['code' => '462', 'label' => 'Créances sur cessions d\'immobilisations', 'category' => 'Débiteurs divers', 'keywords' => ['cession', 'vente immobilisation', 'créance', 'actif']],
        '467' => ['code' => '467', 'label' => 'Autres comptes débiteurs ou créditeurs', 'category' => 'Débiteurs divers', 'keywords' => ['divers', 'transitoire', 'attente']],
        '468' => ['code' => '468', 'label' => 'Produits à recevoir et charges à payer', 'category' => 'Régularisation', 'keywords' => ['régularisation', 'produit à recevoir', 'charge à payer']],
        
        // Comptes transitoires
        '471' => ['code' => '471', 'label' => 'Comptes d\'attente', 'category' => 'Transitoire', 'keywords' => ['attente', 'transitoire', 'à ventiler', 'suspens']],
        '476' => ['code' => '476', 'label' => 'Différences de conversion - Actif', 'category' => 'Transitoire', 'keywords' => ['conversion', 'devise', 'change', 'perte latente']],
        '477' => ['code' => '477', 'label' => 'Différences de conversion - Passif', 'category' => 'Transitoire', 'keywords' => ['conversion', 'devise', 'change', 'gain latent']],
        
        // Charges à répartir et produits constatés d\'avance
        '486' => ['code' => '486', 'label' => 'Charges constatées d\'avance', 'category' => 'Régularisation', 'keywords' => ['cca', 'charge constatée avance', 'régularisation', 'prépayé']],
        '487' => ['code' => '487', 'label' => 'Produits constatés d\'avance', 'category' => 'Régularisation', 'keywords' => ['pca', 'produit constaté avance', 'régularisation', 'encaissé avance']],
        
        // Dépréciations des comptes de tiers
        '491' => ['code' => '491', 'label' => 'Dépréciations des comptes clients', 'category' => 'Dépréciations tiers', 'keywords' => ['dépréciation', 'client douteux', 'provision', 'impayé']],
        '496' => ['code' => '496', 'label' => 'Dépréciations des comptes débiteurs', 'category' => 'Dépréciations tiers', 'keywords' => ['dépréciation', 'débiteur', 'provision']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 5 : COMPTES FINANCIERS
        // ═══════════════════════════════════════════════════════════════════
        
        '50' => ['code' => '50', 'label' => 'Valeurs mobilières de placement', 'category' => 'Placements', 'keywords' => ['placement', 'vmp', 'sicav', 'fcp', 'action']],
        '503' => ['code' => '503', 'label' => 'Actions', 'category' => 'Placements', 'keywords' => ['action', 'bourse', 'placement']],
        '506' => ['code' => '506', 'label' => 'Obligations', 'category' => 'Placements', 'keywords' => ['obligation', 'placement', 'titre']],
        '508' => ['code' => '508', 'label' => 'Autres valeurs mobilières de placement', 'category' => 'Placements', 'keywords' => ['placement', 'sicav', 'fcp', 'opcvm']],
        '512' => ['code' => '512', 'label' => 'Banques', 'category' => 'Trésorerie', 'keywords' => ['banque', 'compte bancaire', 'virement', 'chèque', 'prélèvement']],
        '5121' => ['code' => '5121', 'label' => 'Compte en euros', 'category' => 'Trésorerie', 'keywords' => ['compte euros', 'banque principale']],
        '5124' => ['code' => '5124', 'label' => 'Compte en devises', 'category' => 'Trésorerie', 'keywords' => ['devise', 'dollar', 'livre', 'change', 'usd', 'gbp']],
        '514' => ['code' => '514', 'label' => 'Chèques postaux', 'category' => 'Trésorerie', 'keywords' => ['ccp', 'postal', 'la banque postale']],
        '517' => ['code' => '517', 'label' => 'Autres organismes financiers', 'category' => 'Trésorerie', 'keywords' => ['financement', 'factor', 'affacturage']],
        '518' => ['code' => '518', 'label' => 'Intérêts courus', 'category' => 'Trésorerie', 'keywords' => ['intérêt', 'couru', 'placement']],
        '53' => ['code' => '53', 'label' => 'Caisse', 'category' => 'Trésorerie', 'keywords' => ['caisse', 'espèces', 'liquide', 'cash']],
        '531' => ['code' => '531', 'label' => 'Caisse siège social', 'category' => 'Trésorerie', 'keywords' => ['caisse', 'espèces', 'siège']],
        '54' => ['code' => '54', 'label' => 'Régies d\'avances et accréditifs', 'category' => 'Trésorerie', 'keywords' => ['régie', 'avance', 'accréditif']],
        '58' => ['code' => '58', 'label' => 'Virements internes', 'category' => 'Trésorerie', 'keywords' => ['virement', 'interne', 'transfert']],
        '590' => ['code' => '590', 'label' => 'Dépréciations des valeurs mobilières de placement', 'category' => 'Dépréciations', 'keywords' => ['dépréciation', 'vmp', 'placement']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 6 : COMPTES DE CHARGES
        // ═══════════════════════════════════════════════════════════════════
        
        // 60 - Achats
        '601' => ['code' => '601', 'label' => 'Achats stockés - Matières premières', 'category' => 'Achats', 'keywords' => ['matières premières', 'stock', 'matériaux', 'btp', 'construction']],
        '602' => ['code' => '602', 'label' => 'Achats stockés - Autres approvisionnements', 'category' => 'Achats', 'keywords' => ['stock', 'approvisionnement', 'fourniture']],
        '6021' => ['code' => '6021', 'label' => 'Matières consommables', 'category' => 'Achats', 'keywords' => ['consommable', 'matière', 'production']],
        '6022' => ['code' => '6022', 'label' => 'Fournitures consommables', 'category' => 'Achats', 'keywords' => ['fourniture', 'consommable', 'bureau']],
        '60221' => ['code' => '60221', 'label' => 'Carburants', 'category' => 'Achats', 'keywords' => ['essence', 'gasoil', 'diesel', 'carburant', 'total', 'shell', 'bp', 'esso', 'station', 'vtc', 'plein']],
        '60222' => ['code' => '60222', 'label' => 'Produits d\'entretien', 'category' => 'Achats', 'keywords' => ['entretien', 'nettoyage', 'ménage', 'produit']],
        '60225' => ['code' => '60225', 'label' => 'Fournitures de bureau', 'category' => 'Achats', 'keywords' => ['bureau', 'papier', 'stylo', 'cartouche', 'fourniture', 'papeterie', 'amazon', 'staples']],
        '6024' => ['code' => '6024', 'label' => 'Fournitures administratives', 'category' => 'Achats', 'keywords' => ['administratif', 'imprimé', 'formulaire']],
        '6026' => ['code' => '6026', 'label' => 'Emballages', 'category' => 'Achats', 'keywords' => ['emballage', 'carton', 'colis', 'packaging']],
        '604' => ['code' => '604', 'label' => 'Achats d\'études et prestations de services', 'category' => 'Achats', 'keywords' => ['étude', 'prestation', 'sous-traitance']],
        '6061' => ['code' => '6061', 'label' => 'Fournitures non stockables (eau, énergie)', 'category' => 'Achats', 'keywords' => ['edf', 'engie', 'gaz', 'électricité', 'eau', 'énergie', 'chauffage', 'veolia']],
        '6063' => ['code' => '6063', 'label' => 'Fournitures d\'entretien et petit équipement', 'category' => 'Achats', 'keywords' => ['entretien', 'petit équipement', 'outil', 'maintenance', 'ampoule', 'consommable']],
        '6064' => ['code' => '6064', 'label' => 'Fournitures administratives', 'category' => 'Achats', 'keywords' => ['administratif', 'imprimé', 'toner', 'encre']],
        '6068' => ['code' => '6068', 'label' => 'Autres matières et fournitures', 'category' => 'Achats', 'keywords' => ['fourniture', 'matière', 'divers']],
        '607' => ['code' => '607', 'label' => 'Achats de marchandises', 'category' => 'Achats', 'keywords' => ['marchandise', 'stock', 'revente', 'commerce', 'négoce']],
        '6097' => ['code' => '6097', 'label' => 'Rabais, remises, ristournes obtenus sur achats', 'category' => 'Achats', 'keywords' => ['rabais', 'remise', 'ristourne', 'réduction']],
        
        // 61 - Services extérieurs
        '611' => ['code' => '611', 'label' => 'Sous-traitance générale', 'category' => 'Services extérieurs', 'keywords' => ['sous-traitance', 'prestataire', 'externe', 'freelance']],
        '6122' => ['code' => '6122', 'label' => 'Crédit-bail mobilier', 'category' => 'Services extérieurs', 'keywords' => ['leasing', 'loa', 'lld', 'crédit-bail', 'location financement', 'véhicule', 'voiture', 'vtc']],
        '6125' => ['code' => '6125', 'label' => 'Crédit-bail immobilier', 'category' => 'Services extérieurs', 'keywords' => ['crédit-bail', 'immobilier', 'location financement']],
        '613' => ['code' => '613', 'label' => 'Locations', 'category' => 'Services extérieurs', 'keywords' => ['location', 'loyer']],
        '6132' => ['code' => '6132', 'label' => 'Locations immobilières', 'category' => 'Services extérieurs', 'keywords' => ['loyer', 'bureaux', 'local', 'atelier', 'magasin', 'entrepôt', 'bail', 'domiciliation']],
        '6135' => ['code' => '6135', 'label' => 'Locations mobilières', 'category' => 'Services extérieurs', 'keywords' => ['location matériel', 'location voiture', 'location courte durée', 'hertz', 'avis', 'getaround']],
        '614' => ['code' => '614', 'label' => 'Charges locatives et de copropriété', 'category' => 'Services extérieurs', 'keywords' => ['charge locative', 'copropriété', 'syndic', 'eau', 'entretien immeuble']],
        '615' => ['code' => '615', 'label' => 'Entretien et réparations', 'category' => 'Services extérieurs', 'keywords' => ['entretien', 'réparation', 'maintenance']],
        '6152' => ['code' => '6152', 'label' => 'Entretien et réparations sur biens immobiliers', 'category' => 'Services extérieurs', 'keywords' => ['réparation', 'entretien', 'bâtiment', 'plombier', 'électricien', 'travaux']],
        '6155' => ['code' => '6155', 'label' => 'Entretien et réparations sur biens mobiliers', 'category' => 'Services extérieurs', 'keywords' => ['réparation', 'entretien', 'garage', 'mécanique', 'véhicule', 'révision', 'vidange', 'pneu', 'contrôle technique', 'carrosserie', 'vtc']],
        '6156' => ['code' => '6156', 'label' => 'Maintenance', 'category' => 'Services extérieurs', 'keywords' => ['maintenance', 'contrat', 'sav', 'informatique']],
        '616' => ['code' => '616', 'label' => 'Primes d\'assurances', 'category' => 'Services extérieurs', 'keywords' => ['assurance', 'prime', 'cotisation']],
        '6161' => ['code' => '6161', 'label' => 'Assurances multirisques', 'category' => 'Services extérieurs', 'keywords' => ['assurance', 'multirisque', 'local', 'responsabilité civile', 'rc pro', 'axa', 'allianz', 'maif']],
        '6162' => ['code' => '6162', 'label' => 'Assurances matériel de transport', 'category' => 'Services extérieurs', 'keywords' => ['assurance', 'voiture', 'véhicule', 'auto', 'vtc', 'tous risques', 'tiers']],
        '6163' => ['code' => '6163', 'label' => 'Assurances risques d\'exploitation', 'category' => 'Services extérieurs', 'keywords' => ['assurance', 'exploitation', 'perte exploitation']],
        '6164' => ['code' => '6164', 'label' => 'Assurances responsabilité dirigeant', 'category' => 'Services extérieurs', 'keywords' => ['assurance', 'dirigeant', 'mandataire', 'rcms']],
        '617' => ['code' => '617', 'label' => 'Études et recherches', 'category' => 'Services extérieurs', 'keywords' => ['étude', 'recherche', 'audit', 'diagnostic']],
        '618' => ['code' => '618', 'label' => 'Divers', 'category' => 'Services extérieurs', 'keywords' => ['divers', 'autre service']],
        '6181' => ['code' => '6181', 'label' => 'Documentation générale', 'category' => 'Services extérieurs', 'keywords' => ['documentation', 'abonnement', 'revue', 'magazine', 'presse professionnelle']],
        '6183' => ['code' => '6183', 'label' => 'Documentation technique', 'category' => 'Services extérieurs', 'keywords' => ['documentation', 'technique', 'norme', 'réglementation']],
        '6185' => ['code' => '6185', 'label' => 'Frais de colloques, séminaires, conférences', 'category' => 'Services extérieurs', 'keywords' => ['formation', 'séminaire', 'conférence', 'colloque', 'cours', 'webinar']],
        
        // 62 - Autres services extérieurs
        '621' => ['code' => '621', 'label' => 'Personnel extérieur à l\'entreprise', 'category' => 'Autres services extérieurs', 'keywords' => ['intérim', 'personnel extérieur', 'interim', 'manpower', 'adecco']],
        '6211' => ['code' => '6211', 'label' => 'Personnel intérimaire', 'category' => 'Autres services extérieurs', 'keywords' => ['intérim', 'interim', 'travail temporaire']],
        '6214' => ['code' => '6214', 'label' => 'Personnel détaché ou prêté', 'category' => 'Autres services extérieurs', 'keywords' => ['détachement', 'mise à disposition', 'prêt personnel']],
        '622' => ['code' => '622', 'label' => 'Rémunérations d\'intermédiaires et honoraires', 'category' => 'Autres services extérieurs', 'keywords' => ['honoraire', 'commission', 'consultant']],
        '6221' => ['code' => '6221', 'label' => 'Commissions sur achats', 'category' => 'Autres services extérieurs', 'keywords' => ['commission', 'achat', 'intermédiaire']],
        '6222' => ['code' => '6222', 'label' => 'Commissions sur ventes', 'category' => 'Autres services extérieurs', 'keywords' => ['commission', 'vente', 'apporteur affaires', 'agent commercial']],
        '6224' => ['code' => '6224', 'label' => 'Rémunérations des transitaires', 'category' => 'Autres services extérieurs', 'keywords' => ['transitaire', 'douane', 'import', 'export']],
        '6225' => ['code' => '6225', 'label' => 'Rémunérations d\'affacturage', 'category' => 'Autres services extérieurs', 'keywords' => ['affacturage', 'factor', 'cession créance']],
        '6226' => ['code' => '6226', 'label' => 'Honoraires', 'category' => 'Autres services extérieurs', 'keywords' => ['avocat', 'comptable', 'expert-comptable', 'notaire', 'expert', 'consultant', 'juridique', 'architecte', 'conseil', 'audit']],
        '6227' => ['code' => '6227', 'label' => 'Frais d\'actes et de contentieux', 'category' => 'Autres services extérieurs', 'keywords' => ['greffe', 'huissier', 'acte', 'contentieux', 'procédure', 'kbis', 'inpi', 'formalités']],
        '6228' => ['code' => '6228', 'label' => 'Divers honoraires', 'category' => 'Autres services extérieurs', 'keywords' => ['honoraire', 'consultant', 'freelance', 'prestataire']],
        '623' => ['code' => '623', 'label' => 'Publicité, publications, relations publiques', 'category' => 'Autres services extérieurs', 'keywords' => ['publicité', 'marketing', 'communication']],
        '6231' => ['code' => '6231', 'label' => 'Annonces et insertions', 'category' => 'Autres services extérieurs', 'keywords' => ['google ads', 'facebook ads', 'publicité', 'annonce', 'insertion', 'instagram', 'linkedin', 'tiktok']],
        '6232' => ['code' => '6232', 'label' => 'Échantillons', 'category' => 'Autres services extérieurs', 'keywords' => ['échantillon', 'démonstration', 'test']],
        '6233' => ['code' => '6233', 'label' => 'Foires et expositions', 'category' => 'Autres services extérieurs', 'keywords' => ['salon', 'foire', 'exposition', 'stand', 'événement']],
        '6234' => ['code' => '6234', 'label' => 'Cadeaux à la clientèle', 'category' => 'Autres services extérieurs', 'keywords' => ['cadeau', 'goodies', 'objet publicitaire', 'client']],
        '6236' => ['code' => '6236', 'label' => 'Catalogues et imprimés', 'category' => 'Autres services extérieurs', 'keywords' => ['catalogue', 'imprimé', 'flyer', 'carte visite', 'brochure', 'print']],
        '6237' => ['code' => '6237', 'label' => 'Publications', 'category' => 'Autres services extérieurs', 'keywords' => ['publication', 'annonce légale', 'journal officiel', 'insertion légale']],
        '6238' => ['code' => '6238', 'label' => 'Divers publicité', 'category' => 'Autres services extérieurs', 'keywords' => ['publicité', 'marketing', 'sponsoring', 'influence']],
        '624' => ['code' => '624', 'label' => 'Transports de biens et transport collectif du personnel', 'category' => 'Autres services extérieurs', 'keywords' => ['transport', 'livraison', 'expédition']],
        '6241' => ['code' => '6241', 'label' => 'Transports sur achats', 'category' => 'Autres services extérieurs', 'keywords' => ['livraison', 'transport', 'fournisseur', 'port', 'franco']],
        '6242' => ['code' => '6242', 'label' => 'Transports sur ventes', 'category' => 'Autres services extérieurs', 'keywords' => ['livraison', 'transport', 'colissimo', 'chronopost', 'dhl', 'ups', 'fedex', 'expédition', 'client']],
        '6243' => ['code' => '6243', 'label' => 'Transports entre établissements', 'category' => 'Autres services extérieurs', 'keywords' => ['transport', 'interne', 'établissement']],
        '6244' => ['code' => '6244', 'label' => 'Transports administratifs', 'category' => 'Autres services extérieurs', 'keywords' => ['transport', 'courrier', 'colis']],
        '6247' => ['code' => '6247', 'label' => 'Transports collectifs du personnel', 'category' => 'Autres services extérieurs', 'keywords' => ['navette', 'transport personnel', 'collectif']],
        '6248' => ['code' => '6248', 'label' => 'Divers transports', 'category' => 'Autres services extérieurs', 'keywords' => ['transport', 'messagerie', 'course']],
        '625' => ['code' => '625', 'label' => 'Déplacements, missions et réceptions', 'category' => 'Autres services extérieurs', 'keywords' => ['déplacement', 'mission', 'réception']],
        '6251' => ['code' => '6251', 'label' => 'Voyages et déplacements', 'category' => 'Autres services extérieurs', 'keywords' => ['train', 'sncf', 'avion', 'hôtel', 'taxi', 'uber', 'déplacement', 'voyage', 'péage', 'parking', 'autoroute', 'stationnement', 'vtc', 'indemnité kilométrique', 'ik']],
        '6255' => ['code' => '6255', 'label' => 'Frais de déménagement', 'category' => 'Autres services extérieurs', 'keywords' => ['déménagement', 'transfert', 'déménageur']],
        '6256' => ['code' => '6256', 'label' => 'Missions', 'category' => 'Autres services extérieurs', 'keywords' => ['mission', 'déplacement professionnel', 'hébergement']],
        '6257' => ['code' => '6257', 'label' => 'Réceptions', 'category' => 'Autres services extérieurs', 'keywords' => ['réception', 'restaurant', 'repas affaires', 'cocktail', 'séminaire', 'traiteur']],
        '626' => ['code' => '626', 'label' => 'Frais postaux et de télécommunications', 'category' => 'Autres services extérieurs', 'keywords' => ['téléphone', 'internet', 'poste']],
        '6261' => ['code' => '6261', 'label' => 'Frais postaux', 'category' => 'Autres services extérieurs', 'keywords' => ['timbre', 'la poste', 'affranchissement', 'colis', 'lettre']],
        '6262' => ['code' => '6262', 'label' => 'Frais de télécommunications', 'category' => 'Autres services extérieurs', 'keywords' => ['orange', 'sfr', 'bouygues', 'free', 'téléphone', 'internet', 'forfait', 'mobile', 'box', 'abonnement', 'fibre']],
        '627' => ['code' => '627', 'label' => 'Services bancaires et assimilés', 'category' => 'Autres services extérieurs', 'keywords' => ['banque', 'frais', 'service']],
        '6271' => ['code' => '6271', 'label' => 'Frais sur titres', 'category' => 'Autres services extérieurs', 'keywords' => ['titre', 'action', 'bourse', 'courtage']],
        '6272' => ['code' => '6272', 'label' => 'Commissions sur opérations financières', 'category' => 'Autres services extérieurs', 'keywords' => ['commission', 'virement', 'international']],
        '6275' => ['code' => '6275', 'label' => 'Frais sur effets', 'category' => 'Autres services extérieurs', 'keywords' => ['effet', 'traite', 'lettre change']],
        '6278' => ['code' => '6278', 'label' => 'Autres frais et commissions sur prestations de services', 'category' => 'Autres services extérieurs', 'keywords' => ['stripe', 'paypal', 'banque', 'commission', 'frais bancaires', 'tenue compte', 'carte', 'tpe', 'terminal', 'square', 'sumup']],
        '628' => ['code' => '628', 'label' => 'Divers services extérieurs', 'category' => 'Autres services extérieurs', 'keywords' => ['service', 'divers']],
        '6281' => ['code' => '6281', 'label' => 'Concours divers (cotisations)', 'category' => 'Autres services extérieurs', 'keywords' => ['cotisation', 'syndicat', 'fédération', 'association professionnelle', 'cci']],
        '6284' => ['code' => '6284', 'label' => 'Frais de recrutement de personnel', 'category' => 'Autres services extérieurs', 'keywords' => ['recrutement', 'cabinet', 'linkedin', 'indeed', 'annonce emploi']],
        '629' => ['code' => '629', 'label' => 'Rabais, remises, ristournes obtenus', 'category' => 'Autres services extérieurs', 'keywords' => ['rabais', 'remise', 'ristourne', 'réduction']],
        
        // 63 - Impôts, taxes et versements assimilés
        '631' => ['code' => '631', 'label' => 'Impôts, taxes et versements assimilés sur rémunérations', 'category' => 'Impôts et taxes', 'keywords' => ['taxe', 'apprentissage', 'formation', 'salaire']],
        '6311' => ['code' => '6311', 'label' => 'Taxe sur les salaires', 'category' => 'Impôts et taxes', 'keywords' => ['taxe salaires', 'ts']],
        '6312' => ['code' => '6312', 'label' => 'Taxe d\'apprentissage', 'category' => 'Impôts et taxes', 'keywords' => ['apprentissage', 'taxe', 'formation']],
        '6313' => ['code' => '6313', 'label' => 'Participation des employeurs à la formation', 'category' => 'Impôts et taxes', 'keywords' => ['formation', 'opco', 'contribution']],
        '6314' => ['code' => '6314', 'label' => 'Cotisation pour défaut d\'emploi travailleurs handicapés', 'category' => 'Impôts et taxes', 'keywords' => ['agefiph', 'handicap', 'cotisation']],
        '6318' => ['code' => '6318', 'label' => 'Autres impôts et taxes sur rémunérations', 'category' => 'Impôts et taxes', 'keywords' => ['impôt', 'taxe', 'rémunération']],
        '633' => ['code' => '633', 'label' => 'Impôts, taxes et versements assimilés sur rémunérations', 'category' => 'Impôts et taxes', 'keywords' => ['impôt', 'taxe', 'versement transport']],
        '635' => ['code' => '635', 'label' => 'Autres impôts, taxes et versements assimilés', 'category' => 'Impôts et taxes', 'keywords' => ['impôt', 'taxe', 'cfe', 'cvae', 'cet']],
        '6351' => ['code' => '6351', 'label' => 'Impôts directs', 'category' => 'Impôts et taxes', 'keywords' => ['impôt direct', 'contribution']],
        '63511' => ['code' => '63511', 'label' => 'Contribution économique territoriale (CET)', 'category' => 'Impôts et taxes', 'keywords' => ['cet', 'cfe', 'cvae', 'contribution économique']],
        '63512' => ['code' => '63512', 'label' => 'Taxes foncières', 'category' => 'Impôts et taxes', 'keywords' => ['taxe foncière', 'foncier', 'propriété']],
        '63513' => ['code' => '63513', 'label' => 'Autres impôts locaux', 'category' => 'Impôts et taxes', 'keywords' => ['impôt local', 'taxe locale']],
        '63514' => ['code' => '63514', 'label' => 'Taxe sur les véhicules de sociétés (TVS)', 'category' => 'Impôts et taxes', 'keywords' => ['tvs', 'véhicule', 'société', 'voiture', 'co2', 'malus', 'vtc']],
        '6352' => ['code' => '6352', 'label' => 'Taxes sur le chiffre d\'affaires non récupérables', 'category' => 'Impôts et taxes', 'keywords' => ['taxe', 'ca', 'non récupérable']],
        '6353' => ['code' => '6353', 'label' => 'Impôts indirects', 'category' => 'Impôts et taxes', 'keywords' => ['impôt indirect', 'droit enregistrement']],
        '6354' => ['code' => '6354', 'label' => 'Droits d\'enregistrement et de timbre', 'category' => 'Impôts et taxes', 'keywords' => ['enregistrement', 'timbre', 'greffe', 'formalités', 'acte']],
        '6358' => ['code' => '6358', 'label' => 'Autres droits', 'category' => 'Impôts et taxes', 'keywords' => ['droit', 'taxe', 'autre']],
        '637' => ['code' => '637', 'label' => 'Autres impôts, taxes (administration des impôts)', 'category' => 'Impôts et taxes', 'keywords' => ['impôt', 'taxe', 'administration']],
        
        // 64 - Charges de personnel
        '641' => ['code' => '641', 'label' => 'Rémunérations du personnel', 'category' => 'Personnel', 'keywords' => ['salaire', 'personnel', 'employé', 'paie', 'rémunération', 'brut']],
        '6411' => ['code' => '6411', 'label' => 'Salaires, appointements', 'category' => 'Personnel', 'keywords' => ['salaire', 'appointement', 'employé']],
        '6412' => ['code' => '6412', 'label' => 'Congés payés', 'category' => 'Personnel', 'keywords' => ['congés payés', 'cp', 'vacances']],
        '6413' => ['code' => '6413', 'label' => 'Primes et gratifications', 'category' => 'Personnel', 'keywords' => ['prime', 'bonus', 'gratification', '13ème mois']],
        '6414' => ['code' => '6414', 'label' => 'Indemnités et avantages divers', 'category' => 'Personnel', 'keywords' => ['indemnité', 'avantage', 'nature', 'ticket restaurant']],
        '6415' => ['code' => '6415', 'label' => 'Supplément familial', 'category' => 'Personnel', 'keywords' => ['supplément', 'familial', 'allocation']],
        '644' => ['code' => '644', 'label' => 'Rémunération du travail de l\'exploitant', 'category' => 'Personnel', 'keywords' => ['exploitant', 'ei', 'entreprise individuelle', 'gérant']],
        '645' => ['code' => '645', 'label' => 'Charges de sécurité sociale et de prévoyance', 'category' => 'Personnel', 'keywords' => ['urssaf', 'charges sociales', 'cotisations', 'sécurité sociale', 'patronales']],
        '6451' => ['code' => '6451', 'label' => 'Cotisations à l\'URSSAF', 'category' => 'Personnel', 'keywords' => ['urssaf', 'cotisation', 'charges']],
        '6452' => ['code' => '6452', 'label' => 'Cotisations aux mutuelles', 'category' => 'Personnel', 'keywords' => ['mutuelle', 'complémentaire', 'santé']],
        '6453' => ['code' => '6453', 'label' => 'Cotisations aux caisses de retraite', 'category' => 'Personnel', 'keywords' => ['retraite', 'agirc', 'arrco']],
        '6454' => ['code' => '6454', 'label' => 'Cotisations aux ASSEDIC', 'category' => 'Personnel', 'keywords' => ['assedic', 'pôle emploi', 'chômage']],
        '6458' => ['code' => '6458', 'label' => 'Cotisations aux autres organismes sociaux', 'category' => 'Personnel', 'keywords' => ['organisme social', 'prévoyance', 'autre']],
        '646' => ['code' => '646', 'label' => 'Cotisations sociales personnelles de l\'exploitant', 'category' => 'Personnel', 'keywords' => ['exploitant', 'cotisation', 'tns', 'indépendant', 'rsi']],
        '647' => ['code' => '647', 'label' => 'Autres charges sociales', 'category' => 'Personnel', 'keywords' => ['charges sociales', 'médecine travail', 'pharmacie']],
        '648' => ['code' => '648', 'label' => 'Autres charges de personnel', 'category' => 'Personnel', 'keywords' => ['personnel', 'autre charge', 'ticket restaurant']],
        
        // 65 - Autres charges de gestion courante
        '651' => ['code' => '651', 'label' => 'Redevances pour concessions, brevets, licences', 'category' => 'Autres charges', 'keywords' => ['redevance', 'licence', 'brevet', 'franchise', 'royalties']],
        '6511' => ['code' => '6511', 'label' => 'Redevances pour concessions, brevets, licences', 'category' => 'Autres charges', 'keywords' => ['redevance', 'licence', 'brevet', 'franchise']],
        '6516' => ['code' => '6516', 'label' => 'Droits d\'auteur et de reproduction', 'category' => 'Autres charges', 'keywords' => ['droit auteur', 'sacem', 'reproduction', 'image']],
        '653' => ['code' => '653', 'label' => 'Jetons de présence', 'category' => 'Autres charges', 'keywords' => ['jeton présence', 'administrateur', 'conseil']],
        '654' => ['code' => '654', 'label' => 'Pertes sur créances irrécouvrables', 'category' => 'Autres charges', 'keywords' => ['créance irrécouvrable', 'impayé', 'perte', 'client défaillant']],
        '658' => ['code' => '658', 'label' => 'Charges diverses de gestion courante', 'category' => 'Autres charges', 'keywords' => ['charge diverse', 'gestion', 'autre']],
        '6581' => ['code' => '6581', 'label' => 'Dons, libéralités', 'category' => 'Autres charges', 'keywords' => ['don', 'mécénat', 'libéralité', 'association']],
        
        // 66 - Charges financières
        '661' => ['code' => '661', 'label' => 'Charges d\'intérêts', 'category' => 'Charges financières', 'keywords' => ['intérêt', 'emprunt', 'crédit']],
        '6611' => ['code' => '6611', 'label' => 'Intérêts des emprunts et dettes', 'category' => 'Charges financières', 'keywords' => ['intérêt', 'emprunt', 'prêt', 'crédit', 'banque']],
        '6615' => ['code' => '6615', 'label' => 'Intérêts des comptes courants', 'category' => 'Charges financières', 'keywords' => ['intérêt', 'compte courant', 'associé']],
        '6616' => ['code' => '6616', 'label' => 'Intérêts bancaires', 'category' => 'Charges financières', 'keywords' => ['intérêt', 'agios', 'découvert', 'banque', 'frais financiers']],
        '6618' => ['code' => '6618', 'label' => 'Intérêts des autres dettes', 'category' => 'Charges financières', 'keywords' => ['intérêt', 'dette', 'autre']],
        '664' => ['code' => '664', 'label' => 'Pertes sur créances liées à des participations', 'category' => 'Charges financières', 'keywords' => ['perte', 'créance', 'participation', 'filiale']],
        '665' => ['code' => '665', 'label' => 'Escomptes accordés', 'category' => 'Charges financières', 'keywords' => ['escompte', 'réduction', 'paiement anticipé']],
        '666' => ['code' => '666', 'label' => 'Pertes de change', 'category' => 'Charges financières', 'keywords' => ['change', 'perte', 'devise', 'dollar', 'euro', 'livre']],
        '667' => ['code' => '667', 'label' => 'Charges nettes sur cessions de VMP', 'category' => 'Charges financières', 'keywords' => ['vmp', 'cession', 'titre', 'perte']],
        '668' => ['code' => '668', 'label' => 'Autres charges financières', 'category' => 'Charges financières', 'keywords' => ['charge financière', 'autre']],
        
        // 67 - Charges exceptionnelles
        '671' => ['code' => '671', 'label' => 'Charges exceptionnelles sur opérations de gestion', 'category' => 'Charges exceptionnelles', 'keywords' => ['exceptionnel', 'gestion', 'pénalité']],
        '6711' => ['code' => '6711', 'label' => 'Pénalités sur marchés', 'category' => 'Charges exceptionnelles', 'keywords' => ['pénalité', 'marché', 'retard']],
        '6712' => ['code' => '6712', 'label' => 'Pénalités, amendes fiscales et pénales', 'category' => 'Charges exceptionnelles', 'keywords' => ['amende', 'contravention', 'pénalité', 'stationnement', 'pv', 'infraction', 'radar', 'vtc']],
        '6713' => ['code' => '6713', 'label' => 'Dons, libéralités', 'category' => 'Charges exceptionnelles', 'keywords' => ['don', 'mécénat', 'libéralité', 'association', 'solidarité']],
        '6714' => ['code' => '6714', 'label' => 'Créances devenues irrécouvrables', 'category' => 'Charges exceptionnelles', 'keywords' => ['impayé', 'irrécouvrable', 'perte définitive']],
        '6715' => ['code' => '6715', 'label' => 'Subventions accordées', 'category' => 'Charges exceptionnelles', 'keywords' => ['subvention', 'aide', 'accordée']],
        '6717' => ['code' => '6717', 'label' => 'Rappels d\'impôts', 'category' => 'Charges exceptionnelles', 'keywords' => ['rappel', 'impôt', 'redressement', 'contrôle fiscal']],
        '6718' => ['code' => '6718', 'label' => 'Autres charges exceptionnelles sur opérations de gestion', 'category' => 'Charges exceptionnelles', 'keywords' => ['exceptionnel', 'gestion', 'autre']],
        '675' => ['code' => '675', 'label' => 'Valeurs comptables des éléments d\'actif cédés (ancien)', 'category' => 'Charges exceptionnelles', 'keywords' => ['cession', 'actif', 'valeur comptable', 'vceac']],
        '678' => ['code' => '678', 'label' => 'Autres charges exceptionnelles', 'category' => 'Charges exceptionnelles', 'keywords' => ['exceptionnel', 'autre', 'divers']],
        
        // PCG 2025 - Nouveau compte cession
        '657' => ['code' => '657', 'label' => 'Valeurs comptables des éléments d\'actif cédés', 'category' => 'Autres charges', 'keywords' => ['cession', 'actif', 'valeur comptable', 'immobilisation', 'sortie', 'pcg 2025']],
        
        // 68 - Dotations aux amortissements, dépréciations et provisions
        '681' => ['code' => '681', 'label' => 'Dotations aux amortissements, dépréciations et provisions - Charges d\'exploitation', 'category' => 'Dotations', 'keywords' => ['dotation', 'amortissement', 'provision', 'exploitation']],
        '6811' => ['code' => '6811', 'label' => 'Dotations aux amortissements des immobilisations', 'category' => 'Dotations', 'keywords' => ['dotation', 'amortissement', 'immobilisation']],
        '68111' => ['code' => '68111', 'label' => 'Dotations aux amortissements des immobilisations incorporelles', 'category' => 'Dotations', 'keywords' => ['dotation', 'amortissement', 'incorporel', 'logiciel', 'brevet']],
        '68112' => ['code' => '68112', 'label' => 'Dotations aux amortissements des immobilisations corporelles', 'category' => 'Dotations', 'keywords' => ['dotation', 'amortissement', 'corporel', 'matériel', 'véhicule', 'vtc']],
        '6812' => ['code' => '6812', 'label' => 'Dotations aux amortissements des charges d\'exploitation à répartir', 'category' => 'Dotations', 'keywords' => ['dotation', 'charge à répartir']],
        '6815' => ['code' => '6815', 'label' => 'Dotations aux provisions d\'exploitation', 'category' => 'Dotations', 'keywords' => ['dotation', 'provision', 'risque', 'exploitation']],
        '6816' => ['code' => '6816', 'label' => 'Dotations aux dépréciations des immobilisations', 'category' => 'Dotations', 'keywords' => ['dotation', 'dépréciation', 'immobilisation', 'perte valeur']],
        '6817' => ['code' => '6817', 'label' => 'Dotations aux dépréciations des actifs circulants', 'category' => 'Dotations', 'keywords' => ['dotation', 'dépréciation', 'stock', 'créance']],
        '686' => ['code' => '686', 'label' => 'Dotations aux amortissements, dépréciations et provisions - Charges financières', 'category' => 'Dotations', 'keywords' => ['dotation', 'financier']],
        '687' => ['code' => '687', 'label' => 'Dotations aux amortissements, dépréciations et provisions - Charges exceptionnelles', 'category' => 'Dotations', 'keywords' => ['dotation', 'exceptionnel']],
        '6871' => ['code' => '6871', 'label' => 'Dotations aux amortissements exceptionnels', 'category' => 'Dotations', 'keywords' => ['dotation', 'amortissement', 'exceptionnel', 'dérogatoire']],
        '6872' => ['code' => '6872', 'label' => 'Dotations aux provisions réglementées', 'category' => 'Dotations', 'keywords' => ['dotation', 'provision', 'réglementée']],
        '6873' => ['code' => '6873', 'label' => 'Dotations aux provisions exceptionnelles', 'category' => 'Dotations', 'keywords' => ['dotation', 'provision', 'exceptionnel']],
        '6874' => ['code' => '6874', 'label' => 'Dotations aux dépréciations exceptionnelles', 'category' => 'Dotations', 'keywords' => ['dotation', 'dépréciation', 'exceptionnel']],
        
        // 69 - Impôts sur les bénéfices
        '691' => ['code' => '691', 'label' => 'Participation des salariés aux résultats', 'category' => 'Impôts bénéfices', 'keywords' => ['participation', 'intéressement', 'salarié']],
        '695' => ['code' => '695', 'label' => 'Impôts sur les bénéfices', 'category' => 'Impôts bénéfices', 'keywords' => ['is', 'impôt société', 'bénéfice', 'ir']],
        '6951' => ['code' => '6951', 'label' => 'Impôt dû en France', 'category' => 'Impôts bénéfices', 'keywords' => ['is', 'impôt', 'france']],
        '6952' => ['code' => '6952', 'label' => 'Contribution additionnelle à l\'IS', 'category' => 'Impôts bénéfices', 'keywords' => ['contribution', 'is', 'additionnelle']],
        '698' => ['code' => '698', 'label' => 'Intégration fiscale', 'category' => 'Impôts bénéfices', 'keywords' => ['intégration', 'fiscale', 'groupe']],
        '699' => ['code' => '699', 'label' => 'Produits - Report en arrière des déficits', 'category' => 'Impôts bénéfices', 'keywords' => ['carry-back', 'déficit', 'report']],
        
        // ═══════════════════════════════════════════════════════════════════
        // CLASSE 7 : COMPTES DE PRODUITS
        // ═══════════════════════════════════════════════════════════════════
        
        // 70 - Ventes de produits fabriqués, prestations de services, marchandises
        '701' => ['code' => '701', 'label' => 'Ventes de produits finis', 'category' => 'Ventes', 'keywords' => ['produit fini', 'fabrication', 'production', 'vente']],
        '702' => ['code' => '702', 'label' => 'Ventes de produits intermédiaires', 'category' => 'Ventes', 'keywords' => ['produit intermédiaire', 'semi-fini']],
        '703' => ['code' => '703', 'label' => 'Ventes de produits résiduels', 'category' => 'Ventes', 'keywords' => ['déchet', 'rebut', 'résiduel']],
        '704' => ['code' => '704', 'label' => 'Travaux', 'category' => 'Ventes', 'keywords' => ['travaux', 'btp', 'construction', 'rénovation', 'maçonnerie', 'plomberie', 'électricité', 'chantier', 'artisan']],
        '705' => ['code' => '705', 'label' => 'Études', 'category' => 'Ventes', 'keywords' => ['étude', 'analyse', 'expertise', 'conseil']],
        '706' => ['code' => '706', 'label' => 'Prestations de services', 'category' => 'Ventes', 'keywords' => ['service', 'prestation', 'conseil', 'formation', 'consulting', 'freelance', 'mission', 'honoraires', 'facturation']],
        '707' => ['code' => '707', 'label' => 'Ventes de marchandises', 'category' => 'Ventes', 'keywords' => ['vente', 'marchandise', 'commerce', 'boutique', 'magasin', 'e-commerce', 'négoce']],
        '708' => ['code' => '708', 'label' => 'Produits des activités annexes', 'category' => 'Ventes', 'keywords' => ['annexe', 'accessoire', 'divers']],
        '7081' => ['code' => '7081', 'label' => 'Produits des services exploités dans l\'intérêt du personnel', 'category' => 'Ventes', 'keywords' => ['cantine', 'restaurant', 'personnel']],
        '7082' => ['code' => '7082', 'label' => 'Commissions et courtages', 'category' => 'Ventes', 'keywords' => ['commission', 'uber', 'vtc', 'affiliation', 'partenariat', 'heetch', 'bolt', 'chauffeur', 'plateforme', 'courtage', 'apporteur']],
        '7083' => ['code' => '7083', 'label' => 'Locations diverses', 'category' => 'Ventes', 'keywords' => ['location', 'loyer reçu', 'sous-location']],
        '7084' => ['code' => '7084', 'label' => 'Mise à disposition de personnel', 'category' => 'Ventes', 'keywords' => ['personnel', 'détachement', 'mise disposition']],
        '7085' => ['code' => '7085', 'label' => 'Ports et frais accessoires facturés', 'category' => 'Ventes', 'keywords' => ['port', 'frais livraison', 'expédition']],
        '7088' => ['code' => '7088', 'label' => 'Autres produits d\'activités annexes', 'category' => 'Ventes', 'keywords' => ['annexe', 'divers', 'autre']],
        '709' => ['code' => '709', 'label' => 'Rabais, remises, ristournes accordés', 'category' => 'Ventes', 'keywords' => ['rabais', 'remise', 'ristourne', 'réduction', 'avoir']],
        
        // 71 - Production stockée
        '713' => ['code' => '713', 'label' => 'Variation des stocks', 'category' => 'Production stockée', 'keywords' => ['stock', 'variation', 'en-cours']],
        
        // 72 - Production immobilisée
        '721' => ['code' => '721', 'label' => 'Production immobilisée - Immobilisations incorporelles', 'category' => 'Production immobilisée', 'keywords' => ['production', 'immobilisée', 'incorporel', 'développement']],
        '722' => ['code' => '722', 'label' => 'Production immobilisée - Immobilisations corporelles', 'category' => 'Production immobilisée', 'keywords' => ['production', 'immobilisée', 'corporel', 'construction']],
        
        // 74 - Subventions d\'exploitation
        '74' => ['code' => '74', 'label' => 'Subventions d\'exploitation', 'category' => 'Subventions', 'keywords' => ['subvention', 'aide', 'exploitation']],
        '741' => ['code' => '741', 'label' => 'Subventions d\'exploitation', 'category' => 'Subventions', 'keywords' => ['subvention', 'aide', 'région', 'état', 'financement']],
        '748' => ['code' => '748', 'label' => 'Autres subventions d\'exploitation', 'category' => 'Subventions', 'keywords' => ['subvention', 'aide', 'autre']],
        
        // 75 - Autres produits de gestion courante
        '751' => ['code' => '751', 'label' => 'Redevances pour concessions, brevets, licences', 'category' => 'Autres produits', 'keywords' => ['redevance', 'licence', 'brevet', 'franchise', 'royalties']],
        '7516' => ['code' => '7516', 'label' => 'Droits d\'auteur et de reproduction', 'category' => 'Autres produits', 'keywords' => ['youtube', 'adsense', 'droit auteur', 'royalties', 'création', 'contenu', 'musique', 'image']],
        '752' => ['code' => '752', 'label' => 'Revenus des immeubles non affectés à l\'exploitation', 'category' => 'Autres produits', 'keywords' => ['loyer', 'immeuble', 'revenu locatif']],
        '753' => ['code' => '753', 'label' => 'Jetons de présence et rémunérations d\'administrateurs', 'category' => 'Autres produits', 'keywords' => ['jeton présence', 'administrateur', 'mandat']],
        '754' => ['code' => '754', 'label' => 'Ristournes perçues des coopératives', 'category' => 'Autres produits', 'keywords' => ['ristourne', 'coopérative']],
        '758' => ['code' => '758', 'label' => 'Produits divers de gestion courante', 'category' => 'Autres produits', 'keywords' => ['produit', 'divers', 'gestion']],
        
        // PCG 2025 - Nouveau compte cession
        '757' => ['code' => '757', 'label' => 'Produits des cessions d\'éléments d\'actif', 'category' => 'Autres produits', 'keywords' => ['cession', 'vente', 'actif', 'immobilisation', 'plus-value', 'pcg 2025']],
        
        // 76 - Produits financiers
        '761' => ['code' => '761', 'label' => 'Produits de participations', 'category' => 'Produits financiers', 'keywords' => ['dividende', 'participation', 'filiale']],
        '762' => ['code' => '762', 'label' => 'Produits des autres immobilisations financières', 'category' => 'Produits financiers', 'keywords' => ['intérêt', 'prêt', 'placement long terme']],
        '763' => ['code' => '763', 'label' => 'Revenus des autres créances', 'category' => 'Produits financiers', 'keywords' => ['intérêt', 'créance', 'prêt']],
        '764' => ['code' => '764', 'label' => 'Revenus des valeurs mobilières de placement', 'category' => 'Produits financiers', 'keywords' => ['dividende', 'intérêt', 'vmp', 'placement']],
        '765' => ['code' => '765', 'label' => 'Escomptes obtenus', 'category' => 'Produits financiers', 'keywords' => ['escompte', 'réduction', 'paiement anticipé']],
        '766' => ['code' => '766', 'label' => 'Gains de change', 'category' => 'Produits financiers', 'keywords' => ['change', 'gain', 'devise', 'dollar', 'euro']],
        '767' => ['code' => '767', 'label' => 'Produits nets sur cessions de VMP', 'category' => 'Produits financiers', 'keywords' => ['vmp', 'cession', 'plus-value', 'titre']],
        '768' => ['code' => '768', 'label' => 'Autres produits financiers', 'category' => 'Produits financiers', 'keywords' => ['produit financier', 'autre']],
        
        // 77 - Produits exceptionnels
        '771' => ['code' => '771', 'label' => 'Produits exceptionnels sur opérations de gestion', 'category' => 'Produits exceptionnels', 'keywords' => ['exceptionnel', 'gestion']],
        '7711' => ['code' => '7711', 'label' => 'Dédits et pénalités perçus', 'category' => 'Produits exceptionnels', 'keywords' => ['dédit', 'pénalité', 'indemnité']],
        '7713' => ['code' => '7713', 'label' => 'Libéralités reçues', 'category' => 'Produits exceptionnels', 'keywords' => ['don', 'libéralité', 'cadeau']],
        '7714' => ['code' => '7714', 'label' => 'Rentrées sur créances amorties', 'category' => 'Produits exceptionnels', 'keywords' => ['recouvrement', 'créance', 'impayé récupéré']],
        '7715' => ['code' => '7715', 'label' => 'Subventions d\'équilibre', 'category' => 'Produits exceptionnels', 'keywords' => ['subvention', 'équilibre', 'aide']],
        '7718' => ['code' => '7718', 'label' => 'Autres produits exceptionnels sur opérations de gestion', 'category' => 'Produits exceptionnels', 'keywords' => ['exceptionnel', 'autre']],
        '775' => ['code' => '775', 'label' => 'Produits des cessions d\'éléments d\'actif (ancien)', 'category' => 'Produits exceptionnels', 'keywords' => ['cession', 'vente', 'immobilisation', 'plus-value', 'pceac']],
        '777' => ['code' => '777', 'label' => 'Quote-part des subventions d\'investissement virée au résultat', 'category' => 'Produits exceptionnels', 'keywords' => ['subvention', 'investissement', 'reprise']],
        '778' => ['code' => '778', 'label' => 'Autres produits exceptionnels', 'category' => 'Produits exceptionnels', 'keywords' => ['exceptionnel', 'autre', 'divers']],
        
        // 78 - Reprises sur amortissements, dépréciations et provisions
        '781' => ['code' => '781', 'label' => 'Reprises sur amortissements, dépréciations et provisions - Exploitation', 'category' => 'Reprises', 'keywords' => ['reprise', 'amortissement', 'provision', 'exploitation']],
        '7811' => ['code' => '7811', 'label' => 'Reprises sur amortissements des immobilisations', 'category' => 'Reprises', 'keywords' => ['reprise', 'amortissement', 'immobilisation']],
        '7815' => ['code' => '7815', 'label' => 'Reprises sur provisions d\'exploitation', 'category' => 'Reprises', 'keywords' => ['reprise', 'provision', 'risque']],
        '7816' => ['code' => '7816', 'label' => 'Reprises sur dépréciations des immobilisations', 'category' => 'Reprises', 'keywords' => ['reprise', 'dépréciation', 'immobilisation']],
        '7817' => ['code' => '7817', 'label' => 'Reprises sur dépréciations des actifs circulants', 'category' => 'Reprises', 'keywords' => ['reprise', 'dépréciation', 'stock', 'créance']],
        '786' => ['code' => '786', 'label' => 'Reprises sur provisions - Charges financières', 'category' => 'Reprises', 'keywords' => ['reprise', 'provision', 'financier']],
        '787' => ['code' => '787', 'label' => 'Reprises sur provisions - Charges exceptionnelles', 'category' => 'Reprises', 'keywords' => ['reprise', 'provision', 'exceptionnel']],
        '7871' => ['code' => '7871', 'label' => 'Reprises sur amortissements exceptionnels', 'category' => 'Reprises', 'keywords' => ['reprise', 'amortissement', 'dérogatoire']],
        '7872' => ['code' => '7872', 'label' => 'Reprises sur provisions réglementées', 'category' => 'Reprises', 'keywords' => ['reprise', 'provision', 'réglementée']],
        
        // 79 - Transferts de charges
        '791' => ['code' => '791', 'label' => 'Transferts de charges d\'exploitation', 'category' => 'Transferts', 'keywords' => ['transfert', 'charge', 'exploitation', 'immobilisation']],
        '796' => ['code' => '796', 'label' => 'Transferts de charges financières', 'category' => 'Transferts', 'keywords' => ['transfert', 'charge', 'financier']],
        '797' => ['code' => '797', 'label' => 'Transferts de charges exceptionnelles', 'category' => 'Transferts', 'keywords' => ['transfert', 'charge', 'exceptionnel']],
    ];

    /**
     * Recherche de comptes par mot-clé
     */
    public static function searchAccounts($query, $business_type = null, $limit = 10)
    {
        $query = strtolower(trim($query));
        $results = [];
        
        foreach (self::$accounts as $code => $account) {
            $score = 0;
            
            // Recherche par code (priorité haute)
            if (strpos($code, $query) === 0) {
                $score = 100;
            } elseif (strpos($code, $query) !== false) {
                $score = 90;
            }
            
            // Recherche dans le libellé
            if (strpos(strtolower($account['label']), $query) !== false) {
                $score = max($score, 70);
            }
            
            // Recherche dans les mots-clés
            if (isset($account['keywords'])) {
                foreach ($account['keywords'] as $keyword) {
                    if (strtolower($keyword) === $query) {
                        $score = max($score, 95); // Correspondance exacte
                    } elseif (strpos(strtolower($keyword), $query) !== false) {
                        $score = max($score, 80);
                    }
                }
            }
            
            if ($score > 0) {
                $account['score'] = $score;
                $results[] = $account;
            }
        }
        
        // Trier par score décroissant
        usort($results, function($a, $b) {
            return $b['score'] - $a['score'];
        });
        
        return array_slice($results, 0, $limit);
    }

    /**
     * Obtenir les comptes par classe
     */
    public static function getAccountsByClass($class)
    {
        $accounts = [];
        foreach (self::$accounts as $code => $account) {
            if (strpos($code, (string)$class) === 0) {
                $accounts[] = $account;
            }
        }
        return $accounts;
    }

    /**
     * Obtenir les comptes d'immobilisations (classe 2)
     */
    public static function getFixedAssets()
    {
        return self::getAccountsByClass(2);
    }

    /**
     * Obtenir les comptes de TVA
     */
    public static function getVATAccounts()
    {
        $vatAccounts = [];
        foreach (self::$accounts as $code => $account) {
            if (strpos($code, '445') === 0) {
                $vatAccounts[] = $account;
            }
        }
        return $vatAccounts;
    }

    /**
     * Obtenir les comptes de trésorerie
     */
    public static function getTreasuryAccounts()
    {
        $treasuryAccounts = [];
        foreach (self::$accounts as $code => $account) {
            if (strpos($code, '512') === 0 || strpos($code, '53') === 0 || strpos($code, '51') === 0) {
                $treasuryAccounts[] = $account;
            }
        }
        return $treasuryAccounts;
    }

    /**
     * Obtenir un compte par son code
     */
    public static function getAccount($code)
    {
        return isset(self::$accounts[$code]) ? self::$accounts[$code] : null;
    }

    /**
     * Obtenir tous les comptes
     */
    public static function getAllAccounts()
    {
        return self::$accounts;
    }

    /**
     * Obtenir les catégories uniques
     */
    public static function getCategories()
    {
        $categories = [];
        foreach (self::$accounts as $account) {
            $categories[] = $account['category'];
        }
        return array_unique($categories);
    }

    /**
     * Obtenir les comptes de charges (classe 6)
     */
    public static function getExpenseAccounts()
    {
        return self::getAccountsByClass(6);
    }

    /**
     * Obtenir les comptes de produits (classe 7)
     */
    public static function getRevenueAccounts()
    {
        return self::getAccountsByClass(7);
    }

    /**
     * Obtenir les comptes d'amortissement
     */
    public static function getDepreciationAccounts()
    {
        $accounts = [];
        foreach (self::$accounts as $code => $account) {
            if (strpos($code, '28') === 0) {
                $accounts[] = $account;
            }
        }
        return $accounts;
    }

    /**
     * Suggérer un compte basé sur un libellé de transaction
     */
    public static function suggestAccount($description, $type = 'expense')
    {
        $description = strtolower($description);
        $bestMatch = null;
        $bestScore = 0;
        
        $classFilter = ($type === 'expense') ? '6' : (($type === 'revenue') ? '7' : null);
        
        foreach (self::$accounts as $code => $account) {
            // Filtrer par classe si spécifié
            if ($classFilter && strpos($code, $classFilter) !== 0) {
                continue;
            }
            
            $score = 0;
            
            if (isset($account['keywords'])) {
                foreach ($account['keywords'] as $keyword) {
                    if (strpos($description, strtolower($keyword)) !== false) {
                        // Score basé sur la longueur du mot-clé trouvé
                        $score = max($score, strlen($keyword) * 10);
                    }
                }
            }
            
            if ($score > $bestScore) {
                $bestScore = $score;
                $bestMatch = $account;
            }
        }
        
        return $bestMatch;
    }
}