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.
/Entity/FinancialTransaction/Entity/FinancialTransactionAperç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èresGET /Entity/FinancialTransaction/{id}– Récupérer une transaction financière spécifiquePOST /Entity/FinancialTransaction– Créer une nouvelle transaction financière (dépôt)
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.
/Entity/FinancialTransactionParamè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 |
Pour plus de détails sur la composition des requêtes, consultez : Composer une requête à l’API d’ERP Connector
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
[
{
"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.
/Entity/FinancialTransactionUtilisez 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 |
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
}
]
}
{
"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"
}
]
}
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) |
L’entité FinancialTransaction mappe vers l’entité Deposit de QuickBooks Online. Les comptes GL sont recherchés par leur nom.