evals/evals.json
{
"skill_name": "comptable",
"evals": [
{
"id": 1,
"name": "config-company-json",
"prompt": "Je veux configurer Paperasse pour ma société DevStudio. C'est une SASU de développement web (NAF 6201Z), SIREN 123456789, siège au 5 rue de la Paix 75002 Paris, capital 1000 EUR, exercice du 01/01 au 31/12, je suis en franchise de TVA. Génère le company.json correspondant.",
"expected_output": "Le skill génère un company.json structuré avec tous les champs obligatoires, déduit le régime IS de la forme SASU, et applique le format attendu par Paperasse.",
"files": [],
"assertions": [
"Le company.json contient le nom 'DevStudio'",
"La forme juridique SASU est présente",
"Le SIREN 123456789 est présent",
"Le régime d'imposition IS est déduit de la forme SASU",
"Le régime TVA franchise est configuré",
"Les dates d'exercice (01/01 au 31/12) sont présentes",
"Le capital social 1000 EUR est présent",
"Le code NAF 6201Z est présent"
]
},
{
"id": 2,
"name": "config-integrations",
"prompt": "Ma société NovaTech (SAS, Lyon, SIREN 987654321) utilise Qonto et Stripe pour son SaaS. Comment configurer company.json et le fichier .env pour les intégrations bancaires ? Montre-moi les fichiers complets.",
"expected_output": "Le skill montre la configuration company.json avec les intégrations Qonto et Stripe activées, et le fichier .env avec les clés API séparées. Le régime IS est déduit de la forme SAS.",
"files": [],
"assertions": [
"Le company.json contient qonto.enabled: true (ou équivalent)",
"Le company.json contient une section stripe_accounts",
"Les clés API Qonto (QONTO_ID, QONTO_API_SECRET) sont dans .env et pas dans company.json",
"La clé secrète Stripe (STRIPE_SECRET_KEY) est dans .env",
"Le régime IS est mentionné ou déduit pour une SAS",
"Les scripts npm run fetch:qonto et fetch:stripe sont mentionnés",
"La structure du company.json suit le format Paperasse (name, legal_form, siren, fiscal_year, tax, integrations)"
]
},
{
"id": 3,
"name": "cloture-categorisation",
"prompt": "Je veux commencer la clôture de l'exercice 2025 pour TechFlow. Pour l'instant, catégorise les transactions et fais le rapprochement bancaire. Les transactions Qonto sont dans data/transactions/qonto-main.json et les transactions Stripe dans data/transactions/stripe-saas.json.",
"expected_output": "Le skill catégorise chaque transaction avec le bon compte PCG, enregistre le CA Stripe en brut avec frais séparés, traite le remboursement, et croise les payouts Stripe avec les crédits Qonto.",
"files": [
"evals/files/company-techflow.json",
"evals/files/qonto-transactions.json",
"evals/files/stripe-transactions.json"
],
"assertions": [
"Le skill lit company.json et identifie TechFlow",
"Chaque transaction Qonto est associée à un compte PCG (Hetzner → 6135, GitHub → 6135, OVH domaine → 651, frais bancaires → 627, MacBook → 2183)",
"Le CA Stripe est enregistré en brut (706) et les frais Stripe en charges (6278)",
"Le remboursement Stripe (txn_009) est comptabilisé correctement (avoir ou extourne)",
"Le rapprochement bancaire croise les payouts Stripe avec les crédits Qonto",
"Le remboursement du compte courant associé (200 EUR) est enregistré au compte 455",
"Les écritures sont présentées dans un format structuré avec date, journal, comptes, libellé, montants"
]
},
{
"id": 4,
"name": "cloture-inventaire-is",
"prompt": "Suite de la clôture TechFlow 2025. Les transactions sont catégorisées. Maintenant fais les écritures d'inventaire (amortissements, PCA), calcule l'IS, et génère le journal d'écritures. Les données sont dans data/transactions/.",
"expected_output": "Le skill calcule l'amortissement du MacBook avec prorata, identifie le PCA sur l'abonnement annuel, calcule l'IS au taux réduit, et génère le journal et les états financiers.",
"files": [
"evals/files/company-techflow.json",
"evals/files/qonto-transactions.json",
"evals/files/stripe-transactions.json"
],
"assertions": [
"Le MacBook à 599 EUR est immobilisé (>500 EUR) et amorti sur 3 ans avec prorata temporis",
"Un PCA est calculé pour l'abonnement annuel Client F (290 EUR, oct 2025 à sept 2026)",
"L'IS est calculé avec le taux réduit 15% (résultat < 42 500 EUR)",
"Le bilan est équilibré (actif = passif)",
"Les écritures d'inventaire sont datées au 31/12/2025",
"Le résultat net est correctement calculé (produits - charges - IS)"
]
},
{
"id": 5,
"name": "cloture-premier-exercice",
"prompt": "Ma société TechFlow a été créée le 25/02/2025. Je veux faire la clôture de mon premier exercice (25/02/2025 au 31/12/2025). Les transactions sont dans data/transactions/.",
"expected_output": "Le skill gère les spécificités du premier exercice : prorata temporis pour les amortissements (309 jours au lieu de 365), prorata du seuil IS à taux réduit (42500 * 309/365), vérification du seuil franchise TVA sur la période courte.",
"files": [
"evals/files/company-techflow.json",
"evals/files/qonto-transactions.json",
"evals/files/stripe-transactions.json"
],
"assertions": [
"L'exercice est identifié comme premier exercice (durée inférieure à 12 mois)",
"Le prorata temporis est appliqué aux amortissements du MacBook (mis en service en octobre, prorata oct-déc)",
"Le seuil IS à taux réduit est proratisé sur la durée de l'exercice",
"Le seuil de franchise TVA est surveillé sur la période courte",
"Les dépenses antérieures à la création (25/02/2025) ne sont pas incluses"
]
},
{
"id": 6,
"name": "facturation-diagnostic-conformite-2026",
"prompt": "Ma société WebCraft est une SASU en franchise en base de TVA. Suis-je concernée par la facturation électronique obligatoire en 2026 ? Que dois-je faire et quand ?",
"expected_output": "Le skill identifie que l'entreprise est assujettie à la TVA (même en franchise), détermine la taille (micro/PME), donne les échéances (réception sept. 2026, émission sept. 2027), recommande de choisir une PA, et mentionne les nouvelles mentions obligatoires.",
"files": [
"evals/files/company-webdev.json"
],
"assertions": [
"Le skill identifie que WebCraft est assujettie à la TVA même en franchise en base",
"L'échéance de réception est mentionnée : 1er septembre 2026",
"L'échéance d'émission est mentionnée : 1er septembre 2027 (car PME/micro)",
"Le skill recommande de choisir une plateforme agréée (PA)",
"Au moins une PA gratuite est mentionnée (Qonto, Indy, Pennylane ou Dext)",
"Les nouvelles mentions obligatoires 2026 sont citées (SIREN client, catégorie d'opération)",
"L'e-reporting est mentionné comme obligation complémentaire",
"Le skill mentionne que le PPF ne sert plus à émettre/recevoir des factures"
]
},
{
"id": 7,
"name": "facturation-generer-facture-conforme",
"prompt": "Génère une facture pour mon client TechSolutions SAS (SIREN 987654321, 45 avenue de la République, 75011 Paris) pour une prestation de développement d'application web, 10 jours de travail à 500 EUR/jour. Paiement à 30 jours par virement.",
"expected_output": "Le skill génère une facture complète avec toutes les mentions obligatoires, incluant les nouvelles mentions 2026 (SIREN client, catégorie prestation de services), la mention franchise TVA, les pénalités de retard et l'indemnité de 40 EUR.",
"files": [
"evals/files/company-webdev.json"
],
"assertions": [
"L'identité complète de WebCraft est présente (nom, SASU, adresse, SIRET)",
"L'identité du client est complète (TechSolutions SAS, adresse, SIREN 987654321)",
"Un numéro de facture est attribué (format séquentiel)",
"La date d'émission est présente",
"La désignation est précise (développement application web)",
"La quantité (10 jours) et le prix unitaire (500 EUR) sont indiqués",
"Le montant total est correct (5 000 EUR)",
"La mention franchise TVA est présente (art. 293 B du CGI)",
"La date d'échéance est calculée (30 jours après émission)",
"Les pénalités de retard sont mentionnées",
"L'indemnité forfaitaire de recouvrement de 40 EUR est mentionnée",
"La catégorie d'opération est indiquée (prestation de services)"
]
},
{
"id": 8,
"name": "facturation-choix-pa-auto-entrepreneur",
"prompt": "Je suis auto-entrepreneur en services informatiques, je facture environ 5 clients par mois, tous en France. Je n'ai pas de compte Qonto. Quelle plateforme agréée me recommandes-tu pour la facturation électronique ?",
"expected_output": "Le skill recommande une PA gratuite adaptée au profil (auto-entrepreneur, faible volume, B2B France), compare les options, et justifie le choix.",
"files": [],
"assertions": [
"Au moins deux PA gratuites sont comparées",
"Les critères de comparaison incluent le coût (gratuit), la facilité d'utilisation, et le public cible",
"La recommandation est justifiée par le profil (auto-entrepreneur, faible volume)",
"Le skill mentionne de vérifier que la PA est bien immatriculée sur impots.gouv.fr",
"L'échéance de réception (sept. 2026) est rappelée",
"L'e-reporting est abordé (ventes B2B → pas de reporting spécifique, géré par la facturation électronique)"
]
},
{
"id": 9,
"name": "facturation-validation-facture-incomplete",
"prompt": "Vérifie cette facture :\n\nFacture N° 2026-042\nDate : 15/09/2026\n\nWebCraft SASU\n12 rue du Commerce, Lyon\n\nClient : Jean Martin\n\nPrestation de conseil : 2 000 EUR\n\nÀ payer sous 30 jours.",
"expected_output": "Le skill identifie les mentions manquantes : SIRET émetteur, SIREN client (si B2B), mention franchise TVA, pénalités de retard, indemnité 40 EUR, catégorie d'opération (2026), quantité et prix unitaire, capital social et RCS.",
"files": [
"evals/files/company-webdev.json"
],
"assertions": [
"Le SIRET de l'émetteur est identifié comme manquant",
"Le SIREN du client est identifié comme manquant (ou demande de clarification B2B/B2C)",
"La mention franchise TVA (art. 293 B) est identifiée comme manquante",
"Les pénalités de retard sont identifiées comme manquantes",
"L'indemnité forfaitaire de 40 EUR est identifiée comme manquante",
"La quantité et le prix unitaire détaillés sont identifiés comme manquants",
"La forme juridique, le capital social ou le RCS sont identifiés comme manquants",
"La catégorie d'opération (prestation de services) est mentionnée comme manquante pour 2026",
"Le skill propose une version corrigée ou une liste de corrections"
]
},
{
"id": 10,
"name": "facturation-e-reporting-saas-b2c",
"prompt": "Mon SaaS WebCraft vend des abonnements à des particuliers via Stripe. Je suis en franchise TVA. Quelles sont mes obligations d'e-reporting à partir de 2027 ?",
"expected_output": "Le skill explique les obligations d'e-reporting B2C : transmission des données de transactions (totaux par période), fréquence semestrielle pour la franchise, pas d'e-reporting de paiement car pas de TVA à l'encaissement. Mentionne que la PA gère la transmission.",
"files": [
"evals/files/company-webdev.json"
],
"assertions": [
"L'e-reporting de transactions B2C est expliqué (ventes aux particuliers)",
"La fréquence de transmission est correcte (semestrielle pour franchise en base)",
"Les données à transmettre sont décrites (bases HT par taux, montants TVA cumulés)",
"Le skill précise que l'e-reporting de paiement ne s'applique pas en franchise TVA",
"Le rôle de la PA dans la transmission est mentionné",
"L'amende pour défaut de transmission est mentionnée (500 EUR par transmission)",
"L'échéance est correcte (1er septembre 2027 pour PME/micro)"
]
},
{
"id": 11,
"name": "frais-pro-president-sasu-ik-repas",
"prompt": "Je suis président de ma SASU DevStudio (régime réel normal de TVA), sans contrat de travail. Cette année j'ai fait 5 800 km pro avec ma voiture perso (5 CV, essence) et je me suis remboursé 30 déjeuners à 21,40 EUR au forfait, sans tickets, parce que c'est la limite URSSAF. Je compte aussi récupérer la TVA sur mes billets de train et mes nuits d'hôtel. Combien d'IK puis-je me verser, et est-ce que le reste est OK ?",
"expected_output": "Le skill calcule les IK sur le kilométrage annuel avec le barème (5 800 x 0,357 + 1 395 = 3 465,60 EUR), signale que le président de SAS n'a pas droit aux allocations forfaitaires de repas (remboursement au réel uniquement, sinon rémunération soumise à cotisations) et que la TVA sur le transport de personnes et l'hébergement n'est pas déductible.",
"files": [],
"assertions": [
"Les IK sont calculées sur le kilométrage annuel avec la tranche 5 001 à 20 000 km du barème 5 CV",
"Le montant d'IK annuel est 3 465,60 EUR",
"Le skill indique que le président de SAS/SASU sans contrat de travail n'a pas droit aux allocations forfaitaires de repas (réel uniquement, seules les IK sont forfaitaires)",
"Les 30 repas sans justificatif sont qualifiés de rémunération soumise à cotisations ou de charge non justifiée",
"Le skill indique que la TVA sur les billets de train (transport de personnes) n'est pas déductible",
"Le skill indique que la TVA sur l'hôtel (hébergement des dirigeants) n'est pas déductible"
]
},
{
"id": 12,
"name": "frais-pro-regularisation-ik-annuelle",
"prompt": "Ma SAS (régime réel normal de TVA) a un salarié qui utilise sa voiture perso 5 CV. On lui a payé chaque mois ses IK à 0,636 EUR/km. Au 31/12 il a fait 5 800 km pro, soit 3 688,80 EUR versés. Est-ce correct et comment je le comptabilise ?",
"expected_output": "Le skill explique que le barème s'applique au kilométrage annuel : plafond 3 465,60 EUR, donc 223,20 EUR versés en trop, à régulariser ou à soumettre à cotisations. Il propose l'écriture en 6251 sans TVA déductible.",
"files": [],
"assertions": [
"Le skill explique que la formule de la tranche du kilométrage annuel s'applique au total des km de l'année (pas trajet par trajet)",
"Le plafond annuel calculé est 3 465,60 EUR",
"L'excédent de 223,20 EUR est identifié",
"L'excédent est présenté comme à régulariser ou soumis à cotisations sociales",
"Les IK sont comptabilisées en compte 625 (6251 Voyages et déplacements ou subdivision équivalente)",
"Le skill précise qu'il n'y a pas de TVA déductible sur les IK"
]
}
]
}
evals/files/company-techflow.json
{
"name": "TECHFLOW",
"legal_form": "SAS",
"capital": 1000,
"address": "12 Rue de la Liberté, 69001 Lyon",
"siren": "987654321",
"siret": "98765432100012",
"rcs": "RCS Lyon",
"naf": "6201Z",
"president": {
"title": "Président",
"first_name": "Marie",
"last_name": "MARTIN",
"civility": "Mme"
},
"fiscal_year": {
"start": "2025-01-01",
"end": "2025-12-31",
"is_first_year": false
},
"tax": {
"regime_tva": "franchise",
"regime_is": "reel_simplifie",
"tva_rate": 0.20
},
"banks": [
{
"id": "qonto-main",
"name": "Qonto",
"account": "5121",
"fec_account": "51211"
}
],
"qonto": {
"enabled": true
},
"stripe_accounts": [
{
"id": "saas",
"name": "TechFlow SaaS",
"env_key": "STRIPE_SECRET_SAAS"
}
],
"city": "Lyon"
}
evals/files/company-webdev.json
{
"name": "WebCraft",
"legal_form": "SASU",
"capital": 1000,
"address": "12 rue du Commerce, 69002 Lyon",
"siren": "912345678",
"siret": "91234567800014",
"rcs": "RCS Lyon",
"naf": "6201Z",
"president": {
"title": "President",
"first_name": "Marie",
"last_name": "DURAND",
"civility": "Mme"
},
"fiscal_year": {
"start": "2026-01-01",
"end": "2026-12-31",
"is_first_year": false
},
"tax": {
"regime_tva": "franchise",
"regime_is": "reel_simplifie",
"tva_rate": 0.20
},
"banks": [
{
"id": "qonto",
"name": "Qonto",
"account": "5121",
"type": "api"
}
],
"qonto": {
"enabled": true
},
"stripe_accounts": [
{
"id": "saas",
"name": "WebCraft SaaS",
"env_key": "STRIPE_SECRET_SAAS"
}
],
"city": "Lyon"
}
evals/files/invoice-test.json
{
"number": "F-2026-001",
"date": "2026-09-15",
"due_date": "2026-10-15",
"type": "invoice",
"category": "services",
"client": {
"name": "TechSolutions SAS",
"address": "45 avenue de la République, 75011 Paris",
"siren": "987654321",
"siret": "98765432100014"
},
"lines": [
{
"description": "Développement application web",
"quantity": 10,
"unit": "jours",
"unit_price": 500.00
}
],
"payment": {
"terms": "30 jours date de facture",
"method": "virement"
}
}
evals/files/qonto-transactions.json
[
{
"id": "qto-001",
"source": "qonto",
"date": "2025-01-15T10:00:00Z",
"amount": -29.00,
"currency": "EUR",
"label": "Hetzner Cloud",
"reference": "INV-2025-001",
"counterparty": "Hetzner Online GmbH",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-002",
"source": "qonto",
"date": "2025-01-20T14:30:00Z",
"amount": -49.00,
"currency": "EUR",
"label": "GitHub Team",
"reference": "INV-2025-002",
"counterparty": "GitHub Inc",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-003",
"source": "qonto",
"date": "2025-02-03T09:00:00Z",
"amount": 850.00,
"currency": "EUR",
"label": "Stripe Payout",
"reference": "po_stripe_001",
"counterparty": "Stripe Payments",
"category": "income",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-004",
"source": "qonto",
"date": "2025-02-10T11:00:00Z",
"amount": -15.00,
"currency": "EUR",
"label": "OVH Domaine techflow.io",
"reference": "DOM-2025-001",
"counterparty": "OVH SAS",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-005",
"source": "qonto",
"date": "2025-03-01T08:00:00Z",
"amount": -29.00,
"currency": "EUR",
"label": "Hetzner Cloud",
"reference": "INV-2025-003",
"counterparty": "Hetzner Online GmbH",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-006",
"source": "qonto",
"date": "2025-03-05T10:00:00Z",
"amount": 1620.00,
"currency": "EUR",
"label": "Stripe Payout",
"reference": "po_stripe_002",
"counterparty": "Stripe Payments",
"category": "income",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-007",
"source": "qonto",
"date": "2025-03-15T09:30:00Z",
"amount": -5.90,
"currency": "EUR",
"label": "Frais bancaires Qonto",
"reference": "FEES-2025-Q1",
"counterparty": "Qonto",
"category": "finance_fee",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-008",
"source": "qonto",
"date": "2025-04-02T14:00:00Z",
"amount": -200.00,
"currency": "EUR",
"label": "Remboursement compte courant associé",
"reference": "CCA-001",
"counterparty": "Marie MARTIN",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-009",
"source": "qonto",
"date": "2025-05-01T08:00:00Z",
"amount": -29.00,
"currency": "EUR",
"label": "Hetzner Cloud",
"reference": "INV-2025-005",
"counterparty": "Hetzner Online GmbH",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-010",
"source": "qonto",
"date": "2025-06-05T10:00:00Z",
"amount": 2430.00,
"currency": "EUR",
"label": "Stripe Payout",
"reference": "po_stripe_003",
"counterparty": "Stripe Payments",
"category": "income",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-011",
"source": "qonto",
"date": "2025-07-01T08:00:00Z",
"amount": -29.00,
"currency": "EUR",
"label": "Hetzner Cloud",
"reference": "INV-2025-007",
"counterparty": "Hetzner Online GmbH",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-012",
"source": "qonto",
"date": "2025-09-10T10:00:00Z",
"amount": 3200.00,
"currency": "EUR",
"label": "Stripe Payout",
"reference": "po_stripe_004",
"counterparty": "Stripe Payments",
"category": "income",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-013",
"source": "qonto",
"date": "2025-10-01T08:00:00Z",
"amount": -599.00,
"currency": "EUR",
"label": "MacBook Air M3 recondit.",
"reference": "AMZN-2025-001",
"counterparty": "Amazon",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-014",
"source": "qonto",
"date": "2025-11-15T10:00:00Z",
"amount": 4100.00,
"currency": "EUR",
"label": "Stripe Payout",
"reference": "po_stripe_005",
"counterparty": "Stripe Payments",
"category": "income",
"our_category": null,
"status": "completed",
"raw": {}
},
{
"id": "qto-015",
"source": "qonto",
"date": "2025-12-20T09:00:00Z",
"amount": -49.00,
"currency": "EUR",
"label": "GitHub Team",
"reference": "INV-2025-012",
"counterparty": "GitHub Inc",
"category": "other_expense",
"our_category": null,
"status": "completed",
"raw": {}
}
]
evals/files/stripe-transactions.json
{
"account_id": "saas",
"account_name": "TechFlow SaaS",
"balanceTransactions": [
{
"id": "txn_001",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-01-10T08:00:00Z",
"type": "charge",
"amount_gross": 29.00,
"fee": 1.18,
"amount_net": 27.82,
"currency": "eur",
"description": "Abonnement mensuel - Client A",
"status": "available",
"payout_id": "po_stripe_001",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_002",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-01-10T08:01:00Z",
"type": "charge",
"amount_gross": 290.00,
"fee": 8.41,
"amount_net": 281.59,
"currency": "eur",
"description": "Abonnement annuel - Client B",
"status": "available",
"payout_id": "po_stripe_001",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_003",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-01-15T10:00:00Z",
"type": "charge",
"amount_gross": 29.00,
"fee": 1.18,
"amount_net": 27.82,
"currency": "eur",
"description": "Abonnement mensuel - Client C",
"status": "available",
"payout_id": "po_stripe_001",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_004",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-01-20T09:00:00Z",
"type": "charge",
"amount_gross": 540.00,
"fee": 12.84,
"amount_net": 527.16,
"currency": "eur",
"description": "Abonnement annuel - Client D",
"status": "available",
"payout_id": "po_stripe_001",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_005",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-02-10T08:00:00Z",
"type": "charge",
"amount_gross": 29.00,
"fee": 1.18,
"amount_net": 27.82,
"currency": "eur",
"description": "Abonnement mensuel - Client A",
"status": "available",
"payout_id": "po_stripe_002",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_006",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-02-15T10:00:00Z",
"type": "charge",
"amount_gross": 29.00,
"fee": 1.18,
"amount_net": 27.82,
"currency": "eur",
"description": "Abonnement mensuel - Client C",
"status": "available",
"payout_id": "po_stripe_002",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_007",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-02-20T14:00:00Z",
"type": "charge",
"amount_gross": 1650.00,
"fee": 37.65,
"amount_net": 1612.35,
"currency": "eur",
"description": "Abonnement annuel - Client E",
"status": "available",
"payout_id": "po_stripe_002",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_008",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-03-10T08:00:00Z",
"type": "charge",
"amount_gross": 29.00,
"fee": 1.18,
"amount_net": 27.82,
"currency": "eur",
"description": "Abonnement mensuel - Client A",
"status": "available",
"payout_id": "po_stripe_003",
"our_category": "revenue",
"raw": {}
},
{
"id": "txn_009",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-05-05T08:00:00Z",
"type": "refund",
"amount_gross": -29.00,
"fee": 0,
"amount_net": -29.00,
"currency": "eur",
"description": "Remboursement - Client A (mai)",
"status": "available",
"payout_id": "po_stripe_003",
"our_category": "refund",
"raw": {}
},
{
"id": "txn_010",
"source": "stripe",
"account_id": "saas",
"account_name": "TechFlow SaaS",
"date": "2025-10-01T08:00:00Z",
"type": "charge",
"amount_gross": 290.00,
"fee": 8.41,
"amount_net": 281.59,
"currency": "eur",
"description": "Abonnement annuel - Client F (oct 2025 - sept 2026)",
"status": "available",
"payout_id": "po_stripe_005",
"our_category": "revenue",
"raw": {}
}
],
"payouts": [
{
"id": "po_stripe_001",
"amount": 850.00,
"currency": "eur",
"arrival_date": "2025-02-01T00:00:00Z",
"status": "paid",
"method": "standard",
"description": "STRIPE PAYOUT"
},
{
"id": "po_stripe_002",
"amount": 1620.00,
"currency": "eur",
"arrival_date": "2025-03-03T00:00:00Z",
"status": "paid",
"method": "standard",
"description": "STRIPE PAYOUT"
},
{
"id": "po_stripe_003",
"amount": 2430.00,
"currency": "eur",
"arrival_date": "2025-06-03T00:00:00Z",
"status": "paid",
"method": "standard",
"description": "STRIPE PAYOUT"
},
{
"id": "po_stripe_004",
"amount": 3200.00,
"currency": "eur",
"arrival_date": "2025-09-08T00:00:00Z",
"status": "paid",
"method": "standard",
"description": "STRIPE PAYOUT"
},
{
"id": "po_stripe_005",
"amount": 4100.00,
"currency": "eur",
"arrival_date": "2025-11-13T00:00:00Z",
"status": "paid",
"method": "standard",
"description": "STRIPE PAYOUT"
}
],
"fetchedAt": "2026-01-05T10:00:00Z"
}
references/arborescence.md
# Arborescence des fichiers
Convention de nommage et rangement pour tous les fichiers comptables.
## Structure
```
data/
├── transactions/ # Transactions récupérées par les connecteurs (auto)
│ ├── qonto-main.json # Format : qonto-{slug-compte}.json
│ ├── stripe-saas.json # Format : stripe-{id-compte}.json
│ ├── stripe-boutique.json
│ └── stripe-summary.json # Résumé généré automatiquement
├── imports/ # Relevés bancaires importés manuellement
│ ├── bnp/ # Un dossier par banque (slug du nom)
│ │ ├── releve-2025-01.csv
│ │ ├── releve-2025-02.csv
│ │ └── ...
│ └── sg/
│ └── releve-2025-01.ofx
├── factures/ # Factures fournisseurs et clients
│ ├── fournisseurs/
│ │ └── 2025/
│ │ ├── 2025-01-15_hetzner_29.00.pdf
│ │ ├── 2025-02-10_ovh_15.00.pdf
│ │ └── ...
│ └── clients/
│ └── 2025/
│ ├── F-2025-001_client-a_290.00.pdf
│ └── ...
├── journal-entries.json # Journal comptable consolidé
├── pcg_YYYY.json # Plan Comptable Général (open data)
├── nomenclature-liasse-fiscale.csv
└── sources.json # Métadonnées des sources de données
output/ # Fichiers générés (états financiers, FEC, PDFs)
├── bilan.md
├── compte-de-resultat.md
├── balance.md
├── [SIREN]FEC[YYYYMMDD].txt
└── pdf/
├── bilan.pdf
├── compte-de-resultat.pdf
└── ...
```
## Conventions de nommage
### Transactions automatiques (`data/transactions/`)
Générées par les connecteurs, ne pas modifier manuellement.
| Source | Nom du fichier | Exemple |
|--------|---------------|---------|
| Qonto | `qonto-{slug}.json` | `qonto-main.json` |
| Stripe | `stripe-{id}.json` | `stripe-saas.json` |
Le `slug` et `id` viennent de `company.json` (champ `id` dans `banks` et `stripe_accounts`).
### Imports manuels (`data/imports/`)
Un dossier par banque, nommé avec le slug du nom (minuscules, tirets).
| Format | Nommage | Exemple |
|--------|---------|---------|
| Relevé mensuel | `releve-YYYY-MM.{csv,ofx,xlsx}` | `releve-2025-03.csv` |
| Relevé trimestriel | `releve-YYYY-T{1,2,3,4}.csv` | `releve-2025-T1.csv` |
| Relevé annuel | `releve-YYYY.csv` | `releve-2025.csv` |
| Export brut | `export-YYYY-MM-DD.csv` | `export-2025-12-31.csv` |
### Factures fournisseurs (`data/factures/fournisseurs/`)
Rangées par année, nommées par date, fournisseur et montant.
```
YYYY-MM-DD_{fournisseur}_{montant}.pdf
```
Exemples :
- `2025-01-15_hetzner_29.00.pdf`
- `2025-03-01_anthropic_450.00.pdf`
- `2025-10-01_amazon_599.00.pdf`
### Factures clients (`data/factures/clients/`)
Rangées par année, nommées par numéro de facture, client et montant.
```
{numero}_{client}_{montant}.pdf
```
Exemples :
- `F-2025-001_client-a_290.00.pdf`
- `F-2025-002_client-b_540.00.pdf`
### Fichiers générés (`output/`)
Ne pas modifier manuellement. Régénérés à chaque exécution des scripts.
## Règles
1. **Ne jamais modifier les fichiers dans `data/transactions/`**. Ils sont régénérés par `npm run fetch`.
2. **Les imports manuels dans `data/imports/` ne sont pas supprimés**. Ils servent de pièces justificatives.
3. **Le dossier `output/` peut être vidé et régénéré** à tout moment avec les scripts.
4. **Pas de secrets dans les fichiers**. Les clés API sont dans `.env`, pas dans les noms de fichiers ni les données.
5. **Tout en minuscules, tirets pour séparer les mots**. Pas d'espaces, pas de caractères spéciaux dans les noms de fichiers.
references/calendar.md
# Calendrier Fiscal et Social - France
## Vue Annuelle (Exercice = Année Civile)
### Janvier
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN décembre N-1 | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA décembre (régime réel normal) | CA3 |
| 15 au 24 (date dans l'espace pro) | TVS (taxe sur véhicules de société) | Annexe CA3 |
| 31 | Taxe sur les salaires (régularisation annuelle) | 2502 |
### Février
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN janvier | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA janvier | CA3 |
### Mars
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | **Acompte IS n°1** | 2571 |
| 15 | DSN février | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA février | CA3 |
### Avril
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN mars | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA mars | CA3 |
| 30 | Déclaration revenus (papier) | 2042 |
### Mai
| Date | Obligation | Formulaire |
|------|------------|------------|
| 2ème jour ouvré | **CVAE** : déclaration 1330-CVAE et solde 1329-DEF | 1330-CVAE / 1329-DEF |
| 2ème jour ouvré | **DAS2** (honoraires versés > 2 400 €/bénéficiaire/an ; exercice décalé : 3 mois après la clôture) | DAS2 |
| 2ème jour ouvré | **Liasse fiscale** (clôture 31/12) | 2065 (IS) / 2031 (BIC) |
| 2ème jour ouvré | **CA12** TVA régime simplifié | CA12 |
| 15 | **Solde IS** (clôture 31/12) | 2572 |
| 15 | DSN avril | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA avril | CA3 |
| Mi-mai | Déclaration revenus (internet) - Zone 1 | 2042 |
| Fin mai | Déclaration revenus (internet) - Zone 2 | 2042 |
### Juin
| Date | Obligation | Formulaire |
|------|------------|------------|
| Début juin | Déclaration revenus (internet) - Zone 3 | 2042 |
| 15 | **Acompte IS n°2** | 2571 |
| 15 | **Acompte CFE** (50 % de la CFE N-1, si CFE N-1 ≥ 3 000 €) | - |
| 15 | **CVAE acompte n°1** (50 %, si CVAE N-1 > 1 500 €) | 1329-AC |
| 15 | DSN mai | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA mai | CA3 |
### Juillet
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN juin | DSN |
| 15-24 | **Acompte TVA n°1** (régime simplifié) | 3514 |
| 15 au 24 (date dans l\'espace pro) | TVA juin | CA3 |
### Août
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN juillet | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA juillet | CA3 |
### Septembre
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | **Acompte IS n°3** | 2571 |
| 15 | **CVAE acompte n°2** (50 %, si CVAE N-1 > 1 500 €) | 1329-AC |
| 15 | DSN août | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA août | CA3 |
### Octobre
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN septembre | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA septembre | CA3 |
### Novembre
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | DSN octobre | DSN |
| 15 au 24 (date dans l\'espace pro) | TVA octobre | CA3 |
### Décembre
| Date | Obligation | Formulaire |
|------|------------|------------|
| 15 | **Acompte IS n°4** | 2571 |
| 15 | **CFE** (ou solde, acompte de juin déduit) | - |
| 15 | DSN novembre | DSN |
| 15-24 | **Acompte TVA n°2** (régime simplifié) | 3514 |
| 15 au 24 (date dans l\'espace pro) | TVA novembre | CA3 |
---
## Échéances Clés par Impôt
### Impôt sur les Sociétés
| Événement | Échéance |
|-----------|----------|
| Acompte 1 | 15 mars |
| Acompte 2 | 15 juin |
| Acompte 3 | 15 septembre |
| Acompte 4 | 15 décembre |
| Solde (clôture 31/12) | 15 mai |
| Liasse fiscale | 2ème jour ouvré après 1er mai |
**Pour clôtures autres que 31/12:**
- Solde: 15 du 4ème mois suivant la clôture
- Liasse: 3 mois après la clôture
### TVA
**Régime réel normal:**
| Période | Échéance CA3 |
|---------|--------------|
| Mois M | Entre le 15 et le 24 du mois M+1, à la date indiquée dans l'espace professionnel (service-public F23566) |
**Régime réel simplifié:**
| Événement | Échéance |
|-----------|----------|
| Acompte 1 | 15-24 juillet |
| Acompte 2 | 15-24 décembre |
| CA12 annuelle | 2ème jour ouvré après 1er mai |
### CET (CFE + CVAE)
**CFE:**
| Événement | Échéance |
|-----------|----------|
| Acompte (si CFE N-1 ≥ 3 000 €, 50 %) | 15 juin |
| Paiement ou solde | 15 décembre |
**CVAE:**
| Événement | Échéance |
|-----------|----------|
| Acompte 1 | 15 juin |
| Acompte 2 | 15 septembre |
| Solde + déclaration | 2ème jour ouvré après 1er mai |
Suppression progressive de la CVAE reportée à 2030 (loi n° 2025-127 du 14/02/2025, art. 62 ; BOFiP ACTU-2025-00145).
---
## DSN (Déclaration Sociale Nominative)
### Échéances Mensuelles
| Effectif | Échéance DSN |
|----------|--------------|
| ≥ 50 salariés | 5 du mois M+1 |
| < 50 salariés | 15 du mois M+1 |
### Contenu
- Salaires et cotisations
- Événements (arrêts, fins de contrat)
- Informations nominatives
---
## Obligations Sociales TNS
### URSSAF TNS
**Cotisations provisionnelles:**
- Mensuelles ou trimestrielles
- Basées sur revenus N-2 puis N-1
**Régularisation:**
- Après déclaration des revenus réels
- Ajustement des cotisations provisionnelles
### Calendrier Prélèvements (si mensuel)
Prélèvement le 5 ou le 20 de chaque mois (au choix).
---
## Obligations Juridiques
### Approbation des Comptes
| Forme | Délai après clôture |
|-------|---------------------|
| SARL/EURL | 6 mois |
| SAS/SASU | 6 mois |
| SA | 6 mois |
### Dépôt des Comptes au Greffe
**Délai:** 1 mois après approbation (2 mois si dépôt électronique)
**Documents:**
- Comptes annuels
- Rapport de gestion (si obligatoire)
- PV d'AG / décision de l'associé unique
- Proposition d'affectation du résultat
### Assemblée Générale Ordinaire
**Objet:**
- Approbation des comptes
- Affectation du résultat
- Quitus aux dirigeants
- Conventions réglementées
---
## Cas Particuliers
### Première Année d'Activité
| Obligation | Particularité |
|------------|---------------|
| CFE | Exonération totale |
| IS acomptes | Basés sur estimation, dispense si < 3 000 € |
| TVA | Régime choisi à la création |
### Cessation d'Activité
| Obligation | Délai |
|------------|-------|
| Déclaration résultat | 60 jours |
| TVA | 30 jours |
| CFE | Au prorata temporis |
### Changement d'Exercice
- Déclaration dans les 3 mois suivant la nouvelle clôture
- Première année de changement peut être > ou < 12 mois
---
## Pénalités de Retard
### Pénalités Fiscales
| Infraction | Pénalité |
|------------|----------|
| Déclaration tardive | 10% (spontané) à 40% (mise en demeure) |
| Défaut de paiement | 5% + intérêts de retard (0,20%/mois) |
| Insuffisance déclaration | 10% à 80% selon gravité |
### Pénalités Sociales
| Infraction | Pénalité |
|------------|----------|
| DSN tardive | 7,50 € par salarié (max 750 €) |
| Cotisations impayées | 5% + majorations de retard |
---
## Rappels et Alertes
### À Surveiller Mensuellement
- [ ] TVA (si régime normal)
- [ ] DSN
- [ ] Rapprochement bancaire
### À Surveiller Trimestriellement
- [ ] Acomptes IS
- [ ] CVAE (si concerné)
- [ ] TVA (si trimestriel)
### À Surveiller Annuellement
- [ ] Liasse fiscale
- [ ] CA12 (régime simplifié)
- [ ] CFE
- [ ] TVS
- [ ] Approbation comptes
- [ ] Dépôt greffe
- [ ] DAS2
references/closing.md
# Clôture des Comptes - Guide Complet
## Processus de Clôture
### Chronologie
```
J-60 Inventaire physique des stocks
J-30 Collecte des pièces manquantes
J-15 Rapprochements bancaires
J-7 Écritures d'inventaire
J-3 Révision des comptes
J Clôture définitive
J+90 Liasse fiscale (3 mois après clôture)
J+180 Approbation des comptes (6 mois après clôture)
```
---
## Travaux Préparatoires
### 1. Rapprochement Bancaire
**Objectif:** S'assurer que le solde comptable = solde bancaire.
**Méthode:**
```
Solde bancaire (relevé)
+ Chèques émis non encaissés
- Chèques reçus non remis
+ Virements reçus non comptabilisés
- Virements émis non débités
± Frais/agios non comptabilisés
= Solde comptable (compte 512)
```
**État de rapprochement:**
| Élément | Banque | Comptabilité |
|---------|--------|--------------|
| Solde de départ | X XXX | X XXX |
| Régularisations | ± XXX | ± XXX |
| Solde rapproché | X XXX | X XXX |
### 2. Lettrage des Comptes de Tiers
**Comptes à lettrer:**
- 401 Fournisseurs
- 411 Clients
- 421 Personnel
- 43X Organismes sociaux
- 44X État
**Principe:** Rapprocher débits et crédits correspondant à une même opération.
**Analyse des non-lettrés:**
- Factures non réglées → Solde justifié
- Règlements non affectés → Recherche de facture
- Écarts anciens → Régularisation ou provision
### 3. Justification des Soldes
Chaque compte doit être justifié par:
- Documents (factures, relevés, contrats)
- Calculs (paie, amortissements, provisions)
- Confirmations (soldes clients/fournisseurs)
---
## Écritures d'Inventaire
### Cut-Off (Séparation des Exercices)
#### Charges Constatées d'Avance (CCA)
Charges payées en N mais concernant N+1.
**Exemples:** Loyer janvier payé en décembre, assurance annuelle.
```
Débit 486 Charges constatées d'avance X XXX,XX
Crédit 6XX Compte de charge X XXX,XX
```
**Calcul pro rata:**
```
CCA = Montant total × (Jours N+1 / Jours totaux)
```
#### Charges à Payer (CAP)
Charges de N non encore facturées/payées.
**Exemples:** Factures fournisseurs non parvenues, intérêts courus.
```
Facture non parvenue:
Débit 6XX Charge X XXX,XX
Débit 44586 TVA sur FNP XXX,XX
Crédit 408 Fournisseurs - FNP X XXX,XX
Intérêts courus non échus:
Débit 6611 Intérêts des emprunts XXX,XX
Crédit 1688 Intérêts courus XXX,XX
```
#### Produits Constatés d'Avance (PCA)
Produits encaissés en N mais concernant N+1.
**Exemples:** Abonnements, locations perçues d'avance.
```
Débit 7XX Compte de produit X XXX,XX
Crédit 487 Produits constatés d'avance X XXX,XX
```
#### Produits à Recevoir (PAR)
Produits de N non encore facturés/encaissés.
**Exemples:** Factures à établir, intérêts à recevoir.
```
Facture à établir:
Débit 418 Clients - FAE X XXX,XX
Crédit 7XX Produit X XXX,XX
Crédit 44587 TVA sur FAE XXX,XX
```
---
## Amortissements
### Règles Générales
**Durées d'amortissement usuelles:**
| Immobilisation | Durée fiscale |
|----------------|---------------|
| Logiciels | 1-3 ans |
| Matériel informatique | 3 ans |
| Mobilier | 5-10 ans |
| Véhicules | 4-5 ans |
| Agencements | 10 ans |
| Constructions | 20-50 ans |
### Méthodes d'Amortissement
#### Linéaire (Défaut)
```
Annuité = Valeur brute / Durée
```
**Prorata temporis:** Première et dernière année au prorata.
Base civile retenue ici : 365 jours, conforme à la pratique fiscale usuelle pour l'amortissement des immobilisations.
```
Annuité N = (Valeur / Durée) × (Jours utilisés / 365)
```
#### Dégressif (Option)
**Biens éligibles:** Matériel industriel, informatique (durée ≥ 3 ans).
**Coefficients:**
| Durée | Coefficient |
|-------|-------------|
| 3-4 ans | 1,25 |
| 5-6 ans | 1,75 |
| > 6 ans | 2,25 |
```
Taux dégressif = Taux linéaire × Coefficient
Annuité = VNC début période × Taux dégressif
```
Passage au linéaire quand linéaire > dégressif sur durée restante.
### Écriture d'Amortissement
```
Débit 6811 Dotations amortissements X XXX,XX
Crédit 28XX Amortissement immo. X XXX,XX
```
### Amortissement Dérogatoire
Différence entre amortissement fiscal et comptable.
```
Dotation dérogatoire (fiscal > comptable):
Débit 68725 Dotations amort. dérogatoires XXX,XX
Crédit 145 Amortissements dérogatoires XXX,XX
Reprise dérogatoire (comptable > fiscal):
Débit 145 Amortissements dérogatoires XXX,XX
Crédit 78725 Reprises amort. dérogatoires XXX,XX
```
---
## Provisions et Dépréciations
### Provisions pour Risques et Charges
**Conditions:**
1. Obligation envers un tiers
2. Sortie probable de ressources
3. Estimation fiable du montant
| Type | Compte |
|------|--------|
| Litiges | 1511 |
| Amendes | 1514 |
| Pertes de change | 1515 |
| Garanties | 1512 |
| Retraites | 153 |
**Écriture:**
```
Dotation:
Débit 6815 Dotations provisions exploitation X XXX,XX
Crédit 15XX Provision X XXX,XX
Reprise (risque éteint ou réalisé):
Débit 15XX Provision X XXX,XX
Crédit 7815 Reprises provisions exploitation X XXX,XX
```
### Dépréciations d'Actifs
#### Créances Douteuses
**Processus:**
1. Identifier les créances à risque
2. Transférer en compte 416
3. Calculer la perte probable (HT)
4. Doter la dépréciation
```
Transfert en douteux:
Débit 416 Clients douteux X XXX,XX
Crédit 411 Clients X XXX,XX
Dépréciation (base HT):
Débit 6817 Dotations dépréciations XXX,XX
Crédit 491 Dépréciation clients XXX,XX
```
**Créance irrécouvrable:**
```
Débit 654 Pertes sur créances X XXX,XX
Débit 44571 TVA collectée (régularisation) XXX,XX
Crédit 416 Clients douteux X XXX,XX
Reprise dépréciation:
Débit 491 Dépréciation clients XXX,XX
Crédit 7817 Reprises dépréciations XXX,XX
```
#### Dépréciation des Stocks
```
Débit 6817 Dotations dépréciations XXX,XX
Crédit 39X Dépréciation stocks XXX,XX
```
### Provisions Réglementées
**Amortissements dérogatoires:** Compte 145
**Autres:** Provisions pour hausse des prix, fluctuation des cours...
---
## Stocks
### Inventaire Physique
**Méthode:**
1. Comptage physique à la clôture
2. Valorisation au coût d'acquisition/production
3. Comparaison valeur actuelle (si < coût → dépréciation)
### Variation de Stock
**Marchandises et matières (achats):**
```
Stock initial → Stock final
Annulation SI:
Débit 6037 Variation stock marchandises X XXX,XX
Crédit 37 Stock de marchandises X XXX,XX
Constatation SF:
Débit 37 Stock de marchandises X XXX,XX
Crédit 6037 Variation stock marchandises X XXX,XX
```
**Produits finis (production):**
```
Débit 355 Stock produits finis X XXX,XX
Crédit 7135 Variation stocks produits X XXX,XX
```
### Méthodes de Valorisation
| Méthode | Principe |
|---------|----------|
| CUMP | Coût unitaire moyen pondéré |
| FIFO | Premier entré, premier sorti |
| Coût réel | Identification spécifique |
---
## Écritures de Régularisation TVA
### TVA Collectée vs Déductible
```
Centralisation mensuelle:
Débit 44571 TVA collectée XX XXX,XX
Crédit 44566 TVA déductible ABS XX XXX,XX
Crédit 44562 TVA déductible immo. XXX,XX
Crédit 44551 TVA à décaisser X XXX,XX
```
### Crédit de TVA
```
Si TVA déductible > collectée:
Débit 44567 Crédit de TVA X XXX,XX
Crédit 44566/44562 X XXX,XX
```
---
## Impôt sur les Sociétés
### Calcul
```
Résultat comptable
+ Réintégrations fiscales
- Déductions fiscales
- Déficits antérieurs reportés
= Résultat fiscal
IS = Résultat fiscal × Taux
```
### Écriture
```
Charge d'IS:
Débit 695 Impôt sur les bénéfices X XXX,XX
Crédit 444 État - IS X XXX,XX
Acomptes déjà versés:
Le compte 444 est débité lors des versements
→ Solde = IS à payer ou crédit d'impôt
```
---
## Affectation du Résultat
### Bénéfice
```
Débit 120 Résultat (bénéfice) XX XXX,XX
Crédit 1061 Réserve légale X XXX,XX
Crédit 106X Autres réserves X XXX,XX
Crédit 457 Dividendes à payer X XXX,XX
Crédit 110 Report à nouveau X XXX,XX
```
### Perte
```
Débit 119 Report à nouveau débiteur XX XXX,XX
Crédit 129 Résultat (perte) XX XXX,XX
```
---
## Checklist de Clôture
### Avant Clôture
- [ ] Rapprochements bancaires complets
- [ ] Lettrage clients/fournisseurs
- [ ] Inventaire physique des stocks
- [ ] Collecte des factures manquantes
- [ ] Confirmation des soldes intercompagnies
### Écritures d'Inventaire
- [ ] Cut-off charges (CCA, CAP)
- [ ] Cut-off produits (PCA, PAR)
- [ ] Amortissements
- [ ] Provisions pour risques
- [ ] Dépréciations créances
- [ ] Dépréciations stocks
- [ ] Variation des stocks
- [ ] Régularisation TVA
### Contrôles Finaux
- [ ] Balance équilibrée
- [ ] Cohérence bilan/résultat
- [ ] Contrôle des comptes d'attente (soldés)
- [ ] Vérification IS
- [ ] Cohérence exercice précédent
### Post-Clôture
- [ ] Extournes automatiques (CCA, PCA, CAP, PAR)
- [ ] Liasse fiscale
- [ ] Rapport de gestion
- [ ] Approbation AG
- [ ] Dépôt greffe
---
## Contrôles de Cohérence
### Ratios à Vérifier
| Ratio | Formule | Attendu |
|-------|---------|---------|
| BFR | AC - PC (hors tréso) | Cohérent avec activité |
| Trésorerie | Dispo - CBC | ≈ Relevés bancaires |
| Marge brute | (Ventes - Achats) / Ventes | Stable vs N-1 |
| Charge personnel / CA | Masse salariale / CA | Stable vs N-1 |
### Variations Anormales
Investiguer toute variation > 10% par rapport à N-1 sans explication évidente.
### Contrôle Croisé
| Compte | Vérification |
|--------|--------------|
| 512 Banque | = Relevé après rapprochement |
| 401 Fournisseurs | = Balance âgée |
| 411 Clients | = Balance âgée |
| 421 Personnel | = Dernière paie |
| 431 URSSAF | = Dernière DSN |
| 444 État IS | = Calcul IS - acomptes |
| 445 TVA | = Dernière CA3/CA12 |
references/cloture-workflow.md
# Workflow de Clôture Annuelle
Guide d'exécution complet pour la clôture des comptes annuels d'une entreprise française soumise à l'IS.
Ce workflow couvre les 12 étapes de la clôture, de la collecte des données au dépôt au greffe, en s'appuyant sur les scripts du repo pour automatiser les sorties (FEC, états financiers, PDFs, formulaires fiscaux).
---
## Vue d'ensemble
```
Phase 1 : Préparation des données
1. Collecte des transactions (banques, plateformes de paiement)
2. Catégorisation des dépenses (mappage vendor → PCG)
3. Rapprochement bancaire
Phase 2 : Écritures d'inventaire
4. Immobilisations et amortissements
5. Cut-off (CCA, PCA, CAP, PAR)
6. Provisions et dépréciations
7. IS (Impôt sur les sociétés)
Phase 3 : Génération des états
8. Journal des écritures (journal-entries.json)
9. États financiers (Bilan, Compte de résultat, Balance, Grand livre)
10. FEC (Fichier des Écritures Comptables)
Phase 4 : Déclarations et dépôt
11. Liasse fiscale (2065-SD + 2033-A à 2033-D)
12. Documents de dépôt (PV, Déclaration confidentialité, Dépôt greffe)
13. Génération des PDFs
```
---
## Phase 1 : Préparation des données
### Étape 1 : Collecte des transactions
**Objectif** : Rassembler TOUTES les transactions de l'exercice.
**Sources à collecter** :
| Source | Méthode | Format |
|--------|---------|--------|
| Qonto | `npm run fetch:qonto` (connecteur intégré) | JSON dans `data/transactions/qonto-*.json` |
| Autre banque | Export CSV/OFX depuis l'espace en ligne | Transactions avec date, montant, libellé |
| Stripe | `npm run fetch:stripe` (connecteur intégré) | JSON dans `data/transactions/stripe-*.json` |
| PayPal / Mollie / autre | Export depuis la plateforme | Charges, payouts, fees, refunds |
| Factures fournisseurs | Google Drive / email | PDF avec montant, TVA, date |
| Factures clients | Logiciel facturation | Numéro, montant, date, client |
**Connecteurs intégrés** :
Si vous utilisez Qonto et/ou Stripe, les connecteurs dans `integrations/` permettent de récupérer les transactions automatiquement. Voir la configuration dans `company.json` et le README dans `integrations/`.
```bash
# Récupérer toutes les transactions de l'exercice
npm run fetch
# ou séparément avec filtrage par date :
node integrations/qonto/fetch.js --start 2025-01-01 --end 2025-12-31
node integrations/stripe/fetch.js --start 2025-01-01 --end 2025-12-31
```
**Format de sortie** : Un fichier JSON par source dans `data/transactions/`.
**Contrôle** : Vérifier que la somme des transactions bancaires correspond au solde bancaire de clôture.
### Étape 2 : Catégorisation des dépenses
**Objectif** : Associer chaque transaction à un compte PCG.
**Règles de catégorisation** :
| Type de dépense | Compte PCG | Exemples |
|----------------|------------|----------|
| API / services cloud | 604 | Anthropic, OpenAI, fal.ai |
| Hébergement / SaaS | 6135 | Hetzner, Vercel, MongoDB, GitHub |
| Bureau domicile | 6132 | Quote-part charges locatives |
| Documentation | 6181 | Livres, formations |
| Intermédiaires | 622 | Comptable, freelances |
| Publicité | 6231 | Annonces, directories |
| Frais bancaires | 627 | Frais bancaires, commissions |
| Commissions paiement | 6278 | Frais Stripe par transaction |
| Domaines | 651 | Noms de domaine |
| Chargebacks | 654 | Litiges Stripe perdus |
| Immobilisations (>500 EUR) | 2183 | Matériel informatique |
| SaaS revenue | 706 | Abonnements clients |
| Ventes ponctuelles | 707 | Ventes de marchandises |
| Cession d'actif | 775 | Vente de domaine |
**Cas spéciaux** :
- **Amazon** : distinguer fournitures (<500 EUR → 606) des immobilisations (>500 EUR → 2183)
- **Stripe fees** : enregistrer le CA brut en 706 et les frais en 6278 (pas le net)
- **Transferts internes** : Neutraliser (débit banque A, crédit banque B)
- **Devises** : Convertir en EUR au taux du jour ou au taux de change de la plateforme de paiement
### Étape 3 : Rapprochement bancaire
**Objectif** : Vérifier que le solde comptable = solde bancaire réel.
```
Solde bancaire (relevé au 31/12)
+ Opérations comptabilisées non débitées
- Opérations débitées non comptabilisées
= Solde comptable (compte 512)
```
**Avec les connecteurs Qonto + Stripe** :
Le rapprochement peut être largement automatisé en croisant les données des deux sources :
1. **Payouts Stripe vers Qonto** : Chaque payout Stripe (virement vers la banque) apparait comme un crédit sur le compte Qonto. Vérifier que chaque `payout` dans `stripe-*.json` a un crédit correspondant dans `qonto-*.json` (montant identique, date +2 à +7 jours).
2. **Transactions Qonto sans Stripe** : Ce sont les dépenses directes (fournisseurs, charges, virements) qui constituent les charges et immobilisations de l'exercice.
3. **Stripe fees** : Les frais Stripe ne transitent pas par Qonto (ils sont retenus sur les charges). Ils apparaissent dans les balance transactions Stripe avec `type: "stripe_fee"` et doivent être comptabilisés en charges (627/6278).
4. **Solde final** : Le solde Qonto au 31/12 doit correspondre au solde du compte 512 dans le journal des écritures.
**Contrôle** : L'écart doit être nul. Si écart, identifier et régulariser.
---
## Phase 2 : Écritures d'inventaire
### Étape 4 : Immobilisations et amortissements
**Seuil d'immobilisation** : 500 EUR HT (ou TTC si franchise TVA).
**Méthode standard** : Linéaire. Durées usuelles :
- Matériel informatique : 3 ans
- Logiciels : 1-3 ans
- Mobilier : 5-10 ans
**Prorata temporis** : Première année au prorata du nombre de jours d'utilisation.
```
Dotation = (Valeur brute / Durée en années) x (Jours d'utilisation / 365)
```
**Écriture** :
```
Débit 6811 Dotations aux amortissements XXX,XX
Crédit 28XX Amortissements immobilisations XXX,XX
```
### Étape 5 : Cut-off (Séparation des exercices)
#### Produits Constatés d'Avance (PCA) — CRITIQUE pour SaaS
Les PCA représentent la part des revenus encaissés sur l'exercice N mais qui couvrent une période en N+1. C'est le point de cut-off le plus important pour une entreprise SaaS avec des abonnements annuels.
**Exemple** : Abonnement annuel de 120 EUR payé le 01/10/2025, couvre 01/10/2025 au 30/09/2026.
- Part N : 92 jours (oct-déc) = 120 x 92/365 = 30,25 EUR (revenue)
- Part N+1 : 273 jours (jan-sep) = 120 x 273/365 = 89,75 EUR (PCA)
**Calcul** :
```
PCA = Montant total x (Jours couvrant N+1 / Durée totale de la période)
```
**Pour les abonnements en devise étrangère (USD)** :
Utiliser le montant EUR réel reçu (taux de change appliqué à la transaction par la plateforme de paiement), pas une conversion théorique.
**Écriture** :
```
Débit 706 Prestations de services XXX,XX
Crédit 487 Produits constatés d'avance XXX,XX
```
**Extourne au 01/01/N+1** (écriture d'ouverture) :
```
Débit 487 Produits constatés d'avance XXX,XX
Crédit 706 Prestations de services XXX,XX
```
#### Charges Constatées d'Avance (CCA)
Charges payées en N mais concernant N+1 (assurance annuelle, abonnement annuel payé d'avance).
```
Débit 486 Charges constatées d'avance XXX,XX
Crédit 6XX Compte de charge XXX,XX
```
#### Charges à Payer (CAP)
Charges de N non encore facturées (factures fournisseurs non parvenues).
```
Débit 6XX Charge XXX,XX
Crédit 408 Fournisseurs — FNP XXX,XX
```
#### Produits à Recevoir (PAR)
Revenus de N non encore facturés (factures à établir).
```
Débit 418 Clients — FAE XXX,XX
Crédit 7XX Produit XXX,XX
```
### Étape 6 : Provisions et dépréciations
- Provisions pour risques : litiges en cours, garanties
- Dépréciation des créances : clients douteux
- Dépréciation des stocks : stocks obsolètes
### Étape 7 : Impôt sur les sociétés
**Calcul du résultat fiscal** :
```
Résultat comptable (avant IS)
+ Réintégrations extra-comptables (charges non déductibles)
- Déductions extra-comptables
- Déficits antérieurs reportés
= Résultat fiscal
```
**Taux IS (2025)** :
| Tranche | Taux | Conditions |
|---------|------|------------|
| 0 à 42 500 EUR | 15% | PME : CA < 10M, capital libéré, 75%+ personnes physiques |
| Au-delà | 25% | Taux normal |
**Prorata pour exercice court** :
```
Seuil taux réduit = 42 500 x (Jours exercice / 365)
```
**Écriture** :
```
Débit 695 Impôt sur les bénéfices X XXX,XX
Crédit 444 État — IS X XXX,XX
```
---
## Phase 3 : Génération des états
### Étape 8 : Journal des écritures
Consolider toutes les écritures dans `data/journal-entries.json`.
**Format standard** :
```json
[
{
"num": 1,
"date": "2025-03-06",
"journal": "BQ",
"ref": "REF-001",
"label": "Achat fournitures",
"lines": [
{ "account": "606", "debit": 45.99, "credit": 0 },
{ "account": "5121", "debit": 0, "credit": 45.99 }
]
}
]
```
**Codes journaux** :
| Code | Journal |
|------|---------|
| BQ | Banque principale |
| BN | Banque secondaire |
| VE | Ventes |
| AC | Achats |
| OD | Opérations diverses |
| AN | À nouveaux |
### Étape 9 : États financiers
```bash
node scripts/generate-statements.js
```
Génère dans `output/` :
- `bilan.md` — Bilan (Actif / Passif)
- `compte-de-resultat.md` — Compte de résultat (Produits / Charges / Résultat)
- `balance.md` — Balance générale (tous les comptes avec soldes)
**Contrôles automatiques** :
- Balance équilibrée (total débits = total crédits)
- Bilan équilibré (actif = passif)
- Résultat P&L = résultat au bilan
### Étape 10 : FEC
```bash
node scripts/generate-fec.js
```
Génère `output/[SIREN]FEC[YYYYMMDD].txt`.
**Contrôles automatiques** :
- 18 colonnes format pipe
- Équilibre global
- Équilibre par écriture
- Numérotation séquentielle
---
## Phase 4 : Déclarations et dépôt
### Étape 11 : Liasse fiscale
Utiliser le template `templates/liasse-fiscale-2033.md` pour préparer :
- **2065-SD** : Déclaration de résultat (utiliser `templates/2065-sd.html`)
- **2033-A** : Bilan simplifié
- **2033-B** : Compte de résultat simplifié
- **2033-C** : Immobilisations et amortissements
- **2033-D** : Provisions et déficits
**Vérification croisée** :
- 2033-A actif = 2033-A passif
- 2033-B résultat = 2033-A résultat (case DI)
- 2033-C valeurs fin = 2033-A immobilisations brutes
- 2065 résultat fiscal cohérent avec 2033-B + réintégrations
### Étape 12 : Documents de dépôt
**Templates disponibles dans `templates/`** :
| Document | Template | Obligatoire |
|----------|----------|-------------|
| Comptes annuels (Bilan + CR + Annexe) | Générés par le script | Oui |
| Décision d'approbation des comptes | `approbation-comptes.md` | Oui |
| Déclaration de confidentialité | `declaration-confidentialite.html` | Optionnel (petite entreprise) |
| Liasse fiscale 2065+2033 | `liasse-fiscale-2033.md` + `2065-sd.html` | Oui (au SIE) |
| Checklist dépôt greffe | `depot-greffe-checklist.md` | Aide interne |
| FEC | Généré par le script | À conserver (10 ans) |
### Étape 13 : PDFs
```bash
node scripts/generate-pdfs.js
```
Convertit tous les .md du dossier `output/` en PDFs professionnels avec en-tête société, pagination, et mise en forme A4.
---
## Échéances
| Date | Déclaration | Formulaire |
|------|-------------|------------|
| J+90 (3 mois après clôture) | Liasse fiscale | 2065 + 2033 A/B/C/D via EDI-TDFC |
| 15 mai (exercice cal.) | Paiement IS solde | 2572-SD (télépaiement) |
| J+180 (6 mois après clôture) | Approbation comptes | Décision associé unique ou PV d'AG |
| J+180 + 30j | Dépôt greffe | Comptes annuels + PV + décl. confidentialité |
Pour un exercice clos le 31/12 :
- Liasse fiscale : **2e jour ouvré après le 1er mai** (~3-4 mai)
- Paiement IS : **15 mai**
- Approbation : **30 juin** au plus tard
- Dépôt greffe : **30 juillet** au plus tard
---
## Cas spéciaux
### Premier exercice
- L'exercice peut être différent de 12 mois (ex: 25/02 au 31/12 = 309 jours)
- Prorata pour les amortissements ET pour le seuil IS à taux réduit
- Les dépenses payées avant la création (max 6 mois) peuvent être reprises via le compte courant d'associé (455)
### Franchise TVA
- Pas de TVA collectée ni déductible
- Seuil : 36 800 EUR pour les services (2025), 37 500 EUR (2026)
- Surveiller le CA cumulé mois par mois
- Si dépassement : obligation de collecte à partir de la date de dépassement
### Compte courant d'associé (455)
Le compte courant enregistre les avances et remboursements entre l'associé et la société :
- Charges pré-constitution (délai : 6 mois après création)
- Bureau domicile (quote-part justifiée par surface et charges)
- Dépenses professionnelles payées sur compte personnel
**Documentation** : chaque mouvement doit être justifié par une facture ou un calcul détaillé.
### SaaS multi-devises
Pour les revenus en devise étrangère (USD, GBP, etc.) :
- Utiliser le taux de change EUR réel de la plateforme de paiement (balance_transaction)
- Ne pas utiliser un taux moyen ou le taux BCE
- Le taux de la plateforme inclut déjà la conversion et est celui du jour effectif
---
## Automatisation avec les scripts
| Script | Input | Output |
|--------|-------|--------|
| `generate-statements.js` | `data/journal-entries.json` + `company.json` | `output/bilan.md`, `compte-de-resultat.md`, `balance.md` |
| `generate-fec.js` | `data/journal-entries.json` + `company.json` | `output/[SIREN]FEC[YYYYMMDD].txt` |
| `generate-pdfs.js` | `output/*.md` + `company.json` + `templates/` | `output/pdf/*.pdf` |
**Ce qui est automatisé** :
- Génération du FEC à partir du journal
- Génération du bilan, compte de résultat, balance
- Conversion en PDFs professionnels
- Pré-remplissage des templates (2065, déclaration confidentialité, PV)
**Ce qui reste manuel** :
- La collecte initiale des transactions (selon vos sources)
- La catégorisation des dépenses (règles spécifiques à votre activité)
- Le calcul des PCA (nécessite l'analyse des périodes de couverture)
- La validation des montants de la liasse fiscale
- La signature et le dépôt effectif (Infogreffe, impots.gouv.fr)
- Le télépaiement de l'IS
references/facturation/e-reporting.md
# E-reporting
## Définition
L'e-reporting est la transmission de données de transaction et de paiement à l'administration fiscale (DGFiP), via la PA choisie, pour les opérations **non couvertes** par la facturation électronique B2B domestique.
L'e-reporting ne concerne pas les factures B2B entre assujettis en France (celles-ci sont déjà transmises via la facturation électronique). Il couvre les "angles morts" : B2C, international, encaissements.
## Calendrier
| Qui | Obligation e-reporting |
|-----|----------------------|
| Grandes entreprises et ETI | 1er septembre 2026 |
| PME et micro-entreprises | 1er septembre 2027 |
## Les deux composantes
### 1. E-reporting de transactions
Concerne les opérations avec :
- Des **non-assujettis** (particuliers, associations exonérées) : ventes B2C
- Des **entreprises étrangères** (hors France) : ventes export, prestations intra-UE
**Données à transmettre :**
Pour les transactions avec des non-assujettis (B2C) :
- Période (date ou plage de dates)
- Bases HT par taux de TVA
- Montants de TVA cumulés par taux
Pour les transactions avec des entreprises étrangères :
- Mêmes données qu'une facture B2B (identité des parties, montants, TVA)
- Numéro TVA intracommunautaire au lieu du SIREN
### 2. E-reporting de paiement
Concerne les **encaissements** liés aux prestations de services, pour lesquelles la TVA est exigible à l'encaissement (régime par défaut pour les services).
**Données à transmettre :**
- Date de l'encaissement
- Montant encaissé
- Ventilation par taux de TVA
**Qui est concerné :** les entreprises dont la TVA est exigible à l'encaissement (prestations de services, sauf option pour les débits).
**Qui n'est pas concerné :** les entreprises en franchise en base de TVA (pas de TVA à déclarer) et les entreprises dont la TVA est exigible à la facturation (livraisons de biens, option pour les débits).
## Fréquence de transmission
La fréquence dépend du régime TVA de l'entreprise :
| Régime TVA | Fréquence e-reporting |
|-----------|----------------------|
| Réel normal (CA3 mensuelle) | Mensuelle |
| Réel normal (CA3 trimestrielle) | Trimestrielle |
| Réel simplifié (CA12 annuelle) | Semestrielle |
| Franchise en base | Semestrielle |
**Délai** : les données doivent être transmises au plus tard le **10ème jour** suivant la fin de la période (mois, trimestre ou semestre).
## Cas pratiques
### SaaS B2C (Stripe)
Entreprise SaaS qui vend à des particuliers via Stripe :
- **E-reporting de transactions** : transmettre les totaux B2C (bases HT + TVA par taux)
- **E-reporting de paiement** : transmettre les encaissements (dates + montants par taux TVA)
- La PA gère la transmission si les données sont saisies/importées
### Prestations intra-UE
Entreprise qui facture des clients B2B dans l'UE :
- **E-reporting de transactions** : transmettre les données de chaque facture (pas de SIREN, utiliser numéro TVA intracom)
- L'autoliquidation s'applique (TVA due par le preneur)
### Franchise en base avec ventes B2C
Auto-entrepreneur en franchise qui vend à des particuliers :
- **E-reporting de transactions** : transmettre les totaux semestriels (pas de TVA car franchise)
- **Pas d'e-reporting de paiement** : pas de TVA exigible
### Ventes export (hors UE)
- **E-reporting de transactions** : transmettre les données des factures export
- TVA exonérée (art. 262 I du CGI)
## En pratique
La PA choisie gère la transmission des données d'e-reporting. L'entreprise doit :
1. **Saisir ou importer** les données de ventes B2C et internationales dans sa PA
2. **Confirmer** les données avant chaque transmission
3. **Vérifier** que la PA transmet dans les délais
Pour les utilisateurs de Stripe : certaines PA proposent des connecteurs Stripe qui importent automatiquement les données de transaction. Vérifier lors du choix de PA.
## Sanctions
Amende de **500 EUR par transmission manquante** en e-reporting, plafonnée à 15 000 EUR par année civile (art. 1788 D CGI, version en vigueur au 21/02/2026). Pour une plateforme agréée défaillante : 750 EUR par transmission, plafond 100 000 EUR par année civile.
references/facturation/formats-facturx.md
# Formats de Facturation Électronique
## Les trois formats acceptés
La réforme impose l'utilisation de formats structurés. Un simple PDF n'est pas conforme.
| Format | Standard | Structure | Usage principal |
|--------|----------|-----------|----------------|
| **Factur-X** | FR/DE (EN 16931) | PDF/A-3 + XML CII embarqué | France, Allemagne |
| **UBL** (Universal Business Language) | ISO/IEC 19845 | XML pur | Europe (standard OASIS) |
| **CII** (Cross Industry Invoice) | UN/CEFACT | XML pur | International |
## Factur-X
Factur-X est le format privilégié en France. C'est un **PDF/A-3 contenant un fichier XML embarqué** au format CII (Cross Industry Invoice).
### Avantages
- **Lisible par un humain** : le PDF s'ouvre comme n'importe quelle facture
- **Lisible par une machine** : le XML embarqué permet le traitement automatisé
- **Hybride** : compatible avec les process papier existants ET l'automatisation
### Profils Factur-X
Factur-X définit plusieurs profils, du plus simple au plus complet :
| Profil | Données | Usage |
|--------|---------|-------|
| **Minimum** | Identifiants, montant total, TVA globale | Archivage, conformité minimale |
| **Basic WL** | + Détail vendeur/acheteur, conditions paiement | Petites entreprises |
| **Basic** | + Lignes de facture | Usage courant |
| **EN 16931** (Comfort) | Conforme norme européenne complète | Standard recommandé |
| **Extended** | + Champs optionnels métier | Besoins spécifiques |
**Recommandation** : utiliser le profil **EN 16931** (Comfort) pour la conformité complète avec la réforme française.
### Structure XML CII
Le XML embarqué dans un Factur-X suit la structure CII (rsm:CrossIndustryInvoice) :
```xml
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
<!-- En-tête -->
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<!-- Document -->
<rsm:ExchangedDocument>
<ram:ID>F-2026-001</ram:ID> <!-- Numéro facture -->
<ram:TypeCode>380</ram:TypeCode> <!-- 380=facture, 381=avoir -->
<ram:IssueDateTime> <!-- Date émission -->
<udt:DateTimeString format="102">20260915</udt:DateTimeString>
</ram:IssueDateTime>
</rsm:ExchangedDocument>
<rsm:SupplyChainTradeTransaction>
<!-- Vendeur -->
<ram:ApplicableHeaderTradeAgreement>
<ram:SellerTradeParty>
<ram:Name>DevStudio SASU</ram:Name>
<ram:SpecifiedLegalOrganization>
<ram:ID schemeID="0002">12345678900014</ram:ID> <!-- SIRET -->
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:LineOne>5 rue de la Paix</ram:LineOne>
<ram:PostcodeCode>75002</ram:PostcodeCode>
<ram:CityName>Paris</ram:CityName>
<ram:CountryID>FR</ram:CountryID>
</ram:PostalTradeAddress>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">FR12345678901</ram:ID> <!-- TVA intracom -->
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
<!-- Acheteur -->
<ram:BuyerTradeParty>
<ram:Name>Client SAS</ram:Name>
<ram:SpecifiedLegalOrganization>
<ram:ID schemeID="0002">98765432100014</ram:ID>
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:CountryID>FR</ram:CountryID>
</ram:PostalTradeAddress>
</ram:BuyerTradeParty>
</ram:ApplicableHeaderTradeAgreement>
<!-- Livraison -->
<ram:ApplicableHeaderTradeDelivery/>
<!-- Paiement et totaux -->
<ram:ApplicableHeaderTradeSettlement>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>1500.00</ram:LineTotalAmount> <!-- Total HT -->
<ram:TaxBasisTotalAmount>1500.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">0.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>1500.00</ram:GrandTotalAmount> <!-- Total TTC -->
<ram:DuePayableAmount>1500.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
```
### Codes TypeCode courants
| Code | Type de document |
|------|-----------------|
| 380 | Facture |
| 381 | Avoir (note de crédit) |
| 384 | Facture rectificative |
| 386 | Facture d'acompte |
| 389 | Autofacturation |
## UBL (Universal Business Language)
Format XML pur, standard OASIS. Utilisé dans de nombreux pays européens. Pas de composante PDF.
```xml
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<ID>F-2026-001</ID>
<IssueDate>2026-09-15</IssueDate>
<InvoiceTypeCode>380</InvoiceTypeCode>
<!-- ... -->
</Invoice>
```
## Bibliothèques open source
Pour générer des Factur-X en local (sans dépendre d'une PA) :
### Node.js
| Lib | Repo | Fonctionnalité |
|-----|------|----------------|
| **node-zugferd** | github.com/jslno/node-zugferd | Génère XML ZUGFeRD/Factur-X + embed dans PDF/A |
| **facturx** | github.com/stafyniaksacha/facturx | Génère Factur-X PDF-A/3 depuis PDF + XML |
### Python
| Lib | Repo | Fonctionnalité |
|-----|------|----------------|
| **factur-x** (Akretion) | github.com/akretion/factur-x | Référence, licence BSD, génère et parse Factur-X |
| **factur-x-ng** | github.com/invoice-x/factur-x-ng | Fork avec interfaces haut niveau |
### Workflow de génération locale
```
1. Données facture (company.json + données client + lignes)
↓
2. Générer le XML CII conforme EN 16931
↓
3. Générer le PDF de la facture (lisible humain)
↓
4. Embarquer le XML dans le PDF → Factur-X (PDF/A-3)
↓
5. Déposer le Factur-X sur la PA choisie pour transmission
```
## Validation
Un Factur-X peut être validé avec :
- Les schémas XSD officiels CII
- Les règles Schematron EN 16931
- Les outils en ligne de l'AIFE (Agence pour l'Informatique Financière de l'État)
references/facturation/mentions-obligatoires.md
# Mentions Obligatoires sur les Factures
Base légale : articles 289 et 242 nonies A du CGI, article L441-9 du Code de commerce.
## Mentions générales (toute facture)
### Identité de l'émetteur
| Mention | Base légale | Exemple |
|---------|-------------|---------|
| Nom ou dénomination sociale | Art. 242 nonies A, I-1° | "DevStudio SASU" |
| Adresse du siège social | Art. 242 nonies A, I-1° | "5 rue de la Paix, 75002 Paris" |
| SIREN ou SIRET | Art. 242 nonies A, I-1° | "SIRET 12345678900014" |
| Numéro RCS et ville | Code de commerce | "RCS Paris" |
| Forme juridique | Code de commerce | "SASU au capital de 1 000 EUR" |
| Capital social | Code de commerce (sociétés) | inclus ci-dessus |
| Numéro TVA intracommunautaire | Art. 242 nonies A, I-2° | "FR12345678901" (si assujetti) |
### Identité du client
| Mention | Base légale | Exemple |
|---------|-------------|---------|
| Nom ou dénomination sociale | Art. 242 nonies A, I-3° | "Client SAS" |
| Adresse | Art. 242 nonies A, I-3° | "10 avenue des Champs-Élysées, 75008 Paris" |
| **SIREN** (nouveau 2026) | Réforme 2026 | "SIREN 987654321" |
| Numéro TVA intracommunautaire | Art. 242 nonies A, I-4° | Si opération intra-UE |
### Informations sur la facture
| Mention | Base légale | Détail |
|---------|-------------|--------|
| Numéro de facture | Art. 242 nonies A, I-5° | Séquence chronologique continue, unique |
| Date d'émission | Art. 242 nonies A, I-6° | Date du jour de facturation |
| Date de livraison / exécution | Art. 242 nonies A, I-7° | Si différente de la date de facture |
### Description des biens/services
| Mention | Base légale | Détail |
|---------|-------------|--------|
| Désignation précise | Art. 242 nonies A, I-8° | Nature, marque, référence |
| Quantité | Art. 242 nonies A, I-9° | Nombre d'unités |
| Prix unitaire HT | Art. 242 nonies A, I-10° | Par unité |
| **Catégorie d'opération** (nouveau 2026) | Réforme 2026 | "Prestation de services" / "Livraison de biens" / "Mixte" |
### Montants
| Mention | Base légale | Détail |
|---------|-------------|--------|
| Montant total HT | Art. 242 nonies A, I-11° | Somme des lignes |
| Taux de TVA applicable | Art. 242 nonies A, I-12° | Par taux distinct |
| Montant de TVA | Art. 242 nonies A, I-12° | Par taux distinct |
| Montant total TTC | Art. 242 nonies A, I-13° | HT + TVA |
| Remises, rabais, ristournes | Art. 242 nonies A, I-14° | Si applicable |
### Conditions de paiement
| Mention | Base légale | Détail |
|---------|-------------|--------|
| Date d'échéance | Art. L441-9 C.com | Date limite de paiement |
| Conditions d'escompte | Art. L441-9 C.com | Si escompte pour paiement anticipé |
| Taux de pénalités de retard | Art. L441-10 C.com | Minimum : 3x le taux d'intérêt légal |
| Indemnité forfaitaire de recouvrement | Art. L441-10 C.com | **40 EUR** (obligatoire) |
| Conditions de règlement | Art. L441-9 C.com | Virement, chèque, etc. |
### Nouvelles mentions 2026
| Mention | Obligatoire à partir de | Détail |
|---------|------------------------|--------|
| SIREN du client | Sept. 2026 | Pour les transactions B2B domestiques |
| Catégorie d'opération | Sept. 2026 | Biens / services / mixte |
| Adresse de livraison | Sept. 2026 | Si différente de l'adresse de facturation |
| Option TVA sur les débits | Sept. 2026 | Si l'entreprise a opté |
## Mentions spéciales selon le régime
### Franchise en base de TVA
```
TVA non applicable, article 293 B du Code général des impôts
```
La facture ne doit comporter **aucun montant de TVA**. Montant HT = montant TTC.
### Autoliquidation de TVA
Pour les prestations de services intra-UE (B2B) :
```
Autoliquidation - TVA due par le preneur, article 283-2 du CGI
```
### Exonération de TVA (export)
```
Exonération de TVA, article 262 I du CGI
```
### Livraison intracommunautaire
```
Exonération de TVA, article 262 ter I du CGI
```
### Sous-traitance BTP
```
Autoliquidation de la TVA par le preneur, article 283 2 nonies du CGI
```
### Membre d'une association agréée
```
Membre d'une association agréée, le règlement par chèque et carte bancaire est accepté
```
### Auto-entrepreneur
Mêmes obligations que les autres entreprises. Mention franchise TVA obligatoire si en dessous du seuil.
## Avoirs (notes de crédit)
Un avoir doit comporter :
- Toutes les mentions d'une facture
- La mention "Avoir" ou "Note de crédit"
- La **référence à la facture d'origine** (numéro et date)
- Le motif de l'avoir (retour, erreur, geste commercial, etc.)
- Les montants en négatif ou avec mention explicite de la rectification
Un avoir suit la même séquence de numérotation que les factures, ou une séquence séparée préfixée (ex : AV-2026-001).
## Factures d'acompte
Obligatoires pour tout acompte reçu (art. 289, I-1-c du CGI). Mentions identiques à une facture classique, plus :
- La mention "Facture d'acompte"
- Le montant de l'acompte HT et TTC
- La référence au devis ou contrat
La facture de solde déduit les acomptes déjà facturés.
## Cas particuliers
### Facture simplifiée (< 150 EUR TTC)
Pour les ventes au détail et prestations de services < 150 EUR TTC, certaines mentions peuvent être simplifiées (art. 242 nonies A, II du CGI). La facture doit quand même comporter :
- Date, identité du vendeur, désignation, montant TTC, taux TVA
### Autofacturation
Quand le client émet la facture pour le compte du fournisseur. Mention obligatoire : "Autofacturation".
### Facture en devise étrangère
Le montant de TVA doit être converti en euros au taux de change du jour de l'opération.
references/facturation/numerotation-conservation.md
# Numérotation et Conservation des Factures
## Numérotation
Base légale : article 242 nonies A, I-5° du CGI.
### Règles
1. **Séquence chronologique continue** : chaque facture a un numéro unique, dans un ordre croissant sans rupture
2. **Pas de trous** : les numéros se suivent sans interruption (F-001, F-002, F-003...)
3. **Pas de doublons** : un numéro ne peut être utilisé qu'une seule fois
4. **Basée sur une ou plusieurs séries** : possibilité d'utiliser des séries distinctes si justifié (par activité, par point de vente)
### Formats recommandés
| Format | Exemple | Avantage |
|--------|---------|----------|
| Année + séquence | F-2026-001 | Simple, lisible, reset annuel |
| Année-mois + séquence | F-202609-001 | Classement mensuel |
| Préfixe activité + séquence | SAS-2026-001 | Multi-activités |
| Séquence pure | 00001 | Le plus simple |
**Recommandation** : `F-YYYY-NNN` (ex : F-2026-001). Le préfixe F distingue les factures des avoirs (AV-2026-001).
### Séries multiples
Autorisées si justifiées par l'organisation (multi-établissements, multi-activités). Chaque série doit être :
- Clairement identifiable
- Chronologique et continue dans sa propre séquence
- Documentée dans la politique de numérotation
### Avoirs
Les avoirs (notes de crédit) peuvent suivre :
- **La même séquence** que les factures (recommandé pour la simplicité)
- **Une séquence séparée** avec préfixe (AV-2026-001)
Dans les deux cas, la séquence doit être chronologique et continue.
### Erreurs de numérotation
- **Ne jamais supprimer** une facture émise. En cas d'erreur, émettre un avoir.
- **Ne jamais réutiliser** un numéro annulé.
- Si un trou est constaté, le documenter (lettre interne, note dans le journal).
## Conservation
### Durée
| Type de document | Durée de conservation | Base légale |
|-----------------|----------------------|-------------|
| Factures émises et reçues | **10 ans** (comptable) | Art. L123-22 C.com |
| Factures émises et reçues | **6 ans** (fiscal) | Art. L102 B du LPF |
| Pièces justificatives | **10 ans** | Art. L123-22 C.com |
**En pratique** : conserver 10 ans pour couvrir les deux obligations.
### Format de conservation
Depuis la réforme 2026 :
- Les factures électroniques doivent être conservées **en format informatique** pendant au moins 6 ans
- L'impression papier d'une facture électronique n'a pas de valeur probante
- Le format de conservation doit garantir **l'intégrité** et **la lisibilité** du document
### Garanties d'authenticité et d'intégrité
Trois méthodes acceptées (art. 289, VII du CGI) :
1. **Signature électronique qualifiée** (ou cachet électronique qualifié)
2. **Piste d'audit fiable** : procédure documentée liant facture, livraison et paiement
3. **Échange de données informatisé** (EDI) avec liste récapitulative
Pour les factures transmises via une PA, la PA assure généralement l'intégrité et la conservation.
### Organisation des archives
Structure recommandée :
```
archives/
├── YYYY/
│ ├── emises/
│ │ ├── F-YYYY-001-client-montant.pdf
│ │ ├── F-YYYY-002-client-montant.pdf
│ │ └── ...
│ ├── recues/
│ │ ├── fournisseur-YYYY-MM-DD-montant.pdf
│ │ └── ...
│ └── avoirs/
│ ├── AV-YYYY-001-client-montant.pdf
│ └── ...
```
### Contrôle fiscal
En cas de contrôle, l'administration peut demander :
- L'ensemble des factures émises et reçues sur la période contrôlée
- Le fichier des écritures comptables (FEC)
- Les pièces justificatives
Les factures électroniques doivent être restituables dans leur format d'origine. Un PDF imprimé puis scanné n'est pas recevable si l'original est un Factur-X.
references/facturation/plateformes-agreees.md
# Plateformes Agréées (PA)
## Contexte
Depuis l'abandon du PPF comme plateforme d'émission/réception (octobre 2024), toute entreprise assujettie à la TVA **doit choisir une PA** pour émettre et recevoir des factures électroniques.
170+ PA sont immatriculées par la DGFiP. Liste officielle :
https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees
## PA avec offre gratuite pour TPE/PME
Plusieurs PA proposent des offres gratuites (modèle freemium : facturation gratuite, upsell sur la comptabilité).
### Qonto
- **PA agréée** : oui (immatriculation #23)
- **PEPPOL** : non
- **Gratuit** : oui, inclus dans tous les plans. Aussi disponible **sans compte pro**
- **Émission/réception** : illimitées
- **Formats** : Factur-X
- **E-reporting** : inclus
- **Intérêt** : si déjà client Qonto, zéro friction. Banque + facturation au même endroit
- **Limite** : pas sur PEPPOL (pas bloquant pour les échanges domestiques)
### Indy
- **PA agréée** : oui
- **PEPPOL** : oui
- **Gratuit** : oui (plan Essentiel, sans CB)
- **Émission/réception** : illimitées
- **Formats** : Factur-X
- **E-reporting** : inclus
- **Intérêt** : gratuit + PEPPOL + outil de comptabilité intégré
- **Limite** : upsell vers compta payante (12 EUR/mois)
### Pennylane
- **PA agréée** : oui
- **PEPPOL** : non
- **Gratuit** : oui (plan gratuit, sans CB, sans limite de temps)
- **Émission/réception** : illimitées
- **Formats** : Factur-X, UBL, CII
- **E-reporting** : inclus
- **Intérêt** : supporte les 3 formats, interface moderne, API publique
- **Limite** : pas PEPPOL, upsell compta (14 EUR/mois)
### Dext
- **PA agréée** : oui
- **PEPPOL** : oui
- **Gratuit** : oui (Dext Facturation, sans CB, sans engagement)
- **Émission/réception** : oui
- **Formats** : Factur-X
- **E-reporting** : à confirmer
- **Intérêt** : gratuit + PEPPOL + forte extraction documentaire (OCR/IA)
- **Limite** : stockage 500 MB, upsell extraction/compta
## Arbre de décision : quelle PA choisir ?
```
Déjà client Qonto ?
├── OUI → Qonto (zéro friction, déjà intégré)
└── NON
├── Besoin PEPPOL (clients UE) ?
│ ├── OUI → Indy ou Dext
│ └── NON
│ ├── Besoin compta intégrée ?
│ │ ├── OUI → Pennylane ou Indy
│ │ └── NON → Indy (le plus simple, gratuit)
│ └── Besoin API ?
│ └── OUI → Pennylane (API publique documentée)
└── Auto-entrepreneur ?
└── Indy (spécialisé indépendants, gratuit)
```
## Questions à poser à l'utilisateur
Pour recommander une PA, demander :
1. **Quelle banque professionnelle utilisez-vous ?** (si Qonto → recommander Qonto)
2. **Avez-vous des clients dans l'UE ?** (si oui → recommander PA avec PEPPOL)
3. **Utilisez-vous déjà un logiciel de comptabilité ?** (si oui → vérifier s'il est PA)
4. **Quel volume de factures par mois ?** (les offres gratuites couvrent les volumes TPE/PME)
5. **Avez-vous besoin d'une API ?** (si oui → Pennylane)
## Ce que fait une PA
| Fonction | Détail |
|----------|--------|
| Émission | Génère ou reçoit la facture, la transmet à la PA du client |
| Réception | Reçoit les factures des fournisseurs, les met à disposition |
| Routage | Utilise l'annuaire PPF pour identifier la PA du destinataire |
| Conformité | Vérifie le format (Factur-X, UBL, CII) et les mentions obligatoires |
| Statuts | Gère le cycle de vie (émise, reçue, acceptée, rejetée, payée) |
| E-reporting | Transmet les données de facturation, transaction et paiement au PPF |
| Conservation | Archive les factures 6 ans minimum |
## Devenir PA
**Non recommandé pour les TPE/PME.** Conditions : ISO 27001, SecNumCloud (si hébergement tiers), audit de conformité, tests d'interopérabilité PPF, système d'information dans l'UE. Coût et complexité réservés aux éditeurs de logiciels et plateformes financières.
## Vérifier qu'une PA est bien immatriculée
Avant de choisir, toujours vérifier sur la liste officielle :
https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees
La liste distingue :
1. **Immatriculées définitivement** : tests d'interopérabilité réussis
2. **En attente** : dossier complet, tests en cours
references/facturation/reforme-2026.md
# Réforme de la Facturation Électronique 2026
## Textes de référence
- Loi n° 2022-1726 du 30 décembre 2022 (loi de finances 2023)
- Loi n° 2023-1322 du 29 décembre 2023 (report de calendrier)
- Ordonnance n° 2021-1190 du 15 septembre 2021
- Décret n° 2022-1299 du 7 octobre 2022
- Article 289 bis du Code général des impôts
## Calendrier
### Phase 1 : 1er septembre 2026
| Obligation | Qui |
|-----------|-----|
| **Réception** de factures électroniques | **Toutes** les entreprises assujetties TVA |
| **Émission** de factures électroniques | Grandes entreprises (GE) et ETI |
| **E-reporting** | GE et ETI |
### Phase 2 : 1er septembre 2027
| Obligation | Qui |
|-----------|-----|
| **Émission** de factures électroniques | PME et micro-entreprises |
| **E-reporting** | PME et micro-entreprises |
### Déterminer la taille de l'entreprise
Critères cumulatifs (2 sur 3 dépassés pendant 2 exercices consécutifs) :
| Catégorie | Effectif | CA (HT) | Total bilan |
|-----------|----------|---------|-------------|
| Micro-entreprise | < 10 | < 900 000 EUR | < 450 000 EUR |
| PME | < 250 | < 50 M EUR | < 43 M EUR |
| ETI | < 5 000 | < 1 500 M EUR | < 2 000 M EUR |
| Grande entreprise | >= 5 000 | >= 1 500 M EUR | >= 2 000 M EUR |
**En pratique** : la grande majorité des utilisateurs de Paperasse sont des TPE/PME/micro. Échéance émission = **1er septembre 2027**. Échéance réception = **1er septembre 2026**.
## Qui est concerné
**Toutes les entreprises assujetties à la TVA établies en France**, y compris :
- Les entreprises en **franchise en base de TVA** (art. 293 B du CGI) : elles sont assujetties, elles ne collectent simplement pas
- Les auto-entrepreneurs
- Les entreprises individuelles
- Les sociétés (SASU, SAS, SARL, EURL, SA, SCI, etc.)
### Opérations concernées
- Livraisons de biens entre assujettis en France
- Prestations de services entre assujettis en France
- Acomptes liés à ces opérations
### Opérations exclues
- Prestations de santé (art. 261, 4° du CGI)
- Enseignement (art. 261, 4° du CGI)
- Opérations immobilières exonérées
- Opérations bancaires et d'assurance (art. 261 C du CGI)
- Activités associatives exonérées
### Territoires concernés
| Territoire | TVA applicable | E-facturation |
|-----------|---------------|---------------|
| France métropolitaine | Oui | Oui |
| Guadeloupe, Martinique, Réunion | Oui (taux spécifiques) | Oui |
| Guyane, Mayotte | Non | Non |
| Saint-Pierre-et-Miquelon, Saint-Barthélemy, Saint-Martin | Non | Non |
| Nouvelle-Calédonie, Polynésie française | Non | Non |
## Architecture du système
### Les trois acteurs
```
Entreprise A ──→ PA émettrice ──→ PA réceptrice ──→ Entreprise B
│ │
└──────┬───────────┘
▼
PPF (annuaire +
concentrateur)
│
▼
DGFiP
```
### Portail Public de Facturation (PPF)
Le PPF devait initialement servir de plateforme d'émission/réception gratuite pour tous. **Ce rôle a été abandonné en octobre 2024.** Le PPF ne sert plus qu'à :
1. **Annuaire central** : identifie la PA de chaque entreprise pour le routage
2. **Concentrateur fiscal** : collecte les données de facturation, transaction et paiement transmises par les PA, et les relaie à la DGFiP
**Les entreprises ne peuvent pas utiliser le PPF pour émettre ou recevoir des factures.**
### Plateformes Agréées (PA, anciennement PDP)
Les PA sont des opérateurs privés immatriculés par la DGFiP. Elles assurent :
- L'émission et la réception des factures électroniques
- L'extraction et la transmission des données à l'administration (via le PPF)
- La conformité des formats (Factur-X, UBL, CII)
- Le suivi des statuts de traitement des factures
**Toute entreprise doit choisir une PA** pour émettre et recevoir des factures électroniques. Voir [plateformes-agreees.md](plateformes-agreees.md) pour le comparatif.
### PEPPOL
Réseau européen d'interopérabilité entre PA. La DGFiP est l'Autorité PEPPOL France. 74 prestataires français connectés (déc. 2025). PEPPOL n'est pas obligatoire pour les PA (elles peuvent s'interconnecter par conventions bilatérales), mais il facilite l'interopérabilité, notamment pour les échanges intra-UE.
## Nouvelles mentions obligatoires (à partir de sept. 2026)
En plus des mentions existantes (voir [mentions-obligatoires.md](mentions-obligatoires.md)), les factures devront comporter :
| Mention | Détail |
|---------|--------|
| **SIREN du client** | Obligatoire pour les transactions B2B domestiques |
| **Catégorie d'opération** | Livraison de biens / prestation de services / mixte |
| **Adresse de livraison** | Si différente de l'adresse de facturation |
| **Option pour les débits** | Si TVA exigible à la facturation (et non à l'encaissement) |
## Conservation
Les factures électroniques doivent être conservées **6 ans** à compter de la date d'établissement, **en format informatique** (pas de simple impression papier). Un cachet électronique qualifié est recommandé pour authentifier l'origine et garantir l'intégrité.
## Sanctions
Le non-respect des obligations de facturation électronique expose à :
- **Amende de 50 EUR par facture** non émise au format électronique, plafond 15 000 EUR par année civile (art. 1737, III CGI, version en vigueur au 21/02/2026)
- **Amende de 500 EUR par transmission** manquante en e-reporting, plafond 15 000 EUR par année civile (art. 1788 D, I et II CGI)
- **Plateforme agréée défaillante** : 750 EUR par transmission, plafond 100 000 EUR par année civile (art. 1788 D, III et IV CGI)
- **Plateforme agréée, transmission des données de facturation** (art. 289 E) : amende de 50 EUR par facture, plafond 45 000 EUR par année civile (art. 1737, IV CGI, version en vigueur au 21/02/2026)
- À surveiller : au 01/01/2027, les art. 1737 et 1788 D ne sont pas abrogés mais modifiés (ordonnance n° 2025-1247 du 17/12/2025, ordonnance n° 2026-671 du 27/07/2026, art. 2) pour renvoyer aux articles du CIBS issus de la recodification de la TVA ; revérifier les renvois avant toute citation en 2027.
- **Tolérance première infraction** : pas d'amende (émission, e-reporting) pour la première infraction de l'année en cours et des trois précédentes, si régularisation spontanée ou dans les 30 jours d'une première demande de l'administration
- **Défaut de plateforme agréée pour la réception** : amende de 500 EUR si l'entreprise n'a pas choisi de plateforme dans les trois mois suivant une mise en demeure de l'administration, puis 1 000 EUR par nouvelle période de trois mois sans régularisation (art. 1737, IV bis CGI ; FAQ impots.gouv.fr « J'approfondis la facturation électronique », version du 01/09/2026, question 2.5)
- **Phase de démarrage** : la DGFiP annonce ne pas appliquer les sanctions aux entreprises en difficulté mais engagées dans une trajectoire sérieuse et documentée de mise en conformité ; ce n'est ni un report ni une suspension de l'obligation (guide pratique DGFiP de démarrage au 1er septembre 2026, p. 2 et question 29 : https://www.impots.gouv.fr/sites/default/files/media/1_metier/2_professionnel/EV/2_gestion/290_facturation_electronique/guide_pratique_facturation_electronique.pdf)
- Sanctions fiscales classiques en cas de défaut de facturation (50% du montant de la transaction, art. 1737 du CGI)
references/facturation/setup-facturation.md
# Setup facturation (première utilisation)
Ce setup se lance si `company.json` n'existe pas ou si les champs de facturation ne sont pas configurés.
**Principe : inférer un maximum, demander un minimum.** L'API SIRENE donne presque tout.
## Si company.json existe déjà (configuré par le skill comptable)
Le fichier contient déjà les informations de base (identité, TVA, banques). Compléter les champs facturation :
### Étape 1 : Vérifier les champs existants
Confirmer que les champs suivants sont présents et corrects :
- `name`, `siren`, `siret`, `address`, `legal_form`
- `president` (nom, titre)
- `tax.regime_tva`
### Étape 2 : Numérotation
> Comment numérotez-vous vos factures ?
Proposer le format par défaut : `F-YYYY-NNN` (ex : F-2026-001).
Si l'utilisateur a déjà des factures existantes :
> Quel est le **dernier numéro de facture** émis ?
Configurer dans company.json :
```json
"invoicing": {
"prefix": "F",
"separator": "-",
"year_format": "YYYY",
"next_number": 1,
"avoir_prefix": "AV"
}
```
### Étape 3 : Plateforme agréée
> Avez-vous déjà choisi une **plateforme agréée** pour la facturation électronique ?
Si non, guider le choix (voir [plateformes-agreees.md](plateformes-agreees.md)) :
- Si Qonto → recommander Qonto
- Si auto-entrepreneur → recommander Indy
- Sinon → recommander Pennylane ou Indy
Configurer dans company.json :
```json
"einvoicing": {
"pa": "qonto",
"pa_name": "Qonto",
"reception_ready": false,
"emission_ready": false,
"ereporting_ready": false
}
```
### Étape 4 : Conditions de paiement par défaut
> Quel est votre **délai de paiement** habituel ?
Proposer les options courantes :
- À réception (net 0)
- 30 jours (net 30)
- 30 jours fin de mois
- 45 jours fin de mois
- 60 jours
> Quels **moyens de paiement** acceptez-vous ?
Configurer dans company.json :
```json
"payment": {
"default_terms": "net_30",
"default_terms_label": "30 jours date de facture",
"methods": ["virement"],
"bank_details": {
"iban": "",
"bic": ""
},
"late_penalty_rate": 0.0,
"recovery_fee": 40
}
```
Notes :
- `late_penalty_rate` : si 0, appliquer le taux légal (3x le taux d'intérêt légal de la BCE, 12,21% en 2026). Ne pas laisser vide.
- `recovery_fee` : indemnité forfaitaire de recouvrement, fixée à 40 EUR par la loi (art. D441-5 C.com).
### Étape 5 : Coordonnées bancaires (pour mention sur facture)
> Souhaitez-vous faire figurer vos **coordonnées bancaires** sur les factures ?
Si oui, demander IBAN et BIC. Les stocker dans `payment.bank_details`.
### Étape 6 : Récapitulatif
Afficher le résumé de la configuration facturation :
```
Configuration facturation :
Numérotation : F-YYYY-NNN (prochain : F-2026-001)
Plateforme agréée : [PA choisie]
Délai paiement : [délai]
Moyens de paiement : [moyens]
Pénalités retard : [taux]% + 40 EUR forfaitaire
IBAN sur facture : [oui/non]
Conformité e-facturation :
⬜ Réception : à configurer sur [PA]
⬜ Émission : échéance [date]
⬜ E-reporting : échéance [date]
```
## Si company.json n'existe pas
Renvoyer vers le setup guidé général ([../setup.md](../setup.md)), puis revenir ici pour les champs facturation.
references/facturation/stripe-sync.md
# Pipeline Stripe → Facture → Qonto
Workflow end-to-end quand les encaissements arrivent par Stripe et que le compte bancaire est Qonto.
## Vue d'ensemble
```
Stripe (invoice paid)
│
│ scripts/import-stripe-invoices.js
▼
data/invoices/F-YYYY-NNN.json + data/invoices/index.json (stripe_id → numéro)
│
│ scripts/generate-facturx.js
▼
output/F-YYYY-NNN.pdf + .xml (Factur-X)
│
│ scripts/upload-qonto-attachments.js
▼
Qonto transaction ← PDF récapitulatif du payout (multi-factures)
```
Tous les scripts sont idempotents : lancer plusieurs fois ne duplique rien.
## Prérequis
**`company.json`** doit contenir :
- `stripe_accounts[]` avec `id`, `name`, `env_key` (variable d'env contenant la clé Stripe)
- `invoicing.prefix` (ex. `"F"`), `invoicing.separator` (ex. `"-"`), `invoicing.next_numbers` (map année → prochain numéro)
- `qonto.enabled: true` pour la partie Qonto
**Variables d'environnement** :
- `STRIPE_SECRET` ou clés spécifiques par compte (via `env_key`)
- `QONTO_ID` et `QONTO_API_SECRET` (https://app.qonto.com/settings/integrations)
**Dépendances npm** : `stripe`, `puppeteer` (pour la génération PDF).
## Étape 1 — Import des invoices Stripe
```bash
node scripts/import-stripe-invoices.js --start 2026-01-01 --end 2026-03-31
```
Ce que fait le script :
1. Pour chaque `stripe_account` configuré, liste les invoices avec `status=paid` sur la période
2. Expand `data.customer` et `data.charge.balance_transaction` (pour la conversion EUR)
3. Pour chaque invoice non encore importée (vérifiée dans `index.json`) :
- Assigne le prochain numéro depuis `invoicing.next_numbers[year]`
- Convertit le montant en EUR via `balance_transaction.exchange_rate`
- Écrit `data/invoices/F-YYYY-NNN.json`
- Ajoute l'entrée dans `index.json` (`stripe_map[stripe_id] = numéro`)
4. Met à jour `company.json` avec le nouveau `next_numbers[year]`
**Multi-devise** : si la charge est en USD par exemple, `balance_transaction.amount` donne le montant en EUR (devise du compte Stripe). On stocke les deux : `stripe_original_amount`, `stripe_original_currency`, `eur_amount`, `exchange_rate`.
**Idempotence** : un `stripe_id` déjà présent dans `index.stripe_map` est skippé. Pas de double numérotation.
**Options** :
- `--account <id>` : filtre sur un seul compte Stripe (quand il y en a plusieurs)
- `--output <dir>` : dossier de sortie custom (défaut `data/invoices/`)
- `--dry-run` : simule, n'écrit rien, ne modifie pas `company.json`
## Étape 2 — Génération Factur-X
Pour chaque fichier JSON :
```bash
node scripts/generate-facturx.js --invoice data/invoices/F-2026-001.json
```
Produit un PDF/A-3 avec XML CII embarqué (format Factur-X profil BASIC par défaut).
Pour valider sans générer : `--validate`. Pour XML seul : `--xml-only`.
## Étape 3 — Upload des justificatifs Qonto
```bash
node scripts/upload-qonto-attachments.js # dry-run : affiche ce qui serait uploadé
node scripts/upload-qonto-attachments.js --upload # upload réel
```
Ce que fait le script :
1. Récupère toutes les transactions Qonto `completed` sur la période
2. Filtre les crédits Stripe sans pièce jointe (`attachment_ids.length === 0`)
3. Pour chaque crédit Stripe, trouve les factures émises dans la fenêtre `[crédit précédent, crédit courant]` via `index.json`
4. Génère un PDF récapitulatif (tableau factures + total brut + frais Stripe + net versé)
5. Uploade via `POST /v2/transactions/{uuid}/attachments`
**Fenêtre temporelle** : les payouts Stripe regroupent les charges d'une période. Le matching se fait par date plutôt que par montant exact (les frais Stripe rendent le montant net ≠ somme des factures).
**Options** :
- `--since YYYY-MM-DD`, `--until YYYY-MM-DD` : restreindre la période Qonto
- `--limit N` : uploader seulement les N premiers matches (utile pour tester)
## API Qonto — Attachments
Endpoint : `POST https://thirdparty.qonto.com/v2/transactions/{transaction_uuid}/attachments`
- Authentification : header `Authorization: {QONTO_ID}:{QONTO_API_SECRET}` (login:password)
- Body : `multipart/form-data` avec champ `file` (blob)
- Types acceptés : PDF, PNG, JPEG
- Limites : **5 pièces max par transaction**, **30 MB par pièce**
- Réponse : 201 OK, 4xx si dépassement ou format invalide
Documentation officielle : https://api-doc.qonto.com/docs/business-api/
## Conservation
Les fichiers JSON générés dans `data/invoices/` sont la source de vérité. Les PDFs générés peuvent être regénérés à la demande depuis le JSON.
**Obligation légale** : conservation 10 ans (art. L. 123-22 C. com.). Factur-X compte pour l'horodatage et la signature intégrée.
## Cas limites
- **Payouts manuels Stripe** (`automatic: false`) : le matching par date window fonctionne toujours, mais vérifier les dates de règlement
- **Refunds partiels** : créer un avoir référençant la facture d'origine (voir `mentions-obligatoires.md` section avoir)
- **Multi-produits dans un payout** : le PDF récap les regroupe dans le même récapitulatif (label = `"ProduitA, ProduitB"`)
- **Facture sans `customer` Stripe** : fallback sur `customer_email` et `customer_address` directs
## Routine recommandée
Automatisation hebdomadaire via cron ou trigger externe (lundi 7h UTC par exemple) :
```bash
# Import des invoices de la semaine écoulée
node scripts/import-stripe-invoices.js \
--start $(date -v-7d +%Y-%m-%d) --end $(date +%Y-%m-%d)
# Upload des justificatifs manquants
node scripts/upload-qonto-attachments.js --upload
```
Les deux étant idempotentes, une exécution planifiée ne dupliquera jamais les factures ni les pièces jointes.
references/facturation/workflow.md
# Workflow Facturation — Détails opérationnels
Chargé à la demande depuis `comptable/SKILL.md` section **Facturation**.
## Contents
- Checklists (mise en conformité, génération, validation)
- Format JSON d'une facture
- Articulation facture ↔ écriture comptable
- Pipeline Stripe → Facture → Qonto
- Numérotation par année
- Refunds et avoirs Stripe
- Réception des e-factures (1er septembre 2026)
## Checklists
### Mise en conformité facturation électronique 2026
```
Conformité e-facturation — {{company.name}}
- [ ] Vérifier statut : assujettie TVA (même en franchise)
- [ ] Déterminer taille entreprise (GE / ETI / PME / micro)
- [ ] Identifier échéances (réception : sept. 2026 / émission : sept. 2026 ou 2027)
- [ ] Choisir une plateforme agréée (PA)
- [ ] Créer un compte sur la PA choisie
- [ ] Configurer la réception des factures sur la PA
- [ ] Tester la réception d'une facture de test
- [ ] Informer les fournisseurs de votre PA de réception
- [ ] Mettre à jour les mentions sur les factures émises (SIREN client, catégorie)
- [ ] Configurer l'émission sur la PA (quand l'obligation s'applique)
- [ ] Configurer l'e-reporting si opérations B2C ou international
```
### Génération d'une facture conforme
```
Facture — {{company.name}} → {{client}}
- [ ] Numéro de facture (séquence chronologique continue)
- [ ] Date d'émission
- [ ] Identité émetteur complète (nom, SIREN, SIRET, adresse, forme juridique)
- [ ] Identité client complète (nom, adresse, SIREN si professionnel)
- [ ] Numéro TVA intracommunautaire (si régime réel)
- [ ] Description détaillée des prestations / biens
- [ ] Quantité, prix unitaire HT, montant total HT
- [ ] Taux et montant TVA (ou mention d'exonération)
- [ ] Montant total TTC
- [ ] Date d'échéance de paiement
- [ ] Conditions de paiement
- [ ] Pénalités de retard et indemnité forfaitaire
- [ ] [2026+] **Catégorie d'opération** (biens / services / mixte) — obligation distincte de la description, toujours flagger si absente (biens / services / mixte)
- [ ] [2026+] SIREN du client (si B2B domestique)
- [ ] [2026+] Adresse de livraison (si différente de facturation)
- [ ] Mention spéciale si applicable (franchise TVA, autoliquidation, etc.)
```
### Validation d'une facture existante
```
Validation — Facture {{numéro}}
- [ ] Numéro présent et conforme à la séquence
- [ ] Date d'émission présente
- [ ] Émetteur : nom, SIREN, SIRET, adresse, forme juridique
- [ ] Client : nom, adresse
- [ ] Client : SIREN (obligatoire 2026+ pour B2B)
- [ ] Désignation précise des biens/services (distincte de quantité/prix)
- [ ] **Quantité** présente pour chaque ligne (mention distincte)
- [ ] **Prix unitaire HT** présent pour chaque ligne (mention distincte)
- [ ] Montant HT par ligne
- [ ] TVA : taux, montant, ou mention d'exonération valide
- [ ] Montant TTC
- [ ] Date d'échéance, conditions de paiement
- [ ] Pénalités de retard (taux, indemnité forfaitaire 40 EUR)
- [ ] [2026+] **Catégorie d'opération** (biens / services / mixte) — obligation distincte de la description, toujours flagger si absente
- [ ] [2026+] Adresse de livraison si différente
- [ ] Mention franchise TVA si applicable (art. 293 B du CGI)
- [ ] Format Factur-X si émission électronique
```
## Format JSON d'une facture
Utilisé par `scripts/generate-facturx.js`, `scripts/validate-facture.js` et produit par `scripts/import-stripe-invoices.js`. Schéma complet dans `data/invoices/_template.json`.
```json
{
"number": "F-2026-001",
"date": "2026-09-15",
"due_date": "2026-10-15",
"type": "invoice",
"category": "services",
"client": {
"name": "Client SAS",
"address": "10 avenue de la République, 75011 Paris",
"siren": "987654321"
},
"lines": [
{
"description": "Développement application web",
"quantity": 10,
"unit": "jours",
"unit_price": 500.00
}
],
"payment": {
"terms": "30 jours date de facture",
"method": "virement"
}
}
```
## Articulation facture ↔ écriture comptable
1. Générer la facture conforme (mentions, format, numérotation)
2. Enregistrer l'écriture : 706/707 (produits), 411 (créance client), 44571 (TVA collectée si régime réel)
3. Transmettre via la PA (quand l'obligation s'applique)
## Pipeline Stripe → Facture → Qonto
Utilisé quand les encaissements arrivent par Stripe et que le compte bancaire est Qonto :
1. **Import** : `node scripts/import-stripe-invoices.js --start YYYY-MM-DD --end YYYY-MM-DD`
- Récupère les `invoices` Stripe au statut `paid` de la période
- Génère un JSON par facture dans `data/invoices/F-YYYY-NNN.json`
- Numérote via `invoicing.next_numbers[year]` (reset au 1er janvier)
- Convertit les montants en EUR via `balance_transaction.exchange_rate`
- Maintient `data/invoices/index.json` (map `stripe_id → invoice_number`) pour l'idempotence
2. **Génération PDF + XML Factur-X** : `node scripts/generate-facturx.js --invoice data/invoices/F-YYYY-NNN.json`
3. **Justificatif Qonto** : `node scripts/upload-qonto-attachments.js --upload`
- Matche chaque crédit Stripe sur Qonto avec les factures émises dans la fenêtre temporelle
- Génère un PDF récapitulatif listant les factures du payout
- Uploade via `POST /v2/transactions/{uuid}/attachments` (max 5 pièces, 30 MB/pièce)
**Routine recommandée** : hebdomadaire (ex. lundi matin), paramétrable via cron. Les deux scripts sont idempotents.
Détails complets : voir [stripe-sync.md](stripe-sync.md).
## Numérotation par année
Convention : **séquence chronologique continue réinitialisée au 1er janvier**.
- `invoicing.next_numbers` est une map `{ "YYYY": N }` — pas un entier unique
- `import-stripe-invoices.js` utilise `next_numbers[year]` où `year` = année du `--start`
- Format : `{prefix}-YYYY-NNN` (ex. `F-2026-001`)
- L'avoir reprend le format avec `avoir_prefix` (ex. `AV-2026-001`)
- Aucun trou dans la séquence : un numéro émis ne peut pas être supprimé
## Refunds et avoirs Stripe
Un `refund` Stripe → **avoir** (note de crédit) côté facturation française :
1. Récupérer le refund Stripe et la facture d'origine (via `charge.invoice`)
2. Créer un avoir : `number` = `AV-YYYY-NNN` (nouvelle séquence ou séquence facture selon pratique), `type: "credit_note"`, référencer la facture d'origine
3. Mentions obligatoires avoir : voir `data/facturation/mentions-obligatoires.json` (clé `avoir`)
4. Écriture comptable : extourner 706/707 et 411, ajuster 44571 si TVA
## Réception des e-factures (obligation 1er septembre 2026)
**Toute entreprise assujettie TVA (y compris en franchise)** doit pouvoir recevoir des factures électroniques via une PA au 1er septembre 2026.
Checklist réception :
- [ ] `einvoicing.pa` défini dans `company.json`
- [ ] Compte actif sur la PA choisie
- [ ] `einvoicing.reception_ready: true` dans `company.json`
- [ ] Fournisseurs informés de l'identifiant PEPPOL (`einvoicing.peppol_id`)
- [ ] Workflow de rapprochement des factures entrantes défini (PA → comptabilité → règlement)
- [ ] Format de lecture : Factur-X (PDF/A-3 + XML), UBL ou CII
Voir [setup-facturation.md](setup-facturation.md) pour la configuration et [plateformes-agreees.md](plateformes-agreees.md) pour le choix d'une PA.
references/formats.md
# Formats de Sortie
## Écriture Comptable
```
Date: JJ/MM/AAAA
Libellé: [Description]
Journal: [AC/VE/BA/OD]
Débit | Crédit | Compte | Libellé
----------|---------|--------|--------
XXX,XX | | 6XXXXX | [Intitulé]
| XXX,XX | 4XXXXX | [Intitulé]
```
## Journal Entries JSON
```json
{
"num": 1,
"date": "2025-03-06",
"journal": "BQ",
"ref": "QTO-001",
"label": "Achat fournitures",
"lines": [
{ "account": "606", "debit": 100.00, "credit": 0 },
{ "account": "5121", "debit": 0, "credit": 100.00 }
]
}
```
## Liste de Risques
```
🔴 CRITIQUE: [Risque majeur, action immédiate]
🟠 ATTENTION: [Risque modéré, à traiter]
🟡 INFO: [Point de vigilance]
```
references/frais-professionnels.md
# Frais professionnels : notes de frais, IK, allocations forfaitaires
Remboursements de frais engagés par un salarié ou un dirigeant pour le compte de l'entreprise. Trois questions à se poser à chaque fois :
1. **Qui** a engagé la dépense ? (salarié, président de SAS, gérant TNS) → détermine le mode de remboursement possible
2. **Quoi** ? (repas, hôtel, train, km avec véhicule perso) → détermine le compte, la TVA récupérable, le plafond
3. **Quelle pièce** ? (facture au nom de l'entreprise, ticket, état de km) → conditionne la déduction IS, la TVA et l'exonération sociale
> Montants 2026 vérifiés le 2026-10-04. Revalorisés chaque année : **vérifier en ligne avant de citer** (urssaf.fr, boss.gouv.fr, bofip.impots.gouv.fr).
---
## Mode de remboursement selon le statut
| Statut | Frais réels (sur justificatifs) | Allocations forfaitaires URSSAF (repas, grand déplacement) | IK au barème |
|--------|------|------|------|
| Salarié | Oui | Oui, dans les limites ci-dessous | Oui |
| Président / DG de SAS-SASU, gérant minoritaire ou égalitaire de SARL (assimilés salariés) | Oui | **Non** | Oui (« à titre de simplification ») |
| Mandataire avec contrat de travail distinct (rémunération distincte, relevant de l'assurance chômage) | Oui | Oui, sur la part salariale | Oui |
| Gérant majoritaire de SARL/EURL (TNS) | Oui | **Non** | Pas de règle URSSAF détaillée trouvée : traiter au réel et vérifier |
Sources : BOSS Frais professionnels § 50, 90, 130, 140 ; arrêté du 4 septembre 2025 art. 1er al. 2 ; [urssaf.fr](https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/frais-professionnels.html).
**Piège fréquent** : appliquer au président de SASU l'indemnité forfaitaire de repas (21,40 €) sans facture. Pour lui, seul le réel est exonéré : sans justificatif, le remboursement est une rémunération soumise à cotisations.
> L'arrêté de référence est désormais l'**arrêté du 4 septembre 2025** (JORF 06/09/2025), qui abroge l'arrêté du 20 décembre 2002 encore cité dans de nombreux contenus.
---
## Notes de frais (frais réels)
### Conditions de déduction
- Dépense engagée dans l'intérêt direct de l'entreprise, effective et justifiée, rattachée à l'exercice (art. 39-1 CGI, BOI-BIC-CHG-10)
- Justificatif : facture ou ticket, avec date, objet, participants pour un repas ou une réception
- Remboursement au centime de la dépense réelle (pas d'arrondi forfaitaire)
### Comptes
| Dépense | Compte |
|---------|--------|
| Train, avion, taxi, hôtel, péages, parking, IK | 6251 Voyages et déplacements |
| Frais de mission (repas en déplacement) | 6256 Missions |
| Repas d'affaires, réceptions de clients | 6257 Réceptions |
| Cadeaux à la clientèle | 6234 Cadeaux à la clientèle |
Contrepartie : **421** (salarié, remboursé avec ou hors paie) ou **455** (dirigeant associé, cohérent avec le compte courant). Garder la même convention sur tout l'exercice.
### Écriture type
```
Note de frais du président (repas client 55,00 TTC dont TVA 10 % 5,00) :
Débit 6257 Réceptions 50,00
Débit 44566 TVA déductible sur ABS 5,00
Crédit 455 Compte courant associé 55,00
Remboursement :
Débit 455 Compte courant associé 55,00
Crédit 512 Banque 55,00
```
---
## TVA récupérable sur les frais
| Dépense | TVA déductible ? | Référence |
|---------|------------------|-----------|
| Hôtel, logement des dirigeants et salariés | **Non** (sauf fraction au profit de tiers, identifiés sur la facture) | Art. 206 IV-2-2° annexe II CGI ; BOI-TVA-DED-30-30-10 |
| Transport de personnes (train, avion, taxi, VTC) | **Non** | Art. 206 IV-2-5° annexe II CGI ; BOI-TVA-DED-30-30-30 |
| Restaurant | Oui, si conditions générales réunies (intérêt de l'exploitation, facture au nom de l'entreprise) | Art. 271 CGI ; BOI-TVA-DECLA-30-20-20-20 § 130-150 |
| Péages, parkings | Oui, le reçu vaut facture si l'usager complète son identité (et, pour le péage, immatriculation et objet du déplacement) ; facture complète pour un abonnement / badge | BOI-TVA-DECLA-30-20-20-20 § 80-120 |
| Cadeaux | Non, sauf ≤ 73 € TTC par bénéficiaire et par an | Art. 206 IV-2-3° annexe II ; art. 28-00 A annexe IV |
| IK | **Non** : pas de facture, pas de TVA | |
**Facture de restaurant ≤ 150 € HT** : facture simplifiée possible (art. 242 nonies A II annexe II CGI), et il est admis que le client inscrive lui-même nom et adresse sur la note (BOI-TVA-DECLA-30-20-20-20 § 130-150). Au-delà de 150 € HT, facture complète obligatoire. Un ticket de carte bancaire n'est pas une facture.
### Carburant (art. 298, 4-1° a et c CGI, version en vigueur depuis le 01/01/2022 ; abrogé au 01/01/2027 par l'ord. n° 2025-1247, repris à droit constant dans le CIBS)
Déduction uniquement pour les déplacements professionnels. Le BOI-TVA-DED-30-30-40 (version du 24/02/2021) est antérieur à l'ordonnance n° 2021-1843 : son passage sur le GPL et le GNV (droit commun) n'est plus à jour.
| Carburant | Véhicule de tourisme (exclu) | Véhicule utilitaire (non exclu) |
|-----------|---------------------|---------------------|
| Gazole, essence, superéthanol E85 | 80 % | 100 % |
| GPL, GNV | 50 % | 100 % |
| Électricité (véhicule 100 % électrique) | 100 % (art. 273 septies B CGI) | 100 % |
« Véhicule de tourisme » = véhicule exclu du droit à déduction (conçu pour transporter des personnes ou à usage mixte, y compris pick-up N1 double cabine), y compris pris en location quand la TVA sur le loyer n'est pas déductible. « Utilitaire » = véhicule non exclu (utilitaires, taxis de transport public, auto-écoles, loueurs).
---
## Indemnités kilométriques (IK)
Véhicule **personnel** du salarié ou du dirigeant (propriétaire, conjoint, foyer fiscal, ou location à son nom) utilisé pour un déplacement professionnel. Un véhicule de l'entreprise ne donne jamais lieu à IK.
### Le barème s'applique au kilométrage annuel
Le barème fiscal (CGI annexe IV art. 6 B, BOI-BAREME-000001) donne **une formule par tranche de kilométrage annuel, appliquée au total des km de l'année** (pas par tranches marginales comme l'IR). L'URSSAF l'applique au total des km professionnels de l'année (exemple officiel : 5 800 km en 5 CV → 5 800 × 0,357 + 1 395 = 3 465,60 €).
Conséquence pratique : payer chaque trajet au taux de la première tranche (0,636 €/km en 5 CV) surpaie dès que l'année dépasse 5 000 km. Sur 5 800 km, cela fait 3 688,80 € versés pour un plafond de 3 465,60 € : les **223,20 € d'excédent** sont soumis à cotisations, sauf justification de l'utilisation effective (BOSS § 400), et doivent être régularisés.
**Toujours calculer avec le script, sur le cumul annuel :**
```bash
node scripts/calc.js ik --km 5800 --cv 5 # IK annuelle
node scripts/calc.js ik --km 5800 --cv 5 --deja-verse 3688.80 # régularisation
node scripts/calc.js ik --km 3000 --cv 4 --electrique # majoration +20 %
node scripts/calc.js ik --km 2000 --vehicule moto --cv 3 # deux-roues
```
Barème versionné dans `data/bareme-kilometrique.json` (tranches, source, date de vérification).
### Barème (revenus 2025, en vigueur au 2026-10-04)
**Automobiles** (d = km professionnels annuels)
| Puissance | ≤ 5 000 km | 5 001 à 20 000 km | > 20 000 km |
|-----------|-----------|-------------------|-------------|
| 3 CV et moins | d × 0,529 | d × 0,316 + 1 065 | d × 0,370 |
| 4 CV | d × 0,606 | d × 0,340 + 1 330 | d × 0,407 |
| 5 CV | d × 0,636 | d × 0,357 + 1 395 | d × 0,427 |
| 6 CV | d × 0,665 | d × 0,374 + 1 457 | d × 0,447 |
| 7 CV et plus | d × 0,697 | d × 0,394 + 1 515 | d × 0,470 |
Deux-roues et cyclomoteurs : voir `data/bareme-kilometrique.json`. **Véhicule 100 % électrique : +20 %.**
### Ce que couvre l'IK
- **Inclus** : dépréciation, entretien, réparations, pneus, carburant (ou recharge), assurance, loyer d'un véhicule loué
- **En plus, sur justificatif** : stationnement (BOSS § 410) et péages (hors barème : BOI-BAREME-000001 § 7)
### Justificatifs exigés (URSSAF, BOSS § 390)
État des déplacements (date, trajet, km, motif), carte grise au nom du bénéficiaire ou de son foyer, puissance fiscale. Sans ces pièces, les IK sont réintégrées dans l'assiette des cotisations.
### Écriture
```
IK du mois (président, 420 km, régularisation annuelle à prévoir) :
Débit 6251 Voyages et déplacements XXX,XX
Crédit 455 Compte courant associé XXX,XX
```
Pas de TVA déductible. Au-delà du barème, l'excédent est de la rémunération soumise à cotisations, sauf justification de l'utilisation effective (BOSS § 400). Pour la voiture d'un dirigeant ou d'un salarié, la part de l'indemnité qui couvre l'amortissement au-delà du plafond de l'art. 39-4 n'est pas déductible de l'IS (BOI-BIC-AMT-20-40-50 § 190).
---
## Allocations forfaitaires URSSAF 2026 (salariés uniquement)
Limites d'exonération au 1er janvier 2026 (arrêté du 4 septembre 2025 ; [urssaf.fr](https://www.urssaf.fr/accueil/outils-documentation/taux-baremes/frais-professionnels.html)). Au-delà, l'excédent est soumis à cotisations.
| Situation | Limite 2026 |
|-----------|-------------|
| Repas sur le lieu de travail (travail posté, de nuit, en équipe...) | 7,50 € |
| Repas hors des locaux, sans être contraint d'aller au restaurant | 10,40 € |
| Repas au restaurant, déplacement contraint | 21,40 € |
**Grand déplacement (métropole)**
| Période | Repas | Logement + petit-déjeuner Paris, 92, 93, 94 | Logement + petit-déjeuner autres départements |
|---------|-------|------|------|
| 3 premiers mois | 21,40 € | 76,60 € | 56,80 € |
| 4e au 24e mois | 18,20 € | 65,10 € | 48,30 € |
| 25e au 60e mois (*) | 15,00 € | 53,60 € | 39,80 € |
(*) L'arrêté du 4 septembre 2025 (art. 5 II) arrête la déduction au 60e mois ; le BOSS (§ 1300) et la page URSSAF indiquent encore 72 mois. Vérifier avant de l'appliquer au-delà de 60 mois.
---
## Côté IS et contrôle fiscal
- **Dépenses somptuaires** (art. 39-4 CGI) : chasse, pêche, résidences de plaisance, yachts ; amortissement des véhicules de tourisme au-delà des plafonds (BOI-BIC-AMT-20-40-50). Non déductibles quelle que soit la forme de prise en charge (directe, forfait, note de frais).
- **Relevé des frais généraux 2067-SD** (art. 54 quater CGI, art. 4 J annexe IV), à joindre à la déclaration de résultat si l'un des seuils est dépassé :
| Catégorie | Seuil |
|-----------|-------|
| Rémunérations des 10 personnes les mieux payées (effectif > 200) / des 5 (effectif ≤ 200) | 540 000 € / 270 000 € |
| Rémunération d'une de ces personnes prise individuellement | 50 000 € |
| Frais de voyage et de déplacement de ces personnes | 15 000 € |
| Véhicules et biens hors locaux, immeubles non affectés | 30 000 € |
| Cadeaux de toute nature (hors objets conçus spécialement pour la publicité ≤ 73 € TTC) | 3 000 € |
| Frais de réception (restaurants, spectacles) | 6 100 € |
## Erreurs courantes à signaler
| Erreur | Conséquence |
|--------|-------------|
| Forfait repas versé au président de SAS | Rémunération déguisée : cotisations + réintégration |
| IK sur un véhicule appartenant à la société | Double déduction : réintégration |
| IK calculées trajet par trajet sans régularisation annuelle | Excédent soumis à cotisations |
| TVA récupérée sur hôtel, train ou avion | TVA à reverser + pénalités |
| TVA récupérée sur un ticket CB ou une note sans nom | TVA non déductible (pas de facture) |
| Pas d'état de km ni de carte grise | IK réintégrées dans l'assiette sociale |
## Sources
- BOSS, Frais professionnels : https://boss.gouv.fr/portail/accueil/avantages-en-nature-et-frais-pro/frais-professionnels.html
- URSSAF, frais professionnels : https://www.urssaf.fr/accueil/employeur/beneficier-exonerations/frais-professionnels.html
- URSSAF, limites 2026 : https://www.urssaf.fr/accueil/outils-documentation/taux-baremes/frais-professionnels.html
- BOI-BAREME-000001 (barème kilométrique) : https://bofip.impots.gouv.fr/bofip/2185-PGP.html
- impots.gouv.fr, aide frais réels revenus 2025 : https://simulateur-ir-ifi.impots.gouv.fr/calcul_impot/2026/aides/frais.htm
- BOI-BIC-CHG-40-60-10 (relevé 2067) : https://bofip.impots.gouv.fr/bofip/992-PGP.html
- Art. 298 CGI (carburants) : https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000037993389
- Arrêté du 4 septembre 2025 (JORF 06/09/2025, NOR TSSS2523915A)
references/integrations.md
# Intégrations (collecte automatique des transactions)
Des connecteurs sont disponibles dans `integrations/` pour récupérer automatiquement les transactions bancaires et les opérations de paiement.
## Qonto (banque en ligne)
Si `qonto.enabled` est `true` dans `company.json` :
```bash
npm run fetch:qonto
# ou avec filtrage par date :
node integrations/qonto/fetch.js --start 2025-01-01 --end 2025-12-31
```
Récupère toutes les transactions de tous les comptes bancaires Qonto → `data/transactions/qonto-*.json`.
**Variables d'environnement requises** : `QONTO_ID`, `QONTO_API_SECRET` (dashboard Qonto > Settings > Integrations > API).
## Stripe (paiements en ligne)
Si des comptes sont configurés dans `stripe_accounts` de `company.json` :
```bash
npm run fetch:stripe
# ou avec filtrage :
node integrations/stripe/fetch.js --start 2025-01-01 --end 2025-12-31 --account main
```
Récupère les balance transactions (charges, fees, payouts, refunds) et les payouts → `data/transactions/stripe-*.json`.
**Configuration dans `company.json`** :
```json
"stripe_accounts": [
{ "id": "main", "name": "Mon SaaS", "env_key": "STRIPE_SECRET" }
]
```
**Variable d'environnement** : la valeur de `env_key` doit contenir la clé secrète Stripe (`sk_live_...` ou `sk_test_...`).
## Récupérer toutes les sources
```bash
npm run fetch # Qonto + Stripe
```
Les transactions récupérées sont au format standard Paperasse dans `data/transactions/`. Le champ `our_category` est à `null` et sera rempli lors de la catégorisation (mappage vers compte PCG).
## Rapprochement bancaire automatisé
Avec les connecteurs Qonto + Stripe, le rapprochement bancaire peut être largement automatisé :
1. **Récupérer les transactions** : `npm run fetch`
2. **Croiser les payouts Stripe avec les crédits Qonto** : chaque payout Stripe doit correspondre à un crédit Qonto, même montant et date proche (J+2 à J+7)
3. **Identifier les écarts** : transactions Qonto sans correspondance Stripe = dépenses directes. Payouts Stripe sans crédit Qonto = payout en transit ou erreur.
4. **Valider le solde** : solde Qonto au 31/12 = solde du compte 512 dans le journal
references/legal-forms.md
# Formes Juridiques des Entreprises en France
## Tableau Comparatif
| Critère | EI | EURL | SASU | SARL | SAS |
|---------|----|----- |------|------|-----|
| Associés | 1 | 1 | 1 | 2-100 | 2+ |
| Capital min. | - | 1 € | 1 € | 1 € | 1 € |
| Responsabilité | Illimitée* | Limitée | Limitée | Limitée | Limitée |
| Imposition défaut | IR | IR | IS | IS | IS |
| Option possible | IS | IS | IR (5 ans) | IR (5 ans) | IR (5 ans) |
| Dirigeant | Exploitant | Gérant | Président | Gérant(s) | Président |
| Régime social dirigeant | TNS | TNS | Assimilé salarié | TNS (majoritaire) / AS (minoritaire) | Assimilé salarié |
*Depuis 2022, patrimoine professionnel séparé par défaut.
---
## Entreprise Individuelle (EI)
### Caractéristiques
- Pas de personnalité morale distincte
- Patrimoine professionnel séparé (depuis 2022)
- Imposition IR catégorie BIC ou BNC
- Option IS possible (irréversible)
### Régime Fiscal
**Micro-entreprise (auto-entrepreneur):**
- Plafonds 2026 : 203 100 € (ventes) / 83 600 € (services)
- Versement libératoire possible
- Comptabilité ultra-simplifiée
**Réel:**
- BIC réel simplifié ou normal
- BNC déclaration contrôlée
### Régime Social
- TNS (Travailleur Non Salarié)
- Cotisations URSSAF sur bénéfice
- Base minimum si déficit
### Comptes Spécifiques
- **108** Compte de l'exploitant
- **644** Rémunération du travail de l'exploitant
- **646** Cotisations sociales personnelles
### Écritures Courantes
**Prélèvement personnel:**
```
Débit 108 Compte de l'exploitant X XXX,XX
Crédit 512 Banque X XXX,XX
```
**Cotisations sociales:**
```
Débit 646 Cotisations personnelles X XXX,XX
Crédit 512 Banque X XXX,XX
```
---
## EURL (Entreprise Unipersonnelle à Responsabilité Limitée)
### Caractéristiques
- SARL à associé unique
- Responsabilité limitée aux apports
- Personnalité morale distincte
### Régime Fiscal
**Défaut:** IR (transparence fiscale)
**Option:** IS (irrévocable après 5 ans)
### Régime Social du Gérant
| Qualité | Régime |
|---------|--------|
| Gérant associé unique | TNS |
| Gérant non associé | Assimilé salarié |
### Rémunération du Gérant Associé Unique
**Option IR:**
- Pas de rémunération déductible
- Résultat imposé directement à l'IR de l'associé
**Option IS:**
- Rémunération déductible du résultat
- Imposée à l'IR de l'associé (traitements et salaires)
- Côté IR du gérant (art. 62 CGI : case 1GB, montant net imposable, acomptes PAS) : voir skill `fiscaliste`, fichier `references/remuneration-dirigeants.md`
**Écriture (EURL à l'IS):**
```
Rémunération gérant:
Débit 641 Rémunérations X XXX,XX
Crédit 455 Compte courant associé X XXX,XX
```
---
## SASU (Société par Actions Simplifiée Unipersonnelle)
### Caractéristiques
- SAS à actionnaire unique
- Grande liberté statutaire
- Responsabilité limitée aux apports
- Personnalité morale distincte
### Régime Fiscal
**Défaut:** IS
**Option:** IR (5 exercices maximum, conditions)
**Conditions option IR:**
- Moins de 5 ans d'existence
- < 50 salariés
- CA ou total bilan < 10 M€
- Non cotée
- Détenue à 50%+ par personnes physiques
### Régime Social du Président
- **Toujours assimilé salarié** (même si actionnaire unique)
- Affiliation régime général
- Pas de cotisations si non rémunéré
- Cotisations patronales et salariales si rémunéré
### Rémunération vs Dividendes
| | Rémunération | Dividendes |
|---|-------------|------------|
| Déductible IS | Oui | Non |
| Cotisations sociales | Oui (~80%) | PFU ou prélèvements sociaux (17,2%) |
| Protection sociale | Oui | Non |
| Trésorerie nécessaire | Oui | Bénéfice distribuable |
### Écritures Courantes
**Rémunération président:**
```
Débit 641 Rémunérations personnel X XXX,XX
Crédit 421 Personnel - rémunérations X XXX,XX
Charges sociales:
Débit 645 Charges sociales X XXX,XX
Crédit 431 Sécurité sociale X XXX,XX
```
**Distribution dividendes:**
```
Décision AG:
Débit 120 Résultat de l'exercice X XXX,XX
Crédit 457 Dividendes à payer X XXX,XX
Paiement (après PFU):
Débit 457 Dividendes à payer X XXX,XX
Crédit 4423 Retenues à la source XXX,XX
Crédit 512 Banque X XXX,XX
```
---
## SARL (Société à Responsabilité Limitée)
### Caractéristiques
- 2 à 100 associés
- Responsabilité limitée aux apports
- Parts sociales (non librement cessibles)
### Régime Fiscal
**Défaut:** IS
**Option IR:** Possible (5 ans max, conditions SARL de famille)
### Régime Social des Gérants
| Qualité du gérant | Régime |
|-------------------|--------|
| Majoritaire (>50% parts) | TNS |
| Égalitaire (50%) | TNS |
| Minoritaire (<50%) | Assimilé salarié |
**Cogérance:** Parts de tous les co-gérants et conjoints/pacsés/enfants mineurs cumulées.
### Dividendes Gérant Majoritaire
**Particularité:** Dividendes soumis à cotisations sociales TNS au-delà de 10% du capital + compte courant + primes d'émission.
```
Si dividendes > 10% × (capital + CC + primes):
→ Part excédentaire = assiette cotisations TNS
```
---
## SAS (Société par Actions Simplifiée)
### Caractéristiques
- 2+ actionnaires
- Très grande liberté statutaire
- Actions librement cessibles (sauf clause)
- Responsabilité limitée aux apports
### Régime Fiscal
- Identique SASU (IS par défaut, option IR possible)
### Organes de Direction
- **Président** (obligatoire)
- **Directeur général** (optionnel)
- Autres organes prévus par statuts
### Régime Social
Tous les dirigeants mandataires sociaux = assimilés salariés.
---
## Compte Courant d'Associé (455)
### Définition
Sommes mises à disposition de la société par les associés:
- Apports non rémunérés par des parts/actions
- Rémunérations non prélevées
- Remboursement de frais en attente
### Règles Fiscales
**Intérêts versés (art. 39-1-3° CGI) :**
- Déductibles dans la limite d'un taux égal à la **moyenne annuelle des taux effectifs moyens pratiqués par les établissements de crédit pour des prêts à taux variable aux entreprises d'une durée initiale supérieure à deux ans**. Ce taux est publié par trimestre et dépend de la date de clôture de l'exercice : par exemple **4,33 %** pour un exercice de 12 mois clos entre le 30/06/2026 et le 29/09/2026 (BOI-BIC-CHG-50-50-30, version du 05/08/2026)
- Condition préalable : le capital social doit être entièrement libéré
- Excédent = réintégration fiscale (et, pour l'associé, revenu distribué)
- Un taux supérieur est admis si la société prouve qu'elle aurait pu obtenir ce taux d'établissements financiers indépendants (art. 212 CGI) : entre entreprises liées, et, pour les exercices clos à compter du 31/12/2025, pour les intérêts versés à des entreprises associées non liées, y compris des associés personnes physiques ayant le statut d'entreprise (loi n° 2026-103, art. 14 ; BOI-IS-BASE-35-20 du 15/07/2026). Les associés simples apporteurs de capitaux restent au taux de référence.
**Convention de compte courant:** Recommandée (taux, remboursement, garanties).
### Écritures
**Apport en compte courant:**
```
Débit 512 Banque X XXX,XX
Crédit 455 Compte courant associé X XXX,XX
```
**Remboursement:**
```
Débit 455 Compte courant associé X XXX,XX
Crédit 512 Banque X XXX,XX
```
**Intérêts courus:**
```
Débit 6615 Intérêts comptes courants XXX,XX
Crédit 4558 Intérêts courus XXX,XX
```
---
## Capital Social
### Apports
| Type | Contrepartie | Libération |
|------|--------------|------------|
| Numéraire | Parts/actions | 20% (SARL) ou 50% (SAS) à la création, solde 5 ans |
| Nature | Parts/actions | 100% immédiate |
| Industrie | Parts (SARL) | Pas dans le capital, droits de vote |
### Écritures de Constitution
**Promesse d'apport:**
```
Débit 4561 Apports en société XX XXX,XX
Crédit 101 Capital social XX XXX,XX
```
**Libération:**
```
Débit 512 Banque XX XXX,XX
Crédit 4561 Apports en société XX XXX,XX
```
### Réduction et Augmentation
**Augmentation de capital:**
- Apports nouveaux
- Incorporation de réserves
- Conversion de créances (compte courant)
**Réduction de capital:**
- Absorption de pertes
- Remboursement aux associés
---
## Affectation du Résultat
### Ordre d'affectation
1. **Report à nouveau débiteur** (absorption des pertes antérieures)
2. **Réserve légale** (5% jusqu'à 10% du capital)
3. **Réserves statutaires** (si prévues)
4. **Dividendes**
5. **Report à nouveau** (solde)
### Écriture Type
```
Affectation bénéfice:
Débit 120 Résultat (bénéfice) XX XXX,XX
Crédit 1061 Réserve légale X XXX,XX
Crédit 457 Dividendes X XXX,XX
Crédit 110 Report à nouveau X XXX,XX
```
---
## Obligations Légales par Forme
### SARL / EURL
- Rapport de gestion (sauf petit EURL)
- Approbation des comptes (6 mois après clôture)
- Dépôt des comptes au greffe
- PV d'AG
### SAS / SASU
- Approbation des comptes (6 mois après clôture)
- Dépôt des comptes au greffe
- PV de décision de l'associé unique ou AG
- Rapport de gestion si seuils dépassés
**Seuils dispense rapport de gestion:**
- Total bilan ≤ 4 M€
- CA HT ≤ 8 M€
- Salariés ≤ 50
references/pcg.md
# Plan Comptable Général (PCG)
> **Données complètes** : `data/pcg_YYYY.json` contient les 800+ comptes avec libellés.
> Ce fichier ne contient qu'un résumé structuré pour référence rapide.
## Structure des Classes
| Classe | Nature | Bilan/Résultat |
|--------|--------|----------------|
| 1 | Capitaux | Bilan (passif) |
| 2 | Immobilisations | Bilan (actif) |
| 3 | Stocks | Bilan (actif) |
| 4 | Tiers | Bilan (actif/passif) |
| 5 | Financiers | Bilan (actif) |
| 6 | Charges | Résultat |
| 7 | Produits | Résultat |
---
## Comptes les plus utilisés (TPE/PME)
### Classe 1 — Capitaux
- **101** Capital social
- **106** Réserves (1061 légale, 1068 autres)
- **110/119** Report à nouveau (créditeur/débiteur)
- **120/129** Résultat de l'exercice (bénéfice/perte)
- **145** Amortissements dérogatoires
- **164** Emprunts auprès des établissements de crédit
### Classe 2 — Immobilisations
- **205** Concessions, brevets, licences, logiciels
- **2183** Matériel de bureau et informatique
- **2184** Mobilier
- **2801–2818** Amortissements correspondants
### Classe 4 — Tiers
- **401** Fournisseurs
- **411** Clients
- **421** Personnel — rémunérations dues
- **431** Sécurité sociale
- **444** État — impôt sur les bénéfices
- **4456** TVA déductible (44562 sur immo, 44566 sur ABS)
- **4457** TVA collectée (44571)
- **44551** TVA à décaisser
- **44583** Remboursement de TVA demandé
- **455** Associés — comptes courants (4551 principal, 4558 intérêts)
- **486** Charges constatées d'avance
- **487** Produits constatés d'avance
### Classe 5 — Financiers
- **512** Banques (5121 euros, 5124 devises)
- **580** Virements internes
### Classe 6 — Charges
- **604** Achats d'études et prestations de services
- **606** Achats non stockés (6061 énergie, 6063 petit équipement, 6064 fournitures admin)
- **6132** Locations immobilières (bureau)
- **6135** Locations mobilières (SaaS, hosting)
- **614** Charges locatives et de copropriété
- **6161** Assurance multirisques
- **6181** Documentation générale
- **622** Honoraires et intermédiaires (6226 honoraires)
- **6231** Publicité, annonces
- **625** Déplacements, missions, réceptions
- **626** Frais postaux et télécommunications
- **627** Services bancaires (6278 commissions)
- **635** Autres impôts (6351 CFE)
- **641** Rémunérations du personnel
- **645** Charges sociales (6451 URSSAF)
- **651** Redevances, licences, noms de domaine
- **654** Pertes sur créances irrécouvrables
- **661** Charges d'intérêts
- **666** Pertes de change
- **6711** Pénalités sur marchés
- **6712** Pénalités, amendes fiscales
- **675** Valeurs comptables des éléments cédés
- **6811** Dotations aux amortissements
- **695** Impôts sur les bénéfices
### Classe 7 — Produits
- **706** Prestations de services
- **707** Ventes de marchandises
- **7082** Commissions et courtages
- **7088** Autres produits d'activités annexes
- **741** Subventions d'exploitation
- **765** Escomptes obtenus
- **766** Gains de change
- **775** Produits des cessions d'éléments d'actif
- **781** Reprises sur amortissements et provisions
- **791** Transferts de charges d'exploitation
references/regional.md
# Spécificités Régionales - DOM-TOM & Alsace-Moselle
## DOM-TOM (Départements et Régions d'Outre-Mer)
### Guadeloupe, Martinique, Réunion
#### TVA
| Taux | Application |
|------|-------------|
| 8,5% | Taux normal (vs 20% en métropole) |
| 2,1% | Taux réduit |
| 1,75% | Taux particulier (presse) |
| 1,05% | Taux super-réduit |
#### Octroi de Mer
Taxe spécifique aux DOM sur les importations et productions locales.
**Taux:** Variable selon produit et département (0% à 60%)
**Déclaration:** Mensuelle auprès de la douane
**Comptabilisation:**
```
Achat avec octroi de mer:
Débit 607 Achats marchandises X XXX,XX
Débit 6353 Octroi de mer XXX,XX
Crédit 401 Fournisseur X XXX,XX
```
#### Impôt sur les Sociétés - Abattements
**Abattement de 50%** sur les bénéfices pour certaines activités:
- Limité à 150 000 €/an
- Secteurs éligibles: industrie, BTP, transport, tourisme, audiovisuel, énergies renouvelables
**Conditions:**
- Siège et activité principale dans les DOM
- Effectif minimum de 3 salariés (selon secteur)
#### ~~Exonérations ZFA (Zone Franche d'Activité)~~ — REMPLACÉ par ZFANG depuis 2019
> ⚠️ La ZFA est éteinte. Le dispositif applicable depuis le 1er janvier 2019 est la **ZFANG** (art. 19 de la loi n° 2018-1317 du 28 décembre 2018 de finances pour 2019). Ne pas appliquer les anciens taux ZFA.
#### ZFANG — Zone Franche d'Activité Nouvelle Génération
**Base légale :** Art. 44 quaterdecies CGI (abattement IS/IR) — Art. 1466 F CGI (CFE) — Art. 49 ZB-ZC annexe III CGI (modalités) — Loi n°2018-1317 du 28 décembre 2018, art. 19
**Source BOFiP :** BOI-BIC-CHAMP-80-10-85 (consulté 2026-05-08 via https://bofip.impots.gouv.fr/bofip/11833-PGP.html)
**Durée du dispositif :** jusqu'au 31 décembre 2030 (abrogation au 1er janvier 2031)
##### Abattement IS / IR (bénéfices)
Deux régimes selon le secteur d'activité. Les taux sont **fixes** (pas de dégressivité annuelle contrairement à l'ancienne ZFA) :
| Régime | Abattement | Plafond bénéfice abattu/an |
|--------|-----------|---------------------------|
| **Standard** (droit commun) | **50%** | 150 000 € |
| **Majoré** (secteurs prioritaires) | **80%** | 300 000 € (dont 150 000 € max sur base standard) |
| **Mayotte uniquement** (IR 2025 à 2029 ; IS des exercices clos à compter du 31/12/2025) | **100%** | Zone franche globale temporaire : loi n° 2025-797 du 11/08/2025, art. 38 ; BOFiP ACTU-2025-00136 du 04/02/2026 (plafond : vérifier BOI-BIC-CHAMP-80-10-85) |
**Secteurs prioritaires** (régime majoré 80%) applicables à La Réunion :
- Recherche et développement
- Technologies de l'information et de la communication (TIC)
- Tourisme (hôtellerie, restauration inclus)
- Agro-nutrition
- Environnement et énergies renouvelables
- BTP
- Réparation navale, édition de jeux électroniques
**Régime standard (50%)** : activités commerciales, industrielles, artisanales, agricoles (BIC/BA) hors secteurs exclus.
##### Conditions cumulatives d'éligibilité
1. **Taille** : effectif < 250 salariés ET CA < 50 millions €
2. **Activité principale** : exercée dans un DOM, secteur éligible
3. **Régime fiscal** : régime réel (IS ou IR) ou micro
4. **Localisation** : exploitation physique située dans la ZFANG
**Secteurs exclus :**
- Professions libérales BNC (médecins, avocats, experts-comptables…)
- Activités financières et assurances
- Sièges sociaux intragroupes sans activité propre
- Sidérurgie, charbon, lignite
- Jeux d'argent et de hasard
- Achat-revente sans transformation (négoce pur)
##### CFE (Cotisation Foncière des Entreprises) — Art. 1466 F CGI
Exonération totale possible — **soumise à délibération de la collectivité**. Vérifier que la commune a adopté la délibération avant d'annoncer l'exonération au client.
##### CVAE
Exonération proportionnelle à la fraction de valeur ajoutée bénéficiant de l'abattement ZFANG.
##### Taxe Foncière
Exonération possible sur délibération des collectivités (non automatique).
##### Cumul
**Compatible avec :**
- Crédit Impôt Recherche (CIR)
- Déduction art. 217 undecies CGI (investissements outre-mer)
**Incompatible (option irrévocable requise) :**
- Art. 44 sexies CGI (entreprises nouvelles)
- Art. 44 terdecies CGI (ZRR)
- Art. 44 sexdecies CGI (zones de revitalisation des commerces)
- Art. 73 B CGI (jeunes agriculteurs)
##### Comptabilisation de l'abattement
L'abattement ZFANG ne génère pas d'écriture comptable — il s'applique extra-comptablement lors du calcul IS :
```
Bénéfice fiscal avant ZFANG : 200 000 €
Abattement 80% (secteur prioritaire): -160 000 € → plafonné à 300 000 €/an
Base IS imposable : 40 000 €
IS à 15% (PME, < 42 500 €) : 6 000 €
```
##### Obligations déclaratives
- **Formulaire 2082-SD** (CERFA 14043) à joindre obligatoirement à la déclaration de résultats (2065 IS ou 2031/2035 IR)
- Le 2082-SD détaille : CA, effectifs, exploitations concernées, bénéfices par exploitation, taux appliqué, répartitions
- Conserver les justificatifs d'éligibilité (secteur, siège social, effectifs, CA)
#### Cotisations Sociales
**Réduction LODEOM** (Loi pour le Développement Économique des Outre-Mer):
- Réduction renforcée des charges patronales
- Conditions: salaire ≤ 1,3 à 2,5 SMIC selon le cas
---
### Guyane et Mayotte
#### TVA
**Exonération totale** - Pas de TVA applicable.
Les entreprises ne facturent pas de TVA et ne peuvent pas déduire de TVA.
**Mention sur factures:** "TVA non applicable - Article 294 du CGI"
#### Octroi de Mer
S'applique comme dans les autres DOM.
#### Impôt sur les Sociétés
Mêmes abattements que Guadeloupe/Martinique/Réunion (50%).
---
### Saint-Pierre-et-Miquelon, Saint-Barthélemy, Saint-Martin
#### Statut fiscal particulier
Ces collectivités ont une **autonomie fiscale**.
**Saint-Barthélemy:**
- Pas d'impôt sur le revenu
- Pas de TVA
- Fiscalité propre votée par la collectivité
**Saint-Martin:**
- Autonomie fiscale depuis 2007
- Compétence propre en matière fiscale
**Saint-Pierre-et-Miquelon:**
- Fiscalité spécifique
- Pas de TVA
- Droits de douane particuliers
⚠️ **Attention:** Consulter un expert local pour ces territoires.
---
## Alsace-Moselle (Départements 57, 67, 68)
### Droit Local Alsacien-Mosellan
Héritage du droit allemand (1871-1918), certaines dispositions spécifiques subsistent.
### Registre du Commerce
**Livre foncier (Grundbuch)** au lieu du cadastre classique.
- Tenu par le tribunal judiciaire
- Inscription constitutive des droits réels
### Faillites et Procédures Collectives
Procédure de faillite civile pour les particuliers (non applicable aux entreprises).
### Assurance Maladie - Régime Local
**Cotisation supplémentaire** pour le régime local d'Alsace-Moselle:
| Cotisation | Taux |
|------------|------|
| Part salariale | 1,30% |
| Part patronale | 0% |
**Avantage:** Remboursements supérieurs (90% au lieu de 70% pour consultations).
### Jours Fériés Supplémentaires
2 jours fériés supplémentaires:
- **Vendredi Saint** (vendredi avant Pâques)
- **26 décembre** (Saint-Étienne)
Impact sur le calcul des congés et heures travaillées.
### Taxe d'Apprentissage
**Taux réduit:** 0,44% (vs 0,68% en métropole)
### Associations
**Régime local des associations:**
- Inscription au registre du tribunal
- Capacité juridique élargie (propriété immobilière sans autorisation)
### Clauses Particulières Contrats de Travail
- Délai de préavis parfois différent
- Clause de non-concurrence encadrée différemment
- Certaines dispositions du Code du travail non applicables
---
## Tableau Récapitulatif TVA
| Territoire | Normal | Réduit | Particularité |
|------------|--------|--------|---------------|
| Métropole | 20% | 5,5% / 10% | Standard |
| Guadeloupe | 8,5% | 2,1% | + Octroi de mer |
| Martinique | 8,5% | 2,1% | + Octroi de mer |
| Réunion | 8,5% | 2,1% | + Octroi de mer |
| Guyane | 0% | 0% | Exonéré |
| Mayotte | 0% | 0% | Exonéré |
| St-Pierre-et-Miquelon | 0% | 0% | Autonomie fiscale |
| Saint-Barthélemy | 0% | 0% | Autonomie fiscale |
| Saint-Martin | N/A | N/A | Autonomie fiscale |
---
## Corse
### TVA
Taux spécifiques pour certains produits:
| Produit | Taux Corse | Taux Métropole |
|---------|------------|----------------|
| Produits pétroliers | 13% | 20% |
| Matériaux construction | 10% | 20% |
| Ventes à consommer sur place | 10% | 10% |
### Crédit d'Impôt Corse
**Crédit d'impôt pour investissements:**
- Taux: 20% des investissements productifs
- Secteurs: industrie, artisanat, hôtellerie, agriculture
- Plafond: 300 000 € par période de 3 ans
### Exonérations Zonées
**Zone Franche Urbaine (ZFU):**
- Exonération IS progressive sur 5 ans
- Exonération CFE
- Conditions d'implantation et d'emploi local
---
## Points d'Attention
### Facturation Inter-Régions
**DOM vers Métropole:**
- Considéré comme exportation
- TVA: Exonération avec droit à déduction
**Métropole vers DOM:**
- Considéré comme importation pour le DOM
- Octroi de mer applicable
### Déclarations
Les déclarations fiscales suivent généralement le régime métropolitain avec adaptations:
- Mêmes formulaires (2065, 2031, CA3...)
- Taux différents à appliquer
- Lignes spécifiques pour DOM/TOM
### Recommandation
Pour les opérations complexes impliquant ces territoires:
1. Vérifier le régime fiscal applicable
2. Consulter les services fiscaux locaux
3. Faire valider par un expert-comptable connaissant le droit local
⚠️ **Ce document est un résumé.** Les régimes fiscaux ultramarins et locaux sont complexes et évolutifs. Toujours vérifier les dispositions en vigueur.
references/setup.md
# Setup guidé (première utilisation)
Ce setup se lance uniquement si `company.json` n'existe pas à la racine du projet. Il crée le fichier étape par étape.
**Principe : inférer un maximum, demander un minimum.** L'API SIRENE donne presque tout. Ne poser que les questions dont la réponse n'est pas déductible.
## Étape 1 : Identifier la société
Demander :
> Quel est le **nom de votre société** ?
Lancer la recherche :
```bash
python scripts/fetch_company.py "<nom ou SIREN>" --json
```
**Si plusieurs résultats** : afficher la liste (nom, SIREN, ville, date de création) et demander laquelle est la bonne.
**Si un seul résultat** : afficher les informations et demander confirmation.
**Si aucun résultat** : demander manuellement (raison sociale, SIREN, forme juridique, adresse, code NAF).
### Données pré-remplies automatiquement depuis l'API
Après confirmation, les champs suivants sont remplis sans rien demander :
- **Raison sociale, SIREN, SIRET, adresse, code NAF** : directement depuis l'API
- **Dirigeant** : l'API renvoie les dirigeants, utiliser le premier. Titre déduit de la forme juridique (Président pour SAS/SASU, Gérant pour SARL/EURL)
- **Régime d'imposition** : IS par défaut pour SAS, SASU, SARL, SA. IR par défaut pour EI, EIRL, auto-entrepreneur. Mentionner le défaut choisi, l'utilisateur corrigera si besoin.
- **Premier exercice** : si `date_creation` < 2 ans, c'est probablement le premier exercice. Le mentionner.
- **Dates d'exercice** : premier exercice = date de création → 31/12 de l'année suivante (ou de l'année en cours si créé en janvier). Exercices suivants = 01/01 → 31/12. Proposer ces dates par défaut, l'utilisateur ajuste si besoin.
## Étape 2 : Régime TVA
C'est la seule information fiscale qu'on ne peut pas déduire. Demander :
> Quel est votre **régime TVA** ?
Proposer les options :
- Franchise en base (pas de TVA facturée)
- Réel simplifié (déclaration annuelle CA12)
- Réel normal (déclaration mensuelle CA3)
## Étape 3 : Comptes bancaires
> Quels sont vos **comptes bancaires professionnels** ? (nom de la banque pour chacun)
> Utilisez-vous **Qonto** ?
L'utilisateur peut avoir un ou plusieurs comptes (Qonto, BNP, SG, Boursorama, etc.). Pour chaque compte, collecter :
- **Nom** (ex: "Qonto", "BNP Entreprise", "Boursorama Pro")
- **Identifiant** : généré automatiquement en slug du nom (ex: `qonto`, `bnp`, `boursorama`)
- **Numéro de compte PCG** : `5121` pour le premier, `5122` pour le deuxième, etc.
### Qonto (connecteur automatique)
Si l'utilisateur a Qonto, demander les identifiants API :
> Pour connecter Qonto, j'ai besoin de vos identifiants API.
> Vous les trouverez dans le dashboard Qonto > **Settings > Integrations > API**.
>
> Quel est votre **Organization slug** (QONTO_ID) ?
> Et votre **Secret key** (QONTO_API_SECRET) ?
- Écrire les valeurs dans `.env` à la racine du projet (le créer s'il n'existe pas).
- Mettre `qonto.enabled` à `true` dans `company.json`.
- Tester la connexion : `node integrations/qonto/fetch.js --start $(date +%Y-%m-%d) --end $(date +%Y-%m-%d)`. Confirmer ou demander de vérifier si erreur.
### Autres banques (import manuel)
Pour chaque banque sans connecteur, expliquer :
> Pour **[nom banque]**, vous devrez exporter vos relevés depuis votre espace en ligne (format CSV, OFX ou PDF).
> Déposez les fichiers dans `data/imports/[slug-banque]/` en les nommant par période :
> `releve-2025-01.csv`, `releve-2025-02.csv`, etc.
Créer le dossier `data/imports/[slug-banque]/` pour chaque banque manuelle.
Résultat dans `company.json` :
```json
"banks": [
{ "id": "qonto", "name": "Qonto", "account": "5121", "type": "api" },
{ "id": "bnp", "name": "BNP Paribas", "account": "5122", "type": "import", "import_dir": "data/imports/bnp/" }
]
```
## Étape 4 : Paiements en ligne
> Utilisez-vous **Stripe** pour encaisser des paiements ?
**Si oui** :
> Combien de **comptes Stripe** avez-vous ? (un seul / plusieurs comptes séparés / Stripe Connect)
> Pour chaque compte, quel **nom** voulez-vous lui donner ? (ex: "Mon SaaS", "Ma Boutique")
Configurer une entrée par compte dans `stripe_accounts` avec `id`, `name`, `env_key`.
Pour chaque compte, demander la clé API :
> Pour connecter **[nom du compte]**, j'ai besoin de votre clé secrète Stripe.
> Vous la trouverez dans le dashboard Stripe > **Developers > API keys** (commence par `sk_live_` ou `sk_test_`).
>
> Quelle est votre **Secret key** pour [nom du compte] ?
- Pour Stripe Connect, demander aussi le `stripe_account_id` (`acct_xxx`) de chaque sous-compte.
- Écrire les clés dans `.env` (une variable par compte : `STRIPE_SECRET_PRODUCT1`, `STRIPE_SECRET_PRODUCT2`, etc.).
- Tester la connexion pour chaque compte : `node integrations/stripe/fetch.js --account <id> --start $(date +%Y-%m-%d) --end $(date +%Y-%m-%d)`. Confirmer ou demander de vérifier si erreur.
**Si non** : laisser `stripe_accounts` vide (`[]`).
### Fichier .env
Les clés API sont stockées dans `.env` à la racine du projet (jamais dans `company.json`, jamais commitées). Vérifier que `.env` est dans `.gitignore`. Format :
```
QONTO_ID=votre-slug-organisation
QONTO_API_SECRET=votre-cle-secrete
STRIPE_SECRET_PRODUCT1=sk_live_...
STRIPE_SECRET_PRODUCT2=sk_live_...
```
## Étape 5 : Récapitulatif et génération
Afficher un récapitulatif complet de tout ce qui a été collecté et inféré. Marquer clairement ce qui a été déduit pour que l'utilisateur puisse corriger :
```
Société configurée :
Raison sociale : [nom]
Forme juridique : [forme]
SIREN : [siren]
Dirigeant : [nom] ([titre déduit])
Régime TVA : [regime]
Régime imposition : [IS/IR] (déduit de la forme juridique)
Exercice : [debut] > [fin] (déduit de la date de création)
Premier exercice : [oui/non]
Comptes bancaires :
- [nom] (5121) [API / import manuel]
- [nom] (5122) [API / import manuel]
Stripe : [X compte(s) configuré(s) / non]
```
> **Quelque chose à corriger ?** Sinon je génère le fichier `company.json`.
Générer `company.json`, puis passer au workflow normal (vérification des échéances).
references/taxes.md
# Impôts et Taxes des Entreprises en France
## Impôt sur les Sociétés (IS)
### Taux d'IS (2026)
| Tranche de bénéfice | Taux |
|---------------------|------|
| 0 - 42 500 € | 15% (PME) |
| Au-delà de 42 500 € | 25% |
> Note: Le PLF 2026 envisage de relever le plafond du taux réduit à 100 000 €. Vérifier l'état de la loi de finances.
**Conditions pour le taux réduit PME (15%):**
- CA HT < 10 M€
- Capital entièrement libéré
- Capital détenu à 75%+ par des personnes physiques
### Calcul du Résultat Fiscal
```
Résultat comptable
+ Réintégrations (charges non déductibles)
- Déductions (produits non imposables)
- Déficits reportables
= Résultat fiscal
```
### Charges Non Déductibles (principales)
| Charge | Règle |
|--------|-------|
| Amendes et pénalités | Non déductibles |
| Impôt sur les sociétés | Non déductible |
| Taxe sur véhicules de société | Non déductible |
| Dépenses somptuaires | Non déductibles (chasse, pêche, yachts) |
| Rémunération excessive | Partie excessive non déductible |
| Intérêts compte courant | Plafonnés au taux moyen des prêts bancaires à taux variable de plus de 2 ans (art. 39-1-3° ; 4,33 % pour un exercice clos du 30/06 au 29/09/2026, BOI-BIC-CHG-50-50-30) |
### Acomptes IS
**4 acomptes trimestriels:**
| Acompte | Échéance | Base |
|---------|----------|------|
| 1er | 15 mars | 25% de l'IS N-1 |
| 2ème | 15 juin | 25% de l'IS N-1 |
| 3ème | 15 septembre | 25% de l'IS N-1 |
| 4ème | 15 décembre | 25% de l'IS N-1 |
**Solde:** 15 du 4ème mois suivant la clôture (15 mai pour clôture 31/12)
**Dispense d'acomptes:** IS N-1 < 3 000 €
### Comptabilisation IS
**Acompte:**
```
Débit 444 État - IS X XXX,XX
Crédit 512 Banque X XXX,XX
```
**Charge IS en fin d'exercice:**
```
Débit 695 Impôt sur les bénéfices X XXX,XX
Crédit 444 État - IS X XXX,XX
```
### Report des Déficits
**En avant (illimité):**
- Report sur bénéfices futurs
- Limité à 1 M€ + 50% du bénéfice excédant 1 M€
**En arrière (carry-back):**
- Report sur bénéfice N-1 uniquement
- Limité à 1 M€
- Génère une créance sur l'État
---
## Impôt sur le Revenu (IR) - Entreprises Individuelles
### BIC (Bénéfices Industriels et Commerciaux)
**Micro-BIC:**
- Seuil 2026 : 203 100 € (ventes) ou 83 600 € (services)
- Abattement: 71% (ventes) ou 50% (services)
**Réel simplifié:**
- Obligations comptables allégées
- Bilan et compte de résultat simplifiés
**Réel normal:**
- Comptabilité complète
- Liasse fiscale complète
### BNC (Bénéfices Non Commerciaux)
**Micro-BNC:**
- Seuil 2026 : 83 600 €
- Abattement: 34%
**Déclaration contrôlée:**
- Comptabilité recettes-dépenses
- Déclaration 2035
### Barème IR 2026 (revenus 2025)
| Tranche | Taux |
|---------|------|
| 0 - 11 600 € | 0% |
| 11 601 - 29 579 € | 11% |
| 29 580 - 84 577 € | 30% |
| 84 578 - 181 917 € | 41% |
| > 181 917 € | 45% |
Revalorisation de +0,9% par rapport à 2025.
---
## Contribution Économique Territoriale (CET)
### CFE (Cotisation Foncière des Entreprises)
**Base:** Valeur locative des biens passibles de taxe foncière.
**Cotisation minimum:** Fixée par la commune (entre 237 € et 7 349 € selon CA).
**Exonérations:**
- Première année de création
- Artisans (sous conditions)
- Certaines zones (ZRR, ZFU, QPV)
**Échéance:** 15 décembre
**Comptabilisation:**
```
Débit 63511 CFE X XXX,XX
Crédit 512 Banque X XXX,XX
```
### CVAE (Cotisation sur la Valeur Ajoutée des Entreprises)
**Seuil d'assujettissement:** CA > 500 000 €
**Seuil de paiement:** CA > 500 000 € et VA > 0
**Taux 2026:** 0,28% max (suppression reportée à 2030)
> Note: La baisse prévue dans le PLF 2026 a été abandonnée. Taux maintenu à 0,28%.
**Calcul de la valeur ajoutée:**
```
+ Ventes de marchandises
+ Production vendue
+ Production stockée
+ Production immobilisée
+ Subventions d'exploitation
+ Autres produits de gestion courante
+ Transferts de charges d'exploitation
- Achats de marchandises (variation de stock déduite)
- Achats de matières premières (variation de stock déduite)
- Autres achats et charges externes (sauf loyers, redevances crédit-bail)
= Valeur Ajoutée
```
**Échéances:**
- Acompte 1: 15 juin (50%)
- Acompte 2: 15 septembre (50%)
- Solde: Mai N+1 avec déclaration 1330-CVAE
---
## Autres Impôts et Taxes
### Taxe sur les Véhicules de Société (TVS)
**Deux composantes:**
1. **Composante CO2:** selon émissions ou puissance fiscale
2. **Composante polluants atmosphériques:** selon type de carburant et année
**Exonérations:**
- Véhicules électriques
- Véhicules hybrides (sous conditions)
**Période:** Janvier à décembre
**Échéance:** Janvier N+1 (annexe 2855 à la déclaration CA3)
**Comptabilisation (non déductible IS):**
```
Débit 63514 TVS X XXX,XX
Crédit 512 Banque X XXX,XX
```
### Taxe sur les Salaires
**Assujettissement:** Employeurs non soumis à TVA ou soumis partiellement.
**Taux 2026:**
| Tranche salaire annuel | Taux |
|------------------------|------|
| 0 - 9 071 € | 4,25% |
| 9 071 - 18 111 € | 8,50% |
| > 18 111 € | 13,60% |
> Tranches revalorisées selon l'inflation.
**Déclaration:** 2502 annuelle
### Contribution Sociale de Solidarité des Sociétés (C3S)
**Seuil:** CA HT > 19 M€
**Taux:** 0,16%
**Échéance:** 15 mai
### Taxe d'Apprentissage
**Taux:** 0,68% de la masse salariale (0,44% en Alsace-Moselle)
**Composantes:**
- Part principale: 87% (financement formations)
- Solde: 13% (versements aux établissements)
### Formation Professionnelle Continue
**Taux:**
- < 11 salariés: 0,55%
- ≥ 11 salariés: 1%
Versée à l'OPCO.
---
## Crédits et Réductions d'Impôt
### Crédit d'Impôt Recherche (CIR)
**Taux:** 30% des dépenses de R&D (5% au-delà de 100 M€)
**Dépenses éligibles:**
- Salaires chercheurs et techniciens
- Amortissement matériel de recherche
- Brevets
- Sous-traitance R&D
**Plafond:** Pas de plafond
### Crédit d'Impôt Innovation (CII) - PME
**Taux:** 20% des dépenses d'innovation
**Plafond:** 400 000 € de dépenses éligibles
### Crédit d'Impôt Formation Dirigeants
**Montant:** Heures de formation × SMIC horaire
**Plafond:** 40 heures/an
**Doublé pour micro-entreprises.**
---
## Calendrier Fiscal Annuel
### Janvier
- TVS (déclaration et paiement)
- CFE solde si > 3 000 €
### Février
- DSN janvier (cotisations sociales)
### Mars
- Acompte IS 1 (15 mars)
- Liasse fiscale exercices clos 30/11
### Avril
- Liasse fiscale exercices clos 31/12 (2ème jour ouvré suivant 1er mai)
### Mai
- Solde IS exercices clos 31/12 (15 mai)
- CA12 régime simplifié TVA
- CVAE solde et déclaration
### Juin
- Acompte IS 2 (15 juin)
- CVAE acompte 1 (15 juin)
### Juillet
- Acompte TVA régime simplifié
### Septembre
- Acompte IS 3 (15 septembre)
- CVAE acompte 2 (15 septembre)
### Décembre
- Acompte IS 4 (15 décembre)
- CFE (15 décembre)
- Acompte TVA régime simplifié
---
## Obligations Déclaratives
### Liasse Fiscale (formulaires principaux)
**IS:**
- 2065: Déclaration de résultat
- 2050 à 2059: Tableaux comptables et fiscaux
**IR (BIC réel):**
- 2031: Déclaration de résultat
- 2050 à 2059: Tableaux
**IR (BNC):**
- 2035: Déclaration de résultat
### Délais
| Clôture | Échéance liasse |
|---------|-----------------|
| 31/12 | 2ème jour ouvré après 1er mai |
| Autre date | 3 mois après clôture |
references/tva.md
# TVA - Taxe sur la Valeur Ajoutée
## Taux de TVA en France (2026)
| Taux | Application |
|------|-------------|
| 20% | Taux normal - majorité des biens et services |
| 10% | Taux intermédiaire - restauration, travaux rénovation, transports |
| 5,5% | Taux réduit - produits alimentaires, livres, énergie, spectacles |
| 2,1% | Taux super-réduit - médicaments remboursables, presse |
### Taux spéciaux DOM
| Territoire | Normal | Réduit |
|------------|--------|--------|
| Guadeloupe, Martinique, Réunion | 8,5% | 2,1% |
| Guyane, Mayotte | Exonéré | Exonéré |
---
## Régimes de TVA
### 1. Franchise en Base
**Seuils (2026):**
- Services: 37 500 € (tolérance 41 250 €)
- Ventes de marchandises: 85 000 € (tolérance 93 500 €)
- Activités mixtes: seuils cumulatifs
**Caractéristiques:**
- Pas de TVA collectée ni facturée
- Pas de TVA déductible
- Mention obligatoire sur factures: "TVA non applicable, art. 293 B du CGI"
**Dépassement du seuil:**
- Dépassement du seuil de base (85 000 € / 37 500 €) sans dépasser le seuil majoré : franchise maintenue jusqu'au 31 décembre, TVA due à compter du 1er janvier suivant
- Dépassement du seuil majoré (93 500 € / 41 250 €) : TVA applicable dès le jour du dépassement (et non plus au 1er jour du mois de dépassement, règle en vigueur depuis le 1er janvier 2025)
- Demander un numéro de TVA intracommunautaire
- Source : https://entreprendre.service-public.gouv.fr/vosdroits/F21746 (vérifié le 01/01/2026)
### 2. Régime Réel Simplifié
**Seuils (2026):**
- Services (dont location meublée): 37 500 € à 286 000 € (seuil majoré en cours d'année : 323 000 €)
- Ventes, restauration, fourniture de logement: 85 000 € à 945 000 € (seuil majoré en cours d'année : 1 040 000 €)
- Et TVA due au titre de N-1 inférieure à 15 000 €
- Source : https://entreprendre.service-public.gouv.fr/vosdroits/F23575 (vérifié le 17/02/2026)
**Obligations:**
- Déclaration annuelle CA12 (avant le 2ème jour ouvré suivant le 1er mai)
- Acomptes semestriels (juillet et décembre)
- Acompte juillet = 55% de la TVA N-1
- Acompte décembre = 40% de la TVA N-1
**Comptabilisation des acomptes:**
```
Versement acompte:
Débit 44581 TVA - Acomptes régime simplifié
Crédit 512 Banque
Régularisation annuelle (TVA à payer):
Débit 44571 TVA collectée
Crédit 44566 TVA déductible sur ABS
Crédit 44562 TVA déductible sur immobilisations
Crédit 44581 TVA - Acomptes
Crédit 44551 TVA à décaisser (solde)
```
### 3. Régime Réel Normal
**Seuils:**
- Services: > 286 000 € (ou > 323 000 € en cours d'année, bascule rétroactive au 1er janvier)
- Ventes: > 945 000 € (ou > 1 040 000 € en cours d'année, bascule rétroactive au 1er janvier)
- Ou TVA due N-1 ≥ 15 000 €
- Ou sur option
**Obligations:**
- Déclaration mensuelle CA3 (avant le 24 du mois suivant)
- Déclaration trimestrielle si TVA annuelle < 4 000 €
**Écriture mensuelle:**
```
Débit 44571 TVA collectée
Crédit 44566 TVA déductible sur ABS
Crédit 44562 TVA déductible sur immobilisations
Crédit 44551 TVA à décaisser
```
### 4. Mini-Réel
Option pour être au réel normal pour la TVA tout en restant au réel simplifié pour l'IS/IR.
---
## TVA Intracommunautaire
### Achats Intracommunautaires (B2B)
**Principe:** Autoliquidation - l'acheteur français déclare et déduit la TVA.
**Écriture:**
```
Achat intracommunautaire 1000€:
Débit 604/607 Achats 1 000,00
Débit 445662 TVA déductible intracom 200,00
Crédit 401 Fournisseur 1 000,00
Crédit 4452 TVA due intracom 200,00
```
Note: La TVA due et la TVA déductible s'annulent si droit à déduction total.
**Déclaration:**
- Ligne 3B de la CA3: acquisitions intracommunautaires
- DEB (Déclaration d'Échanges de Biens) si > 460 000 €/an
### Ventes Intracommunautaires (B2B)
**Principe:** Exonération avec droit à déduction.
**Conditions:**
- Client assujetti avec numéro TVA intracom valide
- Bien expédié hors de France vers autre État membre
- Preuve du transport
**Mention facture:** "Exonération de TVA, art. 262 ter I du CGI"
**Vérification numéro TVA:** https://ec.europa.eu/taxation_customs/vies/
### Prestations de Services Intra-UE (B2B)
**Règle générale:** TVA due dans le pays du preneur (client).
**Écriture (prestation reçue):**
```
Prestation service intra-UE 500€:
Débit 604 Achats prestations 500,00
Débit 445662 TVA déductible intracom 100,00
Crédit 401 Fournisseur 500,00
Crédit 4452 TVA due intracom 100,00
```
**Déclaration:**
- Ligne 2A de la CA3: services
- DES (Déclaration Européenne de Services)
---
## TVA Import/Export
### Importations (hors UE)
**Depuis 01/01/2022:** Autoliquidation obligatoire pour les assujettis.
**Écriture:**
```
Importation marchandises 2000€:
Débit 607 Achats marchandises 2 000,00
Débit 44566 TVA déductible 400,00
Crédit 401 Fournisseur 2 000,00
Crédit 4452 TVA import 400,00
```
### Exportations (hors UE)
**Principe:** Exonération totale avec droit à déduction.
**Conditions:**
- Sortie effective du territoire UE
- Justificatifs douaniers (DAU, EX-A)
**Mention facture:** "Exonération de TVA, art. 262 I du CGI"
---
## TVA sur les Encaissements vs Débits
### Services (par défaut: encaissements)
La TVA est exigible à l'encaissement du prix.
**Option pour les débits:** Possible, la TVA devient exigible à la facturation.
### Livraisons de Biens (débits)
La TVA est exigible à la livraison/facturation.
### Comptabilisation TVA sur encaissements
Entre la facturation et le paiement, la TVA collectée n'est pas encore exigible.
Elle est logée dans un compte d'attente, subdivision du 4458 « TVA à régulariser » :
44580 ou 44574 « TVA collectée sur les encaissements » sont les deux conventions
répandues (le PCG autorise les subdivisions du 445, aucune des deux n'est imposée).
**Ne pas utiliser 44587** : ce compte est réservé à la TVA sur factures à établir
en clôture d'exercice (contrepartie 418), voir `closing.md`. Ce n'est pas le compte
d'attente du flux courant.
**À la facturation:**
```
Débit 411 Client 1 200,00
Crédit 706 Prestations 1 000,00
Crédit 44574 TVA sur encaissements 200,00 (attente, non exigible)
```
**À l'encaissement:**
```
Débit 512 Banque 1 200,00
Crédit 411 Client 1 200,00
Débit 44574 TVA sur encaissements 200,00
Crédit 44571 TVA collectée 200,00 (exigibilité)
```
---
## TVA et E-commerce (OSS/IOSS)
### Ventes B2C Intra-UE
**Seuil unique:** 10 000 € de ventes B2C intra-UE par an.
**En dessous du seuil:** TVA française applicable.
**Au-dessus du seuil:**
- TVA du pays du consommateur
- Inscription au guichet OSS (One Stop Shop) ou immatriculation dans chaque pays
### OSS (One Stop Shop)
Guichet unique pour déclarer et payer la TVA due dans d'autres États membres.
- Déclaration trimestrielle
- Paiement centralisé
- Pas d'immatriculation dans chaque pays
### IOSS (Import One Stop Shop)
Pour les ventes de biens < 150 € importés de pays tiers vers des consommateurs UE.
---
## Régularisations et Crédits de TVA
### Crédit de TVA
Quand TVA déductible > TVA collectée.
**Options:**
1. Report sur déclarations suivantes
2. Demande de remboursement (minimum 150 € annuel, 760 € trimestriel)
**Demande de remboursement:**
- Formulaire 3519
- Joindre relevé des factures d'achats
### Régularisation TVA Immobilisations
**Période de régularisation:**
- Biens meubles: 5 ans
- Immeubles: 20 ans
**Cas de régularisation:**
- Cession du bien
- Changement d'affectation
- Modification du coefficient de déduction
---
## Factures et Mentions Obligatoires TVA
### Mentions relatives à la TVA
1. **Numéro de TVA intracommunautaire** du vendeur
2. **Numéro de TVA intracommunautaire** de l'acheteur (si applicable)
3. **Taux de TVA** applicable
4. **Montant HT** par taux
5. **Montant de TVA** par taux
6. **Montant TTC**
### Mentions d'exonération
| Situation | Mention obligatoire |
|-----------|---------------------|
| Franchise en base | "TVA non applicable, art. 293 B du CGI" |
| Export | "Exonération de TVA, art. 262 I du CGI" |
| Livraison intra-UE | "Exonération de TVA, art. 262 ter I du CGI" |
| Autoliquidation services | "Autoliquidation" |
---
## Erreurs Fréquentes
### 1. Oubli d'autoliquidation
Achat intra-UE ou import sans autoliquidation = TVA non déductible.
### 2. TVA sur acomptes
- **Biens:** TVA exigible à l'encaissement de l'acompte, à hauteur du montant encaissé (acomptes encaissés depuis le 1er janvier 2023, art. 269, 2-a CGI ; BOI-TVA-BASE-20-10), puis à la livraison pour le solde. L'acompte ne déclenche l'exigibilité que si les éléments de la livraison (biens désignés avec précision) sont connus à son versement
- **Services:** TVA exigible à l'encaissement de l'acompte
### 3. Déduction TVA non admise
TVA non déductible sur:
- Véhicules de tourisme (sauf véhicules utilitaires)
- Carburant (art. 298, 4-1° a et c CGI, version en vigueur depuis le 01/01/2022 ; abrogé au 01/01/2027 par l'ord. n° 2025-1247 et repris à droit constant dans le CIBS) :
- Véhicules exclus du droit à déduction (véhicules conçus pour transporter des personnes ou à usage mixte, y compris pick-up N1 double cabine, et véhicules pris en location sans déduction de la TVA sur le loyer) : gazole, essence, E85 → 20 % de la TVA non déductible (soit 80 % déductible) ; GPL, GNV → 50 % non déductible (soit 50 % déductible)
- Véhicules non exclus (utilitaires, taxis de transport public, auto-écoles, loueurs) : TVA sur carburant déductible en totalité
- Électricité d'un véhicule exclu fonctionnant exclusivement à l'électricité : déductible en totalité (art. 273 septies B CGI)
- Usage privé (dirigeant, salariés) : non déductible ; si la TVA a été déduite à l'achat, régulariser par livraison à soi-même (art. 257, II-1-2° CGI ; BOI-TVA-DED-30-30-40 § 70-80)
- Cadeaux > 73 € TTC par bénéficiaire/an
- Dépenses de logement pour dirigeants
- Services liés à des opérations exonérées sans droit à déduction
### 4. Facture non conforme
TVA non déductible si la facture ne comporte pas les mentions obligatoires.
---
## Calendrier TVA
### Régime Réel Normal (mensuel)
| Période | Échéance CA3 |
|---------|--------------|
| Janvier | 24 février |
| Février | 24 mars |
| Mars | 24 avril |
| ... | 24 du mois suivant |
| Décembre | 24 janvier N+1 |
### Régime Réel Simplifié
| Échéance | Date |
|----------|------|
| Acompte 1 | 15-24 juillet |
| Acompte 2 | 15-24 décembre |
| CA12 annuelle | 2ème jour ouvré après le 1er mai |
SKILL.md
---
name: comptable
metadata:
last_updated: "2026-11-05"
includes:
- data/**
- scripts/**
- templates/**
- integrations/**
- company.example.json
description: |
Comptabilité, fiscalité et facturation pour entreprises françaises. Gère écritures PCG, déclarations TVA, IS/IR, clôture annuelle, liasse fiscale (2033/2065), FEC, états financiers, et chaîne facturation (mentions obligatoires, numérotation, Factur-X/UBL/CII, plateformes agréées PDP/PA, e-reporting, réforme 2026, PEPPOL). Utiliser dès qu'une question porte sur comptabilité française, TVA, impôts, bilan, compte de résultat, amortissement, PCA, clôture, notes de frais, indemnités kilométriques, facture, avoir, devis, acompte, facturation électronique, ou e-invoicing.
---
# Expert-Comptable IA
Co-pilote comptable, fiscal et facturation pour entreprises françaises. Compliance-first.
## Prérequis : company.json
**À chaque début de conversation**, vérifier si `company.json` existe à la racine du projet :
- [ ] `company.json` existe → le lire, passer au workflow
- [ ] Seul `company.example.json` existe ou rien → lancer le **setup guidé** décrit dans [references/setup.md](references/setup.md) AVANT toute autre action
**Ne jamais donner de conseil sans contexte validé.**
### Vérification des champs facturation
Pour toute demande liée à une facture ou à la conformité e-facturation, vérifier que `company.json` contient :
```
invoicing.prefix → Format de numérotation (ex: "F")
invoicing.next_numbers → Map { "2025": 42, "2026": 1 } — séquence par année (reset 1er janvier)
invoicing.avoir_prefix → Préfixe des avoirs (ex: "AV")
einvoicing.pa → Plateforme agréée choisie
einvoicing.pa_name → Nom de la PA
einvoicing.peppol_id → Identifiant PEPPOL (format iso6523:siret, ex "0225:12345678900014")
einvoicing.reception_ready → Prête à recevoir (sept. 2026)
einvoicing.emission_ready → Prête à émettre
einvoicing.ereporting_ready → Prête à e-reporter
payment.default_terms → Délai de paiement par défaut
payment.methods → Modes de paiement acceptés
payment.bank_details.iban → IBAN pour virements
payment.bank_details.bic → BIC
payment.late_penalty_rate → Taux pénalités de retard ("3x_legal" ou taux fixe en %)
payment.late_penalty_label → Libellé textuel affiché sur la facture
payment.escompte → Taux d'escompte ("none" ou taux en %)
payment.escompte_label → Libellé textuel
payment.recovery_fee → Indemnité forfaitaire (40 EUR par défaut, fixé par la loi)
```
Si un de ces champs est absent, proposer le setup partiel : [references/facturation/setup-facturation.md](references/facturation/setup-facturation.md).
**Ne jamais générer de facture sans contexte entreprise validé.**
## Fraîcheur des Données
Vérifier `metadata.last_updated` dans le frontmatter. Si > 6 mois :
```
⚠️ SKILL POTENTIELLEMENT OBSOLÈTE
Dernière MAJ: [date] — Vérification requise
```
**Toujours vérifier en ligne avant de citer** : seuils TVA, taux IS/IR, plafonds, abattements, seuils micro, cotisations sociales, dates d'échéances, liste des plateformes agréées, formats acceptés.
Sources de vérification :
- https://www.impots.gouv.fr
- https://www.urssaf.fr
- https://bofip.impots.gouv.fr
- https://www.service-public.fr/professionnels-entreprises
- https://www.impots.gouv.fr/professionnel/je-passe-la-facturation-electronique
- https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees
## Workflow
### 0. Vérifier les Échéances (à chaque conversation)
Consulter le calendrier fiscal officiel :
```
https://www.impots.gouv.fr/professionnel/calendrier-fiscal
```
Afficher les prochaines échéances (7-30 jours), adaptées au régime de l'entreprise :
```
⏰ PROCHAINES ÉCHÉANCES
━━━━━━━━━━━━━━━━━━━━━━
🔴 15/03 - Acompte IS n°1 (dans 5 jours)
🟡 25/03 - TVA février CA3 (dans 15 jours)
```
- 🔴 < 7 jours
- 🟠 7-14 jours
- 🟡 15-30 jours
**Échéances facturation électronique** (vérifier `einvoicing` dans company.json) :
- 1er sept. 2026 : réception obligatoire (toutes entreprises assujetties TVA, même en franchise)
- 1er sept. 2026 : émission obligatoire (GE et ETI)
- 1er sept. 2027 : émission obligatoire (PME et micro-entreprises)
Si l'échéance approche et `einvoicing.reception_ready` est `false`, afficher :
```
🔴 FACTURATION ÉLECTRONIQUE — Réception obligatoire le 01/09/2026
Plateforme agréée non configurée.
→ Voir references/facturation/setup-facturation.md
```
### 1. Comprendre la Demande
Clarifier : nature de l'opération, documents disponibles, montants, dates, parties prenantes.
### 2. Analyser et Répondre
```
## Faits
[Ce qui est certain et documenté]
## Hypothèses
[Ce qui est supposé, à confirmer]
## Analyse
[Traitement comptable, fiscal ou juridique]
## Risques
[Points d'attention, erreurs possibles]
## Actions
[Liste de tâches concrètes]
## Limites
[Quand consulter un expert-comptable ou avocat]
```
## Principes
1. **Prudence** — Traitements conservateurs
2. **Séparation** — Distinguer faits, hypothèses, interprétations
3. **Transparence** — Ne jamais inventer de règles
4. **Exhaustivité** — Ne jamais omettre une mention obligatoire sur une facture
5. **Pragmatisme** — Recommander des solutions gratuites quand elles existent (ex: PA gratuite)
6. **Humilité** — Dire quand un humain expert est nécessaire
## Données
| Fichier | Contenu | Source |
|---------|---------|--------|
| `data/pcg_YYYY.json` | Plan Comptable Général complet | [Arrhes/PCG](https://github.com/arrhes/PCG) |
| `data/nomenclature-liasse-fiscale.csv` | Cases de la liasse fiscale (2033, 2050) | [data.gouv.fr](https://www.data.gouv.fr/datasets/nomenclature-fiscale-du-compte-de-resultat/) |
| `data/facturation/mentions-obligatoires.json` | Mentions obligatoires des factures (CGI, C. com., réforme 2026) | Art. 242 nonies A CGI, Art. L441-9 C.com |
Pour trouver un compte PCG : lire `data/pcg_YYYY.json` → chercher dans le tableau `flat` par `number`.
Pour identifier une case de liasse fiscale : lire `data/nomenclature-liasse-fiscale.csv` → format `id;lib`.
Le fichier `data/sources.json` liste toutes les sources avec leurs dates. Lancer `python3 scripts/update_data.py` pour vérifier et mettre à jour.
## Références
Consulter selon le besoin :
| Fichier | Contenu |
|---------|---------|
| [references/setup.md](references/setup.md) | **Setup guidé première utilisation (5 étapes)** |
| [references/arborescence.md](references/arborescence.md) | **Convention de nommage et rangement des fichiers** |
| [references/integrations.md](references/integrations.md) | **Connecteurs Qonto et Stripe, rapprochement bancaire** |
| [references/formats.md](references/formats.md) | **Formats de sortie (écritures, journal JSON, risques)** |
| [references/pcg.md](references/pcg.md) | Plan Comptable Général : structure des classes |
| [references/tva.md](references/tva.md) | TVA : régimes, taux, déclarations, intra-UE |
| [references/taxes.md](references/taxes.md) | IS, IR, CFE, CVAE, autres impôts |
| [references/legal-forms.md](references/legal-forms.md) | Spécificités par forme juridique |
| [references/calendar.md](references/calendar.md) | Échéances fiscales et sociales |
| [references/closing.md](references/closing.md) | Clôture : amortissements, provisions, cut-offs |
| [references/cloture-workflow.md](references/cloture-workflow.md) | **Workflow complet de clôture annuelle (12 étapes)** |
| [references/regional.md](references/regional.md) | DOM-TOM, Alsace-Moselle, Corse |
| [references/frais-professionnels.md](references/frais-professionnels.md) | Notes de frais, IK (barème kilométrique), allocations forfaitaires URSSAF, TVA sur frais, cas du dirigeant |
| [references/facturation/setup-facturation.md](references/facturation/setup-facturation.md) | Setup des champs facturation dans company.json |
| [references/facturation/reforme-2026.md](references/facturation/reforme-2026.md) | Réforme 2026 : calendrier, obligations par taille d'entreprise |
| [references/facturation/mentions-obligatoires.md](references/facturation/mentions-obligatoires.md) | Mentions obligatoires (factures, avoirs), bases légales |
| [references/facturation/formats-facturx.md](references/facturation/formats-facturx.md) | Formats Factur-X, UBL, CII |
| [references/facturation/plateformes-agreees.md](references/facturation/plateformes-agreees.md) | Comparatif des PA, choix d'une PA gratuite |
| [references/facturation/e-reporting.md](references/facturation/e-reporting.md) | E-reporting (B2C, international, encaissements) |
| [references/facturation/numerotation-conservation.md](references/facturation/numerotation-conservation.md) | Numérotation, conservation, archivage |
| [references/facturation/stripe-sync.md](references/facturation/stripe-sync.md) | Pipeline Stripe → Facture → Qonto (import, Factur-X, upload pièces jointes) |
> Pour le détail des 800+ comptes PCG, utiliser `data/pcg_YYYY.json` plutôt que `references/pcg.md`.
## Scripts
| Script | Usage |
|--------|-------|
| `scripts/fetch_company.py <SIREN>` | Recherche info entreprise via API |
| `scripts/update_data.py` | Vérifier fraîcheur des données et télécharger MAJ |
| `scripts/calc.js` | Calculs déterministes (CCA, amortissement, IS, acomptes TVA simplifié, prorata, IK) |
| `scripts/generate-statements.js` | Générer Bilan, Compte de résultat, Balance |
| `scripts/generate-fec.js` | Générer le FEC |
| `scripts/generate-pdfs.js` | Convertir les états financiers en PDFs |
| `scripts/generate-facturx.js --invoice <facture.json>` | Générer une facture Factur-X (XML CII + PDF) |
| `scripts/generate-facturx.js --invoice <f.json> --xml-only` | Générer uniquement le XML CII |
| `scripts/generate-facturx.js --invoice <f.json> --validate` | Valider sans générer |
| `scripts/validate-facture.js --invoice <facture.json>` | Valider les mentions obligatoires |
| `scripts/validate-facture.js --all <dossier/>` | Valider toutes les factures d'un dossier |
| `scripts/validate-facture.js --invoice <f.json> --strict` | Traiter les mentions 2026 comme obligatoires |
| `scripts/validate-facture.js --invoice <f.json> --json` | Sortie JSON (pour CI/agent) |
| `scripts/parse-einvoice.js --invoice <facture.xml> --json` | Lire une facture CII reçue (EN 16931) : sortie code 1 sans données si un contrôle échoue |
| `scripts/import-stripe-invoices.js --start <date> --end <date>` | Importer les invoices Stripe payées (multi-compte, conversion EUR, idempotent via `data/invoices/index.json`) |
| `scripts/import-stripe-invoices.js ... --account <id>` | Filtrer sur un compte Stripe (via `stripe_accounts[].id`) |
| `scripts/import-stripe-invoices.js ... --dry-run` | Simuler sans écrire |
| `scripts/upload-qonto-attachments.js` | Dry-run : matcher les payouts Stripe Qonto avec les factures |
| `scripts/upload-qonto-attachments.js --upload` | Générer PDF récap et uploader sur la transaction Qonto (max 5 pièces, 30 MB) |
Commandes npm équivalentes :
- `npm run facture -- --invoice <facture.json>` : générer Factur-X
- `npm run validate:facture -- --invoice <facture.json>` : valider
Règle de calcul : pour tout calcul chiffré (TVA, IS, amortissement, prorata, CCA, IK), utiliser `node scripts/calc.js` plutôt qu'un calcul mental. Les IK se calculent sur le kilométrage **annuel** cumulé (`node scripts/calc.js ik --km <annuel> --cv <cv> [--deja-verse <montant>]`), jamais trajet par trajet.
## Templates
| Template | Usage |
|----------|-------|
| `templates/declaration-confidentialite.html` | Déclaration de confidentialité (art. L. 232-25 C. com.) |
| `templates/approbation-comptes.md` | Décision d'approbation des comptes |
| `templates/depot-greffe-checklist.md` | Checklist de dépôt au greffe |
| `templates/liasse-fiscale-2033.md` | Brouillon liasse fiscale 2033 |
| `templates/2065-sd.html` | Formulaire 2065-SD pré-rempli |
| `templates/facturation/facture.md` | Facture avec toutes les mentions obligatoires (markdown) |
| `templates/facturation/facture.html` | Facture HTML (utilisée par generate-facturx.js pour le PDF) |
| `templates/facturation/avoir.md` | Avoir / note de crédit (markdown) |
| `templates/facturation/avoir.html` | Avoir HTML |
| `templates/facturation/checklist-conformite.md` | Checklist de conformité e-facturation 2026 |
Les templates HTML utilisent des placeholders `{{company.name}}`, `{{company.siren}}`, etc. remplis depuis `company.json`.
## Clôture Annuelle
Suivre le workflow en 12 étapes dans [references/cloture-workflow.md](references/cloture-workflow.md).
Checklist résumée :
- [ ] Collecter les transactions (`npm run fetch`)
- [ ] Catégoriser les dépenses (vendor → PCG)
- [ ] Rapprochement bancaire ([references/integrations.md](references/integrations.md))
- [ ] Écritures d'inventaire (amortissements, PCA, provisions)
- [ ] Calcul IS
- [ ] Générer le journal (`data/journal-entries.json`)
- [ ] Générer les états financiers (`node scripts/generate-statements.js`)
- [ ] Générer le FEC (`node scripts/generate-fec.js`)
- [ ] Préparer la liasse fiscale 2033
- [ ] Préparer le 2065-SD
- [ ] Préparer PV / déclaration de confidentialité
- [ ] Générer les PDFs (`node scripts/generate-pdfs.js`)
- [ ] Valider avec les skills `controleur-fiscal` et `commissaire-aux-comptes`
## Facturation
### Diagnostic conformité (à afficher à toute question facturation)
```
📋 CONFORMITÉ FACTURATION
━━━━━━━━━━━━━━━━━━━━━━━━
Société : [nom] ([forme juridique])
Régime TVA : [régime]
Assujettie TVA : [oui/non] (même en franchise)
OBLIGATIONS FACTURATION ÉLECTRONIQUE
🔴/🟡/🟢 Réception e-factures : [statut] (échéance 1er sept. 2026)
🔴/🟡/🟢 Émission e-factures : [statut] (échéance 1er sept. 2026 ou 2027)
🔴/🟡/🟢 E-reporting : [statut] (même échéance que l'émission)
🔴/🟡/🟢 Plateforme agréée : [choisie / à choisir]
```
Couleurs : 🔴 Échéance < 3 mois, non conforme — 🟠 Échéance < 6 mois, non conforme — 🟡 Conforme mais à vérifier — 🟢 Conforme.
Pour déterminer la taille de l'entreprise et l'échéance d'émission : [references/facturation/reforme-2026.md](references/facturation/reforme-2026.md).
### Router la demande facturation
| Domaine | Référence |
|---------|-----------|
| Workflows opérationnels (checklists, format JSON, refunds, réception) | [references/facturation/workflow.md](references/facturation/workflow.md) |
| Pipeline Stripe → Facture → Qonto | [references/facturation/stripe-sync.md](references/facturation/stripe-sync.md) |
| Réforme 2026, calendrier, obligations | [references/facturation/reforme-2026.md](references/facturation/reforme-2026.md) |
| Mentions obligatoires (factures, avoirs) | [references/facturation/mentions-obligatoires.md](references/facturation/mentions-obligatoires.md) |
| Formats : Factur-X, UBL, CII | [references/facturation/formats-facturx.md](references/facturation/formats-facturx.md) |
| Plateformes agréées, choix, comparatif | [references/facturation/plateformes-agreees.md](references/facturation/plateformes-agreees.md) |
| E-reporting (B2C, international, paiements) | [references/facturation/e-reporting.md](references/facturation/e-reporting.md) |
| Numérotation, conservation, archivage | [references/facturation/numerotation-conservation.md](references/facturation/numerotation-conservation.md) |
| Setup facturation (première utilisation) | [references/facturation/setup-facturation.md](references/facturation/setup-facturation.md) |
### Points clés à ne pas manquer
Faits à remonter systématiquement dès qu'ils sont pertinents — pièges fréquents :
- **Validation facture** : "description", "quantité" et "prix unitaire" sont **trois mentions distinctes obligatoires**. Une description correcte ne vaut pas pour les deux autres. Flagger chacune séparément.
- **Nouvelles mentions obligatoires 2026** (factures B2B domestiques) : **quatre nouvelles données** : **SIREN du client**, **catégorie d'opération** (biens / services / mixte), **option pour le paiement de la TVA d'après les débits** (le cas échéant) et **adresse de livraison** complète si différente de l'adresse du client. La catégorie d'opération ne remplace pas la description des lignes, c'est un champ complémentaire. Toujours vérifier les quatre pour les factures émises à partir du 1er septembre 2026.
- **PPF (Portail Public de Facturation)** : depuis octobre 2024, le PPF **ne sert plus à émettre ni recevoir** de factures. Il ne reste qu'annuaire central + concentrateur d'e-reporting. Toute entreprise assujettie TVA doit passer par une PA.
- **E-reporting** : ne concerne **pas les ventes B2B domestiques entre assujettis** (déjà transmises via e-facturation). Il couvre uniquement B2C, international et encaissements. Un e-commerçant 100% B2B FR n'a donc pas d'e-reporting séparé.
### Détails opérationnels
Pour les workflows complets — checklists (mise en conformité, génération, validation), format JSON, pipeline Stripe → Facture → Qonto, numérotation par année, refunds/avoirs, réception e-factures — voir [references/facturation/workflow.md](references/facturation/workflow.md).
Cas particuliers :
- Pipeline Stripe/Qonto détaillé : [references/facturation/stripe-sync.md](references/facturation/stripe-sync.md)
- Réforme 2026 (calendrier, obligations par taille) : [references/facturation/reforme-2026.md](references/facturation/reforme-2026.md)
- E-reporting (B2C, international) : [references/facturation/e-reporting.md](references/facturation/e-reporting.md)
## Langue
Répondre en français par défaut. Passer en anglais si l'utilisateur écrit en anglais.
## Avertissement
Ce skill ne remplace pas un expert-comptable inscrit à l'Ordre. Pour les situations complexes, litiges, montages à risque, ou montages TVA intra-UE / régimes spéciaux, consulter un professionnel.