CREATE TABLE `syndicos_article_categories` (
  `id` int NOT NULL,
  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `parent_id` int DEFAULT NULL,
  `meta_title` varchar(70) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `meta_description` varchar(160) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `color` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `display_order` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `syndicos_article_categories`
--

INSERT INTO `syndicos_article_categories` (`id`, `name`, `slug`, `description`, `parent_id`, `meta_title`, `meta_description`, `icon`, `color`, `display_order`) VALUES
(1, 'Gestion de Copropriété', 'gestion-copropriete', 'Conseils et bonnes pratiques pour gérer votre copropriété', NULL, NULL, NULL, 'fa-building', '#435FFF', 1),
(2, 'Assemblée Générale', 'assemblee-generale', 'Tout savoir sur les AG : préparation, votes, résolutions', NULL, NULL, NULL, 'fa-users', '#10b981', 2),
(3, 'Comptabilité & Budget', 'comptabilite-budget', 'Gestion financière, appels de fonds, budget prévisionnel', NULL, NULL, NULL, 'fa-calculator', '#f59e0b', 3),
(4, 'Travaux & Maintenance', 'travaux-maintenance', 'Gestion des travaux, devis, suivi chantiers', NULL, NULL, NULL, 'fa-tools', '#ef4444', 4),
(5, 'Juridique & Réglementation', 'juridique-reglementation', 'Aspects légaux, lois, décrets, jurisprudence', NULL, NULL, NULL, 'fa-gavel', '#8b5cf6', 5),
(6, 'Transition Numérique', 'transition-numerique', 'Digitalisation, outils modernes, dématérialisation', NULL, NULL, NULL, 'fa-laptop', '#06b6d4', 6),
(7, 'Guides Pratiques', 'guides-pratiques', 'Tutoriels pas-à-pas pour utiliser SyndicOS', NULL, NULL, NULL, 'fa-book', '#6366f1', 7);

-- --------------------------------------------------------

--
-- Structure de la table `syndicos_article_media`
--

CREATE TABLE `syndicos_article_media` (
  `id` int NOT NULL,
  `article_id` int NOT NULL,
  `filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `alt_text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `caption` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `mime_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `size` int DEFAULT NULL,
  `width` int DEFAULT NULL,
  `height` int DEFAULT NULL,
  `display_order` int DEFAULT '0',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `syndicos_article_redirects`
--

CREATE TABLE `syndicos_article_redirects` (
  `id` int NOT NULL,
  `old_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `new_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `redirect_type` int DEFAULT '301',
  `hits` int DEFAULT '0',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `syndicos_article_tags`
--

CREATE TABLE `syndicos_article_tags` (
  `id` int NOT NULL,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `count` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `syndicos_article_tag_relations`
--

CREATE TABLE `syndicos_article_tag_relations` (
  `article_id` int NOT NULL,
  `tag_id` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `syndicos_glossary`
--

CREATE TABLE `syndicos_glossary` (
  `id` int NOT NULL,
  `term` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `definition` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `related_articles` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `syndicos_glossary`
--

INSERT INTO `syndicos_glossary` (`id`, `term`, `definition`, `related_articles`) VALUES
(1, 'Tantièmes', 'Quote-part de chaque copropriétaire dans les charges et les décisions, proportionnelle à la valeur de son lot.', NULL),
(2, 'Syndic', 'Personne physique ou morale chargée de gérer la copropriété et d\'exécuter les décisions de l\'AG.', NULL),
(3, 'Assemblée Générale', 'Réunion annuelle obligatoire des copropriétaires pour voter le budget et les travaux.', NULL),
(4, 'Quorum', 'Nombre minimum de voix requises pour que l\'assemblée puisse délibérer valablement.', NULL),
(5, 'Majorité Absolue', 'Plus de la moitié des voix de tous les copropriétaires (article 25).', NULL),
(6, 'Double Majorité', 'Majorité des copropriétaires représentant au moins 2/3 des voix (article 26).', NULL);

-- --------------------------------------------------------

--
-- Structure de la table `syndics`
--

CREATE TABLE `syndics` (
  `id_copro` int NOT NULL,
  `id_gerant` int DEFAULT NULL,
  `id_president` int DEFAULT NULL,
  `nom` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `adresse` text,
  `code_postal` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `ville` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `immat` text NOT NULL,
  `valide` int DEFAULT NULL,
  `type_syndic` enum('benevole','cooperatif') NOT NULL,
  `creation` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `total_tantiemes` int UNSIGNED NOT NULL DEFAULT '1000'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Déchargement des données de la table `syndics`
--

INSERT INTO `syndics` (`id_copro`, `id_gerant`, `id_president`, `nom`, `adresse`, `code_postal`, `ville`, `immat`, `valide`, `type_syndic`, `creation`, `total_tantiemes`) VALUES
(1, 1, 1, 'Copropriété Kleber', '16 rue Kléber', '49000', 'Angers', 'AG4110904', 1, 'benevole', '2025-04-18 15:42:35', 1000),
(34, NULL, NULL, 'Copropriété de test', '15 rue du test', '75001', 'Paris', 'AG44444', 1, 'cooperatif', '2025-04-26 15:45:18', 1000),
(35, NULL, NULL, 'La bresquette', '67 route des Lacs', '33390', 'NAUJAC SUR MER', 'AI5051727', 1, 'cooperatif', '2025-05-03 16:39:46', 1000),
(36, NULL, NULL, 'ADR', '95 av François de Tessan', '77100', 'Nanteuil les meaux', 'ADR', 1, 'benevole', '2025-06-06 17:45:38', 1000),
(37, NULL, NULL, 'Syndicat de Copropriété 31 Rue de Mulhouse', '31 Rue de Mulhouse', '54000', 'Nancy', 'AH8529471', 1, 'benevole', '2025-10-07 14:59:20', 1000);

-- --------------------------------------------------------

--
-- Structure de la table `syndic_bank_coords`
--

CREATE TABLE `syndic_bank_coords` (
  `id` int NOT NULL,
  `id_copro` int NOT NULL,
  `usage_key` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `account_id` int DEFAULT NULL,
  `iban_ct` blob,
  `iban_iv` varbinary(16) DEFAULT NULL,
  `iban_tag` varbinary(16) DEFAULT NULL,
  `bic_ct` blob,
  `bic_iv` varbinary(16) DEFAULT NULL,
  `bic_tag` varbinary(16) DEFAULT NULL,
  `holder_ct` blob,
  `holder_iv` varbinary(16) DEFAULT NULL,
  `holder_tag` varbinary(16) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Déchargement des données de la table `syndic_bank_coords`
--

INSERT INTO `syndic_bank_coords` (`id`, `id_copro`, `usage_key`, `account_id`, `iban_ct`, `iban_iv`, `iban_tag`, `bic_ct`, `bic_iv`, `bic_tag`, `holder_ct`, `holder_iv`, `holder_tag`, `created_at`, `updated_at`) VALUES
(1, 1, 'appels', NULL, 0x2e354931fd83f0f0d31d19ebdfe1d23683c55a0b1b7e169b1e7886fbdd2d213e39, 0xc886f9fb1898e7213878e51bb7157b97, 0x93e87a80816b0b597bb474034611c4e2, 0x79a24deb8d41d971, 0x5c7aecbc424f0f8f953a9eae8b18b843, 0x831786799b79683b2ebe87c40a869f96, 0x0938216c6187db11d4863e7e33aeb3c18b7edc9854bfe92799e5be9f0451713e04178d, 0x201a5d3e7efe96a04e7d4418d45af776, 0xdfa4705cd0f92c057766e9a039813aa7, '2025-09-28 19:43:12', '2025-09-28 19:43:12');

-- --------------------------------------------------------

--
-- Structure de la table `syndic_options`
--

CREATE TABLE `syndic_options` (
  `id_copro` int NOT NULL,
  `budget_visible` tinyint(1) NOT NULL DEFAULT '0',
  `factures_visible` tinyint(1) NOT NULL DEFAULT '0',
  `prevenir_document` tinyint(1) DEFAULT NULL,
  `envoyer_mail_appels` tinyint(1) DEFAULT NULL,
  `assistant_actions` tinyint(1) NOT NULL DEFAULT '0',
  `iban_ct` blob,
  `iban_iv` varbinary(16) DEFAULT NULL,
  `iban_tag` varbinary(16) DEFAULT NULL,
  `bic_ct` blob,
  `bic_iv` varbinary(16) DEFAULT NULL,
  `bic_tag` varbinary(16) DEFAULT NULL,
  `holder_ct` blob,
  `holder_iv` varbinary(16) DEFAULT NULL,
  `holder_tag` varbinary(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `syndic_options`
--

INSERT INTO `syndic_options` (`id_copro`, `budget_visible`, `factures_visible`, `prevenir_document`, `envoyer_mail_appels`, `assistant_actions`, `iban_ct`, `iban_iv`, `iban_tag`, `bic_ct`, `bic_iv`, `bic_tag`, `holder_ct`, `holder_iv`, `holder_tag`) VALUES
(1, 0, 0, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(34, 0, 0, NULL, 1, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(35, 1, 1, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(37, 0, 0, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table `taux_fond_travaux`
--

CREATE TABLE `taux_fond_travaux` (
  `id` int NOT NULL,
  `id_copro` int NOT NULL,
  `id_exercice` int NOT NULL,
  `taux` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `taux_fond_travaux`
--

INSERT INTO `taux_fond_travaux` (`id`, `id_copro`, `id_exercice`, `taux`) VALUES
(2, 1, 3, 10),
(4, 1, 5, 10),
(5, 1, 1, 10),
(15, 34, 20, 10),
(17, 34, 21, 5),
(20, 35, 22, 10);

-- --------------------------------------------------------

--
-- Structure de la table `travaux`
--

CREATE TABLE `travaux` (
  `id` int NOT NULL,
  `id_copro` int NOT NULL,
  `nom` varchar(255) NOT NULL,
  `description` text,
  `montant_estime` decimal(12,2) NOT NULL DEFAULT '0.00',
  `montant_reel` decimal(12,2) DEFAULT NULL COMMENT 'Montant réel facturé (somme des factures liées)',
  `montant_appele` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Montant total appelé auprès des copropriétaires',
  `id_fournisseur` int DEFAULT NULL,
  `id_decision` int DEFAULT NULL,
  `statut` enum('planifie','vote','en_cours','termine','clos') NOT NULL DEFAULT 'planifie',
  `type_projet` enum('travaux','achat_immobilier','autre') DEFAULT 'travaux',
  `mode_repartition` enum('tantiemes','egalitaire') DEFAULT 'tantiemes',
  `echeancier_actif` tinyint(1) DEFAULT '0',
  `created_at` datetime NOT NULL,
  `updated_at` datetime DEFAULT NULL,
  `ecart_budgetaire` decimal(12,2) GENERATED ALWAYS AS ((coalesce(`montant_reel`,`montant_estime`) - `montant_appele`)) STORED COMMENT 'Écart entre réel/estimé et montant appelé',
  `echeancier_montant_initial` decimal(10,2) DEFAULT '0.00' COMMENT 'Bouquet ou acompte initial',
  `echeancier_nb_mensualites` int DEFAULT '0' COMMENT 'Nombre de mensualités',
  `echeancier_montant_mensualite` decimal(10,2) DEFAULT '0.00' COMMENT 'Montant par mensualité',
  `echeancier_date_debut` date DEFAULT NULL COMMENT 'Date de début des mensualités',
  `echeancier_jour_prelevement` int DEFAULT '1' COMMENT 'Jour du mois (1-28)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux`
--

INSERT INTO `travaux` (`id`, `id_copro`, `nom`, `description`, `montant_estime`, `montant_reel`, `montant_appele`, `id_fournisseur`, `id_decision`, `statut`, `type_projet`, `mode_repartition`, `echeancier_actif`, `created_at`, `updated_at`, `echeancier_montant_initial`, `echeancier_nb_mensualites`, `echeancier_montant_mensualite`, `echeancier_date_debut`, `echeancier_jour_prelevement`) VALUES
(1, 1, 'Remplacement des interphones', 'Afin de moderniser et de sécuriser l\'immeuble, deux fournisseurs ont répondu. Nion pour 2026,31€ et Satel Pass pour 4330,18€. La différence de prix se situe dans la qualité du matériel et de la possibilité d\'avoir le contrôle manuel sur la configuration de l\'interphone.', 2026.31, NULL, 3659.79, 38, 55, 'termine', 'travaux', 'tantiemes', 0, '2025-09-22 16:09:07', '2025-10-27 13:37:58', 0.00, 0, 0.00, NULL, 1),
(2, 1, 'Réalisation du DTG', 'Au 1er Janvier 2025, notre copropriété doit effectuer un DTG afin d\'être aux normes. Deux prestataires ont répondu aux demandes. BatiMgie pour 3600€ et Diagamter pour 1440€. Il a été indiqué que la moitié du prix HT doit être pris en charge par l\'Etat', 1440.00, NULL, 1440.00, 39, 58, 'vote', 'travaux', 'tantiemes', 0, '2025-09-22 16:09:26', '2025-11-01 11:42:04', 0.00, 0, 0.00, NULL, 1),
(3, 1, 'Rénovation cage d\'escalier', '', 910.31, NULL, 910.31, NULL, NULL, 'termine', 'travaux', 'tantiemes', 0, '2025-09-22 20:50:20', '2025-11-01 11:41:57', 0.00, 0, 0.00, NULL, 1),
(4, 35, 'Création d\'allées sèches', '', 6000.00, NULL, 6600.00, 68, NULL, 'en_cours', 'travaux', 'tantiemes', 0, '2025-10-15 15:17:58', '2025-10-30 18:23:44', 0.00, 0, 0.00, NULL, 1),
(5, 35, 'Travaux Eaux pluviales', '', 2500.00, NULL, 0.00, NULL, NULL, 'en_cours', 'travaux', 'tantiemes', 0, '2025-10-15 15:21:11', '2025-10-30 12:39:52', 0.00, 0, 0.00, NULL, 1),
(6, 35, 'Achat garage', '', 20000.00, NULL, 0.00, NULL, NULL, 'planifie', 'travaux', 'tantiemes', 0, '2025-10-15 15:22:00', '2025-10-30 12:39:42', 0.00, 0, 0.00, NULL, 1);

-- --------------------------------------------------------

--
-- Structure de la table `travaux_ag`
--

CREATE TABLE `travaux_ag` (
  `id` int NOT NULL,
  `id_exercice` int NOT NULL COMMENT '→ exercices.id',
  `id_decision` int NOT NULL COMMENT '→ pv_decisions.id',
  `id_resolution` int NOT NULL COMMENT '→ pv_resolutions.id',
  `fournisseur` varchar(255) DEFAULT NULL,
  `montant` decimal(10,2) NOT NULL,
  `description` text,
  `file_path` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_ag`
--

INSERT INTO `travaux_ag` (`id`, `id_exercice`, `id_decision`, `id_resolution`, `fournisseur`, `montant`, `description`, `file_path`, `created_at`) VALUES
(1, 3, 23, 1, NULL, 0.00, '', NULL, '2025-07-28 17:06:06'),
(2, 3, 24, 2, NULL, 0.00, '', NULL, '2025-07-28 17:06:06'),
(3, 3, 25, 3, NULL, 0.00, '', NULL, '2025-07-28 17:06:06'),
(4, 3, 26, 5, NULL, 0.00, '', NULL, '2025-07-28 17:06:06'),
(5, 3, 35, 4, NULL, 0.00, '', NULL, '2025-07-28 17:06:06'),
(6, 3, 54, 7, 'Komilfo', 4695.55, 'Différents fournisseurs ont répondu aux demandes, Komilfo pour un montant de 4595,55€, Brossard pour 5721,33€ et Anjou Expert Serrure proposant une porte semblable à la notre pour 5303,34€ et une autre à 7747,35€. Ces différentes portes permettront une meilleure isolation de l\'immeuble.\n\nNon pour tous. Voir pour serrure.', 'DEVKI241122063.pdf', '2025-07-28 17:06:06'),
(7, 3, 54, 7, 'Anjou Expert Serrure', 7747.35, 'Différents fournisseurs ont répondu aux demandes, Komilfo pour un montant de 4595,55€, Brossard pour 5721,33€ et Anjou Expert Serrure proposant une porte semblable à la notre pour 5303,34€ et une autre à 7747,35€. Ces différentes portes permettront une meilleure isolation de l\'immeuble.\n\nNon pour tous. Voir pour serrure.', '2024-12-29 14-57.pdf', '2025-07-28 17:06:06'),
(8, 3, 54, 7, 'Anjou Expert Serrure', 5303.34, 'Différents fournisseurs ont répondu aux demandes, Komilfo pour un montant de 4595,55€, Brossard pour 5721,33€ et Anjou Expert Serrure proposant une porte semblable à la notre pour 5303,34€ et une autre à 7747,35€. Ces différentes portes permettront une meilleure isolation de l\'immeuble.\n\nNon pour tous. Voir pour serrure.', '2024-12-29 14-59.pdf', '2025-07-28 17:06:06'),
(9, 3, 54, 7, 'Brossard', 5721.33, 'Différents fournisseurs ont répondu aux demandes, Komilfo pour un montant de 4595,55€, Brossard pour 5721,33€ et Anjou Expert Serrure proposant une porte semblable à la notre pour 5303,34€ et une autre à 7747,35€. Ces différentes portes permettront une meilleure isolation de l\'immeuble.\n\nNon pour tous. Voir pour serrure.', 'Devis DE00004386.pdf', '2025-07-28 17:06:06'),
(10, 3, 55, 8, 'Nion', 2026.31, 'Afin de moderniser et de sécuriser l\'immeuble, deux fournisseurs ont répondu. Nion pour 2026,31€ et Satel Pass pour 4330,18€. La différence de prix se situe dans la qualité du matériel et de la possibilité d\'avoir le contrôle manuel sur la configuration de l\'interphone. \n\nTout le monde est Ok pour Nion', 'Offre Réfection système Interphonie 16 Rue Kleber Angers 121124.pdf', '2025-07-28 17:06:06'),
(11, 3, 55, 8, 'Satel Pass', 4330.18, 'Afin de moderniser et de sécuriser l\'immeuble, deux fournisseurs ont répondu. Nion pour 2026,31€ et Satel Pass pour 4330,18€. La différence de prix se situe dans la qualité du matériel et de la possibilité d\'avoir le contrôle manuel sur la configuration de l\'interphone. \n\nTout le monde est Ok pour Nion', 'Devis n°5350.pdf', '2025-07-28 17:06:06'),
(12, 3, 58, 9, 'BatiMgie', 3600.00, 'Au 1er Janvier 2025, notre copropriété doit effectuer un DTG afin d\'être aux normes. Deux prestataires ont répondu aux demandes. BatiMgie pour 3600€ et Diagamter pour 1440€. Il a été indiqué que la moitié du prix HT doit être pris en charge par l\'Etat\n\nDIAGAMETER : Tout le monde est ok', 'Devis BATIMGIE n°24-724.pdf', '2025-07-28 17:06:06'),
(13, 3, 58, 9, 'Diagamter', 1440.00, 'Au 1er Janvier 2025, notre copropriété doit effectuer un DTG afin d\'être aux normes. Deux prestataires ont répondu aux demandes. BatiMgie pour 3600€ et Diagamter pour 1440€. Il a été indiqué que la moitié du prix HT doit être pris en charge par l\'Etat\n\nDIAGAMETER : Tout le monde est ok', 'Devis-1266972.pdf', '2025-07-28 17:06:06'),
(14, 3, 59, 6, NULL, 0.00, 'Le tableau électrique n\'étant pas aux normes et posant des problèmes de sécurité majeurs pour l\'immeuble, il a été décidé de financer via le fond travaux la rénovation de ce dernier pour un montant de 676HT€\n\nOk pour tous', NULL, '2025-07-28 17:06:06');

-- --------------------------------------------------------

--
-- Structure de la table `travaux_calls`
--

CREATE TABLE `travaux_calls` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `id_lot` int NOT NULL,
  `id_user` int NOT NULL,
  `montant` decimal(12,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_calls`
--

INSERT INTO `travaux_calls` (`id`, `id_travaux`, `id_lot`, `id_user`, `montant`) VALUES
(681, 3, 1, 8, 51.89),
(682, 3, 2, 1, 115.61),
(683, 3, 3, 5, 67.36),
(684, 3, 4, 2, 246.69),
(685, 3, 5, 7, 121.98),
(686, 3, 6, 3, 131.08),
(687, 3, 7, 8, 3.19),
(688, 3, 8, 8, 91.03),
(689, 3, 9, 6, 29.13),
(690, 3, 10, 1, 9.10),
(691, 3, 11, 5, 6.37),
(692, 3, 12, 3, 6.37),
(693, 3, 13, 6, 6.37),
(694, 3, 14, 8, 6.37),
(695, 3, 15, 7, 6.37),
(696, 3, 16, 2, 8.19),
(697, 3, 17, 6, 3.19),
(698, 2, 1, 8, 82.08),
(699, 2, 2, 1, 182.88),
(700, 2, 3, 5, 106.56),
(701, 2, 4, 2, 390.24),
(702, 2, 5, 7, 192.96),
(703, 2, 6, 3, 207.36),
(704, 2, 7, 8, 5.04),
(705, 2, 8, 8, 144.00),
(706, 2, 9, 6, 46.08),
(707, 2, 10, 1, 14.40),
(708, 2, 11, 5, 10.08),
(709, 2, 12, 3, 10.08),
(710, 2, 13, 6, 10.08),
(711, 2, 14, 8, 10.08),
(712, 2, 15, 7, 10.08),
(713, 2, 16, 2, 12.96),
(714, 2, 17, 6, 5.04),
(715, 1, 1, 8, 115.50),
(716, 1, 2, 1, 257.34),
(717, 1, 3, 5, 149.95),
(718, 1, 4, 2, 549.13),
(719, 1, 5, 7, 271.53),
(720, 1, 6, 3, 291.79),
(721, 1, 7, 8, 7.09),
(722, 1, 8, 8, 202.63),
(723, 1, 9, 6, 64.84),
(724, 1, 10, 1, 20.26),
(725, 1, 11, 5, 14.18),
(726, 1, 12, 3, 14.18),
(727, 1, 13, 6, 14.18),
(728, 1, 14, 8, 14.18),
(729, 1, 15, 7, 14.18),
(730, 1, 16, 2, 18.24),
(731, 1, 17, 6, 7.09),
(768, 5, 74, 70, 119.50),
(769, 5, 75, 71, 296.63),
(770, 5, 76, 72, 282.00),
(771, 5, 77, 69, 203.13),
(772, 5, 78, 73, 167.88),
(773, 5, 79, 74, 190.38),
(774, 5, 80, 75, 277.13),
(775, 5, 81, 70, 277.50),
(776, 5, 82, 76, 265.38),
(777, 5, 83, 77, 182.63),
(778, 5, 84, 78, 220.75),
(779, 5, 85, 70, 17.13),
(864, 4, 74, 70, 286.80),
(865, 4, 75, 71, 711.90),
(866, 4, 76, 72, 676.80),
(867, 4, 77, 69, 487.50),
(868, 4, 78, 73, 402.90),
(869, 4, 79, 74, 456.90),
(870, 4, 80, 75, 665.10),
(871, 4, 81, 70, 666.00),
(872, 4, 82, 76, 636.90),
(873, 4, 83, 77, 438.30),
(874, 4, 84, 78, 529.80),
(875, 4, 85, 70, 41.10);

-- --------------------------------------------------------

--
-- Structure de la table `travaux_echeances`
--

CREATE TABLE `travaux_echeances` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `numero_echeance` int NOT NULL COMMENT 'Numéro de l''échéance (1, 2, 3...)',
  `date_prevue` date NOT NULL,
  `montant` decimal(10,2) NOT NULL,
  `genere` tinyint(1) DEFAULT '0' COMMENT 'Appel généré ?',
  `date_generation` datetime DEFAULT NULL,
  `appel_libelle` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Libellé de l''appel généré',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Structure de la table `travaux_extra_presets`
--

CREATE TABLE `travaux_extra_presets` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `label` varchar(255) NOT NULL,
  `unit` varchar(50) DEFAULT NULL,
  `unit_price` decimal(12,2) NOT NULL DEFAULT '0.00',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_extra_presets`
--

INSERT INTO `travaux_extra_presets` (`id`, `id_travaux`, `label`, `unit`, `unit_price`, `created_at`, `updated_at`) VALUES
(1, 1, 'Interphone mains libres', 'Unité', 212.30, '2025-09-22 19:01:50', '2025-09-22 19:01:50'),
(2, 1, 'Badge', 'Unité', 7.70, '2025-09-22 19:02:05', '2025-09-22 19:02:05'),
(3, 1, 'Poste standard', 'Unité', 64.35, '2025-09-22 19:31:16', '2025-09-22 19:31:16');

-- --------------------------------------------------------

--
-- Structure de la table `travaux_repartition`
--

CREATE TABLE `travaux_repartition` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `id_user` int NOT NULL,
  `mode` enum('extra','replace') NOT NULL,
  `amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `commentaire` varchar(255) DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_repartition`
--

INSERT INTO `travaux_repartition` (`id`, `id_travaux`, `id_user`, `mode`, `amount`, `commentaire`, `created_at`, `updated_at`) VALUES
(1, 2, 1, 'extra', 0.00, '', '2025-09-22 17:31:00', '2025-09-22 17:31:15'),
(4, 1, 1, 'extra', 235.40, '', '2025-09-22 17:31:24', '2025-09-22 19:33:55'),
(14, 1, 2, 'extra', 243.10, '', '2025-09-22 18:57:40', '2025-09-22 19:33:55'),
(21, 1, 3, 'extra', 235.40, '', '2025-09-22 19:09:12', '2025-09-22 19:33:55'),
(25, 1, 5, 'extra', 87.45, '', '2025-09-22 19:31:39', '2025-09-22 19:33:55'),
(30, 1, 6, 'extra', 95.15, '', '2025-09-22 19:32:18', '2025-09-22 19:33:55'),
(36, 1, 7, 'extra', 95.15, '', '2025-09-22 19:32:48', '2025-09-22 19:33:55'),
(43, 1, 8, 'extra', 641.85, '', '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(44, 3, 1, 'replace', 910.31, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(45, 3, 2, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(46, 3, 3, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(47, 3, 5, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(48, 3, 6, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(49, 3, 7, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47'),
(50, 3, 8, 'replace', 0.00, '', '2025-09-22 20:50:47', '2025-09-22 20:50:47');

-- --------------------------------------------------------

--
-- Structure de la table `travaux_repartition_details`
--

CREATE TABLE `travaux_repartition_details` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `id_user` int NOT NULL,
  `label` varchar(255) NOT NULL,
  `unit` varchar(50) DEFAULT NULL,
  `qty` decimal(12,3) DEFAULT NULL,
  `unit_price` decimal(12,2) DEFAULT NULL,
  `item_id` int DEFAULT NULL,
  `amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_repartition_details`
--

INSERT INTO `travaux_repartition_details` (`id`, `id_travaux`, `id_user`, `label`, `unit`, `qty`, `unit_price`, `item_id`, `amount`, `created_at`, `updated_at`) VALUES
(49, 1, 1, 'Interphone mains libres', 'unité', 1.000, 212.30, NULL, 212.30, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(50, 1, 1, 'Badge', 'unité', 3.000, 7.70, NULL, 23.10, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(51, 1, 2, 'Badge', 'Unité', 4.000, 7.70, NULL, 30.80, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(52, 1, 2, 'Interphone mains libres', 'Unité', 1.000, 212.30, NULL, 212.30, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(53, 1, 3, 'Badge', 'Unité', 3.000, 7.70, NULL, 23.10, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(54, 1, 3, 'Interphone mains libres', 'Unité', 1.000, 212.30, NULL, 212.30, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(55, 1, 5, 'Poste standard', 'Unité', 1.000, 64.35, NULL, 64.35, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(56, 1, 5, 'Badge', 'Unité', 3.000, 7.70, NULL, 23.10, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(57, 1, 6, 'Poste standard', 'Unité', 1.000, 64.35, NULL, 64.35, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(58, 1, 6, 'Badge', 'Unité', 4.000, 7.70, NULL, 30.80, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(59, 1, 7, 'Poste standard', 'Unité', 1.000, 64.35, NULL, 64.35, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(60, 1, 7, 'Badge', 'Unité', 4.000, 7.70, NULL, 30.80, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(61, 1, 8, 'Interphone mains libres', 'Unité', 2.000, 212.30, NULL, 424.60, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(62, 1, 8, 'Badge', 'Unité', 6.000, 7.70, NULL, 46.20, '2025-09-22 19:33:55', '2025-09-22 19:33:55'),
(63, 1, 8, 'Frais supplémentaires', 'Unité', 1.000, 171.05, NULL, 171.05, '2025-09-22 19:33:55', '2025-09-22 19:33:55');

-- --------------------------------------------------------

--
-- Structure de la table `travaux_status_history`
--

CREATE TABLE `travaux_status_history` (
  `id` int NOT NULL,
  `id_travaux` int NOT NULL,
  `statut` varchar(50) NOT NULL,
  `changed_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `travaux_status_history`
--

INSERT INTO `travaux_status_history` (`id`, `id_travaux`, `statut`, `changed_at`) VALUES
(1, 2, 'en_cours', '2025-09-22 16:09:41'),
(2, 1, 'clos', '2025-09-22 16:09:45'),
(3, 1, 'en_cours', '2025-09-22 18:00:31'),
(4, 1, 'clos', '2025-09-22 20:36:38'),
(5, 1, 'termine', '2025-10-01 20:49:36'),
(6, 6, 'planifie', '2025-10-30 12:39:42'),
(7, 5, 'en_cours', '2025-10-30 12:39:52'),
(8, 3, 'planifie', '2025-10-30 17:34:09'),
(9, 4, 'en_cours', '2025-10-30 18:23:44'),
(10, 3, 'clos', '2025-11-01 11:41:46'),
(11, 3, 'termine', '2025-11-01 11:41:57'),
(12, 2, 'vote', '2025-11-01 11:42:04');

-- --------------------------------------------------------

--
-- Structure de la table `types`
--

CREATE TABLE `types` (
  `id` int NOT NULL,
  `type` text NOT NULL,
  `tva` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Déchargement des données de la table `types`
--

INSERT INTO `types` (`id`, `type`, `tva`) VALUES
(1, 'Electricité', 0),
(2, 'Gaz', 0),
(3, 'Eau individuelle', 0),
(4, 'Entretien', 0),
(5, 'Assurance', 0),
(6, 'Administratif', 0),
(7, 'Banque', 0),
(8, 'Travaux', 0),
(9, 'Electricité individuelle', 0),
(10, 'Entretien pisicine', 0),
(11, 'Taxe foncière', 0),
(14, 'Eau commune', 0);

-- --------------------------------------------------------

--
-- Structure de la table `types_abonnements`
--

CREATE TABLE `types_abonnements` (
  `id` int NOT NULL,
  `nom` varchar(255) NOT NULL,
  `prix` decimal(10,2) NOT NULL,
  `engagement` tinyint(1) NOT NULL DEFAULT '0',
  `duree` int NOT NULL DEFAULT '1',
  `niveau` int DEFAULT '1' COMMENT 'Niveau hiérarchique: 1=Smart, 2=Plus, 3=Pro',
  `couleur` varchar(7) DEFAULT '#435FFF' COMMENT 'Couleur du plan',
  `description` text COMMENT 'Description détaillée du plan'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `types_abonnements`
--

INSERT INTO `types_abonnements` (`id`, `nom`, `prix`, `engagement`, `duree`, `niveau`, `couleur`, `description`) VALUES
(3, 'Smart', 15.00, 0, 1, 1, '#435FFF', 'Budgets & PV illimités, Appels de fonds automatiques, Support e-mail, Stockage 50 Mo / copro.'),
(4, 'Plus', 36.00, 0, 1, 2, '#28a745', 'Tous les avantages Smart, Relances manuelles, Intégration copropriété, Balance comptable, Support prioritaire, Stockage 100 Mo / copro.'),
(5, 'Pro', 54.00, 0, 1, 3, '#ffc107', 'Tous les avantages Plus, Vote en ligne sécurisé, Relances automatiques, Signature électronique, Écritures bancaires, Stockage 500 Mo / copro.');

-- --------------------------------------------------------

--
-- Structure de la table `types_documents`
--

CREATE TABLE `types_documents` (
  `id` int NOT NULL,
  `nom` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Déchargement des données de la table `types_documents`
--

INSERT INTO `types_documents` (`id`, `nom`) VALUES
(1, 'Appels de fonds'),
(2, 'Procès verbaux'),
(3, 'Personnel'),
(4, 'Convocations'),
(5, 'Assurance');

-- --------------------------------------------------------

--
-- Structure de la table `types_lots`
--

CREATE TABLE `types_lots` (
  `id` int NOT NULL,
  `type` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `types_lots`
--

INSERT INTO `types_lots` (`id`, `type`) VALUES
(1, 'Habitation'),
(2, 'Accessoire '),
(3, 'Commercial'),
(4, 'Technique');

-- --------------------------------------------------------

--
-- Structure de la table `type_agenda`
--

CREATE TABLE `type_agenda` (
  `id` int NOT NULL,
  `nom` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Déchargement des données de la table `type_agenda`
--

INSERT INTO `type_agenda` (`id`, `nom`) VALUES
(1, 'Assemblée générale ordinaire'),
(2, 'Assemblée générale extraordinaire '),
(3, 'Autres');

-- --------------------------------------------------------

--
-- Structure de la table `updates`
--

CREATE TABLE `updates` (
  `id` int NOT NULL,
  `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `version` text NOT NULL,
  `date` date NOT NULL,
  `disponible` int NOT NULL,
  `categorie` varchar(20) DEFAULT 'autre'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Déchargement des données de la table `updates`
--

INSERT INTO `updates` (`id`, `text`, `version`, `date`, `disponible`, `categorie`) VALUES
(1, 'Disponibilité', '0.1', '2023-03-01', 1, 'nouveaute'),
(2, 'Page d\'accueil', '0.1', '2023-03-01', 1, 'nouveaute'),
(3, 'Optimisation version mobile', '0.1', '2023-03-01', 1, 'amelioration'),
(4, 'Apparition des PV dans les documents sur la version web', '0.2', '2023-03-12', 1, 'nouveaute'),
(5, 'Listing des copropriétaires', '0.2', '2023-03-12', 1, 'nouveaute'),
(6, 'Corrections d\'un bug relatif à l\'authentification', '0.2', '2023-03-12', 1, 'bug'),
(7, 'Fonction de mot de passe oublié', '0.2', '2023-03-12', 1, 'nouveaute'),
(8, 'Améliorations graphiques', '0.2', '2023-03-12', 1, 'amelioration'),
(9, 'Apparition des pages d\'erreurs', '0.2', '2023-03-12', 1, 'securite'),
(10, 'Corrections de divers problèmes', '0.3', '2023-03-19', 1, 'bug'),
(11, 'Apparition de la catégorie Juridique dans les documents', '0.3', '2023-03-19', 1, 'nouveaute'),
(12, 'Refonte de la version mobile', '0.3', '2023-03-19', 1, 'amelioration'),
(13, 'Page des paramètres', '0.3', '2023-03-19', 1, 'nouveaute'),
(14, 'Menu déroulant', '0.4', '2023-07-04', 1, 'nouveaute'),
(15, 'Sécurisation accrue de la connexion', '0.4', '2023-07-04', 1, 'securite'),
(16, 'Le site est responsive. Il n\'y a plus qu\'une version commune aux ordinateurs et téléphones', '0.4', '2023-07-04', 1, 'amelioration'),
(17, 'Refonte totale du design pour l\'intégration des fonctionnalités de la prochaine mise à jour', '0.4', '2023-07-04', 1, 'amelioration'),
(18, 'Correction d\'un bug pouvant entrainer des déconnexions', '0.4', '2023-07-04', 1, 'bug'),
(19, 'Ajout de redirection si connecté', '0.4', '2023-07-04', 1, 'securite'),
(20, 'Nouvelle visualisation des documents In-Page', '0.4', '2023-07-04', 1, 'amelioration'),
(21, 'Dynamisation du site avec la technologie AJAX. La mise à jour des données est effectuée  en temps réel', '0.4', '2023-07-04', 1, 'amelioration'),
(22, 'Refonte de la présentation du site', '0.5', '2023-10-22', 1, 'amelioration'),
(23, 'La page de la banque est fusionnée avec la gestion d\'exercice', '0.5', '2023-10-22', 1, 'amelioration'),
(24, 'Modification de la structure SQL pour ajouter les sociétés', '0.5', '2023-10-22', 1, 'amelioration'),
(25, 'La saisie de la banque devient plus simple', '0.5', '2023-10-22', 1, 'amelioration'),
(26, 'Refonte de la page d\'accueil', '0.5', '2023-10-22', 1, 'amelioration'),
(27, 'Refonte de la page de la banque (visible uniquement par le syndic)', '0.5', '2023-10-22', 1, 'amelioration'),
(28, 'Création d\'un dossier spécifique à chaque copropriétaire', '0.5', '2023-10-22', 1, 'amelioration'),
(29, 'Sécurisation des répertoires de chaque copropriétaire', '0.5', '2023-10-22', 1, 'securite'),
(30, 'Mise à jour des métadonnées', '0.5', '2023-10-22', 1, 'amelioration'),
(31, 'Vos variations de relevés d\'eau sont disponibles', '0.6', '2023-11-26', 1, 'nouveaute'),
(32, 'Vous pouvez de nouveau voir vos appels de fonds', '0.6', '2023-11-26', 1, 'amelioration'),
(33, 'Vos différents lots sont listés', '0.6', '2023-11-26', 1, 'nouveaute'),
(34, 'Migration effectué vers la nouvelle architecture de dossiers pour plus de sécurité', '0.6', '2023-11-26', 1, 'securite'),
(35, 'Préparation du code pour la mise à jour 0.7', '0.6.1', '2024-01-18', 1, 'securite'),
(36, 'Réduction du délai de traitement de la déconnexion', '0.6.1', '2024-01-18', 1, 'amelioration'),
(37, 'Refonte de la page de connexion', '0.6.1', '2024-01-18', 1, 'amelioration'),
(38, 'Résolution d\'un problème de redirections pour l\'affichages des images', '0.6.1', '2024-01-18', 1, 'bug'),
(39, 'Améliorations graphiques', '0.7', '2024-06-25', 1, 'amelioration'),
(40, 'Page des mises à jour', '0.7', '2024-06-25', 1, 'nouveaute'),
(41, 'Disparition du délai concernant la déconnexion', '0.7', '2024-06-25', 1, 'amelioration'),
(42, 'Apparition des CGU', '0.7', '2024-06-25', 1, 'amelioration'),
(43, 'Mises aux normes RGPD', '0.7', '2024-06-25', 1, 'amelioration'),
(44, 'Amélioration de la sécurité', '0.7', '2024-06-25', 1, 'securite'),
(45, 'Refonte du système d\'oubli de mot de passe', '0.7', '2024-06-25', 1, 'amelioration'),
(46, 'Passage à PHP 8', '0.7', '2024-06-25', 1, 'securite'),
(47, 'Ajout de l\'adresse de la copro', '0.7', '2024-06-25', 1, 'amelioration'),
(48, 'Ajout de l\'attestation d\'assurance pour les propriétaires', '0.7', '2024-06-25', 1, 'nouveaute'),
(49, 'Possibilité pour le syndic d\'avoir une synthèse de l\'ensemble des lots et de ses détails', '0.7', '2024-06-25', 1, 'nouveaute'),
(50, 'Les PV d\'AG sont disponibles', '0.7', '2024-06-25', 1, 'nouveaute'),
(51, 'Possibilité de voir si le document a été ouvert ainsi que la date/heure de visionnage', '0.7', '2024-06-25', 1, 'nouveaute'),
(52, 'Améliorations sur la version mobile', '0.7', '2024-06-25', 1, 'amelioration'),
(53, 'Vous pouvez activer l\'option d\'envoi de code par mail lors de la connexion. Cette dernière sera fonctionnelle avec la prochaine mise à jour', '0.7', '2024-06-25', 1, 'nouveaute'),
(54, 'Corrections de problèmes d\'affichage sur la version mobile', '0.8', '2024-07-10', 1, 'bug'),
(55, 'Vous pouvez effectuer des demandes au syndic', '0.8', '2024-07-10', 1, 'nouveaute'),
(56, 'Sécurisation des répertoires', '0.8', '2024-07-10', 1, 'securite'),
(57, 'Authentification à deux facteurs par mail fonctionnelle', '0.8', '2024-07-10', 1, 'nouveaute'),
(58, 'Vous pouvez désormais effectuer les relevés d\'eau', '0.8', '2024-07-10', 1, 'nouveaute'),
(59, 'Correction d\'un problème sur les relevés d\'eau pour les lots multiples', '0.8', '2024-07-10', 1, 'bug'),
(60, 'Vous pouvez désormais déposer des documents sur votre espace', '0.8', '2024-07-10', 1, 'nouveaute'),
(61, 'Le syndic à désormais un résumé de l\'ensemble des copropriétaires', '0.8', '2024-07-10', 1, 'nouveaute'),
(62, 'Le syndic peut désormais créer des fournisseurs et les relier à des charges', '0.8', '2024-07-10', 1, 'nouveaute'),
(63, 'Possibilité de ne voir que les PV 3 ans avant la date d\'achat', '0.8', '2024-07-10', 1, 'bug'),
(64, 'Harmonisation du design', '0.8', '2024-07-10', 1, 'amelioration'),
(65, 'La version mobile est désormais fonctionnelle', '0.8', '2024-07-10', 1, 'nouveaute'),
(66, 'Visualisation du budget de l\'année', '0.9', '2024-07-21', 1, 'nouveaute'),
(67, 'Génération avec SyndicAI d\'une synthèse du budget prévisionnel', '0.9', '2024-07-21', 1, 'nouveaute'),
(68, 'Création d\'exercice comptable', '0.9', '2024-07-21', 1, 'nouveaute'),
(69, 'Page détaillée sur chaque lot', '0.9', '2024-07-21', 1, 'nouveaute'),
(70, 'Possibilité d\'indiquer si un lot est loué', '0.9', '2024-07-21', 1, 'nouveaute'),
(71, 'Vous pouvez désormais donner un accès aux documents à votre comptable', '0.9', '2024-07-21', 1, 'nouveaute'),
(72, 'Correction d\'un problème avec les demandes au syndic', '0.9', '2024-07-21', 1, 'bug'),
(73, 'Modification de la base de données', '0.9', '2024-07-21', 1, 'securite'),
(74, 'L\'accès au site se fait désormais via www.syndicos.com', '0.9', '2024-07-21', 1, 'nouveaute'),
(75, 'Optimisation de la version mobile', '1.0', '2024-08-29', 1, 'amelioration'),
(76, 'Fiche propriétaire disponible', '1.0', '2024-08-29', 1, 'nouveaute'),
(77, 'Prise en charge de plusieurs comptes bancaires', '1.0', '2024-08-29', 1, 'nouveaute'),
(78, 'Possibilité de modifier les lots', '1.0', '2024-08-29', 1, 'amelioration'),
(79, 'Corrections diverses', '1.0', '2024-08-29', 1, 'bug'),
(80, 'Génération en temps réel des appels de fonds', '1.0', '2024-08-29', 1, 'nouveaute'),
(81, 'Page des appels de fonds', '1.0', '2024-08-29', 1, 'nouveaute'),
(82, 'Révision des pages Administration', '1.0', '2024-08-29', 1, 'amelioration'),
(83, 'Possibilité de voir le solde dû pour chaque copropriétaire', '1.0', '2024-08-29', 1, 'nouveaute'),
(84, 'Possibilité d\'inscrire le taux du fond travaux', '1.0', '2024-08-29', 1, 'nouveaute'),
(85, 'Possibilité de s\'inscrire et d\'inscrire son syndic', '1.0', '2024-08-29', 1, 'nouveaute'),
(86, 'Nouvelle page d\'accueil', '1.0', '2024-08-29', 1, 'amelioration'),
(87, 'Organisation des fournisseurs par ordre alphabétique', '1.0', '2024-08-29', 1, 'amelioration'),
(88, 'Visualisation des dépenses en temps réel', '1.0', '2024-08-29', 1, 'nouveaute'),
(89, 'Comparatif avec le budget en temps réel', '1.0', '2024-08-29', 1, 'nouveaute'),
(90, 'Adresse de la copro renseignée', '1.0', '2024-08-29', 1, 'amelioration'),
(91, 'Mot de passe oublié pour les comptables', '1.0', '2024-08-29', 1, 'nouveaute'),
(92, 'CGV', '1.0', '2024-08-29', 1, 'nouveaute'),
(93, 'Améliorations graphiques', '1.0', '2024-08-29', 1, 'amelioration'),
(94, 'Correction problème favicon', '1.0', '2024-08-29', 1, 'bug'),
(95, 'Résolution d\'un problème au niveau de l\'upload dans le dossier personnel', '1.1', '2024-09-18', 1, 'bug'),
(96, 'Corrections de bugs', '1.1', '2024-09-18', 1, 'bug'),
(97, 'L\'authentification à deux facteurs par mail fonctionne de nouveau', '1.1', '2024-09-18', 1, 'securite'),
(98, 'Corrections de failles de sécurité', '1.1', '2024-09-18', 1, 'securite'),
(99, 'Vous pouvez voir votre fond travaux par lot', '1.1', '2024-09-18', 1, 'nouveaute'),
(100, 'Le syndic a desormais accès au montant du fond travaux des lots et peut modifier l\'antériorité', '1.1', '2024-09-18', 1, 'nouveaute'),
(101, 'Le syndic peut désormais supprimer les appels de fonds générés', '1.1', '2024-09-18', 1, 'nouveaute'),
(102, 'Ajout d\'une indication quand un appel de fonds n\'a pas été vu', '1.1', '2024-09-18', 1, 'amelioration'),
(103, 'Améliorations graphiques', '1.1', '2024-09-18', 1, 'amelioration'),
(104, 'Vous pouvez préparer et générer les AG (Beta)', '1.2', '2024-09-27', 1, 'nouveaute'),
(105, 'Corrections de bugs', '1.2', '2024-09-27', 1, 'bug'),
(106, 'Vous pouvez supprimer vos demandes', '1.2', '2024-09-27', 1, 'nouveaute'),
(107, 'Gestion des abonnements', '1.2', '2024-09-27', 1, 'nouveaute'),
(108, 'Possiblité d\'indiquer le type de lot', '1.2', '2024-09-27', 1, 'nouveaute'),
(109, 'Votre comptable peut désormais avoir accès à vos documents personnels si vous lui donnez l\'autorisation via les informations', '1.2', '2024-09-27', 1, 'nouveaute'),
(110, 'Corrections de failles de sécurité', '1.2', '2024-09-27', 1, 'securite'),
(111, 'Possibilité de transférer comptablement des fonds sur un autre compte automatiquement', '1.2', '2024-09-27', 1, 'nouveaute'),
(112, 'La superfice de vos lots est affichée', '1.2', '2024-09-27', 1, 'nouveaute'),
(113, 'Le syndic peut indiquer la superficie des lots', '1.2', '2024-09-27', 1, 'nouveaute'),
(114, 'Nouvel espace comptable', '1.2', '2024-09-27', 1, 'nouveaute'),
(115, 'Vous pouvez supprimer l\'accès de votre comptable', '1.2', '2024-09-27', 1, 'nouveaute'),
(116, 'Fonction de calendrier de la copropriété', '1.2', '2024-09-27', 1, 'nouveaute'),
(117, 'Possibilité de supprimer les fichiers du dossier personnel', '1.2', '2024-09-27', 1, 'nouveaute'),
(118, 'Possibilité d\'avoir les informations des documents dans le dossier personnel', '1.2', '2024-09-27', 1, 'nouveaute'),
(119, 'Revisite de la page des mises à jour', '1.2', '2024-09-27', 1, 'amelioration'),
(120, 'Améliorations graphiques', '1.2', '2024-09-27', 1, 'amelioration'),
(121, 'Simplification du code CSS', '1.2', '2024-09-27', 1, 'amelioration'),
(122, 'Revisite du design', '1.2', '2024-09-27', 1, 'amelioration'),
(123, 'Le syndic a désormais le solde global du par l\'ensemble des copropriétaires', '1.3', '2024-10-19', 1, 'nouveaute'),
(124, 'Les copropriétaires sont désormais listés par ordre alphabétique', '1.3', '2024-10-19', 1, 'amelioration'),
(125, 'Les propriétaires qui ont vendu sont dans un cadre séparé', '1.3', '2024-10-19', 1, 'amelioration'),
(126, 'Le syndic a désormais une vue rapide sur les dus copropriétaires', '1.3', '2024-10-19', 1, 'nouveaute'),
(127, 'Tout nouveau design', '1.4', '2024-12-16', 1, 'amelioration'),
(128, 'Apparition du Control Center', '1.4', '2024-12-16', 1, 'nouveaute'),
(129, 'Variation en temps réel entre le budget provisoire et réel', '1.4', '2024-12-16', 1, 'nouveaute'),
(130, 'Correction d\'un bug sur le prénom dans les paramètres', '1.4', '2024-12-16', 1, 'bug'),
(131, 'L\'accès comptable devient Tiers', '1.4', '2024-12-16', 1, 'amelioration'),
(132, 'Correction d\'un problème d\'ajout dans l\'agenda', '1.4', '2024-12-16', 1, 'bug'),
(133, 'Optimisation de la version mobile', '1.4', '2024-12-16', 1, 'amelioration'),
(134, 'Correction d\'un problème sur la génération des PDF pour les budgets', '1.4', '2024-12-16', 1, 'bug'),
(135, 'Les clients peuvent désormais contacter SyndicOS', '1.4', '2024-12-16', 1, 'nouveaute'),
(136, 'Graphique de l’évolution de la banque', '1.4', '2024-12-16', 1, 'nouveaute'),
(137, 'Revisite de la page des appels de fonds côté syndic', '1.4', '2024-12-16', 1, 'amelioration'),
(138, 'Vous pouvez désormais supprimer une AG en cours de préparation', '1.4', '2024-12-16', 1, 'nouveaute'),
(139, 'Simplification de la génération des appels de fonds', '1.4', '2024-12-16', 1, 'amelioration'),
(140, 'La création d\'un PV d\'AG peut créer automatiquement un évènement', '1.4', '2024-12-16', 1, 'nouveaute'),
(141, 'Vous pouvez synchroniser votre agenda personnel avec SyndicOS', '1.4', '2024-12-16', 1, 'nouveaute'),
(142, 'Possibilité de créer des évènements uniquement visibles par le Syndic', '1.4', '2024-12-16', 1, 'nouveaute'),
(143, 'Correction d’un problème sur la date des appels de fonds annuels', '1.4', '2024-12-16', 1, 'bug'),
(144, 'Optimisation de la page des mises à jour', '1.4', '2024-12-16', 1, 'amelioration'),
(145, 'Correction d\'un problème de date dans les AGO', '1.4', '2024-12-16', 1, 'bug'),
(146, 'SyndicAI fait son apparition', '1.4', '2024-12-16', 1, 'nouveaute'),
(147, 'La répartition de l\'eau a été déplacée dans la page du budget', '1.4', '2024-12-16', 1, 'amelioration'),
(148, 'Les notifications font leur apparition', '1.4', '2024-12-16', 1, 'nouveaute'),
(149, 'Ajustements graphiques', '1.4', '2024-12-16', 1, 'amelioration'),
(150, 'Vous pouvez ajouter et supprimer des fichiers lors de la préparation des PV d\'AG', '1.4.1', '2025-01-03', 1, 'nouveaute'),
(151, 'Apparition de la Politique de Confidentialité', '1.4.1', '2025-01-03', 1, 'nouveaute'),
(152, 'Optimisation des CGU', '1.4.1', '2025-01-03', 1, 'amelioration'),
(153, 'Révision du design des mails', '1.4.1', '2025-01-03', 1, 'amelioration'),
(154, 'Refonte du système de mot de passe oublié', '1.4.1', '2025-01-03', 1, 'amelioration'),
(155, 'Vous pouvez désormais cloturer et réouvrir des demandes', '1.5', '2025-02-05', 1, 'nouveaute'),
(156, 'Les demandes au syndic sont catégorisés et peuvent générer des ordres du jour', '1.5', '2025-02-05', 1, 'nouveaute'),
(157, 'Séparation de vos différents documents', '1.5', '2025-02-05', 1, 'amelioration'),
(158, 'Refonte de la page des paramètres', '1.5', '2025-02-05', 1, 'amelioration'),
(159, 'Vos lots principaux et auxiliaires sont différenciés', '1.5', '2025-02-05', 1, 'amelioration'),
(160, 'Optimisation de l\'inscription', '1.5', '2025-02-05', 1, 'amelioration'),
(161, 'Vous pouvez envoyer et supprimer les convocations sur les espaces des copropriétaires', '1.5', '2025-02-05', 1, 'nouveaute'),
(162, 'Vous pouvez générer les convocations pour les AG', '1.5', '2025-02-05', 1, 'nouveaute'),
(163, 'Revisite de la page de la copropriété', '1.5', '2025-02-05', 1, 'amelioration'),
(164, 'Vous pouvez générer une procuration pour les AG', '1.5', '2025-02-05', 1, 'nouveaute'),
(165, 'Disponibilité de l\'application iPhone', '1.5', '2025-02-05', 1, 'nouveaute'),
(166, 'Envoi de mails automatiquement', '1.5', '2025-02-05', 1, 'nouveaute'),
(167, 'Correction d\'un problème pour la déconnexion', '1.6', '2025-03-14', 1, 'bug'),
(168, 'Refonte de l\'inscription', '1.6', '2025-03-14', 1, 'amelioration'),
(169, 'Correction d\'un problème sur le menu', '1.6', '2025-03-14', 1, 'bug'),
(170, 'Simplification de la banque', '1.6', '2025-03-14', 1, 'amelioration'),
(171, 'Vous avez désormais un comparatif de vos relevés d\'eau avec d\'autres appartements', '1.6', '2025-03-14', 1, 'nouveaute'),
(172, 'Vous avez désormais accès à l\'historique de vos relevés d\'eau', '1.6', '2025-03-14', 1, 'nouveaute'),
(173, 'Correction d\'un problème dans la validation de la répartition d\'eau', '1.6', '2025-03-14', 1, 'bug'),
(174, 'Migration de l\'architecture', '1.6', '2025-03-14', 1, 'nouveaute'),
(175, 'Ajout d\'un quota pour vos documents', '1.6', '2025-03-14', 1, 'nouveaute'),
(176, 'Améliorations de la sécurité', '1.6', '2025-03-14', 1, 'securite'),
(177, 'Améliorations graphiques', '1.6', '2025-03-14', 1, 'amelioration'),
(178, 'Système de maintien de connexion', '1.6', '2025-03-14', 1, 'securite'),
(179, 'Vous pouvez déclarer la vente d\'un lot', '1.7', '2025-04-14', 1, 'nouveaute'),
(180, 'Vous pouvez associer deux lots entre eux', '1.7', '2025-04-14', 1, 'nouveaute'),
(181, 'Amélioration du dépot de documents', '1.7', '2025-04-14', 1, 'amelioration'),
(182, 'Vous pouvez supprimer vos fichiers personnels', '1.7', '2025-04-14', 1, 'nouveaute'),
(183, 'Vous pouvez modifier le nom de vos documents personnels', '1.7', '2025-04-14', 1, 'nouveaute'),
(184, 'Vous avez désormais une vue plus claire des copropriétaires', '1.7', '2025-04-14', 1, 'amelioration'),
(185, 'Vous avez désormais les statistiques de vos fournisseurs', '1.7', '2025-04-14', 1, 'nouveaute'),
(186, 'Revisite totale du design', '1.7', '2025-04-14', 1, 'amelioration'),
(187, 'Vous pouvez filtrer les lots par étages', '1.7', '2025-04-14', 1, 'nouveaute'),
(188, 'FAQ pour les syndics', '1.7', '2025-04-14', 1, 'nouveaute'),
(189, 'Vous pouvez voir si des appels de fonds ont déjà été envoyés', '1.7', '2025-04-14', 1, 'nouveaute'),
(190, 'Correction d\'un problème lors d\'une suppression de demande', '1.7', '2025-04-14', 1, 'bug'),
(191, 'Correction d\'un problème sur le solde bancaire', '1.7', '2025-04-14', 1, 'bug'),
(192, 'Revisite du graphique de relevés d\'eau', '1.7', '2025-04-14', 1, 'amelioration'),
(193, 'Correction de problèmes esthétiques', '1.7', '2025-04-14', 1, 'bug'),
(194, 'Vous pouvez filtrer vos opérations par catégories', '1.7', '2025-04-14', 1, 'nouveaute'),
(196, 'Revisite de la présentation du détail de vos opérations', '1.7', '2025-04-14', 1, 'amelioration'),
(197, 'Correction d\'un problème sur le graphique de Ma Situation', '1.7', '2025-04-14', 1, 'bug'),
(198, 'FAQ pour les copropriétaires', '1.7', '2025-04-14', 1, 'nouveaute'),
(201, 'Possibilité de transférer la gestion de la copropriété', '1.8', '2025-06-07', 1, 'nouveaute'),
(202, 'Optimisation du listing des comptes bancaires', '1.8', '2025-06-07', 1, 'amelioration'),
(203, 'Vous pouvez modifier les informations du vos comptes bancaires', '1.8', '2025-06-07', 1, 'nouveaute'),
(204, 'Le syndic peut déposer des documents sur l\'espace des copropriétaires', '1.8', '2025-06-07', 1, 'nouveaute'),
(205, 'Revisite du dépôt de documents (type, OCR etc…)', '1.8', '2025-06-07', 1, 'amelioration'),
(206, 'Ark fait son apparition pour les questions', '1.8', '2025-06-07', 1, 'nouveaute'),
(207, 'Le syndic peut voir vos relevés d\'eau', '1.8', '2025-06-07', 1, 'nouveaute'),
(208, 'Détail chronologique pour les fonds travaux', '1.8', '2025-06-07', 1, 'amelioration'),
(209, 'La préparation des PV est entièrement fonctionnelle', '1.8', '2025-06-07', 1, 'nouveaute'),
(210, 'Vous pouvez ajouter des factures après la saisie des opérations', '1.8', '2025-06-07', 1, 'amelioration'),
(211, 'Vous pouvez télécharger l\'ensemble des factures de votre exercice en cours', '1.8', '2025-06-07', 1, 'nouveaute'),
(212, 'Détection des doublons dans la banque', '1.8', '2025-06-07', 1, 'amelioration'),
(213, 'Ajout du numéro de téléphone sur la fiche copropriétaire', '1.8', '2025-06-07', 1, 'amelioration'),
(214, 'Suppression automatique des deux opérations en cas de virement compte à compte', '1.8', '2025-06-07', 1, 'amelioration'),
(215, 'Correction d\'un problème sur la création des AG', '1.8', '2025-06-07', 1, 'bug'),
(216, 'Revisite du design des AG', '1.8', '2025-06-07', 1, 'amelioration'),
(217, 'Révision du menu d\'administration', '1.8', '2025-06-07', 1, 'amelioration'),
(218, 'Correction d\'un problème sur le du des copropriétaires', '1.8', '2025-06-07', 1, 'bug'),
(219, 'Apparition de la pages des paramètres de la copropriété', '1.8', '2025-06-07', 1, 'nouveaute'),
(220, 'Page des mises à jour', '1.8', '2025-06-07', 1, 'nouveaute'),
(221, 'Refonte du menu copropriétaire', '1.8', '2025-06-07', 1, 'amelioration'),
(222, 'Possibilité de mettre des images en pièce jointe des opérations bancaires', '1.8', '2025-06-07', 1, 'amelioration'),
(223, 'Nouvel espace de communication pour la copropriété. Les pages de demandes et calendrier sont fusionnées', '1.8', '2025-06-07', 1, 'nouveaute'),
(224, 'Vous pouvez rajouter des pièces jointes sur les demandes au syndic', '1.8', '2025-06-07', 1, 'amelioration'),
(225, 'Les budgets et factures sont visibles par les copropriétaires en activant les options', '1.8', '2025-06-07', 1, 'nouveaute'),
(226, 'Simulation des interêts des comptes epargnes', '1.8', '2025-06-07', 1, 'nouveaute'),
(227, 'Modification des opérations bancaires possible', '2.0', '2025-07-31', 1, 'amelioration'),
(228, 'Correction d\'un problème sur les budgets', '2.0', '2025-07-31', 1, 'bug'),
(229, 'Vous pouvez éditer vos demandes au syndic', '2.0', '2025-07-31', 1, 'amelioration'),
(230, 'Message de bienvenue', '2.0', '2025-07-31', 1, 'amelioration'),
(231, 'Correction d\'un problème sur l\'ajout de factures', '2.0', '2025-07-31', 1, 'bug'),
(232, 'Ark se souvient temporairement de vos conversations', '2.0', '2025-07-31', 1, 'amelioration'),
(233, 'Améliorations diverses au niveau d\'Ark', '2.0', '2025-07-31', 1, 'amelioration'),
(234, 'Possibilité d\'être prévenu lorsqu\'un copropriétaire rajoute un document', '2.0', '2025-07-31', 1, 'nouveaute'),
(235, 'Possibilité de prévenir les copropriétaires lors de l\'ajout d\'un appel de fonds', '2.0', '2025-07-31', 1, 'nouveaute'),
(236, 'Détails des comptes approuvés sur les convocations', '2.0', '2025-07-31', 1, 'nouveaute'),
(237, 'Ajout automatique des procurations sur les convocations d\'AG', '2.0', '2025-07-31', 1, 'nouveaute'),
(238, 'Modification d’un relevé d’eau autorisée pour un exercice en cours', '2.0', '2025-07-31', 1, 'amelioration'),
(239, 'Résolution d’un bug sur la modification des opérations', '2.0', '2025-07-31', 1, 'bug'),
(240, 'Correction d\'un problème sur la comparaison d\'eau', '2.0', '2025-07-31', 1, 'bug'),
(241, 'Séparation des opérations bancaires par mois', '2.0', '2025-07-31', 1, 'amelioration'),
(242, 'Nouveau graphique pour la banque', '2.0', '2025-07-31', 1, 'nouveaute'),
(243, 'Tout nouveau design', '2.0', '2025-07-31', 1, 'nouveaute'),
(244, 'Corrections dans la page de la banque', '2.0', '2025-07-31', 1, 'bug'),
(245, 'Revisite de la page des abonnements', '2.0', '2025-07-31', 1, 'amelioration'),
(246, 'Votre espace de stockage s\'adapte selon le forfait choisi par le syndic', '2.0', '2025-07-31', 1, 'nouveaute'),
(247, 'Possibilité de voir si un appel de fonds est réglé depuis la liste des documents', '2.0', '2025-07-31', 1, 'nouveaute'),
(248, 'Vous pouvez supprimer des batiments', '2.0', '2025-07-31', 1, 'nouveaute'),
(249, 'Vous pouvez supprimer des clés de répartition', '2.0', '2025-07-31', 1, 'nouveaute'),
(250, 'Revisite du design des appels de fonds', '2.0', '2025-07-31', 1, 'amelioration'),
(251, 'Vous avez une visibilité directe aux lots rattachés entre eux', '2.0', '2025-07-31', 1, 'nouveaute'),
(252, 'Vous pouvez dissocier des lots auxiliaires', '2.0', '2025-07-31', 1, 'nouveaute'),
(253, 'Correction d\'un problème sur les appels de fonds annuels', '2.0', '2025-07-31', 1, 'bug'),
(254, 'Revisite du design des convocations', '2.0', '2025-07-31', 1, 'amelioration'),
(255, 'Gestion des contrats : suivi, alertes d’échéance...', '2.0', '2025-07-31', 1, 'nouveaute'),
(256, 'Vous pouvez gérer plusieurs batiments par copropriété', '2.0', '2025-07-31', 1, 'nouveaute'),
(257, 'Vous pouvez utiliser des clés de répartition', '2.0', '2025-07-31', 1, 'nouveaute'),
(258, 'Messagerie interne entre copropriétaires', '2.0', '2025-07-31', 1, 'nouveaute'),
(259, 'L\'application pour iPhone est disponible', '2.0', '2025-07-31', 1, 'nouveaute'),
(260, 'Possibilité de cloturer un budget', '2.0', '2025-07-31', 1, 'nouveaute'),
(261, 'Les AG peuvent désormais se faire en ligne', '2.0', '2025-07-31', 1, 'nouveaute'),
(262, 'Les régularisations se font automatiquement', '2.0', '2025-07-31', 1, 'nouveaute'),
(263, 'Disparition de la comparaison des relevés d\'eau', '2.1', '2025-09-26', 1, 'bug'),
(264, 'RentOS est proposé quand on indique que le bien est loué', '2.1', '2025-09-26', 1, 'nouveaute'),
(265, 'Résolution de bugs sur le chat', '2.1', '2025-09-26', 1, 'bug'),
(266, 'Les conversations sont désormais cryptées', '2.1', '2025-09-26', 1, 'securite'),
(267, 'Résolution de bugs', '2.1', '2025-09-26', 1, 'bug'),
(268, 'Vous pouvez désormais indiquer les codes comptables fournisseurs', '2.1', '2025-09-26', 1, 'nouveaute'),
(269, 'Ark vous dit automatiquement ce que vous devez faire', '2.1', '2025-09-26', 1, 'nouveaute'),
(270, 'Réviste du menu copropriétaire', '2.1', '2025-09-26', 1, 'amelioration'),
(271, 'Vous pouvez ajouter manuellement des PV d’AG', '2.1', '2025-09-26', 1, 'nouveaute'),
(272, 'Vous pouvez supprimer manuellement des PV d’AG', '2.1', '2025-09-26', 1, 'nouveaute'),
(273, 'Vous pouvez modifier manuellement des PV d’AG', '2.1', '2025-09-26', 1, 'nouveaute'),
(274, 'Le syndic peut désormais renseigner les coordonnées bancaires pour le paiement des appels de fonds', '2.1', '2025-09-26', 1, 'nouveaute'),
(276, 'Nouvelle mise à jour de l\'app iOS', '2.1', '2025-09-26', 1, 'amelioration'),
(277, 'Correction d\'un problème de sécurité au niveau du syndic', '2.1', '2025-09-26', 1, 'securite'),
(278, 'Nouveau design Nova pour les copropriétaires', '2.1', '2025-09-26', 1, 'nouveaute'),
(279, 'Correction d\'un bug sur la création d\'exercice', '2.2', '2025-10-10', 1, 'bug'),
(280, 'Correction d\'un bug d\'accent sur les mails envoyés lors d\'un dépot de document', '2.2', '2025-10-10', 1, 'bug'),
(281, 'Le Control Center fait son retour', '2.2', '2025-10-10', 1, 'amelioration'),
(282, 'Correction d\'un problème sur les budgets', '2.2', '2025-10-10', 1, 'bug'),
(283, 'Les coordonnées bancaires sont sur les appels de fonds', '2.2', '2025-10-10', 1, 'nouveaute'),
(284, 'Correction d\'un bug sur la page des appels de fonds', '2.2', '2025-10-10', 1, 'bug'),
(285, 'Nouveau design Nova sur la partie syndic', '2.2', '2025-10-10', 1, 'nouveaute'),
(286, 'Vous avez désormais l\'historique financier détaillé de vos lots', '2.2', '2025-10-10', 1, 'nouveaute'),
(287, 'Ark vous suggère automatiquement le montant à mettre de coté chaque mois pour payer les appels de fonds sur la page Ma situation', '2.2', '2025-10-10', 1, 'nouveaute'),
(288, 'Revisite du graphique dans Ma situation', '2.2', '2025-10-10', 1, 'amelioration'),
(290, 'Correction d\'un problème d\'affichage sur la page Ma situation', '2.2', '2025-10-10', 1, 'bug'),
(291, 'Nouveau design pour les appels de fonds', '2.2', '2025-10-10', 1, 'nouveaute'),
(292, 'Système de pointage des opérations bancaires', '2.2', '2025-10-10', 1, 'nouveaute'),
(293, 'Amélioration du design', '2.2', '2025-10-10', 1, 'amelioration'),
(294, 'Les PV d\'AG sont désormais protégés par des algorithmes de cryptage', '2.2', '2025-10-10', 1, 'securite'),
(295, 'Simplification du menu Administrateur', '2.2', '2025-10-10', 1, 'amelioration'),
(296, 'Refonte de la partie banque', '2.2', '2025-10-10', 1, 'amelioration'),
(297, 'Vous avez désormais une vue globale financière mois par mois', '2.2', '2025-10-10', 1, 'nouveaute'),
(298, 'Ark contrôle automatiquement la cohérence de vos appels de fonds', '2.2', '2025-10-10', 1, 'nouveaute'),
(299, 'Ark vous indique automatiquement les dates de fin de vos attestations d\'assurance', '2.2', '2025-10-10', 1, 'nouveaute'),
(300, 'Ark vous prévient pour les actions à mener sur vos attestations d\'assurance', '2.2', '2025-10-10', 1, 'nouveaute'),
(301, 'Correction d\'un problème d\'authentification', '2.2', '2025-10-10', 1, 'bug'),
(302, 'Ark peut désormais répondre à vos questions sur la copropriété', '2.2', '2025-10-10', 1, 'nouveaute'),
(303, 'Ark peut désormais vous répondre de façon personnalisée', '2.2', '2025-10-10', 1, 'nouveaute');

-- --------------------------------------------------------

--
-- Structure de la table `users`
--

CREATE TABLE `users` (
  `id` int NOT NULL,
  `mail` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
  `role` enum('president','tresorier','secretaire') DEFAULT NULL,
  `prenom` varchar(255) NOT NULL,
  `nom` varchar(255) NOT NULL,
  `compte_450` varchar(20) DEFAULT NULL COMMENT 'Compte copropriétaire 450XXX',
  `societe` int DEFAULT '0',
  `achat` date DEFAULT NULL,
  `parti` int DEFAULT NULL,
  `copro` int NOT NULL,
  `admin` tinyint(1) NOT NULL,
  `secure_mail` tinyint(1) DEFAULT NULL,
  `adresse` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `code_postal` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `ville` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `token` text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
  `calendar_token` varchar(64) DEFAULT NULL,
  `tel` varchar(25) DEFAULT NULL COMMENT 'Numéro de téléphone (non chiffré)'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Déchargement des données de la table `users`
--

INSERT INTO `users` (`id`, `mail`, `role`, `prenom`, `nom`, `compte_450`, `societe`, `achat`, `parti`, `copro`, `admin`, `secure_mail`, `adresse`, `code_postal`, `ville`, `token`, `calendar_token`, `tel`) VALUES
(1, 'antoinedescotes@outlook.com', NULL, 'Antoine', 'Descotes', '450001DESCOTES', 0, '2021-05-21', 0, 1, 1, 0, '16 rue Kléber', '49000', 'Angers', '38b257bd349d23d104f7536dcc90e5578f6fdc91e5d45077f354a2a289c9c523', 'e631665a7d284b9641580c4b24f2cf68', NULL),
(2, 'chlecoq0919@orange.fr', NULL, 'Christine', 'Le Coq', '450002LECOQ', 0, '0000-00-00', 0, 1, 0, 0, '16 rue Kleber', '49000', 'Angers', '', '3879633f607f9d10076f9eb8cd5bb568', NULL),
(3, 'sophie.renard10@gmail.com', NULL, 'Sophie', 'Renard', '450003RENARD', 0, '0000-00-00', 0, 1, 0, 0, '16 rue Kléber', '49000', 'Angers', '', 'ff89be69a1e1ce3fcbdd9c19c130a729', NULL),
(4, 'sci.cdcnga@gmail.com', NULL, 'SCI', 'CDC NGA', '450004CDCNGA', 1, '0000-00-00', 1, 1, 0, 0, '', '', '', '', NULL, NULL),
(5, 'elarabi.kevin@live.fr', NULL, 'Kévin', 'El Arabi', '450005ELARABI', 0, '0000-00-00', 0, 1, 0, 0, '4 rue de la Reux', '49124', 'Saint-Barthelemy d\'Anjou', '', '8069872f82a9ddf117005a056d3b9270', NULL),
(6, 'clairekoell8@gmail.com', NULL, 'Claire', 'Koell', '450006KOELL', 0, '0000-00-00', 0, 1, 0, 0, '78 rue du Grand Douzille', '49000', 'Angers', '', NULL, NULL),
(7, 'eric.augier1@orange.fr', NULL, 'Eric', 'Augier', '450007AUGIER', 0, '2022-06-15', 0, 1, 0, 0, '57 rue de Marzy', '58000', 'Nevers', '', '14804bf470f1386accdabcf610202f5e', NULL),
(8, 'mhtprestige@orange.fr', NULL, 'SCI', 'MHT', '450008MHT', 1, '0000-00-00', 0, 1, 0, 0, '10 Avenue Vauban', '49000', 'Angers', 'd84c8452b572e51a5b2a7f384a8999ad341d817ee35f1a3ae952b8a9ce5b64f9', '3ed4f40cc61f799938dd9fa510354d8e', NULL),
(67, 'antoine@arkendia.com', NULL, 'Antoi e', 'Test', '450001TEST', 0, NULL, NULL, 34, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(68, 'thestar8585@gmail.com', NULL, 'Antoine', 'Test', '450002TEST', 0, NULL, 0, 34, 0, NULL, NULL, NULL, NULL, NULL, NULL, '088'),
(69, 'bertrand_sch@yahoo.fr', NULL, 'Bertrand', 'Schmitt', '450001SCHMITT', 0, NULL, NULL, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(70, 'avanrike@gmail.com', NULL, 'Frédérique', 'Armas', '450002ARMAS', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(71, 'sadiki@netcourrier.com', NULL, 'Jean-Antoine', 'Sadiki', '450003SADIKI', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(72, 's.bernstein@hotmail.fr', NULL, 'Sandra', 'Bernstein', '450004BERNSTEI', 0, NULL, 0, 35, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(73, 'fchtrolonge@gmail.com', NULL, 'Frédéric', 'Trolonge', '450005TROLONGE', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(74, 'daniel.choutard@sfr.fr', NULL, 'Daniel', 'Choutard', '450006CHOUTARD', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(75, 'mer.ri@outlook.fr', NULL, 'Odile', 'Mercier', '450007MERCIER', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(76, 'basque.philippe33@wanadoo.fr', NULL, 'Marc', 'Lambert', '450008LAMBERT', 0, NULL, 0, 35, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(77, 'tara.traiteur@gmail.com', NULL, 'Thelma', 'Thompson', '450009THOMPSON', 0, NULL, 0, 35, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(78, 'aumaitre.corinne@orange.fr', NULL, 'Corinne', 'Benné', '450010BENNE', 0, NULL, 0, 35, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(79, 'alleedesroues@gmail.com', NULL, 'Aurélien', 'Pierre', '450001PIERRE', 0, NULL, NULL, 36, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(80, 'thomas2.denis@gmail.com', NULL, 'Thomas', 'DENIS', '450001DENIS', 0, NULL, NULL, 37, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table `users_temp`
--

CREATE TABLE `users_temp` (
  `id` int NOT NULL,
  `mail` text NOT NULL,
  `role` enum('president','tresorier','secretaire') DEFAULT NULL,
  `num_copro` text NOT NULL,
  `prenom` varchar(255) NOT NULL,
  `nom` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `v_factures_pending_with_suggestions`
-- (Voir ci-dessous la vue réelle)
--
CREATE TABLE `v_factures_pending_with_suggestions` (
`compte_401` varchar(20)
,`confiance_score` decimal(3,2)
,`created_at` datetime
,`created_by` int
,`date_echeance` date
,`date_facture` date
,`date_paiement` date
,`fichier_chemin` varchar(500)
,`fichier_hash` varchar(64)
,`fichier_nom` varchar(255)
,`fichier_taille` int
,`fichier_type` varchar(50)
,`fournisseur_id` int
,`fournisseur_nom` varchar(255)
,`fournisseur_nom_complet` text
,`id` int
,`id_copro` int
,`id_ecriture_comptable` int
,`id_exercice` int
,`id_operation_bancaire` int
,`meilleur_score_matching` decimal(3,2)
,`mode_paiement` enum('virement','prelevement','cheque','cb','especes','autre')
,`montant_ht` decimal(10,2)
,`montant_ttc` decimal(10,2)
,`montant_tva` decimal(10,2)
,`nb_suggestions` bigint
,`necessite_validation` tinyint(1)
,`numero_facture` varchar(100)
,`reference` varchar(100)
,`statut` enum('pending','processed','validated','rejected','duplicate')
,`texte_ocr` text
,`updated_at` datetime
,`valide_le` datetime
,`valide_par` int
);

-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `v_factures_stats_fournisseurs`
-- (Voir ci-dessous la vue réelle)
--
CREATE TABLE `v_factures_stats_fournisseurs` (
`confiance_moyenne` decimal(7,6)
,`derniere_facture` datetime
,`fournisseur_id` int
,`fournisseur_nom` text
,`nb_auto_validees` decimal(23,0)
,`nb_factures` bigint
,`nb_validations_manuelles` decimal(23,0)
);

-- --------------------------------------------------------

--
-- Doublure de structure pour la vue `v_ocr_learning_stats`
-- (Voir ci-dessous la vue réelle)
--
CREATE TABLE `v_ocr_learning_stats` (
`confiance_moyenne_factures` decimal(7,6)
,`derniere_utilisation` datetime
,`format_date_prefere` enum('dmy','mdy','ymd')
,`fournisseur_reel` varchar(255)
,`ht_ttc_inverse` decimal(3,2)
,`nb_corrections` int
,`nb_factures_validees` bigint
,`nb_utilisations` int
,`position_date_moyenne` decimal(3,2)
,`position_montant_moyenne` decimal(3,2)
,`score_confiance_moyen` decimal(3,2)
,`structure_type` enum('simple','standard','detaillee')
,`taux_tva_habituel` decimal(4,2)
);

--
-- Index pour les tables déchargées
--

--
-- Index pour la table `abonnements`
--
ALTER TABLE `abonnements`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `id_abonnement` (`id_abonnement`);

--
-- Index pour la table `abonnements_transactions`
--
ALTER TABLE `abonnements_transactions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_abonnement` (`id_abonnement`),
  ADD KEY `ancien_plan_id` (`ancien_plan_id`),
  ADD KEY `nouveau_plan_id` (`nouveau_plan_id`);

--
-- Index pour la table `accounting_periods`
--
ALTER TABLE `accounting_periods`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_period` (`id_copro`,`code`);

--
-- Index pour la table `accounts`
--
ALTER TABLE `accounts`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_account` (`id_copro`,`code`);

--
-- Index pour la table `account_balances`
--
ALTER TABLE `account_balances`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_balance` (`id_copro`,`account_id`,`period_code`);

--
-- Index pour la table `acc_entries`
--
ALTER TABLE `acc_entries`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `acc_entry_lines`
--
ALTER TABLE `acc_entry_lines`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_account` (`account_number`),
  ADD KEY `idx_entry` (`entry_id`);

--
-- Index pour la table `agenda`
--
ALTER TABLE `agenda`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `annuals_calls`
--
ALTER TABLE `annuals_calls`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `annuals_calls_fond_travaux`
--
ALTER TABLE `annuals_calls_fond_travaux`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `appels`
--
ALTER TABLE `appels`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_appels_user` (`id_user`,`copro`,`id`);

--
-- Index pour la table `articles_ag`
--
ALTER TABLE `articles_ag`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `ask`
--
ALTER TABLE `ask`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `assistant_dismissed`
--
ALTER TABLE `assistant_dismissed`
  ADD PRIMARY KEY (`id_copro`,`action_id`);

--
-- Index pour la table `attachments`
--
ALTER TABLE `attachments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_attach_entry` (`entry_id`),
  ADD KEY `idx_attach_copro` (`id_copro`);

--
-- Index pour la table `audit_log`
--
ALTER TABLE `audit_log`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_audit_entity` (`id_copro`,`entity_type`,`entity_id`);

--
-- Index pour la table `bank`
--
ALTER TABLE `bank`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_bank_copro_bank_date` (`id_copro`,`id_bank`,`date`),
  ADD KEY `idx_ecriture_comptable` (`id_ecriture_comptable`);

--
-- Index pour la table `bank_account`
--
ALTER TABLE `bank_account`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_compte_512` (`numero_compte_512`,`id_copro`);

--
-- Index pour la table `bank_account_info`
--
ALTER TABLE `bank_account_info`
  ADD PRIMARY KEY (`account_id`),
  ADD KEY `idx_usage` (`usage_key`);

--
-- Index pour la table `bank_appel`
--
ALTER TABLE `bank_appel`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_bank_appel` (`id_bank`,`id_appel`),
  ADD KEY `idx_appel` (`id_appel`);

--
-- Index pour la table `bank_interest_rates`
--
ALTER TABLE `bank_interest_rates`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `id_bank_start` (`id_bank`,`start_date`);

--
-- Index pour la table `bank_types`
--
ALTER TABLE `bank_types`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `batiments`
--
ALTER TABLE `batiments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_copro_code` (`id_copro`,`code`),
  ADD KEY `idx_bat_copro` (`id_copro`);

--
-- Index pour la table `budget_definitif`
--
ALTER TABLE `budget_definitif`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `budget_provisoire`
--
ALTER TABLE `budget_provisoire`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_budget` (`id_copro`,`id_exercice`,`type_charge`),
  ADD KEY `idx_budget_cle` (`id_cle`);

--
-- Index pour la table `chat_conversations`
--
ALTER TABLE `chat_conversations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_chat_conv_copro` (`id_copro`,`updated_at`);

--
-- Index pour la table `chat_conv_members`
--
ALTER TABLE `chat_conv_members`
  ADD PRIMARY KEY (`id_conv`,`id_user`),
  ADD KEY `idx_chat_members_conv` (`id_conv`),
  ADD KEY `idx_chat_members_user` (`id_user`);

--
-- Index pour la table `chat_messages`
--
ALTER TABLE `chat_messages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_chat_msgs_conv` (`id_conv`,`created_at`),
  ADD KEY `idx_chat_msgs_reply` (`reply_to`),
  ADD KEY `fk_chat_msgs_user` (`id_user`);

--
-- Index pour la table `chat_typing`
--
ALTER TABLE `chat_typing`
  ADD PRIMARY KEY (`id_copro`,`id_user`),
  ADD KEY `idx_chat_typing_ping` (`last_ping`),
  ADD KEY `fk_chat_typing_user` (`id_user`);

--
-- Index pour la table `classification_rules`
--
ALTER TABLE `classification_rules`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `cles_repartition`
--
ALTER TABLE `cles_repartition`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_cles_copro` (`id_copro`),
  ADD KEY `idx_cles_actives` (`id_copro`,`active`),
  ADD KEY `idx_cles_batiment` (`id_batiment`,`active`);

--
-- Index pour la table `cles_repartition_valeurs`
--
ALTER TABLE `cles_repartition_valeurs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_cle_lot` (`id_cle`,`id_lot`),
  ADD KEY `idx_val_cle` (`id_cle`),
  ADD KEY `idx_val_lot` (`id_lot`);

--
-- Index pour la table `comptes_charges`
--
ALTER TABLE `comptes_charges`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `numero_compte` (`numero_compte`),
  ADD KEY `idx_numero` (`numero_compte`),
  ADD KEY `idx_classe` (`classe`,`sous_classe`);

--
-- Index pour la table `comptes_produits`
--
ALTER TABLE `comptes_produits`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `numero_compte` (`numero_compte`),
  ADD KEY `idx_numero` (`numero_compte`),
  ADD KEY `idx_classe` (`classe`,`sous_classe`);

--
-- Index pour la table `compteurs_comptes`
--
ALTER TABLE `compteurs_comptes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_copro_type` (`id_copro`,`type_compte`);

--
-- Index pour la table `contrats`
--
ALTER TABLE `contrats`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_contrats_copro` (`id_copro`),
  ADD KEY `idx_contrats_type` (`type_id`),
  ADD KEY `idx_contrats_fournisseur` (`fournisseur_id`),
  ADD KEY `idx_contrats_statut` (`statut`),
  ADD KEY `idx_contrats_dates` (`date_debut`,`date_fin`);

--
-- Index pour la table `contrats_alertes`
--
ALTER TABLE `contrats_alertes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_contrats_alertes_contrat` (`contrat_id`),
  ADD KEY `idx_contrats_alertes_date` (`date_alerte`,`envoye`);

--
-- Index pour la table `contrats_documents`
--
ALTER TABLE `contrats_documents`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_contrats_docs_contrat` (`contrat_id`);

--
-- Index pour la table `contrats_historique`
--
ALTER TABLE `contrats_historique`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_contrats_hist_contrat` (`contrat_id`),
  ADD KEY `idx_contrats_hist_date` (`created_at`);

--
-- Index pour la table `contrats_paiements`
--
ALTER TABLE `contrats_paiements`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_contrats_paiements_contrat` (`contrat_id`),
  ADD KEY `idx_contrats_paiements_echeance` (`date_echeance`),
  ADD KEY `idx_contrats_paiements_statut` (`statut`);

--
-- Index pour la table `contrats_types`
--
ALTER TABLE `contrats_types`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `demandes_documents`
--
ALTER TABLE `demandes_documents`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_demande` (`id_demande`);

--
-- Index pour la table `documents`
--
ALTER TABLE `documents`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_user` (`id_user`),
  ADD KEY `copro` (`copro`);

--
-- Index pour la table `documents_lots`
--
ALTER TABLE `documents_lots`
  ADD PRIMARY KEY (`document_id`,`lot_id`),
  ADD KEY `idx_documents_lots_lot` (`lot_id`);

--
-- Index pour la table `ecritures_comptables`
--
ALTER TABLE `ecritures_comptables`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_numero` (`numero_ecriture`,`id_copro`),
  ADD KEY `idx_copro_exercice` (`id_copro`,`id_exercice`),
  ADD KEY `idx_date` (`date_ecriture`),
  ADD KEY `idx_source` (`source_type`,`source_id`);

--
-- Index pour la table `encryption_keys`
--
ALTER TABLE `encryption_keys`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `copro_id` (`copro_id`),
  ADD KEY `idx_copro` (`copro_id`);

--
-- Index pour la table `etat_coproprietaire`
--
ALTER TABLE `etat_coproprietaire`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `exercices`
--
ALTER TABLE `exercices`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `factures`
--
ALTER TABLE `factures`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_copro` (`id_copro`),
  ADD KEY `idx_exercice` (`id_exercice`),
  ADD KEY `idx_fournisseur` (`fournisseur_id`),
  ADD KEY `idx_operation` (`id_operation_bancaire`),
  ADD KEY `idx_statut` (`statut`),
  ADD KEY `idx_hash` (`fichier_hash`),
  ADD KEY `idx_date_facture` (`date_facture`),
  ADD KEY `idx_factures_search` (`fournisseur_nom`,`numero_facture`,`date_facture`),
  ADD KEY `idx_id_travaux` (`id_travaux`);

--
-- Index pour la table `factures_fournisseurs_comptes`
--
ALTER TABLE `factures_fournisseurs_comptes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_copro` (`id_copro`),
  ADD KEY `idx_pattern` (`fournisseur_pattern`),
  ADD KEY `compte_charge_defaut` (`compte_charge_defaut`);

--
-- Index pour la table `factures_matchings_suggestions`
--
ALTER TABLE `factures_matchings_suggestions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_facture` (`id_facture`),
  ADD KEY `idx_operation` (`id_operation_bancaire`),
  ADD KEY `idx_score` (`score_total`),
  ADD KEY `idx_statut` (`statut`);

--
-- Index pour la table `factures_patterns`
--
ALTER TABLE `factures_patterns`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_copro_pattern` (`id_copro`,`fournisseur_pattern`(191)),
  ADD KEY `idx_copro` (`id_copro`),
  ADD KEY `idx_fournisseur` (`fournisseur_id`),
  ADD KEY `idx_succes` (`taux_succes`),
  ADD KEY `idx_patterns_learning` (`nb_utilisations` DESC,`taux_succes` DESC),
  ADD KEY `idx_fournisseur_reel` (`fournisseur_reel`(191)),
  ADD KEY `idx_learning` (`id_copro`,`nb_utilisations`,`derniere_utilisation`);

--
-- Index pour la table `factures_predictions`
--
ALTER TABLE `factures_predictions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_copro_fournisseur` (`id_copro`,`id_fournisseur`),
  ADD KEY `idx_copro_periodicite` (`id_copro`,`periodicite`),
  ADD KEY `idx_date_prevue` (`date_prevue_prochaine`),
  ADD KEY `idx_alertes` (`alerte_active`,`alerte_type`);

--
-- Index pour la table `factures_validations`
--
ALTER TABLE `factures_validations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_facture` (`id_facture`),
  ADD KEY `idx_user` (`id_user`);

--
-- Index pour la table `fond_travaux`
--
ALTER TABLE `fond_travaux`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `fournisseurs`
--
ALTER TABLE `fournisseurs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_copro_compte401` (`id_copro`,`compte_401`),
  ADD KEY `idx_compte_401` (`compte_401`);

--
-- Index pour la table `invoices`
--
ALTER TABLE `invoices`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_inv_copro` (`id_copro`),
  ADD KEY `idx_inv_supplier` (`supplier_id`),
  ADD KEY `idx_inv_status` (`status`);

--
-- Index pour la table `invoice_lines`
--
ALTER TABLE `invoice_lines`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_inv_lines_invoice` (`invoice_id`);

--
-- Index pour la table `invoice_payments`
--
ALTER TABLE `invoice_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_invpay_invoice` (`invoice_id`),
  ADD KEY `idx_invpay_bank` (`bank_row_id`);

--
-- Index pour la table `journal_entries`
--
ALTER TABLE `journal_entries`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_journal_copro_date` (`id_copro`,`date`),
  ADD KEY `idx_journal_status` (`status`),
  ADD KEY `idx_journal_copro_status` (`id_copro`,`status`),
  ADD KEY `idx_journal_period` (`id_copro`,`period_id`,`date`);

--
-- Index pour la table `journal_lines`
--
ALTER TABLE `journal_lines`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_lines_entry` (`entry_id`),
  ADD KEY `idx_lines_account` (`account_id`),
  ADD KEY `idx_lines_copro_account` (`id_copro`,`account_id`),
  ADD KEY `idx_lines_copro_account_entry` (`id_copro`,`account_id`,`entry_id`);

--
-- Index pour la table `lignes_ecritures`
--
ALTER TABLE `lignes_ecritures`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_ecriture` (`id_ecriture`),
  ADD KEY `idx_compte` (`numero_compte`),
  ADD KEY `idx_tiers` (`type_tiers`,`id_tiers`);

--
-- Index pour la table `lots`
--
ALTER TABLE `lots`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `lots_temp`
--
ALTER TABLE `lots_temp`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `lots_ventes`
--
ALTER TABLE `lots_ventes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `lot_id` (`lot_id`),
  ADD KEY `copro` (`copro`);

--
-- Index pour la table `messages_demandes`
--
ALTER TABLE `messages_demandes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_demande` (`id_demande`);

--
-- Index pour la table `montant_appels_de_fonds`
--
ALTER TABLE `montant_appels_de_fonds`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_notifications` (`user_id`,`lu`,`date_creation`),
  ADD KEY `idx_type` (`type`),
  ADD KEY `idx_date` (`date_creation`);

--
-- Index pour la table `notifications_types`
--
ALTER TABLE `notifications_types`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `notification_preferences`
--
ALTER TABLE `notification_preferences`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `user_id` (`user_id`);

--
-- Index pour la table `ocr_learning_log`
--
ALTER TABLE `ocr_learning_log`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_facture` (`id_facture`),
  ADD KEY `idx_fournisseur` (`fournisseur_reel`),
  ADD KEY `idx_type` (`type_correction`),
  ADD KEY `idx_date` (`date_apprentissage`);

--
-- Index pour la table `operations`
--
ALTER TABLE `operations`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `plan_comptable`
--
ALTER TABLE `plan_comptable`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_compte_copro` (`numero_compte`,`id_copro`),
  ADD KEY `idx_copro` (`id_copro`),
  ADD KEY `idx_type` (`type_entite`,`id_entite`);

--
-- Index pour la table `prepare_pv`
--
ALTER TABLE `prepare_pv`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `procurations`
--
ALTER TABLE `procurations`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `pv_ago_modele`
--
ALTER TABLE `pv_ago_modele`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `pv_audit_logs`
--
ALTER TABLE `pv_audit_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `idx_pv_action` (`id_pv_valide`,`action`),
  ADD KEY `idx_timestamp` (`timestamp`);

--
-- Index pour la table `pv_decisions`
--
ALTER TABLE `pv_decisions`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `pv_decisions_files`
--
ALTER TABLE `pv_decisions_files`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_decision` (`id_decision`);

--
-- Index pour la table `pv_decision_devis`
--
ALTER TABLE `pv_decision_devis`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_decision` (`id_decision`);

--
-- Index pour la table `pv_procurations`
--
ALTER TABLE `pv_procurations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_procuration` (`id_pv_valide`,`id_mandant`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `id_mandant` (`id_mandant`),
  ADD KEY `idx_mandataire` (`id_mandataire`);

--
-- Index pour la table `pv_resolutions`
--
ALTER TABLE `pv_resolutions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_resolution` (`id_pv_valide`,`numero_resolution`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `devis_retenu_id` (`devis_retenu_id`),
  ADD KEY `idx_reso_id_decision` (`id_decision`);

--
-- Index pour la table `pv_valides`
--
ALTER TABLE `pv_valides`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_pv_preparation` (`id_pv_preparation`),
  ADD KEY `idx_copro_statut` (`id_copro`,`statut`);

--
-- Index pour la table `pv_votes`
--
ALTER TABLE `pv_votes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_vote` (`id_resolution`,`id_coproprietaire`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `id_coproprietaire` (`id_coproprietaire`),
  ADD KEY `id_mandataire` (`id_mandataire`),
  ADD KEY `idx_resolution_vote` (`id_resolution`,`vote`),
  ADD KEY `id_devis` (`id_devis`);

--
-- Index pour la table `reconciliation_batches`
--
ALTER TABLE `reconciliation_batches`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `reconciliation_matches`
--
ALTER TABLE `reconciliation_matches`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `recurring_templates`
--
ALTER TABLE `recurring_templates`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `regul_exercices`
--
ALTER TABLE `regul_exercices`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `releves_eau`
--
ALTER TABLE `releves_eau`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `repartition_eau`
--
ALTER TABLE `repartition_eau`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_rep_eau` (`id_copro`,`id_exercice`,`id_lot`);

--
-- Index pour la table `repartition_elec`
--
ALTER TABLE `repartition_elec`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_rep_elec` (`id_copro`,`id_exercice`,`id_lot`),
  ADD KEY `id_lot` (`id_lot`),
  ADD KEY `id_exercice` (`id_exercice`),
  ADD KEY `id_copro` (`id_copro`);

--
-- Index pour la table `reset_password`
--
ALTER TABLE `reset_password`
  ADD PRIMARY KEY (`id_request`);

--
-- Index pour la table `reset_password_comptable`
--
ALTER TABLE `reset_password_comptable`
  ADD PRIMARY KEY (`id_request`);

--
-- Index pour la table `secure_code_mail`
--
ALTER TABLE `secure_code_mail`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `secure_code_mail_comptable`
--
ALTER TABLE `secure_code_mail_comptable`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `syndicos_articles`
--
ALTER TABLE `syndicos_articles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_status` (`status`),
  ADD KEY `idx_published` (`published_at`),
  ADD KEY `idx_category` (`category`),
  ADD KEY `idx_featured` (`featured`);
ALTER TABLE `syndicos_articles` ADD FULLTEXT KEY `idx_search` (`title`,`content`,`meta_description`,`tags`);

--
-- Index pour la table `syndicos_article_categories`
--
ALTER TABLE `syndicos_article_categories`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`),
  ADD KEY `idx_parent` (`parent_id`);

--
-- Index pour la table `syndicos_article_media`
--
ALTER TABLE `syndicos_article_media`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_article` (`article_id`);

--
-- Index pour la table `syndicos_article_redirects`
--
ALTER TABLE `syndicos_article_redirects`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `old_url` (`old_url`),
  ADD KEY `idx_old_url` (`old_url`);

--
-- Index pour la table `syndicos_article_tags`
--
ALTER TABLE `syndicos_article_tags`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `name` (`name`),
  ADD UNIQUE KEY `slug` (`slug`),
  ADD KEY `idx_slug` (`slug`);

--
-- Index pour la table `syndicos_article_tag_relations`
--
ALTER TABLE `syndicos_article_tag_relations`
  ADD PRIMARY KEY (`article_id`,`tag_id`),
  ADD KEY `tag_id` (`tag_id`);

--
-- Index pour la table `syndicos_glossary`
--
ALTER TABLE `syndicos_glossary`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `term` (`term`),
  ADD KEY `idx_term` (`term`);

--
-- Index pour la table `syndics`
--
ALTER TABLE `syndics`
  ADD PRIMARY KEY (`id_copro`);

--
-- Index pour la table `syndic_bank_coords`
--
ALTER TABLE `syndic_bank_coords`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_copro_usage` (`id_copro`,`usage_key`),
  ADD KEY `idx_copro` (`id_copro`),
  ADD KEY `fk_coords_account` (`account_id`);

--
-- Index pour la table `syndic_options`
--
ALTER TABLE `syndic_options`
  ADD PRIMARY KEY (`id_copro`);

--
-- Index pour la table `taux_fond_travaux`
--
ALTER TABLE `taux_fond_travaux`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_taux_ft` (`id_copro`,`id_exercice`);

--
-- Index pour la table `travaux`
--
ALTER TABLE `travaux`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_copro` (`id_copro`),
  ADD KEY `id_fournisseur` (`id_fournisseur`),
  ADD KEY `id_decision` (`id_decision`),
  ADD KEY `idx_type_projet` (`type_projet`),
  ADD KEY `idx_echeancier_actif` (`echeancier_actif`);

--
-- Index pour la table `travaux_ag`
--
ALTER TABLE `travaux_ag`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_trav_exercice` (`id_exercice`),
  ADD KEY `idx_trav_decision` (`id_decision`),
  ADD KEY `idx_trav_resolution` (`id_resolution`);

--
-- Index pour la table `travaux_calls`
--
ALTER TABLE `travaux_calls`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_travaux` (`id_travaux`),
  ADD KEY `id_user` (`id_user`),
  ADD KEY `id_lot` (`id_lot`);

--
-- Index pour la table `travaux_echeances`
--
ALTER TABLE `travaux_echeances`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_travaux` (`id_travaux`),
  ADD KEY `idx_date_prevue` (`date_prevue`),
  ADD KEY `idx_genere` (`genere`);

--
-- Index pour la table `travaux_extra_presets`
--
ALTER TABLE `travaux_extra_presets`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uniq_travaux_label` (`id_travaux`,`label`),
  ADD KEY `id_travaux` (`id_travaux`);

--
-- Index pour la table `travaux_repartition`
--
ALTER TABLE `travaux_repartition`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `unique_user_travaux` (`id_travaux`,`id_user`),
  ADD KEY `id_travaux` (`id_travaux`),
  ADD KEY `id_user` (`id_user`);

--
-- Index pour la table `travaux_repartition_details`
--
ALTER TABLE `travaux_repartition_details`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_travaux` (`id_travaux`),
  ADD KEY `id_user` (`id_user`);

--
-- Index pour la table `travaux_status_history`
--
ALTER TABLE `travaux_status_history`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_travaux` (`id_travaux`);

--
-- Index pour la table `types`
--
ALTER TABLE `types`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `types_abonnements`
--
ALTER TABLE `types_abonnements`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `types_documents`
--
ALTER TABLE `types_documents`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `types_lots`
--
ALTER TABLE `types_lots`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `type_agenda`
--
ALTER TABLE `type_agenda`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `updates`
--
ALTER TABLE `updates`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `calendar_token` (`calendar_token`),
  ADD KEY `idx_compte_450` (`compte_450`);

--
-- Index pour la table `users_temp`
--
ALTER TABLE `users_temp`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT pour les tables déchargées
--

--
-- AUTO_INCREMENT pour la table `abonnements`
--
ALTER TABLE `abonnements`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `abonnements_transactions`
--
ALTER TABLE `abonnements_transactions`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT pour la table `accounting_periods`
--
ALTER TABLE `accounting_periods`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT pour la table `accounts`
--
ALTER TABLE `accounts`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT pour la table `account_balances`
--
ALTER TABLE `account_balances`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `acc_entries`
--
ALTER TABLE `acc_entries`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `acc_entry_lines`
--
ALTER TABLE `acc_entry_lines`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `agenda`
--
ALTER TABLE `agenda`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;

--
-- AUTO_INCREMENT pour la table `annuals_calls`
--
ALTER TABLE `annuals_calls`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1027;

--
-- AUTO_INCREMENT pour la table `annuals_calls_fond_travaux`
--
ALTER TABLE `annuals_calls_fond_travaux`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=194;

--
-- AUTO_INCREMENT pour la table `appels`
--
ALTER TABLE `appels`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3985;

--
-- AUTO_INCREMENT pour la table `articles_ag`
--
ALTER TABLE `articles_ag`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=252;

--
-- AUTO_INCREMENT pour la table `ask`
--
ALTER TABLE `ask`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=45;

--
-- AUTO_INCREMENT pour la table `attachments`
--
ALTER TABLE `attachments`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `audit_log`
--
ALTER TABLE `audit_log`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=490;

--
-- AUTO_INCREMENT pour la table `bank`
--
ALTER TABLE `bank`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=976;

--
-- AUTO_INCREMENT pour la table `bank_account`
--
ALTER TABLE `bank_account`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;

--
-- AUTO_INCREMENT pour la table `bank_appel`
--
ALTER TABLE `bank_appel`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `bank_interest_rates`
--
ALTER TABLE `bank_interest_rates`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `bank_types`
--
ALTER TABLE `bank_types`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT pour la table `batiments`
--
ALTER TABLE `batiments`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT pour la table `budget_definitif`
--
ALTER TABLE `budget_definitif`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT pour la table `budget_provisoire`
--
ALTER TABLE `budget_provisoire`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=340;

--
-- AUTO_INCREMENT pour la table `chat_conversations`
--
ALTER TABLE `chat_conversations`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=138;

--
-- AUTO_INCREMENT pour la table `chat_messages`
--
ALTER TABLE `chat_messages`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;

--
-- AUTO_INCREMENT pour la table `classification_rules`
--
ALTER TABLE `classification_rules`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `cles_repartition`
--
ALTER TABLE `cles_repartition`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `cles_repartition_valeurs`
--
ALTER TABLE `cles_repartition_valeurs`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `comptes_charges`
--
ALTER TABLE `comptes_charges`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=43;

--
-- AUTO_INCREMENT pour la table `comptes_produits`
--
ALTER TABLE `comptes_produits`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;

--
-- AUTO_INCREMENT pour la table `compteurs_comptes`
--
ALTER TABLE `compteurs_comptes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=207;

--
-- AUTO_INCREMENT pour la table `contrats`
--
ALTER TABLE `contrats`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `contrats_alertes`
--
ALTER TABLE `contrats_alertes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `contrats_documents`
--
ALTER TABLE `contrats_documents`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `contrats_historique`
--
ALTER TABLE `contrats_historique`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `contrats_paiements`
--
ALTER TABLE `contrats_paiements`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `contrats_types`
--
ALTER TABLE `contrats_types`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT pour la table `demandes_documents`
--
ALTER TABLE `demandes_documents`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `documents`
--
ALTER TABLE `documents`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=87;

--
-- AUTO_INCREMENT pour la table `ecritures_comptables`
--
ALTER TABLE `ecritures_comptables`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2196;

--
-- AUTO_INCREMENT pour la table `encryption_keys`
--
ALTER TABLE `encryption_keys`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT pour la table `etat_coproprietaire`
--
ALTER TABLE `etat_coproprietaire`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2296;

--
-- AUTO_INCREMENT pour la table `exercices`
--
ALTER TABLE `exercices`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24;

--
-- AUTO_INCREMENT pour la table `factures`
--
ALTER TABLE `factures`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=228;

--
-- AUTO_INCREMENT pour la table `factures_fournisseurs_comptes`
--
ALTER TABLE `factures_fournisseurs_comptes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT pour la table `factures_matchings_suggestions`
--
ALTER TABLE `factures_matchings_suggestions`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=275;

--
-- AUTO_INCREMENT pour la table `factures_patterns`
--
ALTER TABLE `factures_patterns`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=144;

--
-- AUTO_INCREMENT pour la table `factures_predictions`
--
ALTER TABLE `factures_predictions`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50;

--
-- AUTO_INCREMENT pour la table `factures_validations`
--
ALTER TABLE `factures_validations`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=178;

--
-- AUTO_INCREMENT pour la table `fond_travaux`
--
ALTER TABLE `fond_travaux`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3633;

--
-- AUTO_INCREMENT pour la table `fournisseurs`
--
ALTER TABLE `fournisseurs`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=74;

--
-- AUTO_INCREMENT pour la table `invoices`
--
ALTER TABLE `invoices`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `invoice_lines`
--
ALTER TABLE `invoice_lines`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `invoice_payments`
--
ALTER TABLE `invoice_payments`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `journal_entries`
--
ALTER TABLE `journal_entries`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=202;

--
-- AUTO_INCREMENT pour la table `journal_lines`
--
ALTER TABLE `journal_lines`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=405;

--
-- AUTO_INCREMENT pour la table `lignes_ecritures`
--
ALTER TABLE `lignes_ecritures`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4892;

--
-- AUTO_INCREMENT pour la table `lots`
--
ALTER TABLE `lots`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=86;

--
-- AUTO_INCREMENT pour la table `lots_temp`
--
ALTER TABLE `lots_temp`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `lots_ventes`
--
ALTER TABLE `lots_ventes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `messages_demandes`
--
ALTER TABLE `messages_demandes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=36;

--
-- AUTO_INCREMENT pour la table `montant_appels_de_fonds`
--
ALTER TABLE `montant_appels_de_fonds`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21290;

--
-- AUTO_INCREMENT pour la table `notifications`
--
ALTER TABLE `notifications`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT pour la table `notifications_types`
--
ALTER TABLE `notifications_types`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `notification_preferences`
--
ALTER TABLE `notification_preferences`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `ocr_learning_log`
--
ALTER TABLE `ocr_learning_log`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `operations`
--
ALTER TABLE `operations`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;

--
-- AUTO_INCREMENT pour la table `plan_comptable`
--
ALTER TABLE `plan_comptable`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2685;

--
-- AUTO_INCREMENT pour la table `prepare_pv`
--
ALTER TABLE `prepare_pv`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=36;

--
-- AUTO_INCREMENT pour la table `procurations`
--
ALTER TABLE `procurations`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT pour la table `pv_ago_modele`
--
ALTER TABLE `pv_ago_modele`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;

--
-- AUTO_INCREMENT pour la table `pv_audit_logs`
--
ALTER TABLE `pv_audit_logs`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=69;

--
-- AUTO_INCREMENT pour la table `pv_decisions`
--
ALTER TABLE `pv_decisions`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=93;

--
-- AUTO_INCREMENT pour la table `pv_decisions_files`
--
ALTER TABLE `pv_decisions_files`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;

--
-- AUTO_INCREMENT pour la table `pv_decision_devis`
--
ALTER TABLE `pv_decision_devis`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;

--
-- AUTO_INCREMENT pour la table `pv_procurations`
--
ALTER TABLE `pv_procurations`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `pv_resolutions`
--
ALTER TABLE `pv_resolutions`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT pour la table `pv_valides`
--
ALTER TABLE `pv_valides`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT pour la table `pv_votes`
--
ALTER TABLE `pv_votes`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=69;

--
-- AUTO_INCREMENT pour la table `reconciliation_batches`
--
ALTER TABLE `reconciliation_batches`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `reconciliation_matches`
--
ALTER TABLE `reconciliation_matches`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `recurring_templates`
--
ALTER TABLE `recurring_templates`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `regul_exercices`
--
ALTER TABLE `regul_exercices`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=345;

--
-- AUTO_INCREMENT pour la table `releves_eau`
--
ALTER TABLE `releves_eau`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=58;

--
-- AUTO_INCREMENT pour la table `repartition_eau`
--
ALTER TABLE `repartition_eau`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=123;

--
-- AUTO_INCREMENT pour la table `repartition_elec`
--
ALTER TABLE `repartition_elec`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=38;

--
-- AUTO_INCREMENT pour la table `reset_password`
--
ALTER TABLE `reset_password`
  MODIFY `id_request` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT pour la table `reset_password_comptable`
--
ALTER TABLE `reset_password_comptable`
  MODIFY `id_request` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;

--
-- AUTO_INCREMENT pour la table `secure_code_mail`
--
ALTER TABLE `secure_code_mail`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT pour la table `secure_code_mail_comptable`
--
ALTER TABLE `secure_code_mail_comptable`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `syndicos_articles`
--
ALTER TABLE `syndicos_articles`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;

--
-- AUTO_INCREMENT pour la table `syndicos_article_categories`
--
ALTER TABLE `syndicos_article_categories`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT pour la table `syndicos_article_media`
--
ALTER TABLE `syndicos_article_media`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `syndicos_article_redirects`
--
ALTER TABLE `syndicos_article_redirects`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `syndicos_article_tags`
--
ALTER TABLE `syndicos_article_tags`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `syndicos_glossary`
--
ALTER TABLE `syndicos_glossary`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT pour la table `syndics`
--
ALTER TABLE `syndics`
  MODIFY `id_copro` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=38;

--
-- AUTO_INCREMENT pour la table `syndic_bank_coords`
--
ALTER TABLE `syndic_bank_coords`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT pour la table `taux_fond_travaux`
--
ALTER TABLE `taux_fond_travaux`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=30;

--
-- AUTO_INCREMENT pour la table `travaux`
--
ALTER TABLE `travaux`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT pour la table `travaux_ag`
--
ALTER TABLE `travaux_ag`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT pour la table `travaux_calls`
--
ALTER TABLE `travaux_calls`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=876;

--
-- AUTO_INCREMENT pour la table `travaux_echeances`
--
ALTER TABLE `travaux_echeances`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT pour la table `travaux_extra_presets`
--
ALTER TABLE `travaux_extra_presets`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `travaux_repartition`
--
ALTER TABLE `travaux_repartition`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=51;

--
-- AUTO_INCREMENT pour la table `travaux_repartition_details`
--
ALTER TABLE `travaux_repartition_details`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=64;

--
-- AUTO_INCREMENT pour la table `travaux_status_history`
--
ALTER TABLE `travaux_status_history`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT pour la table `types`
--
ALTER TABLE `types`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT pour la table `types_abonnements`
--
ALTER TABLE `types_abonnements`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `types_documents`
--
ALTER TABLE `types_documents`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT pour la table `types_lots`
--
ALTER TABLE `types_lots`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT pour la table `type_agenda`
--
ALTER TABLE `type_agenda`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT pour la table `updates`
--
ALTER TABLE `updates`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=304;

--
-- AUTO_INCREMENT pour la table `users`
--
ALTER TABLE `users`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=81;

--
-- AUTO_INCREMENT pour la table `users_temp`
--
ALTER TABLE `users_temp`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=37;

-- --------------------------------------------------------

--
-- Structure de la vue `v_factures_pending_with_suggestions`
--

CREATE ALGORITHM=UNDEFINED DEFINER=`user_auth`@`%` SQL SECURITY DEFINER VIEW `v_factures_pending_with_suggestions`  AS SELECT `f`.`id` AS `id`, `f`.`id_copro` AS `id_copro`, `f`.`id_exercice` AS `id_exercice`, `f`.`fichier_nom` AS `fichier_nom`, `f`.`fichier_chemin` AS `fichier_chemin`, `f`.`fichier_type` AS `fichier_type`, `f`.`fichier_taille` AS `fichier_taille`, `f`.`fichier_hash` AS `fichier_hash`, `f`.`fournisseur_nom` AS `fournisseur_nom`, `f`.`fournisseur_id` AS `fournisseur_id`, `f`.`montant_ttc` AS `montant_ttc`, `f`.`montant_ht` AS `montant_ht`, `f`.`montant_tva` AS `montant_tva`, `f`.`date_facture` AS `date_facture`, `f`.`date_echeance` AS `date_echeance`, `f`.`numero_facture` AS `numero_facture`, `f`.`reference` AS `reference`, `f`.`id_operation_bancaire` AS `id_operation_bancaire`, `f`.`date_paiement` AS `date_paiement`, `f`.`mode_paiement` AS `mode_paiement`, `f`.`id_ecriture_comptable` AS `id_ecriture_comptable`, `f`.`compte_401` AS `compte_401`, `f`.`statut` AS `statut`, `f`.`confiance_score` AS `confiance_score`, `f`.`necessite_validation` AS `necessite_validation`, `f`.`valide_par` AS `valide_par`, `f`.`valide_le` AS `valide_le`, `f`.`texte_ocr` AS `texte_ocr`, `f`.`created_at` AS `created_at`, `f`.`updated_at` AS `updated_at`, `f`.`created_by` AS `created_by`, count(distinct `fms`.`id`) AS `nb_suggestions`, max(`fms`.`score_total`) AS `meilleur_score_matching`, `fou`.`nom` AS `fournisseur_nom_complet` FROM ((`factures` `f` left join `factures_matchings_suggestions` `fms` on(((`f`.`id` = `fms`.`id_facture`) and (`fms`.`statut` = 'suggested')))) left join `fournisseurs` `fou` on((`f`.`fournisseur_id` = `fou`.`id`))) WHERE (`f`.`statut` = 'pending') GROUP BY `f`.`id` ;

-- --------------------------------------------------------

--
-- Structure de la vue `v_factures_stats_fournisseurs`
--

CREATE ALGORITHM=UNDEFINED DEFINER=`user_auth`@`%` SQL SECURITY DEFINER VIEW `v_factures_stats_fournisseurs`  AS SELECT `f`.`fournisseur_id` AS `fournisseur_id`, `fou`.`nom` AS `fournisseur_nom`, count(0) AS `nb_factures`, avg(`f`.`confiance_score`) AS `confiance_moyenne`, sum((case when (`f`.`necessite_validation` = 0) then 1 else 0 end)) AS `nb_auto_validees`, sum((case when (`f`.`necessite_validation` = 1) then 1 else 0 end)) AS `nb_validations_manuelles`, max(`f`.`created_at`) AS `derniere_facture` FROM (`factures` `f` left join `fournisseurs` `fou` on((`f`.`fournisseur_id` = `fou`.`id`))) GROUP BY `f`.`fournisseur_id`, `fou`.`nom` ;

-- --------------------------------------------------------

--
-- Structure de la vue `v_ocr_learning_stats`
--

CREATE ALGORITHM=UNDEFINED DEFINER=`user_auth`@`%` SQL SECURITY DEFINER VIEW `v_ocr_learning_stats`  AS SELECT `fp`.`fournisseur_reel` AS `fournisseur_reel`, `fp`.`nb_utilisations` AS `nb_utilisations`, `fp`.`ht_ttc_inverse` AS `ht_ttc_inverse`, `fp`.`structure_type` AS `structure_type`, `fp`.`position_date_moyenne` AS `position_date_moyenne`, `fp`.`position_montant_moyenne` AS `position_montant_moyenne`, `fp`.`format_date_prefere` AS `format_date_prefere`, `fp`.`taux_tva_habituel` AS `taux_tva_habituel`, `fp`.`score_confiance_moyen` AS `score_confiance_moyen`, `fp`.`nb_corrections` AS `nb_corrections`, count(distinct `f`.`id`) AS `nb_factures_validees`, avg(`f`.`confiance_score`) AS `confiance_moyenne_factures`, `fp`.`derniere_utilisation` AS `derniere_utilisation` FROM (`factures_patterns` `fp` left join `factures` `f` on(((`f`.`fournisseur_nom` = `fp`.`fournisseur_reel`) and (`f`.`statut` = 'validated')))) GROUP BY `fp`.`fournisseur_reel`, `fp`.`nb_utilisations`, `fp`.`ht_ttc_inverse`, `fp`.`structure_type`, `fp`.`position_date_moyenne`, `fp`.`position_montant_moyenne`, `fp`.`format_date_prefere`, `fp`.`taux_tva_habituel`, `fp`.`score_confiance_moyen`, `fp`.`nb_corrections`, `fp`.`derniere_utilisation` HAVING (`fp`.`nb_utilisations` >= 3) ORDER BY `fp`.`nb_utilisations` DESC ;

--
-- Contraintes pour les tables déchargées
--

--
-- Contraintes pour la table `abonnements`
--
ALTER TABLE `abonnements`
  ADD CONSTRAINT `abonnements_ibfk_1` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`),
  ADD CONSTRAINT `abonnements_ibfk_2` FOREIGN KEY (`id_abonnement`) REFERENCES `types_abonnements` (`id`);

--
-- Contraintes pour la table `abonnements_transactions`
--
ALTER TABLE `abonnements_transactions`
  ADD CONSTRAINT `abonnements_transactions_ibfk_1` FOREIGN KEY (`id_abonnement`) REFERENCES `abonnements` (`id`),
  ADD CONSTRAINT `abonnements_transactions_ibfk_2` FOREIGN KEY (`ancien_plan_id`) REFERENCES `types_abonnements` (`id`),
  ADD CONSTRAINT `abonnements_transactions_ibfk_3` FOREIGN KEY (`nouveau_plan_id`) REFERENCES `types_abonnements` (`id`);

--
-- Contraintes pour la table `acc_entry_lines`
--
ALTER TABLE `acc_entry_lines`
  ADD CONSTRAINT `fk_entry` FOREIGN KEY (`entry_id`) REFERENCES `acc_entries` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `bank`
--
ALTER TABLE `bank`
  ADD CONSTRAINT `fk_bank_ecriture_comptable` FOREIGN KEY (`id_ecriture_comptable`) REFERENCES `ecritures_comptables` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `bank_account_info`
--
ALTER TABLE `bank_account_info`
  ADD CONSTRAINT `fk_bank_account_info` FOREIGN KEY (`account_id`) REFERENCES `bank_account` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `bank_appel`
--
ALTER TABLE `bank_appel`
  ADD CONSTRAINT `fk_ba_appel` FOREIGN KEY (`id_appel`) REFERENCES `appels` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_ba_bank` FOREIGN KEY (`id_bank`) REFERENCES `bank` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `bank_interest_rates`
--
ALTER TABLE `bank_interest_rates`
  ADD CONSTRAINT `fk_bir_bank` FOREIGN KEY (`id_bank`) REFERENCES `bank_account` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `batiments`
--
ALTER TABLE `batiments`
  ADD CONSTRAINT `fk_bat_copro` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`) ON DELETE CASCADE;

--
-- Contraintes pour la table `budget_provisoire`
--
ALTER TABLE `budget_provisoire`
  ADD CONSTRAINT `fk_budget_cle` FOREIGN KEY (`id_cle`) REFERENCES `cles_repartition` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Contraintes pour la table `chat_conversations`
--
ALTER TABLE `chat_conversations`
  ADD CONSTRAINT `fk_chat_conv_copro` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`) ON DELETE CASCADE;

--
-- Contraintes pour la table `chat_conv_members`
--
ALTER TABLE `chat_conv_members`
  ADD CONSTRAINT `fk_chat_members_conv` FOREIGN KEY (`id_conv`) REFERENCES `chat_conversations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_chat_members_user` FOREIGN KEY (`id_user`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `chat_messages`
--
ALTER TABLE `chat_messages`
  ADD CONSTRAINT `fk_chat_msgs_conv` FOREIGN KEY (`id_conv`) REFERENCES `chat_conversations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_chat_msgs_reply` FOREIGN KEY (`reply_to`) REFERENCES `chat_messages` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `fk_chat_msgs_user` FOREIGN KEY (`id_user`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `chat_typing`
--
ALTER TABLE `chat_typing`
  ADD CONSTRAINT `fk_chat_typing_copro` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_chat_typing_user` FOREIGN KEY (`id_user`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `cles_repartition`
--
ALTER TABLE `cles_repartition`
  ADD CONSTRAINT `cles_repartition_ibfk_1` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_cle_bat` FOREIGN KEY (`id_batiment`) REFERENCES `batiments` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `cles_repartition_valeurs`
--
ALTER TABLE `cles_repartition_valeurs`
  ADD CONSTRAINT `fk_val_cle` FOREIGN KEY (`id_cle`) REFERENCES `cles_repartition` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_val_lot` FOREIGN KEY (`id_lot`) REFERENCES `lots` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `contrats`
--
ALTER TABLE `contrats`
  ADD CONSTRAINT `fk_contrats_copro` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_contrats_fournisseur` FOREIGN KEY (`fournisseur_id`) REFERENCES `fournisseurs` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `fk_contrats_type` FOREIGN KEY (`type_id`) REFERENCES `contrats_types` (`id`);

--
-- Contraintes pour la table `contrats_alertes`
--
ALTER TABLE `contrats_alertes`
  ADD CONSTRAINT `fk_contrats_alertes_contrat` FOREIGN KEY (`contrat_id`) REFERENCES `contrats` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `contrats_documents`
--
ALTER TABLE `contrats_documents`
  ADD CONSTRAINT `fk_contrats_docs_contrat` FOREIGN KEY (`contrat_id`) REFERENCES `contrats` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `contrats_historique`
--
ALTER TABLE `contrats_historique`
  ADD CONSTRAINT `fk_contrats_hist_contrat` FOREIGN KEY (`contrat_id`) REFERENCES `contrats` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `contrats_paiements`
--
ALTER TABLE `contrats_paiements`
  ADD CONSTRAINT `fk_contrats_paiements_contrat` FOREIGN KEY (`contrat_id`) REFERENCES `contrats` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `documents_lots`
--
ALTER TABLE `documents_lots`
  ADD CONSTRAINT `fk_documents_lots_document` FOREIGN KEY (`document_id`) REFERENCES `documents` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_documents_lots_lot` FOREIGN KEY (`lot_id`) REFERENCES `lots` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `factures_fournisseurs_comptes`
--
ALTER TABLE `factures_fournisseurs_comptes`
  ADD CONSTRAINT `factures_fournisseurs_comptes_ibfk_1` FOREIGN KEY (`compte_charge_defaut`) REFERENCES `comptes_charges` (`numero_compte`);

--
-- Contraintes pour la table `factures_matchings_suggestions`
--
ALTER TABLE `factures_matchings_suggestions`
  ADD CONSTRAINT `factures_matchings_suggestions_ibfk_1` FOREIGN KEY (`id_facture`) REFERENCES `factures` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `factures_validations`
--
ALTER TABLE `factures_validations`
  ADD CONSTRAINT `factures_validations_ibfk_1` FOREIGN KEY (`id_facture`) REFERENCES `factures` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `lignes_ecritures`
--
ALTER TABLE `lignes_ecritures`
  ADD CONSTRAINT `fk_ligne_ecriture` FOREIGN KEY (`id_ecriture`) REFERENCES `ecritures_comptables` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `lots_ventes`
--
ALTER TABLE `lots_ventes`
  ADD CONSTRAINT `fk_lots_ventes_copro` FOREIGN KEY (`copro`) REFERENCES `syndics` (`id_copro`),
  ADD CONSTRAINT `fk_lots_ventes_lot` FOREIGN KEY (`lot_id`) REFERENCES `lots` (`id`);

--
-- Contraintes pour la table `pv_audit_logs`
--
ALTER TABLE `pv_audit_logs`
  ADD CONSTRAINT `pv_audit_logs_ibfk_1` FOREIGN KEY (`id_pv_valide`) REFERENCES `pv_valides` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pv_audit_logs_ibfk_2` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`);

--
-- Contraintes pour la table `pv_decisions_files`
--
ALTER TABLE `pv_decisions_files`
  ADD CONSTRAINT `pv_decisions_files_ibfk_1` FOREIGN KEY (`id_decision`) REFERENCES `pv_decisions` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `pv_procurations`
--
ALTER TABLE `pv_procurations`
  ADD CONSTRAINT `pv_procurations_ibfk_1` FOREIGN KEY (`id_pv_valide`) REFERENCES `pv_valides` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pv_procurations_ibfk_2` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`),
  ADD CONSTRAINT `pv_procurations_ibfk_3` FOREIGN KEY (`id_mandant`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `pv_procurations_ibfk_4` FOREIGN KEY (`id_mandataire`) REFERENCES `users` (`id`);

--
-- Contraintes pour la table `pv_resolutions`
--
ALTER TABLE `pv_resolutions`
  ADD CONSTRAINT `fk_reso_decision` FOREIGN KEY (`id_decision`) REFERENCES `pv_decisions` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pv_resolutions_ibfk_1` FOREIGN KEY (`id_pv_valide`) REFERENCES `pv_valides` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pv_resolutions_ibfk_2` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`),
  ADD CONSTRAINT `pv_resolutions_ibfk_3` FOREIGN KEY (`devis_retenu_id`) REFERENCES `pv_decision_devis` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `pv_valides`
--
ALTER TABLE `pv_valides`
  ADD CONSTRAINT `pv_valides_ibfk_1` FOREIGN KEY (`id_pv_preparation`) REFERENCES `prepare_pv` (`id`),
  ADD CONSTRAINT `pv_valides_ibfk_2` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`);

--
-- Contraintes pour la table `pv_votes`
--
ALTER TABLE `pv_votes`
  ADD CONSTRAINT `pv_votes_ibfk_1` FOREIGN KEY (`id_resolution`) REFERENCES `pv_resolutions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pv_votes_ibfk_2` FOREIGN KEY (`id_copro`) REFERENCES `syndics` (`id_copro`),
  ADD CONSTRAINT `pv_votes_ibfk_3` FOREIGN KEY (`id_coproprietaire`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `pv_votes_ibfk_4` FOREIGN KEY (`id_mandataire`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `pv_votes_ibfk_5` FOREIGN KEY (`id_devis`) REFERENCES `pv_decision_devis` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `syndicos_article_categories`
--
ALTER TABLE `syndicos_article_categories`
  ADD CONSTRAINT `syndicos_article_categories_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `syndicos_article_categories` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `syndicos_article_media`
--
ALTER TABLE `syndicos_article_media`
  ADD CONSTRAINT `syndicos_article_media_ibfk_1` FOREIGN KEY (`article_id`) REFERENCES `syndicos_articles` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `syndicos_article_tag_relations`
--
ALTER TABLE `syndicos_article_tag_relations`
  ADD CONSTRAINT `syndicos_article_tag_relations_ibfk_1` FOREIGN KEY (`article_id`) REFERENCES `syndicos_articles` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `syndicos_article_tag_relations_ibfk_2` FOREIGN KEY (`tag_id`) REFERENCES `syndicos_article_tags` (`id`) ON DELETE CASCADE;

--
-- Contraintes pour la table `syndic_bank_coords`
--
ALTER TABLE `syndic_bank_coords`
  ADD CONSTRAINT `fk_coords_account` FOREIGN KEY (`account_id`) REFERENCES `bank_account` (`id`) ON DELETE SET NULL;

--
-- Contraintes pour la table `travaux_echeances`
--
ALTER TABLE `travaux_echeances`
  ADD CONSTRAINT `travaux_echeances_ibfk_1` FOREIGN KEY (`id_travaux`) REFERENCES `travaux` (`id`) ON DELETE CASCADE;
COMMIT;

