Documentation API – Financial Transaction

Financial Transaction API

Gérez les transactions financières (dépôts bancaires) à travers différents systèmes ERP avec une API REST unifiée.
Créez et lisez les dépôts pour QuickBooks Online et autres systèmes ERP supportés.

GET/Entity/FinancialTransaction
POST/Entity/FinancialTransaction

Aperçu

L’entité FinancialTransaction représente une transaction financière (typiquement un dépôt bancaire) dans votre système ERP.
Cette API permet d’effectuer des opérations de lecture (GET) et de création (POST) sur les transactions financières
de manière standardisée, peu importe le système ERP sous-jacent.

L’API utilise des endpoints REST standards avec les méthodes HTTP appropriées :

  • GET /Entity/FinancialTransaction – Récupérer une liste de transactions financières
  • GET /Entity/FinancialTransaction/{id} – Récupérer une transaction financière spécifique
  • POST /Entity/FinancialTransaction – Créer une nouvelle transaction financière (dépôt)
💡 QuickBooks Online

Dans QuickBooks Online, l’entité FinancialTransaction correspond à un Deposit (dépôt bancaire).

Matrice de Support

Opérations supportées pour l’entité FinancialTransaction par système ERP :

Système ERP GET POST PUT
Acomba ✗ Non ✗ Non ✗ Non
QuickBooks Online ✓ Oui ✓ Oui ✗ Non
Avantage ✗ Non ✗ Non ✗ Non
Sage 50 ✗ Non ✗ Non ✗ Non
Servex ✗ Non ✗ Non ✗ Non
Servicentre ✗ Non ✗ Non ✗ Non

GET FinancialTransaction

Récupère une liste de transactions financières avec support de filtrage, pagination et sélection de champs.

GET/Entity/FinancialTransaction

Paramètres de requêtes

Paramètre Type Requis Description
$filter string Optionnel Expression de filtrage de style OData
$select string Optionnel Champs à retourner (séparés par des virgules)
$orderby string Optionnel Permet de trier les résultats
$top integer Optionnel Nombre maximum de résultats
$skip integer Optionnel Nombre de résultats à ignorer (pagination)

Champs de filtrage supportés (QuickBooks Online)

Champ OERP Champ QuickBooks Description
NoUniqueSystemeSource Id Identifiant unique interne QuickBooks
Référence DocNumber Numéro de référence du dépôt
DateFacture TxnDate Date de la transaction
TotalFacture TotalAmt Montant total du dépôt
💡 Note importante

Pour plus de détails sur la composition des requêtes, consultez : Composer une requête à l’API d’ERP Connector

Get FinancialTransaction
GET /Entity/FinancialTransaction?$filter=DateFacture ge '2024-01-01'&$select=NoUniqueSystemeSource,DateFacture,TotalFacture,LigneFacture
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
Response (200 OK)
[
    {
        "NoUniqueSystemeSource": "145",
        "NoFacture": "DEP-2024-001",
        "DateFacture": "2024-01-15T00:00:00",
        "Fiche_DerniereModification": "2024-01-15T14:32:00",
        "NoteGlobaleExterne01": "Dépôt mensuel janvier",
        "Devise": "CAD",
        "TermeDePaiement": {
            "NomTermeDePaiement": "Virement",
            "NoTermeDePaiement_NoUniqueSystemeSource": "5"
        },
        "InfoClientFacturerA": {
            "NoClient": "42",
            "NoUniqueSystemeSource": "42",
            "NomClient": "Acme Corporation"
        },
        "LigneFacture": [
            {
                "DescriptionLigne": "Paiement facture F-2024-001",
                "PrixFinal": 1500.00,
                "NoCompteGL": "Comptes clients",
                "NoCompteGL_NoUniqueSystemeSource": "85"
            },
            {
                "DescriptionLigne": "Paiement facture F-2024-002",
                "PrixFinal": 750.50,
                "NoCompteGL": "Comptes clients",
                "NoCompteGL_NoUniqueSystemeSource": "85"
            }
        ]
    },
    {
        "NoUniqueSystemeSource": "146",
        "NoFacture": "DEP-2024-002",
        "DateFacture": "2024-01-20T00:00:00",
        "Fiche_DerniereModification": "2024-01-20T10:15:00",
        "NoteGlobaleExterne01": "Dépôt divers",
        "InfoClientFacturerA": {
            "NoClient": "58",
            "NoUniqueSystemeSource": "58",
            "NomClient": "Tech Industries"
        },
        "LigneFacture": [
            {
                "DescriptionLigne": "Paiement consultation",
                "PrixFinal": 2500.00,
                "NoCompteGL": "Revenus de services",
                "NoCompteGL_NoUniqueSystemeSource": "120"
            }
        ]
    }
]

POST FinancialTransaction (Création)

Crée une nouvelle transaction financière (dépôt bancaire) dans le système ERP. Le dépôt doit inclure au moins une ligne de détail et un compte bancaire de destination.

POST/Entity/FinancialTransaction
💡 Headers recommandés

Utilisez le header If-None-Match: * pour garantir que la création échouera si l’entité existe déjà.

Champs requis (QuickBooks Online)

