← Index des services · SI FGA · spécification de service

erp-edge

Catégorie : Edge  ·  Périmètre : Connecteur ERP Odoo  ·  Module : edges/erp-edge (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Anti-corruption layer vers l'ERP Odoo : traduction des demandes de comptabilisation (écritures, tiers, factures) vers les API Odoo, remontée des statuts, file de rejeu en cas d'indisponibilité. Aucun service métier ne parle directement à Odoo.

2. Modèle de domaine (agrégats)

PostingRequestPartnerMappingReplayQueue

3. API exposée

/edge/erp/v1/postings/edge/erp/v1/partners

API REST versionnée, contrat OpenAPI généré et versionné avec le service. Authentification par jeton Keycloak (JWT RS256) validé par le service (Quarkus OIDC).

4. Événements publiés

Aucun

5. Événements consommés

Aucun

Topics sigfga.<service>.<aggregate> · enveloppe CloudEvents 1.0 · publication via outbox pattern · consommateurs idempotents (déduplication par event id).

6. Dépendances synchrones

7. Flux principal

erp-edge · flux principalrecevoir la demande de comptabilisationmapper vers le modèle Odoo(tiers · journal · écriture)créer le tiers dans Odoonontiers existant ?poster via l'API Odooplacer en file de rejeualerter si échec persistantnonsuccès ?remonter le statut comptabiliséoui

8. Backlog Jira rattaché

Backlog v2 (16/07/2026) : toujours aucun ticket rattaché à ce service.

Zéro ticket, comme tout le périmètre ERP (aucun ticket Odoo, comptabilité, paie dans le backlog). Ce connecteur dépend du cadrage du lot ERP : périmètre Odoo, sort de Sage, plan comptable SYSCOHADA.

MAJ backlog v2 (16/07/2026) — Le lot ERP a désormais un backlog programme (112 tickets, épics FSD-1160..1163 : Comptabilité, Paie, RH, Achats) — sans aucune mention d'Odoo : le mapping paramétrage/custom reste à faire, ce connecteur reste conditionné au cadrage Odoo.

9. Implémentation

Structure hexagonale standard : domain (modèle, événements, services purs, sans dépendance framework), application (use cases, ports in/out, transactions), adapter (in/rest, in/messaging, out/persistence, out/messaging, out/client). Dépendances verrouillées par test ArchUnit. Base de données dédiée minimale (schéma PostgreSQL propre : file de rejeu et mapping des tiers uniquement), migrations Liquibase (changesets exclusivement en SQL formaté — ADR-0002). Code intégralement en anglais ; textes utilisateur en fichiers i18n français.