---
suivi: 1847
date: 2026-10-12
sujet: Correctif saisie des factures électroniques
chantier: factures-electroniques
type: correctif
statut: poussé
hash: cb161d3b1
fichiers:
  - app/Services/FactureElectronique/FactureElectroniqueImport.php
  - app/Services/FactureElectronique/FactureElectroniqueRattachement.php
  - app/Services/FactureElectronique/FactureElectroniqueAcces.php
  - app/Services/Intacct/FactureElectroniqueXmlLecteur.php
  - app/Services/FournisseurFactureReconnaissanceService.php
  - app/Console/Commands/FacturesElectroniquesRattraperCommand.php
  - app/Http/Controllers/DepotFactureController.php
  - app/Models/DepotFacture.php
  - app/Models/Fournisseur.php
  - database/migrations/2026_10_12_101500_facture_electronique_prepaye_et_tva_fournisseur.php
  - resources/js/Pages/DepotFactures/DepotFactureSaisieForm.vue
  - resources/js/Pages/DepotFactures/Index.vue
  - tests/Feature/FactureElectronique/FactureElectroniqueImport1845Test.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - routes/web.php
  - public/build/manifest.json
  - public/build/assets/DepotFactureSaisieForm-DPU4a86j.js
  - public/build/assets/Index-CFxAW1j3.js
  - public/build/assets/app-Bzq2IY8p.js
---

# SUIVI #1847 — correctif de l'import des factures électroniques

## PROMPT ENVOYÉ

Correctif de #1845 constaté sur le dépôt SGT26002000147491 (BANQUE EUROPEENNE CREDIT MUTUEL vers HECTARE, E-04, 58,26 €, frais bancaires exonérés). Société vide, fournisseur à identifier, montants de TVA et lignes encore actifs, Réanalyser présent, valideur Robin PORTALES affiché, total à payer 0,00 non signalé.

## SYNTHÈSE

La société du dépôt vient de MEGAENTITYID, comparé au SIREN acheteur. Les montants d'une facture électronique sont figés à l'écran et à l'enregistrement. Le prépayé et le reste à payer sont lus dans le XML et affichés. Le fournisseur n'est reconnu que par un identifiant fort. La comptabilité peut l'associer ou le créer. L'envoi en validation attend ce choix. L'import ne pose pas de valideur.

### Mapping

| Bouton / bandeau / champ | Route / valeur postée | Droit | Effet en base |
| --- | --- | --- | --- |
| Société | entite_id affiché, non vidé si facture électronique | saisie du dépôt | depot_factures.entite_id depuis entites.intacct_id. Un écart de SIREN est signalé. |
| Montants HT, taux, TVA, TTC, + Ligne, Suppr. | ignorés à l'enregistrement | saisie du dépôt | montants d'origine conservés |
| Réanalyser | POST /depot-factures/{uuid}/analyser | masqué et refusé | aucun |
| Bandeau déjà réglée | aucun POST | lecture | aucun. deja_reglee n'est pas coché |
| Associer à un fournisseur existant | POST /depot-factures/{uuid}/associer-fournisseur-electronique fournisseur_id | GS_COMPTABILITE ou GS_ADMIN_ERP, m365GroupNames() | depot_factures.fournisseur_id. SIRET et n° TVA vides complétés. Valeur différente conservée, avertissement. |
| Créer depuis la facture | POST /depot-factures/{uuid}/creer-fournisseur-electronique nom, siret, tva, adresse, code_postal, ville, iban | mêmes groupes | fournisseurs créé, dépôt relié |
| Envoyer en validation | POST /depot-factures/{uuid}/valider | saisie du dépôt | refusé sans fournisseur_id |

### Constats

Société. L'import #1845 écrivait l'entité de la boucle Sage, pas le MEGAENTITYID de la ligne. L'écran vidait ensuite entite_id quand la destination était Programmes sans programme, et l'enregistrement gardait le vide. Le select liste toutes les sociétés : un champ vide veut dire que l'identifiant en base est vide. MySQL local (127.0.0.1:3306) a refusé la connexion. Le fichier hectareenvol.sql ne contient pas le SIRET 37952260000798. La ligne de production n'a donc pas été lue.

Fournisseur. Avant ce lot, le SIRET n'était lu que si schemeID valait exactement 0009. Le nom n'était pas transmis. Le n° de TVA n'était pas lu. Sans VENDORID égal à fournisseurs.intacct_id, le Crédit Mutuel restait « à identifier ». Aucune fiche n'a pu être lue en local.

Valideur. L'import n'écrit ni validateur_id ni validateur_email. L'écran préremplissait le déposant connecté quand le champ était vide. C'est l'origine de « Robin PORTALES ». Ce préremplissage est sauté pour une facture électronique.

## DÉPLOIEMENT-TEST

git pull origin main
php artisan optimize:clear
php artisan view:clear
php artisan route:clear
php artisan migrate --force
php artisan journal:sync
php artisan factures-electroniques:rattraper
php artisan factures-electroniques:rattraper --appliquer

## LEÇON

Fiches lues : SUIVI_1845 (import sans comptabilisation, pas d'écriture Sage). SUIVI_1846 ne porte pas sur le dépôt. Le formulaire de demande fournisseur crée une demande et exige un RIB : il ne relie pas le dépôt. La création passe par un enregistrement fournisseur, sans appel Sage. Les montants d'un dépôt classique restent modifiables. La comptabilisation des factures électroniques reste bloquée.