Champ Type Requis Description
CompteRecevable_No string ✓ Required Nom du compte bancaire de destination (DepositToAccountRef)
TermeDePaiement object ✓ Required Méthode de paiement (cash, check, creditcard)
DateFacture datetime ✓ Required Date de la transaction
LigneFacture array ✓ Required Liste des lignes du dépôt

Structure d’une ligne de dépôt

Champ Type Requis Description
NoCompteGL string ✓ Required Nom du compte GL à créditer
PrixFinal decimal ✓ Required Montant de la ligne
DescriptionLigne string Optional Description de la ligne
Créer une transaction financière (QuickBooks Online)
POST /Entity/FinancialTransaction
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
If-None-Match: *

{ 
    "DateFacture": "2024-04-05", 
    "TypeDoc": "FACTURESFOURNISSEURS",

    /*Obligatoire dans QuickBooks*/ 
    /*Un terme de paiement creditcard doit cibler un compte de carte de Crédit actif*/
    /*Un terme de paiement check doit cibler un compte de banque actif*/
    "CompteRecevable_No": "Chequing",

    /*Obligatoire dans QuickBooks*/
    "TermeDePaiement": {
        "NomTermeDePaiement": "Credit Card",
        /*Les types de paiements supportés sont cash, check et creditcard*/
        "TypeTerme": "creditcard"
    },

    /*Numéro de la facture-fournisseur. Dans la plupart des ERP [Acomba et Avantage], il s'agira d'une clé unique*/
    /*[avec le Numéro Fournisseur, stocké sous InfoClientFacturerA.NoClient]*/
    /*QuickBooks : Champ Libre de max 21 caractères*/
    "NoFacture": "TestSupplierInvoice01",

    "NoteGlobaleExterne01": "Test QuickBooks",

    /*Dans sa forme actuelle, c'est ici qu'on verra les informations du FOURNISSEUR. Sera éventuellement remplacé*/
    "InfoClientFacturerA": {
        "NoClient": "ROZA le Rénovateur"
    },

    /*Ici, une liste avec les lignes de factures Fournisseurs. Autant Acomba que Avantage et QuickBooks requièrent CompteGL et prixFinal*/
    /*Les comptes GL de cette section doivent être de type Expense dans QuickBooks*/
    "LigneFacture": [
        {
            "DescriptionLigne": "Test Bank Deposit",
            "NoCompteGL": "Ventes logiciels", /*Dans QuickBooks on doit fournir le nom du Compte GL et non son numéro*/ 
            "PrixFinal": 10.00
        }
    ] 
}
Response (201 Created)
{
    "NoUniqueSystemeSource": "150",
    "NoFacture": "TestSupplierInvoice01",
    "DateFacture": "2024-04-05T00:00:00",
    "Fiche_DerniereModification": "2024-04-05T15:30:00",
    "NoteGlobaleExterne01": "Test QuickBooks",
    "InfoClientFacturerA": {
        "NoClient": "ROZA le Rénovateur",
        "NoUniqueSystemeSource": "42",
        "NomClient": "ROZA le Rénovateur"
    },
    "LigneFacture": [
        {
            "DescriptionLigne": "Test Bank Deposit",
            "PrixFinal": 10.00,
            "NoCompteGL": "Ventes logiciels",
            "NoCompteGL_NoUniqueSystemeSource": "120"
        }
    ]
}
⚠️ Important

Le champ CompteRecevable_No doit correspondre exactement au nom du compte bancaire dans QuickBooks (et non son ID). Les comptes GL des lignes sont également recherchés par leur nom.

Modèle de Données Complet

Transaction Financière (FicheTransactions)

Champ Type Description
NoUniqueSystemeSource string Identifiant unique interne du système ERP (QuickBooks Id)
NoFacture string Numéro de référence du dépôt (DocNumber)
DateFacture datetime Date de la transaction
CompteRecevable_No string Nom du compte bancaire de destination
Fiche_DerniereModification datetime Date de dernière modification
TypeDoc enum Type de document (FacturesFournisseurs pour les dépôts)
NoteGlobaleExterne01 string Note privée du dépôt (PrivateNote)
Devise string Code devise ISO 4217 (CAD, USD, etc.)
InfoClientFacturerA FicheClient Informations du client/fournisseur associé (premier de la liste des lignes)
TermeDePaiement TermeDePaiement Méthode de paiement utilisée
LigneFacture List<LigneTransactions> Liste des lignes de détail du dépôt

Lignes de Dépôt (LigneTransactions)

Champ Type Description
DescriptionLigne string Description de la ligne
PrixFinal decimal Montant de la ligne (Amount)
NoCompteGL string Nom du compte GL associé
NoCompteGL_NoUniqueSystemeSource string Identifiant QuickBooks du compte GL

Terme de Paiement (TermeDePaiement)

Champ Type Description
NomTermeDePaiement string Nom de la méthode de paiement
NoTermeDePaiement_NoUniqueSystemeSource string Identifiant QuickBooks de la méthode de paiement
TypeTerme string Type de terme (identique au nom)
⚠️ Correspondance QuickBooks

L’entité FinancialTransaction mappe vers l’entité Deposit de QuickBooks Online. Les comptes GL sont recherchés par leur nom.