Skip to content

MAD

MyUnisoft Accounting Data (raccourci en MAD) est un format JSON hybride supportant aussi bien l'export que l'import de données comptables.

Lors de la conception de ce nouveau format, nos objectifs étaient multiples :

  • Élaborer des API comptables dotées de contrats d'interfaces uniformes et versionnés, ce qui nous permettrait de mettre en place des cycles de vie et d'itérer de manière plus sereine sur les évolutions à venir.
  • Répondre à de nouveaux besoins en intégrant des fonctionnalités et des informations qui manquaient dans nos API existantes.
  • Améliorer les performances tout en garantissant la stabilité de nos infrastructures.
  • Simplifier l'expérience d'intégration pour nos partenaires (respect des bonnes pratiques, schéma JSON etc).

Nos implémentations ont aussi la particularité d'avoir un support natif du format historique Cegid TRA+PJ.

NOTE

Pour en découvrir plus sur nos choix techniques nous vous invitons à lire Designing MyUnisoft Next-Gen Accounting APIs

📜 Schéma

Lors de vos développements, pour de l'import, il vous sera aussi possible de valider vos structures à l'aide de nos schémas JSON. ​Un schéma est un ensemble de règles permettant d'annoter et de valider une donnée au format JSON (Similaire aux schémas XML). Il existe des outils en ligne comme JSON Schema Validator qui vous permettront d’expérimenter en temps réel la validation d’une structure JSON.​

📑 Spécification

Un export complet d'un dossier de production vous renverra un JSON correspondant à l'interface ci-dessous:

ts
interface MAD {
  metadata: {
    version: string;
    createdAt: number;
    producer: "MyUnisoft";
    additionalFreeProperties: Record<string, any>;
  };
  data: {
    accountingFolder: AccountingFolder;
    payments: Payment[];
    banks: Bank[];
    journals: Journal[];
    accounts: Account[];
    exercices: Exercice[];
    analytics: AnalyticalAxe[];
    entries: Entry[];
  };
}

Chaque interface / type présent au sein de la propriété data est définie ci-dessous;

👯 Les interfaces communes:

Ces interfaces et types sont régulièrement présents dans les différentes structures principales.

💃 Les interfaces principales:

🌍 API

Les différentes API sont disponibles sur notre Postman en ligne dans le dossier racine intitulé MAD.

IMPORTANT

Toutes nos API requièrent que vous fournissiez le numéro de version MAD. La dernière version disponible est actuellement 1.0.0


MAD vous permet de récupérer les mouvements (lignes d'écriture) sous deux formes :

  • Groupés par une entité/abstraction appelée Écriture.
  • À plat (équivalent à un FEC, mais plus complet).

L'écriture garantit une liste de mouvements équilibrés sur plusieurs racines de comptes. Toutefois, cela peut poser problème si votre besoin est de filtrer des données selon des critères spécifiques, tels qu'une racine de compte (par exemple, 40 ou 41) ou par lettrage.

Les deux API offrent des fonctionnalités différentes et des options de filtrage distinctes.

IMPORTANT

Afin de limiter les extractions abusives de mouvements, nous avons volontairement restreint l'export à un exercice par requête API. Pour extraire l'intégralité des mouvements, nous vous recommandons d'itérer séquentiellement sur l'ensemble des exercices.