---
suivi: 1744
date: 2026-09-29
sujet: Frise des acomptes branchée sur la demande de paiement
chantier: comptabilite / sage / acompte
type: correctif
statut: poussé
hash:
fichiers:
  - app/Services/IntacctService.php
  - app/Services/IntacctPaiementStatusService.php
  - app/Services/FacturePaiementStatutSyncService.php
  - app/Services/FactureLectureSageBruteService.php
  - resources/js/Pages/Admin/FacturesSuperadmin/Show.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/AcompteDemandePaiementFrise1744Test.php
  - public/build/
  - docs/suivi/SUIVI_1744_frise_acomptes_demande_paiement.md
---

# SUIVI #1744 — frise des acomptes et demande de paiement

## PROMPT ENVOYÉ

Brancher la relecture d'un acompte sur l'APPAYMENTREQUEST dont le RECORDNO est celui de l'avance. Traduire STATE par la fonction déjà utilisée pour les factures. Advance paid reste prioritaire. Le bouton dit les deux états. Le panneau super-admin nomme le lien. Aucune écriture Sage.

## FICHES LUES

- #1743 — la lecture prod de la facture 1661 a montré APPAYMENTREQUEST 1674392, RECORDTYPE pr, STATE Delivered, même RECORDNO que l'APADVANCE. La lecture APPYMT en champs `*` a échoué. Impact : la frise lit la demande par RECORDNO, pas les paiements fournisseur.
- #1740 LEÇON — ne pas brancher tant que le champ n'est pas prouvé, et ne pas mettre le RECORDNO d'avance dans un bill. Impact : RECORDKEY et ADVANCEKEY restent affichés, le RECORDNO n'est pas écrit comme bill.
- #1738 LEÇON — In process sans montant payé ne conclut pas ; Advance paid conclut au payé ; un silence ne recule pas. Impact : la décision d'avance n'est pas réécrite, elle prime si elle dit payé.
- #1672 / #1675 LEÇON — l'annulation est le prédicat du header, pas un recul de rang. Impact : Voided passe par la même réponse que les factures.

## SYNTHÈSE

La remontée et le bouton lisent l'avance, puis la demande du même numéro, session entité puis générale, champs nommés. Delivered et Confirmed passent par `mapperVersEtatErp` (affichage seul, sans le repli lettre des factures). V, VOID et VOIDED passent par `estAppymtAnnule` puis `reponseAnnulationDemandee`, la même que les factures : confirmation, puis remise comptabilisée. La remontée automatique ne l'applique pas, comme pour une facture. Tout autre état, ou une lecture en échec, ne change rien. Un payé d'avance gagne sur la demande. Le journal intacct porte l'avance, la demande, STATE et la décision.

## DÉPLOIEMENT-TEST

`git pull origin main` puis `php artisan view:clear` et `php artisan journal:sync`. Pas de migration. Recette : facture 1661, Actualiser le statut, frise Déposé sur Suite, message avec Delivered et In process 0,00 €.

## LEÇON

Le STATE de cette demande est le mot Delivered, pas un code lettre. La page Sage des paiements documente C, D, A, V, S pour APPYMT et APPYMTDETAIL, pas pour APPAYMENTREQUEST. Les mots inconnus restent un silence. Ne pas réécrire le RECORDNO d'avance dans un identifiant de facture Sage.
