Documentation API – GL Project

GL Project API

Gérez les projets de grand livre (General Ledger) à travers différents systèmes ERP avec une API REST unifiée.
Créez et récupérez les projets GL, leurs segments hiérarchiques et leurs budgets pour Acomba et autres systèmes ERP supportant la gestion de projets comptables.

GET/Entity/GLProject
POST/Entity/GLProject

Aperçu

L’entité GLProject représente un projet de grand livre dans votre système ERP.
Dans Acomba, les projets GL permettent une gestion comptable multi-dimensionnelle avec jusqu’à 3 niveaux de segmentation et 3 budgets indépendants par projet. Cette API permet de créer et d’extraire les projets, leurs segments et leurs données budgétaires de manière standardisée.

Structure hiérarchique des projets Acomba

  • Projet (TypeProjet = “Projet”) : Projet principal avec 3 segments optionnels
  • Segment1, Segment2, Segment3 : Niveaux de segmentation hiérarchique pour organiser les projets
  • 3 Budgets indépendants : Chaque projet peut avoir jusqu’à 3 budgets avec 14 périodes (0-13)

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

  • GET /Entity/GLProject – Récupérer les projets GL avec filtrage et expansion optionnelle des budgets
  • POST /Entity/GLProject – Créer un nouveau projet GL
💡 Note importante

Les budgets peuvent être obtenus via le paramètre $expand pour obtenir les données détaillées des 3 budgets et de leurs 14 périodes.

Matrice de Support

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

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

GET GLProject

Récupère les projets de grand livre avec options de filtrage et d’expansion des budgets.

GET/Entity/GLProject

Paramètres de requêtes

Paramètre Type Requis Description
$filter string Optionnel
$select string Optionnel
$expand string Optionnel
$top integer Optionnel
$skip integer Optionnel
💡 Filtres spécifiques Acomba

TypeProjet : Utilisez TypeProjet eq 'Projet' pour n’obtenir que les projets réguliers, ou TypeProjet ne 'Projet' pour obtenir uniquement les segments (Segment1, Segment2, Segment3).
ValeurAuCompte : Utilisez ValeurAuCompte ne '0' pour exclure les périodes budgétaires à 0.

Get All GLProjects (sans budgets)
GET /Entity/GLProject
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
Get Projets réguliers uniquement
// Obtenir uniquement les projets réguliers (exclure les segments)
GET /Entity/GLProject?$filter=TypeProjet eq 'Projet'
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json

// Obtenir uniquement les segments (exclure les projets réguliers)
GET /Entity/GLProject?$filter=TypeProjet ne 'Projet'
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
Get GLProjects avec budgets complets
// Inclure les 3 budgets avec toutes les périodes
GET /Entity/GLProject?$expand=Budget01,Budget02,Budget03
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json

// Inclure seulement Budget01 et exclure les valeurs à 0
GET /Entity/GLProject?$expand=Budget01&$filter=ValeurAuCompte ne '0'
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json
Response (200 OK) – Avec Budget01
[
    {
        "NoUniqueSystemeSource": "12345",
        "NoProjet": "PROJ-001",
        "NomProjet": "Construction Édifice Principal",
        "TypeProjet": "Projet",
        "NoUniqueSystemeSourceSegment1": "456",
        "NoUniqueSystemeSourceSegment2": "789",
        "NoUniqueSystemeSourceSegment3": "012",
        "Fiche_DerniereModification": "2024-01-15T10:30:00",
        "Budget01": [
            {
                "NoPeriode": 0,
                "ValeurAuCompte": 50000.00
            },
            {
                "NoPeriode": 1,
                "ValeurAuCompte": 48500.25
            },
            {
                "NoPeriode": 2,
                "ValeurAuCompte": 52000.00
            },
            // ... périodes 3 à 13
        ],
        "Budget02": null,
        "Budget03": null
    },
    {
        "NoUniqueSystemeSource": "23456",
        "NoProjet": "PHASE-A",
        "NomProjet": "Phase A - Fondations",
        "TypeProjet": "Segment1",
        "NoUniqueSystemeSourceSegment1": "0",
        "NoUniqueSystemeSourceSegment2": "0",
        "NoUniqueSystemeSourceSegment3": "0",
        "Fiche_DerniereModification": "2024-01-16T14:20:00",
        "Budget01": [
            {
                "NoPeriode": 0,
                "ValeurAuCompte": 15000.00
            },
            // ... autres périodes
        ],
        "Budget02": null,
        "Budget03": null
    }
]

