Gestion des transactions
Les flux de stock, les types de transaction et les cas de synchronisation.
Gestion des transactions
Le cœur du produit est la transaction: c'est elle qui écrit l'histoire du stock. Cette page explique à quoi servent les types de transaction et comment choisir le bon flux.
Types principaux
| Type | Usage |
|---|---|
approvisioning | entrée fournisseur |
inner_sale | vente interne |
local_sale | vente locale vers une branche |
outer_sale | vente externe |
client_sale | vente à un client |
inner_loan | prêt entre entités |
inner_request | demande interne |
crates_adjustment | ajustement de caisses |
create_empty | création de vides |
create_empty_full | vides liés à du plein |
create_empty_lost | casse ou perte de vides |
unsuitable | produit impropre à la vente |
Comment choisir le bon type
Demande-toi d'abord ce qui se passe réellement:
| Situation réelle | Type à regarder |
|---|---|
| un fournisseur livre du stock | approvisioning |
| un produit est vendu en interne | inner_sale |
| un produit part vers un site local | local_sale |
| un produit sort vers l'extérieur | outer_sale |
| un client prend un produit | client_sale |
| du stock circule entre entités | inner_loan ou inner_request |
| des caisses vides sont créées ou corrigées | create_empty* ou crates_adjustment |
| un produit n'est plus vendable | unsuitable |
Flux recommandé
- Identifier l'origine.
- Choisir la destination.
- Ajouter les lignes produit.
- Vérifier les quantités pleines et/ou vides.
- Confirmer l'écriture pour que le stock soit recalculé.
Ce que fait chaque étape
- identifier l'origine évite de mélanger deux sites ou deux clients;
- choisir la destination détermine où le stock va réellement;
- ajouter les lignes produit permet à l'application de calculer le stock;
- vérifier les quantités évite les erreurs de conversion entre plein et vide;
- confirmer l'écriture fige l'opération dans l'historique.
Hors ligne
Seules certaines transactions peuvent être créées hors ligne:
outer_saleclient_saleapprovisioning
Elles sont ensuite synchronisées vers POST /api/transactions.
Cela permet au terrain de continuer à travailler sans réseau stable, tout en conservant un envoi centralisé ensuite.
Exemple concret
Si un agent vend 2 unités à un client pendant une tournée:
- il choisit
client_sale; - il sélectionne le bon contexte d'organisation;
- il saisit les quantités;
- il enregistre hors ligne si nécessaire;
- l'opération remonte à la reconnexion.
Point de vigilance
Les ajustements de caisses ne doivent pas être utilisés comme un raccourci pour masquer une erreur métier. Ils doivent documenter une réalité opérationnelle. Si l'ajustement sert à corriger une erreur de saisie, il faut revoir le workflow d'origine.