Par DigitsLane Lecture : 10 min

Write-back Pennylane : modifier vos donnees depuis Google Sheets

Jusqu'ici, la plupart des integrations Pennylane fonctionnaient dans un seul sens : lire les donnees comptables et les afficher dans un tableur. Vous pouviez consulter vos factures, vos produits ou vos clients dans Google Sheets, mais pas les modifier. Le write-back de DigitsLane change la donne : il permet de modifier vos donnees Pennylane directement depuis Google Sheets, avec des garde-fous solides.

Cet article explique en detail le fonctionnement du write-back, les ressources supportees, les mecanismes de securite et les trois modes de gouvernance disponibles.

Qu'est-ce que le write-back ?

Le write-back (ou synchronisation bidirectionnelle) designe la capacite d'envoyer des modifications depuis Google Sheets vers Pennylane. Concretement, vous modifiez une cellule dans votre feuille de calcul (par exemple, le prix d'un produit), et DigitsLane detecte le changement, vous le montre sous forme de diff, puis l'applique dans Pennylane via l'API.

Ce n'est pas un simple import/export : c'est une boucle fermee. Les donnees partent de Pennylane, sont modifiees dans Google Sheets, puis reviennent dans Pennylane. A chaque etape, DigitsLane garantit la coherence et la tracabilite.

Ressources supportees

DigitsLane supporte le write-back pour 7 types de ressources Pennylane :

Ressource Champs modifiables API Pennylane
Produits Titre, description, prix HT, taux TVA, unite, reference PUT /products/{id}
Devis Lignes, montants, dates, conditions PUT /quotes/{id}
Factures clients Lignes, montants, echeance, devise PUT /customer_invoices/{id}
Clients entreprise Nom, adresse, SIREN, email, telephone PUT /customers/{id}
Clients particulier Nom, prenom, adresse, email PUT /customers/{id}
Categories Libelle, numero de compte, type PUT /categories/{id}
Fournisseurs Nom, adresse, SIREN, contact PUT /suppliers/{id}
Precision : Certaines actions Pennylane sont irreversibles (finaliser une facture, marquer comme payee). DigitsLane affiche un avertissement explicite avant toute action irreversible et exige une confirmation supplementaire.

Comment ca fonctionne

Le write-back DigitsLane suit un workflow en 4 etapes, concu pour eviter toute erreur :

Etape 1 : Snapshot

Quand vous chargez des donnees depuis Pennylane, DigitsLane sauvegarde un snapshot (copie exacte) des valeurs originales. Ce snapshot sert de reference pour detecter les modifications.

Etape 2 : Detection des modifications

Lorsque vous cliquez sur Analyser les modifications dans l'onglet Writeback, DigitsLane compare chaque cellule avec le snapshot. Les cellules modifiees sont identifiees avec leur ancienne et nouvelle valeur.

// Exemple de diff detecte par DigitsLane :
{
  "resource": "product",
  "id": "prod_12345",
  "changes": {
    "price_before_tax": {
      "old": "120.50",
      "new": "135.00"
    },
    "vat_rate": {
      "old": "FR_200",
      "new": "FR_100"
    }
  }
}

Etape 3 : Preview (dry-run)

Avant toute ecriture, DigitsLane affiche un apercu complet des modifications detectees. Vous voyez exactement ce qui sera modifie dans Pennylane, champ par champ, avec l'ancienne et la nouvelle valeur. Aucune donnee n'est envoyee a ce stade.

Etape 4 : Synchronisation

Apres validation, DigitsLane envoie les modifications a l'API Pennylane via des requetes PUT. Le worker respecte le rate limit de 25 requetes par 5 secondes et gere automatiquement les retries en cas d'erreur 429 ou 500. La progression est affichee en temps reel via Server-Sent Events (SSE).

Securite : dry-run, rollback, detection de conflits

Dry-run obligatoire

Chaque write-back passe par un dry-run avant execution. Le dry-run simule les modifications sans les appliquer. Vous pouvez revoir, annuler ou modifier votre selection avant de confirmer.

Rollback

Chaque lot de modifications cree un change_batch qui stocke les valeurs avant modification. En cas d'erreur, le rollback restaure les anciennes valeurs dans Pennylane. C'est un filet de securite indispensable pour les modifications en masse.