POST GLProject (Création)

Crée un nouveau projet de grand livre dans le système ERP. Permet de créer des projets ou des segments de projet.

POST/Entity/GLProject

Champs requis

Champ Type Requis Description
NoProjet string ✓ Required Numéro unique du projet (max 15 caractères)
NomProjet string Optionnel Description du projet (max 90 caractères)
TypeProjet string Optionnel Type : “Projet”, “Segment1”, “Segment2”, “Segment3” (défaut: “Projet”)
NoUniqueSystemeSourceSegment1 string Optionnel Id du segment 1 associé (pour les projets de type “Projet”)
NoUniqueSystemeSourceSegment2 string Optionnel Id du segment 2 associé (pour les projets de type “Projet”)
NoUniqueSystemeSourceSegment3 string Optionnel Id du segment 3 associé (pour les projets de type “Projet”)
Créer un projet GL (Acomba)
POST /Entity/GLProject
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json

{
    "NoProjet": "PROJ-2024-001",
    "NomProjet": "Construction Édifice Principal",
    "TypeProjet": "Projet", // Projet régulier avec segments optionnels
    "NoUniqueSystemeSourceSegment1": "123", // Id du Segment1 (optionnel)
    "NoUniqueSystemeSourceSegment2": "456", // Id du Segment2 (optionnel)
    "NoUniqueSystemeSourceSegment3": "789"  // Id du Segment3 (optionnel)
}
Créer un segment de projet (Acomba)
POST /Entity/GLProject
Host: https://v4.api.onlineerp.solution.quebec/api
Content-Type: application/json

{
    "NoProjet": "PHASE-A",
    "NomProjet": "Phase A - Fondations",
    "TypeProjet": "Segment1" // Créer un segment de niveau 1
}
Response (201 Created)
{
    "Success": true,
    "ErpInternalId": "115", // Id Acomba du projet créé
    "BusinessKey": "PROJ-2024-001", // NoProjet
    "ErrorMessage": null
}
⚠️ Important

Le NoProjet est obligatoire et doit être unique dans Acomba (max 15 caractères). Les segments doivent être créés avant de pouvoir les associer à un projet via les champs NoUniqueSystemeSourceSegment1, NoUniqueSystemeSourceSegment2 et NoUniqueSystemeSourceSegment3.

Modèle de Données

Structure complète de l’entité GLProject :

Champ Type Description
NoUniqueSystemeSource string Identifiant unique interne du système source (Id Acomba)
NoProjet string Numéro du projet ou du segment (clé primaire, max 15 caractères)
NomProjet string Description du projet ou du segment (max 90 caractères)
TypeProjet string Type de projet : “Projet”, “Segment1”, “Segment2”, “Segment3” ou “Inconnu”
NoUniqueSystemeSourceSegment1 string Id du premier segment associé au projet
NoUniqueSystemeSourceSegment2 string Id du deuxième segment associé au projet
NoUniqueSystemeSourceSegment3 string Id du troisième segment associé au projet
Fiche_DerniereModification DateTime? Date et heure de la dernière modification de la fiche
Budget01 List<GLPeriodValue> Premier budget avec 14 périodes (requiert $expand)
Budget02 List<GLPeriodValue> Deuxième budget avec 14 périodes (requiert $expand)
Budget03 List<GLPeriodValue> Troisième budget avec 14 périodes (requiert $expand)

Structure GLPeriodValue

Champ Type Description
NoPeriode int Numéro de la période (0-13, où 0 est le solde d’ouverture)
ValeurAuCompte decimal Montant budgété pour cette période
💡 Spécificités Acomba

Périodes : Acomba utilise 14 périodes (0-13). La période 0 représente le solde d’ouverture du projet.
Budgets null par défaut : Sans $expand, les budgets sont retournés à null pour optimiser les performances.
Segments : Les segments de projets permettent une hiérarchie à 3 niveaux si la segmentation a été activée dans les options de la société Acomba

Valeurs possibles pour TypeProjet

Valeur Description
“Projet” Projet principal pouvant avoir jusqu’à 3 segments associés
“Segment1” Premier niveau de segmentation hiérarchique
“Segment2” Deuxième niveau de segmentation hiérarchique
“Segment3” Troisième niveau de segmentation hiérarchique
“Inconnu” Type non reconnu ou non défini