=== MetaPDV ===
Contributors: metastrategie
Requires at least: 6.4
Requires PHP: 8.1
Stable tag: 0.3.4
License: GPL-2.0-or-later

Connectez votre site WordPress et WooCommerce à MetaPDV, le logiciel de gestion connecté à votre caisse.

== Description ==
Auteur : Metastrategie.
Connexion guidée à MetaPDV sans création ni copie de clés API WooCommerce. Lecture du catalogue, des stocks et des ventes. Écriture limitée aux mouvements de stock, uniquement après autorisation explicite. Aucun paiement, aucune création de produit ou commande, aucune modification de contenu, prix, image ou page.

L'administrateur autorise l'accès dans WooCommerce > MetaPDV puis ouvre MetaPDV pour confirmer l'association. Une seule plateforme est associée par site. Les données sont transmises uniquement à la plateforme autorisée. Aucun nom, e-mail ni adresse de client n'est transmis dans les statistiques.

La connexion peut être révoquée depuis WordPress. La désactivation révoque également l'accès ; les données précédemment importées restent dans MetaPDV. La désinstallation ne supprime aucun produit ni aucune commande.

== Installation ==
1. Extensions > Ajouter une extension > Téléverser : choisir metapdv.zip.
2. Activer WooCommerce puis MetaPDV.
3. WooCommerce > MetaPDV : vérifier l'adresse de la plateforme et autoriser la lecture et, si souhaité, cocher « Autoriser aussi les mouvements de stock uniquement ».
4. Ouvrir MetaPDV avec le bouton proposé et confirmer le magasin destinataire.
5. Dans MetaPDV > Site internet, actualiser le catalogue, les stocks et les analyses.

En local, le site WordPress et la plateforme doivent être accessibles depuis le même ordinateur. En ligne, utiliser HTTPS. L'association expire après 10 minutes tant qu'elle n'a pas été confirmée.

== Analyses ==
Commandes en cours, terminées et remboursées. Commandes en attente, échouées et annulées exclues. Date de paiement lorsqu'elle existe, sinon date de création. Remboursements comptés à leur propre date. Les commandes portant la métadonnée _metapdv_sale_id sont exclues pour éviter la duplication des ventes de caisse exportées par un futur connecteur.

Les coûts WooCommerce sont repris uniquement si la fonction native COGS est activée et le coût positif. Les remboursements n'ont pas de coût récupéré supposé. Catégorie principale : première catégorie par identifiant, déterminée à l'import ; une vente n'est pas comptée plusieurs fois si son produit a plusieurs catégories.

Les remboursements non ventilés sont signalés à part, sans inventer leur TVA. Le stock partagé entre variations n’est pas valorisé individuellement pour éviter les doubles comptes.

== Stocks et sur-mesure ==
Les produits publiés et privés, y compris leurs variantes, sont importés dans MetaPDV. Les produits créés dans la caisse n’y sont jamais publiés. Les réalisations personnalisées sont saisies dans la caisse à prix final libre : sans stock, ou avec quantités explicites de matières.

Chaque mouvement de stock possède un identifiant permanent. Les réessais ne le déduisent pas une seconde fois. Le stock partagé d’une variation est modifié sur son produit gestionnaire. Les modifications de stock du site passent par les fonctions WooCommerce. Les tables concernées doivent utiliser InnoDB. Les variations de stock distantes de cette version sont entières ; les matières locales peuvent être suivies en mètres ou mètres carrés.

La synchronisation est différée. Une rupture ou une réservation simultanée du site peut empêcher la transmission après enregistrement de la vente locale : MetaPDV conserve le mouvement en erreur pour rapprochement et bloque les nouvelles sorties sur ce stock jusqu’à résolution. Le planificateur MetaPDV assure les échanges lorsque l’interface est fermée. Les deux derniers imports complets sont conservés ; les ventes sources et le journal des mouvements sont conservés.

La table propre à l’extension metapdv_stock_operations est conservée à la désinstallation pour préserver les preuves de traitement et éviter une double déduction. Une sauvegarde du site doit inclure cette table. Les intégrations avec les plugins de personnalisation/prix du site ne sont pas reproduites automatiquement.

== Changelog ==
= 0.3.0 =
Import du catalogue vers la caisse, autorisation stocks distincte et mouvements idempotents. Protection du contenu du site.

= 0.2.0 =
Première version du connecteur en lecture et des analyses.

Le filtre de matériau lit les attributs WooCommerce Matière, Matériau ou Material (globaux ou propres au produit). Le filtre de catégories utilise les catégories de produits WooCommerce. Ces informations sont lues sans modifier le site.

Le catalogue transmet toutes les catégories de produits WooCommerce, y compris celles du parent pour les variations. Les classements supplémentaires dans MetaPDV restent propres à la caisse.

Les photos WooCommerce sont affichées dans MetaPDV à partir de leur adresse sur le site. Une variation sans image utilise celle de son produit parent. Aucun média du site n’est modifié.

La navigation de caisse reprend la hiérarchie des catégories WooCommerce, avec leurs identifiants et ancêtres. Les raccourcis restent enregistrés uniquement dans MetaPDV.
