pos.session : champs, relations et API
Le modèle pos.session (« Session du point de vente ») est un modèle persistant déclaré par le module Point de Vente, puis enrichi par 9 autres modules. Il expose 63 champs, dont 32 déclarés directement sur le modèle ; 9 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 19.
Fiche d'identité
- Nom technique
pos.session- Libellé
- Session du point de vente
- Type
- Persistant (models.Model)
- Table SQL
pos_session- Module d'origine
- Point de Vente (
point_of_sale) - Étendu par
- l10n_fr_pos_cert, pos_event, pos_sale, pos_hr, pos_restaurant, pos_loyalty, pos_mercado_pago, pos_online_payment, pos_self_order
- Tri par défaut (_order)
id desc- Hérite de (mixins)
- mail.threadmail.activity.mixinpos.bus.mixinpos.load.mixin
Champs du modèle
32 champs propres, 25 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
63 champs affichés sur 63
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| bank_payment_ids | Paiements bancaires Les paiements en compte représentant des paiements agrégés et des paiements fractionnés. | one2many | inverse : |
| cash_control | A un contrôle des espèces | boolean | calculé |
| cash_journal_id | Journal de caisse | many2one | calculé, stocké |
| cash_real_transaction | Transaction | monetary | lecture seule |
| cash_register_balance_end | Solde de clôture théorique Solde d'ouverture additionné à toutes les transactions en espèces. | monetary | lecture seulecalculé |
| cash_register_balance_end_real | Solde final | monetary | lecture seule |
| cash_register_balance_start | Solde initial | monetary | lecture seule |
| cash_register_difference | Avant l'écart à la fermeture Écart entre solde théorique et solde réel. | monetary | lecture seulecalculé |
| closing_notes | Notes à la clôture | text | |
| company_id | Société | many2one | lecture seule related : |
| config_id | Point de Vente | many2one | requis |
| crm_team_id | Équipe commerciale | many2one→ crm.team | lecture seule related : ajouté par PdV - Ventes ( |
| currency_id | Devise | many2one | related : |
| employee_id | Caissier L'employé qui utilise actuellement la caisse enregistreuse | many2one | ajouté par PdV - RH ( |
| failed_pickings | Échec des transferts | boolean | calculé |
| is_in_company_currency | Utilise la devise de la société | boolean | calculé |
| move_id | Pièce comptable | many2one | |
| name | ID de session | char | lecture seule |
| opening_notes | Notes à l'ouverture | text | |
| order_count | Nombre de commandes | integer | calculé |
| order_ids | Commandes | one2many | inverse : |
| payment_method_ids | Modes de paiement | many2many | related : |
| picking_count | Nombre de transferts | integer | calculé |
| picking_ids | Transfert | one2many | inverse : |
| rescue | Session de récupération Session auto-générée pour les commandes orphelines, ignorée dans les contraintes | boolean | lecture seule |
| start_at | Date d'initialisation | datetime | lecture seule |
| state | Statut | selection | requislecture seule Valeurs calculées dynamiquement |
| statement_line_ids | Lignes de caisse | one2many | lecture seule inverse : |
| stop_at | Date de clôture | datetime | lecture seule |
| total_payments_amount | Montant total des paiements | float | calculé |
| update_stock_at_closing | Le stock devrait être mis à jour à la fermeture | boolean | |
| user_id | Ouvert par | many2one | requis |
| access_token | Jeton de sécurité | char | hérité de pos.bus.mixin |
| activity_calendar_event_id | Activité suivante de l'événement du calendrier | many2one | calculé hérité de mail.activity.mixin |
| activity_date_deadline | Date limite de l'activité à venir | date | lecture seulecalculé hérité de mail.activity.mixin |
| activity_exception_decoration | Indicateur d’exception d’activité Type d'activité d'exception enregistrée. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_exception_icon | Icône Icône pour indiquer une activité d'exception. | char | calculé hérité de mail.activity.mixin |
| activity_ids | Activités | one2many | inverse : hérité de mail.activity.mixin |
| activity_state | Statut de l'activité Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities. | selection | calculé Valeurs : hérité de mail.activity.mixin |
| activity_summary | Résumé de l'activité suivante | char | related : hérité de mail.activity.mixin |
| activity_type_icon | Icône de type d'activité | char | related : hérité de mail.activity.mixin |
| activity_type_id | Type d'activités à venir | many2one | related : hérité de mail.activity.mixin |
| activity_user_id | Utilisateur responsable | many2one | lecture seulecalculé hérité de mail.activity.mixin |
| has_message | A un message | boolean | calculé hérité de mail.thread |
| message_attachment_count | Nombre de pièces jointes | integer | calculé hérité de mail.thread |
| message_follower_ids | Abonnés | one2many | inverse : hérité de mail.thread |
| message_has_error | Erreur d'envoi du message Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_has_error_counter | Nombre d'erreurs Nombre de messages avec des erreurs d'envoi | integer | calculé hérité de mail.thread |
| message_has_sms_error | Erreur d'envoi SMS Si coché, certains messages ont une erreur de livraison. | boolean | calculé hérité de mail.thread |
| message_ids | Messages | one2many | inverse : hérité de mail.thread |
| message_is_follower | Est un abonné | boolean | calculé hérité de mail.thread |
| message_needaction | Nécessite une action Si coché, de nouveaux messages demandent votre attention. | boolean | calculé hérité de mail.thread |
| message_needaction_counter | Nombre d'actions Nombre de messages nécessitant une action | integer | calculé hérité de mail.thread |
| message_partner_ids | Abonnés (Partenaires) | many2many | calculé hérité de mail.thread |
| my_activity_date_deadline | Échéance de mon activité | date | lecture seulecalculé hérité de mail.activity.mixin |
| rating_ids | Évaluations | one2many | inverse : hérité de mail.thread |
| website_message_ids | Messages du site web Historique de communication du site web | one2many | inverse : hérité de mail.thread |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- account.bank.statement.line : statement_line_ids
- account.journal : cash_journal_id
- account.move : move_id
- account.payment : bank_payment_ids
- crm.team : crm_team_id
- hr.employee : employee_id
- pos.config : config_id
- pos.order : order_ids
- pos.payment.method : payment_method_ids
- res.company : company_id
- res.currency : currency_id
- res.users : user_id
- stock.picking : picking_ids
Champs d'autres modèles qui pointent ici
- account.bank.statement.line : pos_session_id
- account.payment : pos_session_id
- pos.config : current_session_id
- pos.daily.sales.reports.wizard : pos_session_id
- pos.order : session_id
- pos.payment : session_id
- pos.payment.method : open_session_ids
- report.pos.order : session_id
- stock.picking : pos_session_id
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 19 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/pos.session/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","config_id","state","user_id","cash_journal_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/pos.session/search_read",
headers=headers,
json={"domain": [], "fields": ["name","config_id","state","user_id","cash_journal_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/pos-session">pos.session (Odoo 19.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 19 : ORM API
- Documentation Odoo 19 : API externe JSON-2
Données vérifiées le 23 septembre 2026 · Odoo 19.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.