# Facturation

> Le solde, la dépense en cours, les factures.

Ces routes sont **en lecture seule**. Rien de ce qui touche au paiement — carte, dépôt,
recharge automatique — n'est ouvert au jeton : ça se fait depuis l'espace client.

## L'essentiel

```http
GET /api/billing/overview
```

```json
{
  "balanceCents": 49583,
  "monthToDateCents": 424,
  "projectedMonthCents": 592,
  "dailyAvgCents": 14,
  "daysLeftEstimate": 29,
  "currentHourlyBurnCents": 71.17,
  "currentDailyBurnCents": 1708.07
}
```

`daysLeftEstimate` est le nombre de jours que le solde couvre au rythme actuel. C'est la
valeur à surveiller dans un pipeline : sous un seuil, préviens quelqu'un.

<Warning>
Un solde qui passe sous zéro déclenche un délai de grâce, puis la suppression des
services. Une alerte sur `daysLeftEstimate` coûte moins cher qu'une restauration.
</Warning>

## Le portefeuille

```http
GET /api/wallet
GET /api/wallet/transactions
```

```json
{ "balanceCents": 49583, "currency": "EUR", "becameClientAt": "2026-08-29T10:27:05.194Z" }
```

Les transactions se paginent et portent leur type — `DEPOSIT` pour une recharge,
`ADJUSTMENT` pour un geste de notre part.

## La dépense au jour le jour

```http
GET /api/billing/daily-spend
```

Une ligne par jour sur le mois courant, tous services confondus. Pour le détail par
service, vois [la consommation d'un projet](/api/projets#la-dépense-du-projet) ou
[celle d'un service](/api/journaux#la-consommation).

## Factures et relevés

```http
GET /api/billing/invoices
GET /api/billing/statements
GET /api/billing/statements/{period}
```

`period` s'écrit `2026-09`. Un relevé détaille le mois service par service ; une facture
est le document comptable, avec son numéro et son lien de téléchargement.

## Les montants

Tous les montants de l'API sont en **cents** sauf ceux dont le nom finit par
`Millicents`, qui valent un dixième de cent. `1060` millicents font `1,06 €` par mois.
Les tarifs sont en millicents parce qu'une heure de petit service coûte moins d'un cent.
