totals.balance : le solde à afficher, dans l'unité de la banque (format_label).credits et debits : le total acquis et le total utilisé, pour expliquer le solde.function : la fonction concernée quand la banque s'applique aux fonctions (applicable_to: 2) ; sinon, id vaut 0.GET /api/payroll/hr-banks?brief=false.dry_run pour l'écrire. La clé d'idempotence (idempotency_key) protège contre le double clic : un lot déjà écrit avec la même clé est rejoué sans être écrit une seconde fois, et sa validation à blanc l'annonce ("mode": "replay", lignes already_written) plutôt que de la revalider. La valeur est toujours positive ; c'est le mouvement (disbursement) qui en fait une sortie.{
"dry_run": true, "status": "blocked",
"lines": [ { "ok": false, "errors": [
{ "code": "negative_balance_not_allowed", "field": "value",
"message": "La banque RH 10 interdit un solde négatif : solde 0.5 − 2.0 = -1.5",
"balance_before": 0.5, "balance_after": -1.5 } ] } ]
}Soldes de Lavoie Benoît :
Vacances — Plâtrier 3e : 4.5 heure(s) (acquis 8, utilisés 3.5)
Allocation d'outils : 100 montant(s) (acquis 100, utilisés 0)
Demande enregistrée (completed, 1 ligne)
Soldes de Lavoie Benoît :
Vacances — Plâtrier 3e : 0.5 heure(s) (acquis 8, utilisés 7.5)
Allocation d'outils : 100 montant(s) (acquis 100, utilisés 0)DELETE /api/payroll/time-sheets/by-id/{id}) tant qu'elle n'est pas intégrée à une paie : le solde se recalcule.