Connecteurs
Chaque source sur laquelle vous travaillez, un seul grand livre de vérité.
Banques, boutiques, fret et votre grand livre — chaque connecteur est un service isolé avec ses propres secrets, le tout normalisé dans un seul modèle canonique.
Catalogue
Chaque source, un seul contrat.
Groupés selon le mouvement de l’argent : banques et cartes, commerce, paiements, logistique, le grand livre et l’analytique. Live signifie un service déployé qui se synchronise en production; Planned signifie pas encore construit.
Services bancaires et cartes
Mercury
Collecte bancaire via API, multi-compte
En servicePlaid
Lier 12,000+ banques; soldes, transactions, webhooks
En serviceWise
Comptes et transferts multidevises
En serviceBrex
Ingestion des cartes et de l’encaisse
PlanifiéRamp
Ingestion des cartes et des dépenses
PlanifiéCommerce
Shopify
Paiements, litiges, commandes, produits, clients
En serviceWooCommerce
Commandes et paiements pour les boutiques WordPress
PlanifiéAmazon Seller Central
Règlements, frais, commandes
PlanifiéPaiements et paie
PayPal
Ingestion des paiements
En serviceStripe
Décomposition des versements comme Shopify
PlanifiéSquare
Versements et frais POS
PlanifiéGusto
La paie est inscrite comme écritures au grand livre
PlanifiéUn connecteur n’est pas un logo. C’est un service avec ses propres secrets, un contrat qu’il doit respecter et une piste d’audit pour chaque exécution.
Comment fonctionne un connecteur
Quatre règles, chaque connecteur.
Le contrat interne est le même pour une banque, une boutique et un transitaire. C’est ce qui rend les nouveaux connecteurs peu coûteux à ajouter — et les anciens ennuyeux à exploiter.
- 01
Service d’identifiants d’accès isolé
Chaque connecteur est son propre service FastAPI sans état sur le réseau privé. Il ne conserve que ses propres clés API ou jetons OAuth; rien d’autre dans la pile ne peut les lire.
- 02
Normalisé au schéma canonique
Les connecteurs récupèrent et normalisent — comptes, transactions, paiements, commandes, expéditions — puis retournent des objets. core-api gère la persistance, la multi-location et l’autorisation.
- 03
Synchronisation idempotente et reprises historiques
Chaque appel produisant un effet secondaire transporte une clé Idempotency-Key et des identifiants de corrélation. Synchronisation complète nocturne, synchronisation à la demande et reprises historiques avec plages ISO-8601 explicites; les relances ne dupliquent jamais.
- 04
Vérifié, lié au locataire
Les appels transportent un JWT interne à durée de vie courte, limité à un seul locataire et à une seule audience de connecteur. Les exécutions de synchronisation, les réceptions de webhooks et les exportations génèrent des événements d’audit.
Connecteurs Ledger
ERPNext aujourd’hui. QuickBooks et Xero par contrat.
Les connecteurs Ledger implémentent une matrice de capacités. ERPNext est l’implémentation de référence complète; QuickBooks Online et Xero commencent avec l’ensemble MVP de clôture et s’étendent ensuite.
| capacité | ERPNext | QuickBooks Online | Xero |
|---|---|---|---|
ledger.accounts.read | FULL | MVP | MVP |
ledger.dimensions.read | FULL | MVP | MVP |
ledger.counterparties.read | FULL | MVP | MVP |
ledger.postings.create | FULL | MVP | MVP |
ledger.invoices.read / create / send | FULL | LATER | LATER |
ledger.reports.balance_sheet / profit_loss / trial_balance | FULL | LATER | LATER |
ledger.metadata.* (champs personnalisés, options, recherches) | FULL | LATER | LATER |
ledger.facts.* (synchronisation du GL, des factures et des tiers dans le magasin canonique) | FULL | LATER | LATER |
FULL = parité avec la clôture actuelle. MVP = la première tranche de capacité pour un nouveau grand livre. LATER = suit une fois la tranche MVP stabilisée.
Apportez le vôtre
Un connecteur est ~un service FastAPI.
Implémentez /health, /ready, /capabilities et les points de terminaison de synchronisation prévus par le contrat interne; validez la revendication du locataire; respectez Idempotency-Key; caviardez les secrets dans les journaux. core-api fait le reste — authentification, contrôle, persistance, audit.
- JWT interne avec
aud= le nom de votre connecteur X-Request-Id,X-Correlation-Id,X-Tenant-Idà chaque appel- Retournez des objets normalisés; n’écrivez jamais dans la base de données
GET /health → 200 (liveness)
GET /ready → 200 when creds resolve
GET /capabilities → ["banking.accounts.read",
"banking.transactions.read"]
POST /v1/sync Idempotency-Key: <stable>
X-Tenant-Id must equal JWT.tenant_id
→ { accounts:[…], transactions:[…], cursor }FAQ
Réponses claires
À quelles banques puis-je me connecter ?
Mercury directement par son API, Wise directement, et toute institution prise en charge par Plaid via Plaid Link. Les soldes peuvent être rafraîchis à la demande; les transactions se synchronisent chaque nuit et sur demande.
QuickBooks Online ou Xero sont-ils pris en charge aujourd’hui ?
Pas encore. ERPNext est aujourd'hui le grand livre de référence en production. QuickBooks Online et Xero suivent le même contrat de capacités, en commençant par les comptes, les dimensions, les contreparties et les écritures.
Que fait exactement le connecteur Shopify?
Versements avec ventilation des frais et des remboursements, litiges, commandes, produits, clients avec géographie, et événements d'exécution qui deviennent des mouvements de stock et le coût des marchandises vendues. Il est conçu pour la boutique qu'il rapproche; nous ne prétendons pas couvrir « n'importe quelle boutique Shopify » tant que nous n'avons pas exécuté la vôtre.
Et Flexport?
Lignes de facturation provenant de l'API Reports rapprochées en factures d'achat et paiements, plus les commandes, les stocks et les expéditions entrantes qui alimentent le coût au débarquement.
Où sont stockées les informations d'identification?
Dans le propre service du connecteur, résolues à partir de son environnement ou du coffre de secrets. core-api peut vérifier l'état des identifiants, mais ne lit jamais le secret. Les identifiants manquants sont affichés sur la page Intégrations, jamais omis silencieusement.
Puis-je lancer une reprise sur une plage de dates?
Oui — à partir de Paramètres → Intégrations, avec une date de début et de fin explicites, lorsque la synchronisation manuelle est activée pour votre locataire. Les reprises sont idempotentes : relancer une plage ne duplique pas les lignes.
Les connecteurs reçoivent-ils des webhooks?
Plaid, oui : core-api expose un récepteur par locataire et par intégration qui vérifie la signature Plaid avant de mettre une synchronisation en file d'attente. Les webhooks de facturation Stripe sont vérifiés de la même façon. Les autres connecteurs fonctionnent en mode interrogation selon un horaire.
Que fait GA4 dans un outil financier?
Le contexte de trafic et de conversion à côté des revenus — séances, conversions et mix de canaux comme dimensions dans la couche sémantique, pour que « revenu par séance par canal » soit une question, pas une feuille de calcul.
Comment ajouter ma propre source?
Écrivez un petit service interne qui implémente le contrat de connecteur et enregistrez-le. Les connecteurs d'ingestion retournent des objets normalisés; core-api persiste et bloque. Consultez le guide du contrat dans Support.
Connectez votre première source en un après-midi.
Bêta privée. Dites-nous où envoyer votre accès, et quelle entreprise vous clôturez en premier.
