Articles sur : RESSOURCES

Mapping d'intégration Netsuite

Connexion à NetSuite


Suivez ces étapes pour connecter Fincome à NetSuite :


  1. Assurez-vous que votre compte NetSuite est activé pour les Web Services REST et dispose du rôle/permissions approprié.
  2. Obtenez les informations d'identification suivantes depuis votre compte NetSuite ou votre enregistrement d'intégration :


  • Account ID (remplacez _ par - dans les URLs)
  • Client ID


Remarque : Le connecteur implémente actuellement un flux Machine-to-Machine (client_credentials / JWT). Les flux OAuth interactifs sont présents dans le code mais non encore implémentés. OAuth sera la méthode principale pour les WebServices NetSuite.


Données synchronisées


Objet NetSuite


Champs clés synchronisés


Clients


id, entityId (nom), email


Factures (transaction + lignes + devise)


invoice_id, invoice_number, customer_id, date, status, invoice_line_item_id, description, netamount, foreignamount, currency_code, period_start, period_end


Devise


symbol → currency_code


Comportement détaillé de l'intégration


  • Extraction SuiteQL Le connecteur compose des requêtes SuiteQL combinant les objets transaction, transactionLine et currency. Les champs sélectionnés sont codés en dur pour l’instant, mais pourraient devenir configurables à l’avenir.
  • Extraction incrémentale


L’intégration NetSuite supporte l’extraction incrémentale via le champ last_modified_date.

  • Authentification & rafraîchissement du token


  • Les tokens d’accès expirent après une heure et sont automatiquement rafraîchis.
  • Classification des types de ligne


  • Le connecteur NetSuite détermine si une ligne est subscription ou one_off selon le champ personnalisé custcol_iw_item_revenue_category et la validité des dates de période.
  • Gestion des devises


  • Le connecteur récupère currency.symbol en tant que currency_code.
  • Si netamount et foreignamount existent tous deux, ce dernier peut être utilisé pour calculer les montants en devise d’origine ou devise de base selon les besoins.


Points à savoir


  • Champs personnalisés utilisés Le connecteur utilise des champs personnalisés NetSuite (ex. custcol_iw_rr_start_date, custcol_iw_rr_end_date, custcol_iw_item_revenue_category). Si votre compte NetSuite utilise d’autres IDs, mettez à jour fields_per_object, where_conditions et la logique de mapping en conséquence.
  • Format des dates Le connecteur attend JJ/MM/AAAA. Adaptez l’OperationMap Date si NetSuite renvoie un format différent.
  • Pagination et offsets SuiteQL supporte limit et offset. Les synchronisations historiques volumineuses peuvent prendre du temps ; le connecteur met à jour le curseur et reprend automatiquement.
  • Portée & permissions L’intégration nécessite le scope rest_webservices et un compte/role avec accès lecture sur transaction, transactionLine, currency et les données clients.


Vue d'ensemble de l'intégration


Élément


Détail


Méthode d’intégration


JWT client-assertion → OAuth2 token (Machine-to-Machine)


Objets pris en charge


customer, transaction (invoice), transactionLine, currency


Fréquence de synchronisation


Incrémentale via curseur + rafraîchissement du token à la demande


Import initial


Historique complet via SuiteQL avec pagination par offset


Méthode de synchronisation


Requêtes SuiteQL via NetSuite REST query/v1/suiteql endpoint


Suppressions


Non propagées (soft-deletes à gérer séparément)


Paramètres & comportements des données


Paramètre


Comportement


Format de date


%d/%m/%Y via l’OperationMap Date


Mapping statuts facture


A → open, B → paid, D → pending, autres ignorés


Classification ligne facture


custcol_iw_item_revenue_category + dates de période


Inversion des montants


netamount actuellement inversé dans IliAmount


Filtre


Factures avec custcol_iw_item_revenue_category IS NOT NULL et netamount IS NOT NULL


Mapping technique (NetSuite → Fincome)

Clients


NetSuite


Fincome


id


original_id


entityId


name


email


email


Factures & Lignes


NetSuite


Fincome


t.id


original_id (facture)


t.number


invoice_number


t.entity


customer_id


t.tranDate


date


t.status


status (via InvoiceStatus)


tl.id


original_id (ligne facture)


tl.item


produit / référence


tl.netamount


amount_excluding_tax_after_discount (inversé actuellement)


tl.foreignamount


montant étranger optionnel


tl.memo


description


tl.custcol_iw_rr_start_date


period_start


tl.custcol_iw_rr_end_date


period_end


cur.symbol


currency_code


Avoirs


NetSuite


Fincome


transaction avec recordtype = credit note


original_id (avoir)


facture liée


invoice_id


id ligne


original_id (ligne avoir)


netamount


amount (négatif)


foreignamount


montant étranger optionnel


memo


description


start/end dates


period_start / period_end


currency.symbol


currency_code

Mis à jour le : 01/06/2026

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !