Files
erp/pilotage/snapshot.json
T
arcodangeandClaude Opus 5 68cc5eefb9 feat(pilotage): un tableau de bord pour décider — autonomie, rémunération, capacité
L'opérateur : « est-ce possible d'avoir un dashboard pour suivre la santé et
pérennité fiscale de mon entreprise ainsi que ma rémunération selon différentes
hypothèses ». Puis : « en tenant compte des jours ouvrés de l'exercice, pouvoir
simuler avec un tjm/forfait donné ».

LA QUESTION SOUS LA QUESTION. Elle était dans le message précédent :
« l'indemnisation 2026 + la rémunération minimale devrait suffire en cas de
carence de prospect ». Le tableau répond donc à ça, et le dit dès le titre :
combien de temps on tient sans nouveau client, et à quelle rémunération.

AUCUN CHIFFRE EN DUR. pilotage/snapshot.py relit l'ERP de production — factures,
charges, soldes bancaires, dette de compte courant — et va chercher les règles
dans fleet/profile/fiscal.yaml et les échéances dans calendar.yaml, qui font
déjà autorité. Un tableau qui recopierait ces valeurs serait faux le lendemain.

Les PROJECTIONS, elles, se calculent dans la page, à partir d'hypothèses que
l'opérateur déplace : rémunération, allocation France Travail, charges
personnelles, taux de cotisations, taux de change, cycles facturés. Les figer
dans le JSON les rendrait invérifiables — personne ne saurait plus quel taux a
produit quel résultat.

LES JOURS OUVRÉS sont calculés pour de vrai : week-ends et onze fériés français
retirés, Pâques par l'algorithme de comput. 242 jours pour l'exercice 2026,
254 pour 2027.

Ils servent surtout à une chose que l'opérateur n'avait pas demandée mais qui
tombe de sa question : LE TAUX JOURNALIER IMPLICITE DU FORFAIT KISSMETRICS. Un
forfait n'a pas de TJM, il en acquiert un a posteriori selon le temps qu'on y a
passé — 33 000 USD sur six mois font 589 EUR/jour à 8 jours par mois, et
236 EUR/jour à 20. C'est la seule comparaison honnête avec une mission en régie,
et elle dit si le contrat était bien tarifé.

HORS DE DOLIBARR, délibérément. Son tableau de bord affiche l'état des objets ;
il ne sait pas projeter, et un module maison coûterait plus à maintenir qu'il ne
rapporterait pour une société d'une personne. Dolibarr tient les écritures, ce
tableau sert à décider.

La page porte ses propres réserves, dont le piège de la deuxième année : les
cotisations 2027 seront provisionnelles sur un revenu 2026 nul, et la
régularisation tombera en 2028. Le montant affiché est à provisionner, pas à
dépenser.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-24 20:22:03 +02:00

508 lines
9.5 KiB
JSON

