---
title: "Notes techniques"
weight: 60
description: "Détails techniques sur l'intégration du module Click & Collect avec TakePOS."
---

# Notes techniques

Le module Click & Collect s'appuie sur TakePOS et en détourne certains aspects pour fonctionner.

## Champs utilisés dans TakePOS

- **`takeposterminal`** : stocké en base de données dans le champ `pos_source` (varchar) de la table `llx_factures`. Malheureusement, dans `mod_takepos_ref_simple`, une comparaison arithmétique est effectuée, ce qui impose d'utiliser un nombre. Le numéro de code `999` a donc été choisi arbitrairement (un code texte comme `CNC` pour "ClickNCollect" aurait été préférable).
- **`place`** : utilisé par TakePOS pour savoir à quelle table est liée la facture en cours.
- **`placeid`** : utilisé par TakePOS pour stocker l'identifiant de la facture.

## Flux de facturation

Idéalement, TakePOS devrait générer des commandes et passer en facturation au moment du paiement, mais ce n'est pas le cas. Pour s'adapter à ce fonctionnement, Click & Collect procède ainsi :

1. Une **facture temporaire** est créée.
2. Cette facture est **transformée en commande** avant le paiement.
3. Au retour du paiement, si celui-ci est validé, la **facture définitive** est générée automatiquement à partir de la commande.

Ce mécanisme évite d'avoir des factures impayées en cas d'échecs de paiements en ligne. En contrepartie, il crée des commandes validées dans le système.
