Vue d'ensemble de l'inventaire dans OmniCRM
Le système Inventaire dans OmniCRM est conçu pour gérer et suivre à la fois les éléments physiques et virtuels utilisés par les opérateurs de réseau et les clients.
Cela signifie que nous pouvons suivre toutes sortes d'éléments, tels que des modems, des numéros de téléphone, des blocs d'adresses IP, ou même du matériel physique comme des ONT GPON ou des CPE sans fil fixes.
Voir aussi : Attributs des clients pour stocker des métadonnées personnalisées, et Tags des clients pour la catégorisation visuelle.
Pour soutenir les clients avec une empreinte réseau fixe, le système d'inventaire peut également suivre les maisons desservies pour un service donné, permettant aux opérateurs de faire une qualification de service à distance, et pour ceux qui exploitent un réseau sans fil fixe, nous pouvons suivre les CPE déployés sur le terrain avec leurs emplacements.
::: note ::: title Note :::
Les éléments d'inventaire sont liés aux produits lors de la provisionnement via le
champ inventory_items_list. Pour un guide complet sur la façon dont
l'inventaire s'intègre au provisionnement des produits, y compris l'interface utilisateur du sélecteur d'inventaire et l'intégration du playbook Ansible, voir
Guide complet du cycle de vie des produits - Exigences en matière d'inventaire .
:::
Objectif
L'inventaire OmniCRM sert plusieurs objectifs clés :
- Provisionnement de services : Lorsqu'un client s'inscrit à un service, des éléments comme des modems, des cartes SIM ou des numéros de téléphone peuvent devoir être alloués. Le système d'inventaire suit ces éléments et les associe aux clients.
- Gestion des stocks : Pour les stocks physiques, tels que le matériel ou d'autres équipements, l'inventaire aide les opérateurs à maintenir une visibilité sur ce qui est disponible, où il est stocké, et ce qui a été alloué ou vendu aux clients.
- Allocation aux clients : Le système permet d'allouer des éléments aux clients, que ce soit pour une utilisation dans un service (par exemple, attribuer un modem au compte Internet d'un client) ou pour une vente directe.
- Qualification de service / Empreinte réseau : En stockant des informations sur l'empreinte réseau, comme chaque maison desservie pour un service GPON, ou chaque CPE sans fil fixe déployé, cela permet au personnel de faire une qualification de service à distance et de voir s'il y a une empreinte réseau dans une zone spécifique.
Exemple de cycle de vie de l'inventaire
Pour illustrer comment fonctionne le système d'inventaire, considérons les exemples suivants
Exemple de carte SIM
Un lot de 1000 cartes SIM est commandé auprès d'Omnitouch. Tout d'abord, un
modèle d'inventaire est créé pour les cartes SIM (s'il n'existe pas déjà)
et les SIM commandées sont chargées dans l'inventaire dans l'état
En transit.
Une fois les SIM reçues, elles sont marquées comme En stock,
et peuvent être allouées à différents magasins de détail, avec l'emplacement
de l'élément d'inventaire mis à jour pour refléter dans quel magasin de détail chaque carte SIM
se trouve - Cela est utile pour suivre les niveaux de stock dans chaque magasin et
s'assurer que chaque magasin a suffisamment de stock pour répondre à la demande des clients.
Lorsqu'un client s'inscrit à un service mobile en magasin, une carte SIM est
allouée au client et le statut est changé en
Allouée. L'élément d'inventaire de la carte SIM est ensuite attribué au
client, et le statut est mis à jour en En utilisation.
Si le client annule le service ou si le service devient inactif, la carte SIM
est marquée comme Décommissionnée.
Exemple de maisons desservies GPON
Pour un réseau GPON, le système d'inventaire peut suivre chaque maison desservie pour un service donné.
Lorsqu'une nouvelle zone est développée, chaque adresse desservie peut être ajoutée à l'inventaire.
Cela permet aux opérateurs de voir quelles maisons sont desservies pour un service donné, et quelles maisons ne le sont pas encore.
Lorsqu'un client s'inscrit à un service, OmniCRM peut automatiquement effectuer une qualification de service contre l'adresse du client, pour voir si l'adresse se trouve dans l'inventaire des maisons desservies et quels services peuvent être offerts.
Modèles d'inventaire
La fonctionnalité InventoryTemplate permet la création de n'importe quel nombre de types d'éléments avec des champs prédéfinis. Ces modèles agissent comme des plans qui définissent les caractéristiques essentielles de différents éléments, tels que :
- Modems avec une adresse MAC (
itemtext1) et un numéro de série (itemtext2). - Maisons desservies pour un service donné, avec un emplacement et un statut (par exemple, desservi ou non desservi).
- Numéros de téléphone avec un numéro principal (
itemtext1) et un emplacement géographique (itemtext2). - Ressources virtuelles comme des blocs d'adresses IP, avec des identifiants mappés via le modèle.
Chaque modèle d'inventaire définit jusqu'à 20 champs de texte personnalisables
(itemtext1 à itemtext20) avec des étiquettes correspondantes
(itemtext1_label à itemtext20_label) qui décrivent ce que chaque
champ représente. Par exemple, un modèle de modem pourrait définir
itemtext1_label sur "Adresse MAC" et itemtext2_label sur "Numéro de série".
Les opérateurs peuvent personnaliser les champs pour chaque type d'élément en utilisant InventoryTemplates. Ces modèles permettent de catégoriser et de gérer les éléments de manière structurée, garantissant la cohérence dans la façon dont les éléments sont suivis.
Lien vers les produits :
Les noms des modèles d'inventaire sont référencés dans les définitions de produits via le
champ inventory_items_list. Lors du provisionnement d'un produit, le système
affiche un sélecteur d'inventaire montrant uniquement les éléments correspondant aux types de modèles requis.
Exemple : Un produit avec
inventory_items_list: "['Carte SIM', 'Numéro mobile']" nécessite que deux
modèles d'inventaire nommés exactement "Carte SIM" et "Numéro mobile" existent. Les noms des modèles sont sensibles à la casse.
Pour des détails complets sur la façon dont les modèles d'inventaire se connectent au provisionnement des produits, voir Cycle de vie des produits - Exigences en matière d'inventaire .