Detection de conflits

Si quelqu'un modifie une donnee dans Pennylane entre le moment ou vous avez charge le snapshot et le moment ou vous lancez le write-back, DigitsLane detecte le conflit grace au champ updated_at (precision microseconde). Vous etes alerte et pouvez choisir d'ecraser ou de rafraichir.

Attention : Le rollback ne peut pas annuler les actions irreversibles de Pennylane (finalisation de facture, changement de statut). DigitsLane bloque ces actions par defaut et exige une confirmation explicite avec avertissement.

Les 3 modes de gouvernance

DigitsLane propose trois modes de write-back, adaptes a differents niveaux de maturite et de confiance :

Mode A : Direct

L'utilisateur modifie les cellules, lance l'analyse, valide le dry-run et declenche la synchronisation. C'est le mode par defaut, adapte aux equipes reduites ou aux utilisateurs avances qui maitrisent les donnees.

Mode B : Validation / Approbation

Les modifications detectees sont soumises a un workflow d'approbation. Un responsable (DAF, chef comptable) recoit les modifications proposees et doit les approuver avant synchronisation. Ideal pour les cabinets ou les equipes avec separation des roles.

Mode C : Auto-sync

Les modifications sont synchronisees automatiquement a intervalle regulier (configurable). Ce mode est reserve aux cas de figure ou la feuille Google Sheets fait office de source de verite pour certaines donnees (catalogue produits, par exemple). Des regles de filtrage permettent de limiter les champs concernes.

Modifiez Pennylane depuis Google Sheets

Write-back securise avec dry-run, rollback et suivi en temps reel.

Installer DigitsLane

Exemples concrets

Mise a jour de prix en masse

Un responsable commercial charge 500 produits depuis Pennylane dans Google Sheets. Il applique une augmentation de 5 % sur les prix HT en utilisant une formule Google Sheets. DigitsLane detecte les 500 modifications, affiche le diff, et synchronise en respectant le rate limit. Temps total : 2 minutes au lieu de 2 heures dans l'interface Pennylane (modification un par un).

Correction de fiches clients

Un cabinet corrige les adresses de 30 clients apres un changement de code postal. Le mode Validation est active : le collaborateur propose les modifications, le chef de mission les approuve dans le tableau de bord DigitsLane, puis la synchronisation s'execute.

Catalogue produits auto-synchronise

Une PME utilise Google Sheets comme reference pour son catalogue. Le mode Auto-sync est configure pour synchroniser les champs title, description et price_before_tax toutes les heures. Les modifications dans le Sheet sont propagees automatiquement vers Pennylane, sans intervention humaine.

Questions frequentes

Peut-on modifier Pennylane depuis Google Sheets ?

Oui. DigitsLane permet de modifier des produits, devis, factures, clients, fournisseurs et categories directement depuis Google Sheets. Les modifications sont detectees par comparaison avec un snapshot, previsualises sous forme de diff, puis synchronisees vers Pennylane apres validation. C'est le write-back bidirectionnel.

Quelles donnees peut-on ecrire dans Pennylane ?

DigitsLane supporte le write-back pour 7 types de ressources : produits (prix, description, reference, TVA), devis (lignes, montants, dates), factures clients, clients entreprise et particulier (nom, adresse, SIREN, email), categories comptables et fournisseurs. Chaque ressource a ses propres regles de validation conformes a l'API Pennylane v2.

Le write-back est-il reversible ?

Oui, pour les modifications de donnees (prix, adresses, libelles). DigitsLane sauvegarde un change_batch avec les valeurs avant modification. Le rollback restaure ces valeurs dans Pennylane. En revanche, les actions irreversibles de Pennylane (finalisation de facture, marquage comme paye) ne peuvent pas etre annulees. DigitsLane affiche un avertissement explicite avant ces actions.

Le write-back respecte-t-il les rate limits Pennylane ?

Oui. Le worker DigitsLane integre un rate limiter qui respecte la limite de 25 requetes par 5 secondes imposee par Pennylane. En cas de reponse 429, le systeme utilise l'en-tete Retry-After pour attendre le delai exact avant de reprendre. Les erreurs 500 et 503 declenchent un retry avec backoff exponentiel. La progression est affichee en temps reel.