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.
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.
| Surface | Rôles |
|---|---|
| Compliance | Recycleurs automobiles |
Ce que ce cas suppose
- Des masses mesurées, non estimées. La masse s’indique avec l’unité
kgout. - 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.
| Étape | Appel | Ce qui existe ensuite |
|---|---|---|
| Enregistrer le mouvement | POST /compliance/material-movements | materialCode, mass et unit par mouvement, avec l’instant de mesure |
| Justifier la remise | POST /compliance/downstream-transfers | permitSnapshotId du destinataire et au moins une indication de masse |
| 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 |
| Valider la semaine | POST /compliance/journal-periods/{week}/sign-off-weekly | dailyClosureIds et une attestation ; la validation est imputable |
| 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 |
Pourquoi chaque étape est nécessaire
- Enregistrer le mouvement.
POST /compliance/material-movementsprendfacilityId,movementType,materialCode,massetunit, ainsi que lieux d’origine et de destination et l’instant de mesuremeasuredAt. L’enregistrement a lieu à la pesée, non au moment du rapport — seule différence qui décide de la fiabilité. - Justifier la remise.
POST /compliance/downstream-transfersrenvoie auxassetRefsremis, à l’organisation et à l’installation destinataires, à leur instantané d’autorisation danspermitSnapshotIdet au transport, et exige au moins une indication dansmasses. L’instantané d’autorisation est l’essentiel : il consigne sur quelle habilitation du destinataire la remise reposait. - Clôturer la journée.
POST /compliance/journal-periods/{date}/close-dailyprendfacilityId,timeZone,closedAtet uneattestationId. 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. - Valider la semaine.
POST /compliance/journal-periods/{week}/sign-off-weeklyrenvoie aux clôtures quotidiennes de la semaine et porte une attestation. La validation revient à une personne. - 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.
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.