Création de modèles d'inventaire via l'interface utilisateur
Pour créer un nouveau modèle d'inventaire :
-
Accédez à Inventaire → Modèles depuis le menu principal
-
Cliquez sur le bouton Ajouter un modèle
-
Remplissez les champs requis :
Informations de base :
- Icône (optionnel) : Nom de classe d'icône pour identification visuelle
(par exemple,
fa-solid fa-sim-card) - Élément (requis) : Le nom du modèle (doit correspondre exactement
à ce qui est utilisé dans
inventory_items_listpour les produits)
Informations sur le coût (requis) :
- Coût de gros (requis) : Votre coût pour acheter ou provisionner ce type d'élément
- Coût de détail (requis) : Prix de vente standard s'il est vendu séparément aux clients
::: note ::: title Note :::
Les coûts de gros et de détail définis ici servent de valeurs par défaut lors de la création de nouveaux éléments d'inventaire à partir de ce modèle. Les éléments d'inventaire individuels peuvent avoir des coûts différents si nécessaire. :::
Étiquettes de champ :
- Étiquette du champ de texte 1 (requis) : Étiquette pour le premier
champ personnalisable (par défaut "Numéro de modèle")
- Exemples courants : "ICCID" pour les cartes SIM, "Adresse MAC" pour les modems, "Numéro de téléphone" pour les numéros
- Étiquette du champ de texte 2 (requis) : Étiquette pour le deuxième
champ personnalisable (par défaut "Numéro de série")
- Exemples courants : "IMSI" pour les cartes SIM, "Numéro de série" pour le matériel, "Région géographique" pour les numéros
- Étiquettes des champs de texte 3-20 (optionnel) : Étiquettes de champ supplémentaires selon
les besoins
- Cliquez sur Ajouter un champ pour ajouter plus de champs personnalisés
- N'ajoutez que les champs que vous utiliserez réellement pour ce type d'élément
Paramètres de visibilité :
- Autoriser le personnel dans le menu déroulant : Permettre au personnel de sélectionner ce type d'inventaire dans les menus déroulants
- Autoriser le client dans le menu déroulant : Permettre aux clients de voir/ sélectionner ce type d'inventaire (portail client)
- Icône (optionnel) : Nom de classe d'icône pour identification visuelle
(par exemple,
-
Cliquez sur Enregistrer pour créer le modèle
Modification des modèles d'inventaire
Pour modifier un modèle existant :
- Accédez à Inventaire → Modèles
- Trouvez le modèle dans la liste
- Cliquez sur le bouton Modifier
- Modifiez les champs selon les besoins
- Cliquez sur Enregistrer
::: warning ::: title Avertissement :::
Changer les étiquettes de champ (par exemple, itemtext1_label) n'affecte que les nouveaux éléments
créés après le changement. Les éléments d'inventaire existants conservent leurs données mais
afficheront les nouveaux noms d'étiquettes.
:::
::: caution ::: title Précaution :::
Les noms des modèles référencés dans les champs inventory_items_list des produits sont
sensibles à la casse. Renommer un modèle rompra le lien avec les produits
utilisant l'ancien nom.
:::
Exemples de modèles courants
Modèle de carte SIM :
- Élément : "Carte SIM"
- Coût de gros : 2.50
- Coût de détail : 10.00
- Étiquette du champ de texte 1 : "ICCID"
- Étiquette du champ de texte 2 : "IMSI"
- Étiquette du champ de texte 3 : "Type de SIM" (Physique/eSIM)
Modèle de numéro mobile :
- Élément : "Numéro mobile"
- Coût de gros : 1.00
- Coût de détail : 0.00
- Étiquette du champ de texte 1 : "Numéro de téléphone"
- Étiquette du champ de texte 2 : "Région géographique"
- Étiquette du champ de texte 3 : "Type de numéro" (Mobile/Téléphone fixe)
Modèle de CPE sans fil fixe :
- Élément : "CPE sans fil fixe"
- Coût de gros : 250.00
- Coût de détail : 450.00
- Étiquette du champ de texte 1 : "Adresse MAC"
- Étiquette du champ de texte 2 : "Numéro de série"
- Étiquette du champ de texte 3 : "Version du firmware"
- Étiquette du champ de texte 4 : "Fabricant"
- Étiquette du champ de texte 5 : "Modèle"
Modèle ONT GPON :
- Élément : "ONT GPON"
- Coût de gros : 45.00
- Coût de détail : 0.00 (inclus avec le service)
- Étiquette du champ de texte 1 : "Numéro de série"
- Étiquette du champ de texte 2 : "Adresse MAC"
- Étiquette du champ de texte 3 : "Emplacement PON"
- Étiquette du champ de texte 4 : "Modèle"

Création et gestion des éléments d'inventaire
Une fois un InventoryTemplate défini, des éléments d'Inventaire individuels peuvent être créés. Chaque élément d'inventaire représente une instance spécifique d'un type d'élément (par exemple, un modem ou un numéro de téléphone spécifique) qui peut être :
- Alloué aux clients : Les éléments sont liés aux clients pour le provisionnement de services (par exemple, attribuer du matériel pour une connexion Internet).
- Suivi pour le stock : Les opérateurs peuvent surveiller l'inventaire disponible, tel que les éléments non vendus ou non attribués.
- Vendu ou décommissionné : Une fois vendu, les éléments sont marqués avec
des horodatages pertinents (par exemple,
sold_date) et ne peuvent plus être considérés comme du stock disponible.


Grâce à ce système, OmniCRM facilite la gestion efficace des stocks, aide à allouer des ressources aux clients, et fournit une visibilité détaillée sur l'état et l'historique de chaque élément.
Les services peuvent être liés à un élément d'Inventaire donné, permettant un suivi facile des éléments associés à quels clients ou services.
Une fois qu'un élément d'inventaire a été attribué à un client, les playbooks Ansible peuvent mettre à jour le statut et l'historique de l'élément pour refléter l'allocation. Cela garantit que les opérateurs ont un enregistrement précis des éléments en cours d'utilisation et de ceux disponibles pour allocation, ainsi que de savoir quel client utilise quel élément.
Nous pouvons voir les éléments alloués à un client depuis la page de profil du client dans l'onglet Inventaire.

Pour les éléments d'inventaire liés à un Service, nous pouvons le voir en modifiant le service, pour voir les éléments d'inventaire liés.

Champs des éléments d'inventaire
Chaque élément d'inventaire contient des informations complètes organisées en plusieurs catégories :
Informations de base sur l'élément
- inventory_id - Identifiant unique pour l'élément d'inventaire (généré automatiquement)
- item - Type d'élément (correspond au nom du modèle d'inventaire, par exemple, "Carte SIM", "Modem", "Numéro de téléphone")
- inventory_template_id - Lien vers le modèle d'inventaire qui définit ce type d'élément
- customer_id - Si attribué à un client, l'ID du client (nullable)
- service_id - Si lié à un service spécifique, l'ID du service (nullable)
- item_location - Emplacement physique ou logique de l'élément :
- Pour les éléments physiques : bâtiment, entrepôt, emplacement d'étagère, nom du magasin, etc.
- Pour les éléments virtuels : emplacement géographique, emplacement du bloc IP, région de plage de numéros, etc.
- item_state - État actuel de l'élément d'inventaire (valeurs énumérées) :
- Nouveau - Élément tout neuf, inutilisé
- Utilisé - Précédemment utilisé mais fonctionnel
- Utilisation interne - Alloué pour des tests internes ou une utilisation par le personnel
- Attribué - Actuellement attribué à un client ou à un service
- Endommagé - Non fonctionnel, nécessite une réparation ou une élimination
- Hors service - Temporairement indisponible
- Perdu - L'élément ne peut pas être localisé
- Volé - L'élément a été volé
Champs personnalisables (à partir du modèle)
Le système d'inventaire prend en charge jusqu'à 20 champs de texte personnalisables dont la signification est définie par le modèle d'inventaire :
- itemtext1 - Premier champ personnalisable (requis, étiquette définie par
itemtext1_labeldu modèle)- Exemple : Pour les modems, cela pourrait être "Adresse MAC"
- Exemple : Pour les cartes SIM, cela pourrait être "ICCID"
- Exemple : Pour les numéros de téléphone, cela pourrait être "Numéro de téléphone"
- itemtext2 à itemtext20 - Champs personnalisables supplémentaires (optionnels, étiquettes définies par le modèle)
- Exemple : itemtext2 pour les modems pourrait être "Numéro de série"
- Exemple : itemtext2 pour les cartes SIM pourrait être "IMSI"
- Exemple : itemtext3 pour les modems pourrait être "Version du firmware"
Chaque modèle d'inventaire définit quels champs sont utilisés et ce qu'ils représentent via les champs d'étiquette correspondants (itemtext1_label,
itemtext2_label, etc.).
Informations sur le coût
- wholesale_cost - Votre coût pour acheter/provisionner cet élément (float)
- retail_cost - Prix facturé au client s'il est vendu séparément (float)
- sold_date - Horodatage lorsque l'élément a été vendu ou attribué au client
Adresse physique (pour l'équipement réseau et les sites)
Utilisé pour suivre les emplacements de déploiement physique, en particulier pour l'équipement réseau fixe (CPE, ONT, modems) ou les maisons desservies :
- address_line_1 - Adresse de la rue, numéro de bâtiment, numéro d'unité
- address_line_2 - Informations d'adresse supplémentaires (suite, appartement, étage)
- city - Ville ou commune
- state - État, province ou région
- zip_code - Code postal
- country - Nom du pays
Emplacement géographique (auto-rempli à partir de l'interface Web)
Lors de la création d'éléments d'inventaire via l'interface Web avec l'autocomplétion d'adresse, ces champs sont automatiquement remplis :
- google_maps_place_id - ID de lieu Google Maps pour l'adresse
- plus_code - Code Plus Google Maps (Open Location Code) pour un emplacement précis
- latitude - Latitude géographique (degrés décimaux)
- longitude - Longitude géographique (degrés décimaux)
Ces champs permettent :
- La cartographie des emplacements d'inventaire sur une vue de carte
- Des calculs de proximité pour la qualification de service
- Une analyse de couverture pour la planification du réseau
- Une optimisation des itinéraires pour le dispatching des techniciens de terrain
Gestion des appareils et URL d'accès
Le champ management_url fournit un accès rapide aux interfaces
des appareils et aux URL de provisionnement :
-
management_url - URL d'accès pour l'élément d'inventaire
- Équipement réseau : URL de l'interface Web (par exemple,
https://192.168.1.1pour les routeurs, commutateurs, ONT, CPE) - Profils eSIM : adresse LPA (Local Profile Assistant) pour
l'activation de l'eSIM (par exemple,
LPA:1$smdp.example.com$ACTIVATION-CODE-HERE) - Autres cas d'utilisation : Toute URL qui doit être facilement accessible via un appareil mobile
Génération de QR Code
Lors de l'affichage des éléments d'inventaire avec un
management_url, le système génère automatiquement un QR code scannable :- Vue détaillée de l'élément d'inventaire : QR code 128x128 affiché à côté de l'URL
- Tableau d'inventaire de service : QR code 64x64 affiché pour les éléments attribués
- Format : QR code et lien cliquable affichés ensemble
Cas d'utilisation courants
- Techniciens réseau : Scanner le QR code pour accéder à l'interface de gestion de l'appareil sans taper d'adresses IP
- Activation de l'eSIM : Les clients scannent le QR code depuis le CRM pour installer le profil eSIM sur leur appareil
- Auto-service client : Fournir un accès facile à la configuration de l'appareil ou aux portails clients
- Équipement réseau : URL de l'interface Web (par exemple,
-
management_username - Nom d'utilisateur admin pour l'accès à l'appareil
-
management_password - Mot de passe admin pour l'accès à l'appareil (chiffré au repos)
Gestion de la configuration
Pour les appareils avec des fichiers de configuration :
- config_content - Contenu complet du fichier de configuration (stocké sous
forme de texte)
- Utile pour la sauvegarde, la gestion des versions et la récupération après sinistre
- Peut stocker des configurations de routeurs, de commutateurs, de CPE, etc.
- config_file_path - Chemin vers le fichier de configuration externe s'il est stocké
séparément
- Alternative au stockage de la configuration complète dans la base de données
- Chemin vers un partage réseau, un dépôt de contrôle de version ou un système de gestion de configuration
Notes et métadonnées
- inventory_notes - Notes libres sur l'élément d'inventaire
- Notes d'installation
- Historique de maintenance
- Particularités ou exigences de manipulation spéciales
- Informations sur le fournisseur
- Détails de garantie
- created - Horodatage lorsque l'élément d'inventaire a été créé dans le système (défini automatiquement)
- last_modified - Horodatage de la dernière mise à jour de l'élément d'inventaire (mis à jour automatiquement)
Exemples d'utilisation des champs
Exemple 1 : Carte SIM mobile
{
"inventory_id": 1001,
"item": "Carte SIM",
"inventory_template_id": 5,
"itemtext1": "8961234567890123456",
"itemtext2": "310120123456789",
"itemtext3": "Physique",
"item_location": "Entrepôt A, Étagère 3",
"item_state": "Attribué",
"customer_id": 456,
"service_id": 789,
"wholesale_cost": 2.50,
"retail_cost": 10.00,
"sold_date": "2025-01-15T10:30:00Z",
"inventory_notes": "Activé le 2025-01-15"
}
Exemple 2 : Profil eSIM mobile
{
"inventory_id": 1002,
"item": "eSIM",
"inventory_template_id": 6,
"itemtext1": "8961234567890123457",
"itemtext2": "310120123456790",
"itemtext3": "eSIM",
"item_location": "Inventaire virtuel",
"item_state": "Attribué",
"customer_id": 457,
"service_id": 790,
"management_url": "LPA:1$smdp.example.com$ACTIVATION-CODE-ABC123XYZ",
"wholesale_cost": 0.00,
"retail_cost": 0.00,
"sold_date": "2025-01-16T14:20:00Z",
"inventory_notes": "Profil eSIM prêt pour activation"
}
Lors de l'affichage de cet élément d'inventaire eSIM, l'interface utilisateur affiche un QR code contenant l'adresse LPA. Les clients scannent ce QR code avec leur appareil mobile pour installer le profil eSIM.
Exemple 3 : Équipement de locaux du client (CPE) - Sans fil fixe
{
"inventory_id": 2001,
"item": "CPE sans fil fixe",
"inventory_template_id": 10,
"itemtext1": "AA:BB:CC:DD:EE:FF",
"itemtext2": "FW2024-12345",
"itemtext3": "v2.4.1",
"itemtext4": "Ubiquiti",
"itemtext5": "LiteBeam AC Gen2",
"item_location": "Site du client",
"item_state": "Attribué",
"customer_id": 789,
"service_id": 1234,
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"city": "Sydney",
"state": "NSW",
"zip_code": "2000",
"country": "Australie",
"latitude": "-33.8688",
"longitude": "151.2093",
"management_url": "https://192.168.100.1",
"management_username": "admin",
"management_password": "encrypted_password_here",
"config_file_path": "/configs/cpe/fw2024-12345.conf",
"inventory_notes": "Installé le 2025-01-10. Le client signale un excellent signal. Orientation : Azimut 45°, Élévation 15°"
}
Exemple 4 : ONT GPON avec adresse complète
{
"inventory_id": 3001,
"item": "ONT GPON",
"inventory_template_id": 15,
"itemtext1": "ALCL12345678",
"itemtext2": "AA:BB:CC:DD:EE:FF",
"itemtext3": "OLT-1, PON 3, ONT 42",
"itemtext4": "Nokia G-010G-A",
"item_location": "Locaux du client",
"item_state": "Attribué",
"customer_id": 321,
"service_id": 654,
"address_line_1": "456 Fiber Lane",
"city": "Melbourne",
"state": "VIC",
"zip_code": "3000",
"country": "Australie",
"google_maps_place_id": "ChIJ1234567890",
"plus_code": "4RRH+2C Melbourne VIC",
"latitude": "-37.8136",
"longitude": "144.9631",
"management_url": "https://192.168.1.1",
"management_username": "admin",
"config_content": "# Configuration ONT\nwlan-ssid: HomeNetwork\nwlan-password: encrypted...",
"wholesale_cost": 45.00,
"retail_cost": 0.00,
"inventory_notes": "Provisionné le 2025-01-20. Puissance optique : -22dBm"
}
::: note ::: title Note :::
Lors de l'affichage des éléments d'inventaire avec un management_url (comme dans les exemples 2,
3 et 4 ci-dessus), l'interface utilisateur affiche automatiquement :
- Un QR code scannable contenant l'URL ou l'adresse LPA
- Un lien cliquable (pour les URL Web)
Cas d'utilisation :
- Activation de l'eSIM (Exemple 2) : Les clients scannent le QR code pour installer le profil eSIM sur leur appareil
- Accès à l'équipement réseau (Exemples 3 et 4) : Les techniciens scannent pour accéder aux interfaces de gestion des appareils sans taper manuellement les adresses IP :::
Exemple 5 : Numéro de téléphone (Inventaire virtuel)
{
"inventory_id": 4001,
"item": "Numéro de téléphone",
"inventory_template_id": 20,
"itemtext1": "+61412345678",
"itemtext2": "Melbourne",
"itemtext3": "Mobile",
"item_location": "Australie - VIC",
"item_state": "Attribué",
"customer_id": 555,
"service_id": 888,
"wholesale_cost": 1.00,
"retail_cost": 0.00,
"inventory_notes": "Porté de Telstra le 2025-01-05"
}
États des éléments d'inventaire expliqués
Le champ item_state suit le cycle de vie des éléments d'inventaire :
- Nouveau → Attribué - Flux normal lors du provisionnement à un client
- Attribué → Utilisé - Après la désactivation du service, l'élément peut être réutilisé
- Nouveau → Utilisation interne - Alloué pour des tests, des démonstrations ou une utilisation par le personnel
- Attribué → Endommagé - L'élément a échoué, nécessite un RMA ou une élimination
- Tout état → Perdu - L'élément ne peut pas être localisé (déclenche un audit)
- Tout état → Volé - L'élément a été volé (déclenche un rapport de sécurité)
- Endommagé/Utilisé → Nouveau - Après remise à neuf ou réparation
Filtrer et rechercher l'inventaire par état permet aux opérateurs de :
- Suivre le stock disponible (éléments neufs)
- Identifier les éléments attribués aux clients (Attribués)
- Trouver les éléments disponibles pour réutilisation (Utilisés)
- Surveiller les problèmes d'équipement (Endommagés, Hors service)
- Auditer les éléments manquants (Perdus, Volés)