{
"genere_le": "2026-08-24T20:16:45+02:00",
"exercice": {
"debut": "2026-01-16",
"fin": "2026-12-31"
},
"produits": {
"ca_ht_facture": 27140.02,
"factures": [
{
"ref": "AVC001-CL0001001",
"ht": -510.0,
"ttc": -510.0,
"devise": "EUR",
"montant_devise": -510.0,
"emise": 1769727600,
"echeance": 1769727600,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": true
},
{
"ref": "FAC001-CL00001",
"ht": 510.0,
"ttc": 510.0,
"devise": "EUR",
"montant_devise": 510.0,
"emise": 1769727600,
"echeance": 1770591600,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": true
},
{
"ref": "FAC001-CL0001001",
"ht": 510.0,
"ttc": 510.0,
"devise": "EUR",
"montant_devise": 510.0,
"emise": 1769727600,
"echeance": 1770591600,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC002-CL0001002",
"ht": 5100.0,
"ttc": 5100.0,
"devise": "EUR",
"montant_devise": 5100.0,
"emise": 1771887600,
"echeance": 1774908000,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC003-CL0001003",
"ht": 2550.0,
"ttc": 2550.0,
"devise": "EUR",
"montant_devise": 2550.0,
"emise": 1771887600,
"echeance": 1774908000,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC004-CL0001004",
"ht": 2147.0,
"ttc": 2147.0,
"devise": "EUR",
"montant_devise": 2147.0,
"emise": 1779487200,
"echeance": 1782770400,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC005-CL0001005",
"ht": 2575.11,
"ttc": 2575.11,
"devise": "USD",
"montant_devise": 3000.0,
"emise": 1779487200,
"echeance": 1787436000,
"payee": false,
"statut": "1",
"reste_du": 2575.11,
"annulee": false
},
{
"ref": "FAC006-CL0001006",
"ht": 2195.97,
"ttc": 2195.97,
"devise": "EUR",
"montant_devise": 2195.97,
"emise": 1782165600,
"echeance": 1785448800,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC007-CL0001007",
"ht": 2575.11,
"ttc": 2575.11,
"devise": "USD",
"montant_devise": 3000.0,
"emise": 1782165600,
"echeance": 1790114400,
"payee": false,
"statut": "1",
"reste_du": 2575.11,
"annulee": false
},
{
"ref": "FAC008-CL0001008",
"ht": 2185.0,
"ttc": 2185.0,
"devise": "EUR",
"montant_devise": 2185.0,
"emise": 1784757600,
"echeance": 1787349600,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC009-CL0001009",
"ht": 2164.75,
"ttc": 2164.75,
"devise": "EUR",
"montant_devise": 2164.75,
"emise": 1787436000,
"echeance": 1790028000,
"payee": true,
"statut": "2",
"reste_du": 0.0,
"annulee": false
},
{
"ref": "FAC010-CL0001010",
"ht": 2568.54,
"ttc": 2568.54,
"devise": "USD",
"montant_devise": 3000.0,
"emise": 1787436000,
"echeance": 1795388400,
"payee": false,
"statut": "1",
"reste_du": 2568.54,
"annulee": false
},
{
"ref": "FAC011-CL0001011",
"ht": 2568.54,
"ttc": 2568.54,
"devise": "USD",
"montant_devise": 3000.0,
"emise": 1787522400,
"echeance": 1792706400,
"payee": false,
"statut": "1",
"reste_du": 2568.54,
"annulee": false
}
]
},
"charges": {
"fournisseurs_ht": 2331.13,
"factures": [
{
"ref": "FAF2025001",
"ht": 6.08,
"date": 1761256800,
"tiers": "OVH",
"payee": true
},
{
"ref": "FAF2026003",
"ht": 1.66,
"date": 1767481200,
"tiers": "YOLAW",
"payee": true
},
{
"ref": "FAF2026005",
"ht": 169.0,
"date": 1767654000,
"tiers": "Qonto",
"payee": true
},
{
"ref": "FAF2026002",
"ht": 47.69,
"date": 1767913200,
"tiers": "Greffe du tribunal de commerce Évry",
"payee": true
},
{
"ref": "FAF2026004",
"ht": 124.0,
"date": 1767913200,
"tiers": "Medialex",
"payee": true
},
{
"ref": "FAF2026006",
"ht": 8.43,
"date": 1768172400,
"tiers": "La Poste",
"payee": true
},
{
"ref": "FAF2026007",
"ht": 2.67,
"date": 1768604400,
"tiers": "Infogreffe",
"payee": true
},
{
"ref": "FAF2026001",
"ht": 50.0,
"date": 1769382000,
"tiers": "Wise Europe SA",
"payee": true
},
{
"ref": "FAF2026008",
"ht": 510.0,
"date": 1772233200,
"tiers": "Darnis Operations",
"payee": true
},
{
"ref": "FAF2026009",
"ht": 255.0,
"date": 1772233200,
"tiers": "Darnis Operations",
"payee": true
},
{
"ref": "FAF2026012",
"ht": 143.9,
"date": 1775080800,
"tiers": "Mistral AI SAS",
"payee": true
},
{
"ref": "FAF2026011",
"ht": 180.0,
"date": 1775944800,
"tiers": "Anthropic Ireland Limited",
"payee": true
},
{
"ref": "FAF2026010",
"ht": 219.5,
"date": 1782684000,
"tiers": "Darnis Operations",
"payee": true
},
{
"ref": "FAF2026013",
"ht": 214.7,
"date": 1782770400,
"tiers": "Darnis Operations",
"payee": true
},
{
"ref": "FAF2026015",
"ht": 90.0,
"date": 1784325600,
"tiers": "Anthropic PBC",
"payee": true
},
{
"ref": "FAF2026016",
"ht": 90.0,
"date": 1787090400,
"tiers": "Anthropic PBC",
"payee": true
},
{
"ref": "FAF2026014",
"ht": 218.5,
"date": 1788127200,
"tiers": "Darnis Operations",
"payee": true
}
]
},
"tresorerie": {
"total": 13877.15,
"comptes": [
{
"id": 1,
"label": "QONTO",
"solde": 2013.3,
"mouvements": 15
},
{
"id": 2,
"label": "WISE EURO",
"solde": 11863.85,
"mouvements": 19
},
{
"id": 3,
"label": "G.RADUREAU Compte Courant Asso",
"solde": -1912.98,
"mouvements": 16
}
],
"dette_compte_courant": 1912.98
},
"regles_fiscales": [
{
"id": "vat-regime-reel-simplifie",
"label": null,
"effective_from": "2026-01-01",
"effective_until": "2026-12-31",
"decision": "adc-004"
},
{
"id": "vat-regime-ca3-quarterly",
"label": null,
"effective_from": "2027-01-01",
"effective_until": null,
"decision": "adc-004"
},
{
"id": "client-export-autoliquidation",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-001"
},
{
"id": "supplier-fr-vat-deductible",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-004"
},
{
"id": "supplier-intra-eu-reverse-charge",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-004"
},
{
"id": "fx-deltas-766-666",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-002"
},
{
"id": "saas-subscriptions-expensed",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-003"
},
{
"id": "personal-card-cca-lane",
"label": null,
"effective_from": "2026-01-01",
"effective_until": null,
"decision": "adc-005"
}
],
"calendrier": [
{
"id": "tva-acompte-2026-07",
"label": null,
"due": "2026-07",
"status": "estimated",
"authority": "DGFiP"
},
{
"id": "tva-acompte-2026-12",
"label": null,
"due": "2026-12-15",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "tva-ca12-fy2026",
"label": null,
"due": "2027-05-04",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "regime-simplifie-abolition",
"label": null,
"due": "2027-01-01",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "ca3-2027-q1",
"label": null,
"due": "2027-04-20",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "ca3-quarterly",
"label": null,
"due": null,
"status": "estimated",
"authority": "DGFiP"
},
{
"id": "cfe-annual",
"label": null,
"due": null,
"status": "estimated",
"authority": "DGFiP"
},
{
"id": "is-installments",
"label": null,
"due": "2027-06-30",
"status": "conditional",
"authority": "DGFiP"
},
{
"id": "ag-comptes-annuels-fy2026",
"label": null,
"due": "2027-06-30",
"status": "confirmed",
"authority": "Greffe / AG"
},
{
"id": "einvoicing-reception",
"label": null,
"due": "2026-09-01",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "einvoicing-emission-ereporting",
"label": null,
"due": "2027-09-01",
"status": "confirmed",
"authority": "DGFiP"
},
{
"id": "urssaf-2026-t2",
"label": null,
"due": "2026-08-05",
"status": "confirmed",
"authority": "URSSAF Île-de-France"
},
{
"id": "urssaf-2026-t3",
"label": null,
"due": "2026-11-05",
"status": "confirmed",
"authority": "URSSAF Île-de-France"
},
{
"id": "remuneration-gerant-decision-2027",
"label": null,
"due": "2027-01-31",
"status": "confirmed",
"authority": "associé unique"
},
{
"id": "km-fac005-due",
"label": null,
"due": "2026-08-23",
"status": "confirmed",
"authority": null
},
{
"id": "km-fac007-due",
"label": null,
"due": "2026-09-23",
"status": "confirmed",
"authority": null
},
{
"id": "km-contract-renewal-4pct-window",
"label": null,
"due": null,
"status": "pending-definition",
"authority": null
}
]
}