Flux de matières, remises et un journal d’exploitation qui se clôtTous les articles

Flux de matières, remises et un journal d’exploitation qui se clôt

Un journal d’exploitation créé seulement pour le contrôle n’est pas un journal. Ce cas montre la chaîne qui se clôt chaque jour et se valide chaque semaine.

Publié: 2026-09-12Temps de lecture: 5 minAPI tapinomahub & processus
API & processusRecyclageAPI

Les quantités d’une journée figurent sur un papier près de la bascule, les remises dans des courriels, et le journal naît de l’ensemble la veille du contrôle. Cela fonctionne tant que personne ne demande d’où vient un chiffre — et cela échoue exactement une fois.

Flux de matières, remises et un journal d’exploitation qui se clôtEntrée : les quantités d’une journée d’exploitation sur un site 1. Enregistrer le mouvement (POST /compliance/material-movements): materialCode, mass et unit par mouvement, avec l’instant de mesure 2. Justifier la remise (POST /compliance/downstream-transfers): permitSnapshotId du destinataire et au moins une indication de masse 3. Clôturer la journée (POST /compliance/journal-periods/{date}/close-daily): clôture avec attestation, imputée à une personne au rôle de journal 4. Valider la semaine (POST /compliance/journal-periods/{week}/sign-off-weekly): dailyClosureIds et une attestation ; la validation est imputable 5. Extraire le dossier d’audit (GET /compliance/audit-exports/{case_or_period}): Événements avec hash et previousHash — une chaîne qui révèle une lacune Sortie : une période qui résiste au contrôle, car elle n’est pas racontée après coup La chaîne de hachage rend une lacune visible, non impossible. Sa valeur : le manque se voit.Flux de matières, remises et un journal d’exploitation quise clôtEntrée : les quantités d’une journée d’exploitation sur un site01Enregistrer le mouvementPOST /compliance/material-movementsmaterialCode, mass et unit par mouvement, avec l’instant de mesure02Justifier la remisePOST /compliance/downstream-transferspermitSnapshotId du destinataire et au moins une indication de masse03Clôturer la journéePOST /compliance/journal-periods/{date}/close-dailyclôture avec attestation, imputée à une personne au rôle de journal04Valider la semainePOST /compliance/journal-periods/{week}/sign-off-weeklydailyClosureIds et une attestation ; la validation est imputable05Extraire le dossier d’auditGET /compliance/audit-exports/{case_or_period}Événements avec hash et previousHash — une chaîne qui révèle une lacuneSortie : une période qui résiste au contrôle, car elle n’est pas racontée après coupLa chaîne de hachage rend une lacune visible, non impossible. Sa valeur : le manque se voit.
Cinq appels de la pesée au dossier d’audit. La clôture quotidienne est imputée à une personne.

Le contrat exige donc clôture quotidienne et validation hebdomadaire par une personne connectée au rôle de journal ; tapinoma ne signe pas en son nom propre. Les événements portent hash et previousHash : cela ne rend pas une lacune impossible, mais la rend visible — et c’est bien le but.

SurfaceRôles
ComplianceRecycleurs automobiles

Ce que ce cas suppose

  • Des masses mesurées, non estimées. La masse s’indique avec l’unité kg ou t.
  • Un code matière par mouvement. Sans lui, une quantité est un nombre sans objet.
  • L’autorisation du destinataire. Une remise renvoie à un instantané d’autorisation ; sans elle, le destinataire n’est pas justifié.
  • Une personne habilitée à signer la semaine. La validation est imputable et non un traitement en lot.

Le déroulement

Le tableau indique pour chaque étape l’appel compétent et ce qui existe ensuite. La justification de l’étape figure en dessous.

