Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntacctUseCase — Démo import clients

Petit projet de démonstration pour comparer deux façons d'importer des clients dans Sage Intacct à partir d'un fichier CSV.

Objectif

Montrer que ce n'est pas l'API Intacct qui est lente, mais le nombre d'appels (vérifier et créer ligne par ligne).

Prérequis

  • .NET 10
  • Compte Intacct avec accès Web Services
  • Variables d'environnement configurées :
INTACCT_SENDER_ID
INTACCT_SENDER_PASSWORD
INTACCT_COMPANY_ID
INTACCT_USER_ID
INTACCT_USER_PASSWORD

Redémarrer le terminal ou l'IDE après les avoir définies.

Lancer la démo

cd IntacctUseCase
dotnet run

Le script génère un CSV de test (20 lignes), exécute les deux méthodes, puis affiche un comparatif (appels API + durée).

Les deux méthodes

Méthode actuelle (comme le script PHP Garanka)

Étape Action
1 Vérifier les contacts — 1 appel par ligne
2 Vérifier les clients — 1 appel par ligne
3 Créer les contacts manquants — 1 par 1
4 Modifier les contacts existants — 1 par 1
5-6 Créer / modifier les clients — par lots de 50

Méthode optimisée

Étape Action
1 Charger tous les contacts — 1 à quelques appels
2 Charger tous les clients — 1 à quelques appels
3 Créer les contacts manquants — par lots de 50
4 Modifier les contacts existants — par lots de 50
5 Créer les nouveaux clients — par lots de 50
6 Modifier les clients existants — par lots de 50

Structure du projet

IntacctUseCase/
├── Program.cs                 # Point d'entrée
├── Models/DemoModels.cs       # CustomerRow, ImportStats
└── Services/
    ├── CsvService.cs          # Génération / lecture CSV (format Garanka)
    ├── ImportPlan.cs          # Répartition créer / mettre à jour
    ├── LegacyImportService.cs # Méthode actuelle
    ├── OptimizedImportService.cs
    └── IntacctDataService.cs  # Appels Intacct partagés

Fichier CSV

Format aligné sur Garanka_CreateUpdateARCustomers.php (55 colonnes, séparateur ;).
Un fichier de test est généré dans data/demo_clients_20.csv à chaque exécution.

Note

La méthode optimisée tourne après la méthode actuelle, sur les mêmes IDs. Au 2e passage, beaucoup de lignes seront des modifications, pas des créations.

Schémas

Comparaison (20 lignes)

Comparaison

Méthode actuelle

Méthode actuelle

Méthode optimisée

Méthode optimisée

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages