Simpl-Resultat/src/data/categoryTaxonomyV1.json
le king fu bd992f2f94
All checks were successful
PR Check / rust (push) Successful in 22m29s
PR Check / frontend (push) Successful in 2m18s
PR Check / rust (pull_request) Successful in 22m39s
PR Check / frontend (pull_request) Successful in 2m18s
feat(categories): add v1 IPC seed, i18n keys, and migration v8 (#115)
Livraison 1 du milestone spec-refonte-seed-categories-ipc. Applies the
new v1 IPC (Indice des prix à la consommation) taxonomy to freshly
created profiles while leaving existing v2 profiles untouched until the
migration wizard (upcoming issue #121) prompts them to move.

- Migration v8 (additive only):
    - ALTER TABLE categories ADD COLUMN i18n_key TEXT
    - INSERT OR IGNORE user_preferences.categories_schema_version=v2
      (existing profiles tagged as v2 for later migration)
- consolidated_schema.sql rewritten with the full v1 seed and
  categories_schema_version='v1' default for brand-new profiles
- src/data/categoryTaxonomyV1.json bundled as the TS-side source of
  truth (consumed by #116 categoryTaxonomyService next)
- categoriesSeed.* i18n namespace (FR/EN) — 150 entries each
- CategoryTree and CategoryCombobox fall back to the raw `name` when
  i18n_key is null (user-created categories stay literal)
- CategoryTreeNode and CategoryRow gain the i18n_key field end-to-end

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 16:41:55 -04:00

498 lines
30 KiB
JSON

{
"version": "v1",
"description": "IPC Statistique Canada-aligned category taxonomy, 3 levels, Canada/Québec. Derived from src-tauri/src/database/consolidated_schema.sql — keep the two in sync when rolling a new seed version.",
"roots": [
{
"id": 1000,
"name": "Revenus",
"i18n_key": "categoriesSeed.revenus.root",
"type": "income",
"color": "#16a34a",
"sort_order": 1,
"children": [
{
"id": 1010,
"name": "Emploi",
"i18n_key": "categoriesSeed.revenus.emploi.root",
"type": "income",
"color": "#22c55e",
"sort_order": 1,
"children": [
{ "id": 1011, "name": "Paie régulière", "i18n_key": "categoriesSeed.revenus.emploi.paie", "type": "income", "color": "#22c55e", "sort_order": 1, "children": [] },
{ "id": 1012, "name": "Primes & bonus", "i18n_key": "categoriesSeed.revenus.emploi.primes", "type": "income", "color": "#4ade80", "sort_order": 2, "children": [] },
{ "id": 1013, "name": "Travail autonome", "i18n_key": "categoriesSeed.revenus.emploi.autonome", "type": "income", "color": "#86efac", "sort_order": 3, "children": [] }
]
},
{
"id": 1020,
"name": "Gouvernemental",
"i18n_key": "categoriesSeed.revenus.gouvernemental.root",
"type": "income",
"color": "#16a34a",
"sort_order": 2,
"children": [
{ "id": 1021, "name": "Remboursement impôt", "i18n_key": "categoriesSeed.revenus.gouvernemental.remboursementImpot", "type": "income", "color": "#16a34a", "sort_order": 1, "children": [] },
{ "id": 1022, "name": "Allocations familiales", "i18n_key": "categoriesSeed.revenus.gouvernemental.allocations", "type": "income", "color": "#15803d", "sort_order": 2, "children": [] },
{ "id": 1023, "name": "Crédits TPS/TVQ", "i18n_key": "categoriesSeed.revenus.gouvernemental.credits", "type": "income", "color": "#166534", "sort_order": 3, "children": [] },
{ "id": 1024, "name": "Assurance-emploi / RQAP", "i18n_key": "categoriesSeed.revenus.gouvernemental.assuranceEmploi", "type": "income", "color": "#14532d", "sort_order": 4, "children": [] }
]
},
{
"id": 1030,
"name": "Revenus de placement",
"i18n_key": "categoriesSeed.revenus.placement.root",
"type": "income",
"color": "#10b981",
"sort_order": 3,
"children": [
{ "id": 1031, "name": "Intérêts & dividendes", "i18n_key": "categoriesSeed.revenus.placement.interets", "type": "income", "color": "#10b981", "sort_order": 1, "children": [] },
{ "id": 1032, "name": "Gains en capital", "i18n_key": "categoriesSeed.revenus.placement.capital", "type": "income", "color": "#059669", "sort_order": 2, "children": [] },
{ "id": 1033, "name": "Revenus locatifs", "i18n_key": "categoriesSeed.revenus.placement.locatifs", "type": "income", "color": "#047857", "sort_order": 3, "children": [] }
]
},
{ "id": 1090, "name": "Autres revenus", "i18n_key": "categoriesSeed.revenus.autres", "type": "income", "color": "#84cc16", "sort_order": 9, "children": [] }
]
},
{
"id": 1100,
"name": "Alimentation",
"i18n_key": "categoriesSeed.alimentation.root",
"type": "expense",
"color": "#ea580c",
"sort_order": 2,
"children": [
{
"id": 1110,
"name": "Épicerie & marché",
"i18n_key": "categoriesSeed.alimentation.epicerie.root",
"type": "expense",
"color": "#ea580c",
"sort_order": 1,
"children": [
{ "id": 1111, "name": "Épicerie régulière", "i18n_key": "categoriesSeed.alimentation.epicerie.reguliere", "type": "expense", "color": "#ea580c", "sort_order": 1, "children": [] },
{ "id": 1112, "name": "Boucherie & poissonnerie", "i18n_key": "categoriesSeed.alimentation.epicerie.boucherie", "type": "expense", "color": "#c2410c", "sort_order": 2, "children": [] },
{ "id": 1113, "name": "Boulangerie & pâtisserie", "i18n_key": "categoriesSeed.alimentation.epicerie.boulangerie", "type": "expense", "color": "#9a3412", "sort_order": 3, "children": [] },
{ "id": 1114, "name": "Dépanneur", "i18n_key": "categoriesSeed.alimentation.epicerie.depanneur", "type": "expense", "color": "#7c2d12", "sort_order": 4, "children": [] },
{ "id": 1115, "name": "Marché & produits spécialisés", "i18n_key": "categoriesSeed.alimentation.epicerie.marche", "type": "expense", "color": "#fb923c", "sort_order": 5, "children": [] }
]
},
{
"id": 1120,
"name": "Restauration",
"i18n_key": "categoriesSeed.alimentation.restauration.root",
"type": "expense",
"color": "#f97316",
"sort_order": 2,
"children": [
{ "id": 1121, "name": "Restaurant", "i18n_key": "categoriesSeed.alimentation.restauration.restaurant", "type": "expense", "color": "#f97316", "sort_order": 1, "children": [] },
{ "id": 1122, "name": "Café & boulangerie rapide", "i18n_key": "categoriesSeed.alimentation.restauration.cafe", "type": "expense", "color": "#fb923c", "sort_order": 2, "children": [] },
{ "id": 1123, "name": "Restauration rapide", "i18n_key": "categoriesSeed.alimentation.restauration.fastfood", "type": "expense", "color": "#fdba74", "sort_order": 3, "children": [] },
{ "id": 1124, "name": "Livraison à domicile", "i18n_key": "categoriesSeed.alimentation.restauration.livraison", "type": "expense", "color": "#fed7aa", "sort_order": 4, "children": [] },
{ "id": 1125, "name": "Cantine & cafétéria", "i18n_key": "categoriesSeed.alimentation.restauration.cantine", "type": "expense", "color": "#ffedd5", "sort_order": 5, "children": [] }
]
}
]
},
{
"id": 1200,
"name": "Logement",
"i18n_key": "categoriesSeed.logement.root",
"type": "expense",
"color": "#dc2626",
"sort_order": 3,
"children": [
{
"id": 1210,
"name": "Habitation principale",
"i18n_key": "categoriesSeed.logement.habitation.root",
"type": "expense",
"color": "#dc2626",
"sort_order": 1,
"children": [
{ "id": 1211, "name": "Loyer", "i18n_key": "categoriesSeed.logement.habitation.loyer", "type": "expense", "color": "#dc2626", "sort_order": 1, "children": [] },
{ "id": 1212, "name": "Hypothèque", "i18n_key": "categoriesSeed.logement.habitation.hypotheque", "type": "expense", "color": "#b91c1c", "sort_order": 2, "children": [] },
{ "id": 1213, "name": "Taxes municipales & scolaires", "i18n_key": "categoriesSeed.logement.habitation.taxes", "type": "expense", "color": "#991b1b", "sort_order": 3, "children": [] },
{ "id": 1214, "name": "Charges de copropriété", "i18n_key": "categoriesSeed.logement.habitation.copropriete", "type": "expense", "color": "#7f1d1d", "sort_order": 4, "children": [] }
]
},
{
"id": 1220,
"name": "Services publics",
"i18n_key": "categoriesSeed.logement.services.root",
"type": "expense",
"color": "#ef4444",
"sort_order": 2,
"children": [
{ "id": 1221, "name": "Électricité", "i18n_key": "categoriesSeed.logement.services.electricite", "type": "expense", "color": "#ef4444", "sort_order": 1, "children": [] },
{ "id": 1222, "name": "Gaz naturel", "i18n_key": "categoriesSeed.logement.services.gaz", "type": "expense", "color": "#f87171", "sort_order": 2, "children": [] },
{ "id": 1223, "name": "Chauffage (mazout, propane)", "i18n_key": "categoriesSeed.logement.services.chauffage", "type": "expense", "color": "#fca5a5", "sort_order": 3, "children": [] },
{ "id": 1224, "name": "Eau & égouts", "i18n_key": "categoriesSeed.logement.services.eau", "type": "expense", "color": "#fecaca", "sort_order": 4, "children": [] }
]
},
{
"id": 1230,
"name": "Communications",
"i18n_key": "categoriesSeed.logement.communications.root",
"type": "expense",
"color": "#6366f1",
"sort_order": 3,
"children": [
{ "id": 1231, "name": "Internet résidentiel", "i18n_key": "categoriesSeed.logement.communications.internet", "type": "expense", "color": "#6366f1", "sort_order": 1, "children": [] },
{ "id": 1232, "name": "Téléphonie mobile", "i18n_key": "categoriesSeed.logement.communications.mobile", "type": "expense", "color": "#818cf8", "sort_order": 2, "children": [] },
{ "id": 1233, "name": "Téléphonie résidentielle", "i18n_key": "categoriesSeed.logement.communications.residentielle", "type": "expense", "color": "#a5b4fc", "sort_order": 3, "children": [] },
{ "id": 1234, "name": "Câblodistribution & streaming TV", "i18n_key": "categoriesSeed.logement.communications.streamingTv", "type": "expense", "color": "#c7d2fe", "sort_order": 4, "children": [] }
]
},
{
"id": 1240,
"name": "Entretien & réparations",
"i18n_key": "categoriesSeed.logement.entretien.root",
"type": "expense",
"color": "#e11d48",
"sort_order": 4,
"children": [
{ "id": 1241, "name": "Entretien général", "i18n_key": "categoriesSeed.logement.entretien.general", "type": "expense", "color": "#e11d48", "sort_order": 1, "children": [] },
{ "id": 1242, "name": "Rénovations", "i18n_key": "categoriesSeed.logement.entretien.renovations", "type": "expense", "color": "#be123c", "sort_order": 2, "children": [] },
{ "id": 1243, "name": "Matériaux & outils", "i18n_key": "categoriesSeed.logement.entretien.materiaux", "type": "expense", "color": "#9f1239", "sort_order": 3, "children": [] },
{ "id": 1244, "name": "Aménagement paysager", "i18n_key": "categoriesSeed.logement.entretien.paysager", "type": "expense", "color": "#881337", "sort_order": 4, "children": [] }
]
},
{ "id": 1250, "name": "Assurance habitation", "i18n_key": "categoriesSeed.logement.assurance", "type": "expense", "color": "#14b8a6", "sort_order": 5, "children": [] }
]
},
{
"id": 1300,
"name": "Ménage & ameublement",
"i18n_key": "categoriesSeed.menage.root",
"type": "expense",
"color": "#ca8a04",
"sort_order": 4,
"children": [
{
"id": 1310,
"name": "Ameublement",
"i18n_key": "categoriesSeed.menage.ameublement.root",
"type": "expense",
"color": "#ca8a04",
"sort_order": 1,
"children": [
{ "id": 1311, "name": "Meubles", "i18n_key": "categoriesSeed.menage.ameublement.meubles", "type": "expense", "color": "#ca8a04", "sort_order": 1, "children": [] },
{ "id": 1312, "name": "Électroménagers", "i18n_key": "categoriesSeed.menage.ameublement.electromenagers", "type": "expense", "color": "#a16207", "sort_order": 2, "children": [] },
{ "id": 1313, "name": "Décoration", "i18n_key": "categoriesSeed.menage.ameublement.decoration", "type": "expense", "color": "#854d0e", "sort_order": 3, "children": [] }
]
},
{
"id": 1320,
"name": "Fournitures ménagères",
"i18n_key": "categoriesSeed.menage.fournitures.root",
"type": "expense",
"color": "#eab308",
"sort_order": 2,
"children": [
{ "id": 1321, "name": "Produits d'entretien", "i18n_key": "categoriesSeed.menage.fournitures.entretien", "type": "expense", "color": "#eab308", "sort_order": 1, "children": [] },
{ "id": 1322, "name": "Literie & linge de maison", "i18n_key": "categoriesSeed.menage.fournitures.literie", "type": "expense", "color": "#facc15", "sort_order": 2, "children": [] },
{ "id": 1323, "name": "Vaisselle & ustensiles", "i18n_key": "categoriesSeed.menage.fournitures.vaisselle", "type": "expense", "color": "#fde047", "sort_order": 3, "children": [] }
]
},
{
"id": 1330,
"name": "Services domestiques",
"i18n_key": "categoriesSeed.menage.services.root",
"type": "expense",
"color": "#fbbf24",
"sort_order": 3,
"children": [
{ "id": 1331, "name": "Ménage & nettoyage", "i18n_key": "categoriesSeed.menage.services.nettoyage", "type": "expense", "color": "#fbbf24", "sort_order": 1, "children": [] },
{ "id": 1332, "name": "Buanderie & pressing", "i18n_key": "categoriesSeed.menage.services.buanderie", "type": "expense", "color": "#fcd34d", "sort_order": 2, "children": [] }
]
}
]
},
{
"id": 1400,
"name": "Vêtements & chaussures",
"i18n_key": "categoriesSeed.vetements.root",
"type": "expense",
"color": "#d946ef",
"sort_order": 5,
"children": [
{ "id": 1410, "name": "Vêtements adultes", "i18n_key": "categoriesSeed.vetements.adultes", "type": "expense", "color": "#d946ef", "sort_order": 1, "children": [] },
{ "id": 1420, "name": "Vêtements enfants", "i18n_key": "categoriesSeed.vetements.enfants", "type": "expense", "color": "#c026d3", "sort_order": 2, "children": [] },
{ "id": 1430, "name": "Chaussures", "i18n_key": "categoriesSeed.vetements.chaussures", "type": "expense", "color": "#a21caf", "sort_order": 3, "children": [] },
{ "id": 1440, "name": "Accessoires & bijoux", "i18n_key": "categoriesSeed.vetements.accessoires", "type": "expense", "color": "#86198f", "sort_order": 4, "children": [] }
]
},
{
"id": 1500,
"name": "Transport",
"i18n_key": "categoriesSeed.transport.root",
"type": "expense",
"color": "#2563eb",
"sort_order": 6,
"children": [
{
"id": 1510,
"name": "Véhicule personnel",
"i18n_key": "categoriesSeed.transport.vehicule.root",
"type": "expense",
"color": "#2563eb",
"sort_order": 1,
"children": [
{ "id": 1511, "name": "Achat / location véhicule", "i18n_key": "categoriesSeed.transport.vehicule.achat", "type": "expense", "color": "#2563eb", "sort_order": 1, "children": [] },
{ "id": 1512, "name": "Essence", "i18n_key": "categoriesSeed.transport.vehicule.essence", "type": "expense", "color": "#1d4ed8", "sort_order": 2, "children": [] },
{ "id": 1513, "name": "Entretien & réparations auto", "i18n_key": "categoriesSeed.transport.vehicule.entretien", "type": "expense", "color": "#1e40af", "sort_order": 3, "children": [] },
{ "id": 1514, "name": "Immatriculation & permis", "i18n_key": "categoriesSeed.transport.vehicule.immatriculation", "type": "expense", "color": "#1e3a8a", "sort_order": 4, "children": [] },
{ "id": 1515, "name": "Stationnement & péages", "i18n_key": "categoriesSeed.transport.vehicule.stationnement", "type": "expense", "color": "#3b82f6", "sort_order": 5, "children": [] },
{ "id": 1516, "name": "Assurance auto", "i18n_key": "categoriesSeed.transport.vehicule.assurance", "type": "expense", "color": "#60a5fa", "sort_order": 6, "children": [] }
]
},
{
"id": 1520,
"name": "Transport public",
"i18n_key": "categoriesSeed.transport.public.root",
"type": "expense",
"color": "#0ea5e9",
"sort_order": 2,
"children": [
{ "id": 1521, "name": "Autobus & métro", "i18n_key": "categoriesSeed.transport.public.autobus", "type": "expense", "color": "#0ea5e9", "sort_order": 1, "children": [] },
{ "id": 1522, "name": "Train de banlieue", "i18n_key": "categoriesSeed.transport.public.train", "type": "expense", "color": "#0284c7", "sort_order": 2, "children": [] },
{ "id": 1523, "name": "Taxi & covoiturage", "i18n_key": "categoriesSeed.transport.public.taxi", "type": "expense", "color": "#0369a1", "sort_order": 3, "children": [] }
]
},
{
"id": 1530,
"name": "Voyages longue distance",
"i18n_key": "categoriesSeed.transport.voyages.root",
"type": "expense",
"color": "#38bdf8",
"sort_order": 3,
"children": [
{ "id": 1531, "name": "Avion", "i18n_key": "categoriesSeed.transport.voyages.avion", "type": "expense", "color": "#38bdf8", "sort_order": 1, "children": [] },
{ "id": 1532, "name": "Train & autocar", "i18n_key": "categoriesSeed.transport.voyages.trainAutocar", "type": "expense", "color": "#7dd3fc", "sort_order": 2, "children": [] },
{ "id": 1533, "name": "Hébergement", "i18n_key": "categoriesSeed.transport.voyages.hebergement", "type": "expense", "color": "#bae6fd", "sort_order": 3, "children": [] },
{ "id": 1534, "name": "Location véhicule voyage", "i18n_key": "categoriesSeed.transport.voyages.location", "type": "expense", "color": "#e0f2fe", "sort_order": 4, "children": [] }
]
}
]
},
{
"id": 1600,
"name": "Santé & soins personnels",
"i18n_key": "categoriesSeed.sante.root",
"type": "expense",
"color": "#f43f5e",
"sort_order": 7,
"children": [
{
"id": 1610,
"name": "Soins médicaux",
"i18n_key": "categoriesSeed.sante.medicaux.root",
"type": "expense",
"color": "#f43f5e",
"sort_order": 1,
"children": [
{ "id": 1611, "name": "Pharmacie", "i18n_key": "categoriesSeed.sante.medicaux.pharmacie", "type": "expense", "color": "#f43f5e", "sort_order": 1, "children": [] },
{ "id": 1612, "name": "Consultations médicales", "i18n_key": "categoriesSeed.sante.medicaux.consultations", "type": "expense", "color": "#e11d48", "sort_order": 2, "children": [] },
{ "id": 1613, "name": "Dentiste & orthodontiste", "i18n_key": "categoriesSeed.sante.medicaux.dentiste", "type": "expense", "color": "#be123c", "sort_order": 3, "children": [] },
{ "id": 1614, "name": "Optométrie & lunettes", "i18n_key": "categoriesSeed.sante.medicaux.optometrie", "type": "expense", "color": "#9f1239", "sort_order": 4, "children": [] },
{ "id": 1615, "name": "Thérapies (physio, psycho, etc.)", "i18n_key": "categoriesSeed.sante.medicaux.therapies", "type": "expense", "color": "#881337", "sort_order": 5, "children": [] },
{ "id": 1616, "name": "Assurance santé complémentaire", "i18n_key": "categoriesSeed.sante.medicaux.assurance", "type": "expense", "color": "#fb7185", "sort_order": 6, "children": [] }
]
},
{
"id": 1620,
"name": "Soins personnels",
"i18n_key": "categoriesSeed.sante.personnels.root",
"type": "expense",
"color": "#fb7185",
"sort_order": 2,
"children": [
{ "id": 1621, "name": "Coiffure & esthétique", "i18n_key": "categoriesSeed.sante.personnels.coiffure", "type": "expense", "color": "#fb7185", "sort_order": 1, "children": [] },
{ "id": 1622, "name": "Produits de soins corporels", "i18n_key": "categoriesSeed.sante.personnels.soins", "type": "expense", "color": "#fda4af", "sort_order": 2, "children": [] }
]
},
{ "id": 1630, "name": "Assurance vie & invalidité", "i18n_key": "categoriesSeed.sante.assuranceVie", "type": "expense", "color": "#14b8a6", "sort_order": 3, "children": [] }
]
},
{
"id": 1700,
"name": "Loisirs, formation & lecture",
"i18n_key": "categoriesSeed.loisirs.root",
"type": "expense",
"color": "#8b5cf6",
"sort_order": 8,
"children": [
{
"id": 1710,
"name": "Divertissement",
"i18n_key": "categoriesSeed.loisirs.divertissement.root",
"type": "expense",
"color": "#8b5cf6",
"sort_order": 1,
"children": [
{ "id": 1711, "name": "Cinéma & spectacles", "i18n_key": "categoriesSeed.loisirs.divertissement.cinema", "type": "expense", "color": "#8b5cf6", "sort_order": 1, "children": [] },
{ "id": 1712, "name": "Jeux vidéo & consoles", "i18n_key": "categoriesSeed.loisirs.divertissement.jeux", "type": "expense", "color": "#a78bfa", "sort_order": 2, "children": [] },
{ "id": 1713, "name": "Streaming vidéo", "i18n_key": "categoriesSeed.loisirs.divertissement.streamingVideo", "type": "expense", "color": "#c4b5fd", "sort_order": 3, "children": [] },
{ "id": 1714, "name": "Streaming musique & audio", "i18n_key": "categoriesSeed.loisirs.divertissement.streamingMusique", "type": "expense", "color": "#ddd6fe", "sort_order": 4, "children": [] },
{ "id": 1715, "name": "Jouets & passe-temps", "i18n_key": "categoriesSeed.loisirs.divertissement.jouets", "type": "expense", "color": "#ede9fe", "sort_order": 5, "children": [] }
]
},
{
"id": 1720,
"name": "Sports & plein air",
"i18n_key": "categoriesSeed.loisirs.sports.root",
"type": "expense",
"color": "#22c55e",
"sort_order": 2,
"children": [
{ "id": 1721, "name": "Abonnements sportifs", "i18n_key": "categoriesSeed.loisirs.sports.abonnements", "type": "expense", "color": "#22c55e", "sort_order": 1, "children": [] },
{ "id": 1722, "name": "Équipement sportif", "i18n_key": "categoriesSeed.loisirs.sports.equipement", "type": "expense", "color": "#4ade80", "sort_order": 2, "children": [] },
{ "id": 1723, "name": "Parcs & activités plein air", "i18n_key": "categoriesSeed.loisirs.sports.parcs", "type": "expense", "color": "#86efac", "sort_order": 3, "children": [] }
]
},
{
"id": 1730,
"name": "Formation & éducation",
"i18n_key": "categoriesSeed.loisirs.formation.root",
"type": "expense",
"color": "#6366f1",
"sort_order": 3,
"children": [
{ "id": 1731, "name": "Scolarité (frais)", "i18n_key": "categoriesSeed.loisirs.formation.scolarite", "type": "expense", "color": "#6366f1", "sort_order": 1, "children": [] },
{ "id": 1732, "name": "Matériel scolaire", "i18n_key": "categoriesSeed.loisirs.formation.materiel", "type": "expense", "color": "#818cf8", "sort_order": 2, "children": [] },
{ "id": 1733, "name": "Cours & certifications", "i18n_key": "categoriesSeed.loisirs.formation.cours", "type": "expense", "color": "#a5b4fc", "sort_order": 3, "children": [] },
{ "id": 1734, "name": "Abonnements professionnels", "i18n_key": "categoriesSeed.loisirs.formation.abonnements", "type": "expense", "color": "#c7d2fe", "sort_order": 4, "children": [] }
]
},
{
"id": 1740,
"name": "Lecture & médias",
"i18n_key": "categoriesSeed.loisirs.lecture.root",
"type": "expense",
"color": "#ec4899",
"sort_order": 4,
"children": [
{ "id": 1741, "name": "Livres", "i18n_key": "categoriesSeed.loisirs.lecture.livres", "type": "expense", "color": "#ec4899", "sort_order": 1, "children": [] },
{ "id": 1742, "name": "Journaux & magazines", "i18n_key": "categoriesSeed.loisirs.lecture.journaux", "type": "expense", "color": "#f472b6", "sort_order": 2, "children": [] }
]
},
{
"id": 1750,
"name": "Animaux de compagnie",
"i18n_key": "categoriesSeed.loisirs.animaux.root",
"type": "expense",
"color": "#a855f7",
"sort_order": 5,
"children": [
{ "id": 1751, "name": "Nourriture & accessoires animaux", "i18n_key": "categoriesSeed.loisirs.animaux.nourriture", "type": "expense", "color": "#a855f7", "sort_order": 1, "children": [] },
{ "id": 1752, "name": "Vétérinaire", "i18n_key": "categoriesSeed.loisirs.animaux.veterinaire", "type": "expense", "color": "#c084fc", "sort_order": 2, "children": [] }
]
}
]
},
{
"id": 1800,
"name": "Boissons, tabac & cannabis",
"i18n_key": "categoriesSeed.consommation.root",
"type": "expense",
"color": "#7c3aed",
"sort_order": 9,
"children": [
{ "id": 1810, "name": "Alcool (SAQ, microbrasseries)", "i18n_key": "categoriesSeed.consommation.alcool", "type": "expense", "color": "#7c3aed", "sort_order": 1, "children": [] },
{ "id": 1820, "name": "Cannabis (SQDC)", "i18n_key": "categoriesSeed.consommation.cannabis", "type": "expense", "color": "#6d28d9", "sort_order": 2, "children": [] },
{ "id": 1830, "name": "Tabac", "i18n_key": "categoriesSeed.consommation.tabac", "type": "expense", "color": "#5b21b6", "sort_order": 3, "children": [] }
]
},
{
"id": 1900,
"name": "Finances & obligations",
"i18n_key": "categoriesSeed.finances.root",
"type": "expense",
"color": "#6b7280",
"sort_order": 10,
"children": [
{
"id": 1910,
"name": "Frais bancaires",
"i18n_key": "categoriesSeed.finances.fraisBancaires.root",
"type": "expense",
"color": "#6b7280",
"sort_order": 1,
"children": [
{ "id": 1911, "name": "Frais de compte", "i18n_key": "categoriesSeed.finances.fraisBancaires.compte", "type": "expense", "color": "#6b7280", "sort_order": 1, "children": [] },
{ "id": 1912, "name": "Intérêts & frais de crédit", "i18n_key": "categoriesSeed.finances.fraisBancaires.interets", "type": "expense", "color": "#9ca3af", "sort_order": 2, "children": [] },
{ "id": 1913, "name": "Frais de change", "i18n_key": "categoriesSeed.finances.fraisBancaires.change", "type": "expense", "color": "#d1d5db", "sort_order": 3, "children": [] }
]
},
{
"id": 1920,
"name": "Impôts & taxes",
"i18n_key": "categoriesSeed.finances.impots.root",
"type": "expense",
"color": "#dc2626",
"sort_order": 2,
"children": [
{ "id": 1921, "name": "Impôt fédéral", "i18n_key": "categoriesSeed.finances.impots.federal", "type": "expense", "color": "#dc2626", "sort_order": 1, "children": [] },
{ "id": 1922, "name": "Impôt provincial", "i18n_key": "categoriesSeed.finances.impots.provincial", "type": "expense", "color": "#b91c1c", "sort_order": 2, "children": [] },
{ "id": 1923, "name": "Acomptes provisionnels", "i18n_key": "categoriesSeed.finances.impots.acomptes", "type": "expense", "color": "#991b1b", "sort_order": 3, "children": [] }
]
},
{
"id": 1930,
"name": "Dons & cotisations",
"i18n_key": "categoriesSeed.finances.dons.root",
"type": "expense",
"color": "#ec4899",
"sort_order": 3,
"children": [
{ "id": 1931, "name": "Dons de charité", "i18n_key": "categoriesSeed.finances.dons.charite", "type": "expense", "color": "#ec4899", "sort_order": 1, "children": [] },
{ "id": 1932, "name": "Cotisations professionnelles", "i18n_key": "categoriesSeed.finances.dons.professionnelles", "type": "expense", "color": "#f472b6", "sort_order": 2, "children": [] },
{ "id": 1933, "name": "Cotisations syndicales", "i18n_key": "categoriesSeed.finances.dons.syndicales", "type": "expense", "color": "#f9a8d4", "sort_order": 3, "children": [] }
]
},
{ "id": 1940, "name": "Cadeaux", "i18n_key": "categoriesSeed.finances.cadeaux", "type": "expense", "color": "#f43f5e", "sort_order": 4, "children": [] },
{ "id": 1945, "name": "Retrait cash", "i18n_key": "categoriesSeed.finances.cash", "type": "expense", "color": "#57534e", "sort_order": 5, "children": [] },
{ "id": 1946, "name": "Achats divers non catégorisés", "i18n_key": "categoriesSeed.finances.divers", "type": "expense", "color": "#78716c", "sort_order": 6, "children": [] }
]
},
{
"id": 1950,
"name": "Transferts & placements",
"i18n_key": "categoriesSeed.transferts.root",
"type": "transfer",
"color": "#0ea5e9",
"sort_order": 11,
"children": [
{
"id": 1960,
"name": "Épargne & placements",
"i18n_key": "categoriesSeed.transferts.epargne.root",
"type": "transfer",
"color": "#0ea5e9",
"sort_order": 1,
"children": [
{ "id": 1961, "name": "REER / RRSP", "i18n_key": "categoriesSeed.transferts.epargne.reer", "type": "transfer", "color": "#0ea5e9", "sort_order": 1, "children": [] },
{ "id": 1962, "name": "CELI / TFSA", "i18n_key": "categoriesSeed.transferts.epargne.celi", "type": "transfer", "color": "#0284c7", "sort_order": 2, "children": [] },
{ "id": 1963, "name": "REEE / RESP", "i18n_key": "categoriesSeed.transferts.epargne.reee", "type": "transfer", "color": "#0369a1", "sort_order": 3, "children": [] },
{ "id": 1964, "name": "Compte non-enregistré", "i18n_key": "categoriesSeed.transferts.epargne.nonEnregistre", "type": "transfer", "color": "#075985", "sort_order": 4, "children": [] },
{ "id": 1965, "name": "Fonds d'urgence", "i18n_key": "categoriesSeed.transferts.epargne.urgence", "type": "transfer", "color": "#0c4a6e", "sort_order": 5, "children": [] }
]
},
{
"id": 1970,
"name": "Remboursement de dette",
"i18n_key": "categoriesSeed.transferts.dette.root",
"type": "transfer",
"color": "#7c3aed",
"sort_order": 2,
"children": [
{ "id": 1971, "name": "Paiement carte crédit", "i18n_key": "categoriesSeed.transferts.dette.carteCredit", "type": "transfer", "color": "#7c3aed", "sort_order": 1, "children": [] },
{ "id": 1972, "name": "Remboursement prêt étudiant", "i18n_key": "categoriesSeed.transferts.dette.etudiant", "type": "transfer", "color": "#8b5cf6", "sort_order": 2, "children": [] },
{ "id": 1973, "name": "Remboursement prêt perso", "i18n_key": "categoriesSeed.transferts.dette.personnel", "type": "transfer", "color": "#a78bfa", "sort_order": 3, "children": [] }
]
},
{ "id": 1980, "name": "Transferts internes", "i18n_key": "categoriesSeed.transferts.internes", "type": "transfer", "color": "#64748b", "sort_order": 3, "children": [] }
]
}
]
}