La chaîne d’appels de ce cas d’usage
ÉtapeAppelCe qui existe ensuite
Enregistrer le mouvementPOST /compliance/material-movementsmaterialCode, mass et unit par mouvement, avec l’instant de mesure
Justifier la remisePOST /compliance/downstream-transferspermitSnapshotId du destinataire et au moins une indication de masse
Clôturer la journéePOST /compliance/journal-periods/{date}/close-dailyclôture avec attestation, imputée à une personne au rôle de journal
Valider la semainePOST /compliance/journal-periods/{week}/sign-off-weeklydailyClosureIds et une attestation ; la validation est imputable
Extraire le dossier d’auditGET /compliance/audit-exports/{case_or_period}Événements avec hash et previousHash — une chaîne qui révèle une lacune

Pourquoi chaque étape est nécessaire

  1. Enregistrer le mouvement. POST /compliance/material-movements prend facilityId, movementType, materialCode, mass et unit, ainsi que lieux d’origine et de destination et l’instant de mesure measuredAt. L’enregistrement a lieu à la pesée, non au moment du rapport — seule différence qui décide de la fiabilité.
  2. Justifier la remise. POST /compliance/downstream-transfers renvoie aux assetRefs remis, à l’organisation et à l’installation destinataires, à leur instantané d’autorisation dans permitSnapshotId et au transport, et exige au moins une indication dans masses. L’instantané d’autorisation est l’essentiel : il consigne sur quelle habilitation du destinataire la remise reposait.
  3. Clôturer la journée. POST /compliance/journal-periods/{date}/close-daily prend facilityId, timeZone, closedAt et une attestationId. La clôture est imputée à la personne connectée et à son rôle de journal ; elle reconfirme son authentification pour cela, et tapinoma ne signe pas en son nom propre.
  4. Valider la semaine. POST /compliance/journal-periods/{week}/sign-off-weekly renvoie aux clôtures quotidiennes de la semaine et porte une attestation. La validation revient à une personne.
  5. Extraire le dossier d’audit. GET /compliance/audit-exports/{case_or_period} restitue les événements avec leurs empreintes — pour un dossier ou une période. C’est là qu’une lacune apparaît, et elle vous apparaît avant d’apparaître au contrôleur.
Clôturer une journée d’exploitation
curl -X POST \
  -H 'Cookie: __Host-tapinomahub_session=<SITZUNG>' \
  -H 'X-CSRF-Token: <CSRF_TOKEN>' \
  -H 'X-Compliance-Organisation-Id: <ORGANISATION>' \
  -H 'Idempotency-Key: tagesabschluss-2026-09-12' \
  -H 'Content-Type: application/json' \
  -d '{"facilityId":"<facilityId>","timeZone":"Europe/Berlin","closedAt":"2026-09-12T18:00:00Z","attestationId":"<attestationId>"}' \
  'https://api.tapinomahub.com/compliance/journal-periods/2026-09-12/close-daily'

Ce que l’on obtient

Il reste une période qui résiste au contrôle, car elle n’est pas racontée après coup : quantités saisies à la pesée, remises justifiées contre l’autorisation du destinataire, journées closes et semaines signées par une personne.

Où cela figure dans la documentation

Les listes de champs contractuelles, les codes d’erreur et les réponses d’exemple se trouvent dans le contrat OpenAPI de cette surface, à l’adresse docs.tapinomahub.com (tapinoma-compliance). Tous les cas d’usage classés par surface et par rôle : aperçu des cas d’usage.

Sources et références juridiques

Questions fréquentes

Qui clôture la journée ?

Une personne connectée au rôle de journal, qui reconfirme son authentification pour cela. La clôture lui est imputée ; tapinoma ne signe pas en son nom propre.

Puis-je valider une semaine avant que tous les jours soient clos ?

Le contrat ne le précise pas expressément. La validation renvoie dans dailyClosureIds à au moins une clôture quotidienne. Le contrat mentionne en outre le code d’erreur journal_daily_closures_invalid, sans en décrire les conditions.

Comment trouver une lacune ?

Par le dossier d’audit. Il restitue les événements avec empreinte et empreinte précédente ; une chaîne interrompue s’y reconnaît.