Affectations bancaires
Les liens entre une opération bancaire et les factures qu'elle solde. EN CRÉER UNE EST UN BROUILLON et rien de plus : cela n'écrit aucun paiement, ne touche aucune ligne de grand livre et laisse la facture impayée. L'argent bouge à POST /api/v1/bank_operations/{id}/reconciliation, qui prend le jeu d'affectations COMPLET et la version de l'opération - si bien que brouillonner reste bon marché et que solder reste lié à une version. Il n'existe au plus qu'une affectation ACTIVE par couple (opération, facture) ; une seconde est un validation_failed, jamais un duplicate_record. Les montants sont toujours des magnitudes POSITIVES OU NULLES - le sens du mouvement vit sur le direction de l'opération - et s'envoient sous forme de chaînes ou de nombres entiers, jamais de flottants JSON, parce qu'un double ne peut pas porter les quatre décimales que stocke la colonne. Si les affectations actives dépassaient alors le mouvement, le refus est allocation_exceeds_operation. RIEN N'EST JAMAIS SUPPRIMÉ : une affectation est une pièce d'audit, si bien que le DELETE écrit status: "rejected" et vous rend la ligne, et une affectation CONFIRMÉE y est refusée parce que l'argent doit d'abord revenir par la ressource de rapprochement.
Lister les affectations d'une opération bancaire
Retourne toutes les affectations de l'opération, de la plus ancienne à la plus récente - l'ordre dans lequel un opérateur a construit la ventilation.
Brouillonner une affectation sur une opération bancaire
Crée une affectation `proposed`. **C'est un brouillon et rien d'autre** : aucun paiement n'est écrit, aucune ligne de grand livre n'est touchée, et la facture reste impayée. Le règlement de l'argent, c'est `POST /api/v1/bank_operations/{id}/reconciliation`, qui prend le jeu d'affectations complet et la `version` de l'opération.
Modifier une affectation bancaire
Change le montant brouillonné, ou retire l'affectation en positionnant `status: 'rejected'`. Les deux champs sont facultatifs mais au moins l'un des deux est requis ; les champs que vous envoyez sont appliqués et les autres gardent leur valeur stockée.
Retirer une affectation bancaire
**Ne supprime rien.** Une affectation est une pièce d'audit, si bien que cet appel écrit `status: 'rejected'` et vous rend la ligne telle qu'elle est désormais - ce qui est la raison pour laquelle la réponse porte un corps.