Brouillon — fiche en cours de validation par notre expert comptable. À ne pas citer sans vérification.
macompta.ai
Luca
assistant wiki

Une question sur la compta d'indépendant en Suisse ? Demande-moi, je t'oriente vers les bonnes fiches.

Réponses basées sur le wiki. Pour ta situation précise, l'abonnement macompta.ai te donne Luca + l'appui d'un expert.

Procédure — transitoires (cut-off) de bout en bout

procedure draft non validé procedurelucatransitoirescut-offcloture13002300banc-essai sources: pme-2026, co-958, fiduciaire-ch-2026-full

Procédure — transitoires (cut-off) de bout en bout

Le banc d'essai de la refonte (cf docs/REFONTE_CERVEAU.md §9). Sans cut-off, le bénéfice est faux et la compta est « à peu près », pas finie. C'est le levier nº 1 de la finalité 90-100 %. Répartition des rôles : toi (l'IA) tu DÉTECTES par raisonnement et tu EXPLIQUES en langage humain ; le code (lib/dossier/transitoires.ts) calcule le prorata et fabrique les écritures équilibrées ; la calculatrice (lib/dossier/books.ts) vérifie le bouclement. Tu n'écris jamais un chiffre toi-même : tu passes par les outils.

Les outils

OutilRôle
detect_transitoires(exercice)Te remonte les signaux (factures à cheval, abos annuels, lignes reconduites du N-1, classiques manquants AVS/honoraires) avec montant pré-calculé quand il existe. Ne pose rien.
propose_transitoire(...)Pose le transitoire via la calculatrice ; renvoie l'état du bouclement.
list_transitoires(exercice)Liste ce qui est déjà posé, pour revoir / corriger.
remove_transitoire(cut_off_id)Supprime un transitoire (et sa reprise s'il y en a une), re-vérifie.

1. Détecter (raisonnement, pas pattern figé)

Appelle detect_transitoires. Tu reçois des signaux bruts — à toi de trancher lesquels sont de vrais transitoires.

Indice dans le dossierTypeCompteCatégorie
Facture fournisseur déc. {N}, payée janv. {N+1}charge à payer2300du_en_janvier
Loyer / électricité de décembre réglé en janviercharge à payer2300du_en_janvier
Assurance / abo / hosting annuel payé au 2e semestre, couvrant au-delà du 31.12payé d'avance1300facture_a_cheval
Vignette / abo {N+1} payé en décembre {N}payé d'avance1300paye_d_avance
Ligne 1300 ou 2300 dans l'ouverture {N} (= clôture {N-1})reconduction1300/2300reprendre le montant {N-1} comme défaut
Déclaration d'impôt {N-1} : charges payées d'avance / à payer / provisions déjà déclaréesreconductionselon la lignereprendre comme base, ajuster sur les docs {N}
AVS : acomptes payés mais décompte définitif non reçucharge à payer2300, contrepartie 2850avs_a_provisionner
Honoraires du comptable pour boucler {N}, facturés {N+1}charge à payer2300honoraires_bouclement

Gardes : n'invente pas un transitoire sans trace (sauf AVS + honoraires, quasi universels) ; en dessous de ~100 CHF laisse tomber (importance relative) ; un bien durable > 1 000 CHF n'est PAS un transitoire (c'est un investissement amorti).

2. Pré-remplir (ne demande que l'irréductible)

Le montant vient, par ordre de préférence (toujours calculé par le code) :

  1. Prorata d'une facture lue : passe montant_total + debut + fin, le code calcule la part qui déborde (base mois par défaut : assurance 1 200 du 01.07→30.06 → 600).
  2. Reconduction {N-1} : la ligne 1300/2300 d'ouverture ou les transitoires / provisions de la déclaration d'impôt de l'an dernier donnent le défaut.
  3. Estimation (AVS = bénéfice × taux − acomptes ; honoraires = défaut) → marque estime: true.
  4. Saisie de l'user : seulement si rien des trois.

Ne redemande jamais un montant déjà dans une facture, le grand-livre ou le bilan {N-1}.

3. Expliquer (zéro jargon)

Utilise les patrons des fiches 1300-actifs-transitoires et 2300-passifs-transitoires (§ Expliquer au client). Jamais « 1300 / 2300 / transitoire / cut-off / débit ». Toute question montre date + libellé + montant + d'où il vient.

4. Comptabiliser — actif et passif ne se posent PAS pareil

L'asymétrie est la clé (sinon double-comptage du paiement) :

ACTIF (payé d'avance) — on pose la PAIRE (sûr, aucune ligne bancaire en face) : Fin {N} D 1300 / C {charge} Début {N+1} D {charge} / C 1300 (reprise auto, reversalOf) PASSIF (à payer) — on pose UNIQUEMENT l'accrual {N} : Fin {N} D {charge} / C 2300 → PAS de jambe de paiement {N+1} ici. AVS (cas RI — le code force la contrepartie privée) : Fin {N} D 2850 / C 2300

Pourquoi pas de paiement {N+1} pour les passifs : le décaissement réel de janvier ({N+1}) arrivera par l'extrait bancaire. Il sera alors reclassé D 2300 / C 1020 (et pour l'AVS D 2300 / C 1020, surtout pas D 2850 / C 1020) par la couche d'import — sinon le paiement serait compté deux fois. Tu ne poses donc jamais la jambe de paiement au bouclement.

Tu fournis le sens (actif / passif), la contrepartie (compte de charge du plan ; pour avs_a_provisionner le code force 5790, jamais 2850), et le montant (ou les bornes de facture). Tu ne choisis jamais 1300/2300 toi-même (le code les met) ni un compte hors plan (refusé).

5. Vérifier (le bilan boucle)

propose_transitoire renvoie l'invariant (ok, ecartBilan, diagnostics). Une écriture transitoire est équilibrée par construction ; si ok:false, c'est un diagnostic (souvent une contrepartie incohérente) — tu corriges, tu ne « sers » jamais un bilan faux (cf invariants-bilan).

6. Corriger (retour arrière, à tout moment)

list_transitoires pour revoir ; remove_transitoire(cut_off_id) supprime le transitoire (et sa reprise si actif) puis re-vérifie ; re-pose avec le bon montant. Chaque transitoire garde sa source → on sait toujours d'où vient le chiffre. Satisfait l'exigence « revenir sur n'importe quelle réponse, partout » (REFONTE §2.5).

Banc d'essai (dossier type)

  1. Assurance RC 1 200 (01.07→30.06) → facture_a_cheval, actif, contrepartie 6520, prorata → 600. Paire posée.
  2. Loyer décembre 1 500 payé 03.01 → du_en_janvier, passif, contrepartie 6000. Accrual seul ; le paiement de janvier sera reclassé à l'import.
  3. AVS : bénéfice × 10 % − acomptes → avs_a_provisionner, passif, contrepartie forcée 2850. Accrual seul.
  4. Honoraires bouclement → honoraires_bouclement, passif, 6500, estime:true. Accrual seul.

→ après chaque pose, invariant ok:true. L'user corrige l'assurance à 1 400 → remove + propose → 700, le bilan reboucle.

Sources

Liens