Rapports fiscaux (X / Z / A)
Consultation, clôture journalière et rapports périodiques par NIM
Les rapports agrègent les certifications d'un NIM captées par la plateforme. Trois types, tous scopés par votre clé API sur le NIM de l'URL :
- X — consultation de la période courante (depuis la dernière clôture Z), sans rien clôturer. Rejouable à volonté.
- Z — clôture journalière : fige la période, attribue un numéro de clôture séquentiel par NIM, et lit un instantané des compteurs de la machine.
- A — rapport périodique sur une plage de dates (agrégat + liste des clôtures Z).
Cohérence. Une certification est propagée dans l'agrégat de façon asynchrone (~2–3 s après la réponse). Sans impact pour un Z de fin de journée ; si vous lisez un rapport juste après une certification, laissez quelques secondes.
Rapport X — consultation
/v1/mcf/{nim}/reports/xTotal de la période ouverte (depuis la dernière clôture Z, ou depuis la première certification si aucun Z). Ne clôture rien. Idéal pour un point de contrôle en journée.
Champs : certs_count, total_ttc/ht/tva, ventilation by_group (par groupe de taxe)
et by_type (par type de facture), plage de compteurs fvc_start/fvc_end.
curl "https://api.mcf.avepay.net/v1/mcf/EL02000015-1/reports/x" \
-H "Authorization: Bearer $AVEPAY_API_KEY"{
"kind": "X",
"nim": "EL02000015-1",
"period_start": "2026-07-02T02:15:00Z",
"period_end": "2026-07-02T03:20:00Z",
"certs_count": 2,
"total_ttc": 1500,
"total_ht": 1347,
"total_tva": 153,
"by_group": [
{ "group": "A", "ht": 500, "tva": 0, "ttc": 500 },
{ "group": "B", "ht": 847, "tva": 153, "ttc": 1000 }
],
"by_type": [
{ "invoice_type": "FV", "count": 2, "total_ttc": 1500 }
],
"fvc_start": 623,
"fvc_end": 624
}Clôture Z — génération
/v1/mcf/{nim}/reports/zClôture la période ouverte : renvoie un z_number séquentiel (par NIM, non rejouable),
la ventilation figée, et un instantané des compteurs de la machine (mcf_counters,
lu en direct via le bridge). Le corps de la requête peut être vide ({}).
Conservez le report_id et le z_number de votre côté : ce sont les clés de votre
clôture. Après un Z, un GET reports/x repart d'une période vide.
curl -X POST "https://api.mcf.avepay.net/v1/mcf/EL02000015-1/reports/z" \
-H "Authorization: Bearer $AVEPAY_API_KEY" \
-H "Content-Type: application/json" -d '{}'{
"kind": "Z",
"nim": "EL02000015-1",
"z_number": 4,
"report_id": "1c722789-19a9-4258-a248-79503ed9c9f7",
"created_at": "2026-07-02T03:20:11Z",
"period_start": "2026-07-02T02:15:00Z",
"period_end": "2026-07-02T03:20:11Z",
"certs_count": 2,
"total_ttc": 1500,
"total_ht": 1347,
"total_tva": 153,
"by_group": [
{ "group": "A", "ht": 500, "tva": 0, "ttc": 500 },
{ "group": "B", "ht": 847, "tva": 153, "ttc": 1000 }
],
"by_type": [ { "invoice_type": "FV", "count": 2, "total_ttc": 1500 } ],
"fvc_start": 623,
"fvc_end": 624,
"mcf_counters": { "tc": 840, "fvc": 624, "frc": 125 }
}Rapport A — périodique
/v1/mcf/{nim}/reports/a?from={date}&to={date}Agrège les certifications sur une plage et liste les clôtures Z de cette période.
from / to acceptent une date YYYY-MM-DD ou un timestamp RFC 3339. Par défaut : 31 derniers jours.
curl "https://api.mcf.avepay.net/v1/mcf/EL02000015-1/reports/a?from=2026-07-01&to=2026-07-31" \
-H "Authorization: Bearer $AVEPAY_API_KEY"{
"kind": "A",
"nim": "EL02000015-1",
"certs_count": 42,
"total_ttc": 152000,
"by_group": [ /* … */ ],
"closures": [
{ "z_number": 1, "period_start": "…", "period_end": "…", "total_ttc": 3200, "certs_count": 5 },
{ "z_number": 2, "period_start": "…", "period_end": "…", "total_ttc": 4800, "certs_count": 7 }
]
}Historique des clôtures
/v1/mcf/{nim}/reports?from={date}&to={date}Liste brute des clôtures Z persistées sur la plage — pour réimporter l'historique dans votre système.
{
"nim": "EL02000015-1",
"count": 2,
"reports": [
{ "id": "…", "kind": "Z", "z_number": 1, "period_start": "…", "period_end": "…",
"certs_count": 5, "total_ttc": 3200, "mcf_counters_end": { "tc": 810, "fvc": 600, "frc": 120 } }
]
}Multi-tenant. Chaque entité = un NIM = une clé API scopée. Les rapports sont donc naturellement isolés par tenant. La plateforme conserve la copie autoritative de chaque clôture ; stockez la vôtre à réception de la réponse.