Exchange valt buiten deze API/CLI-release. Eventuele historische Exchange-voorbeelden in deze gids zijn niet beschikbaar; dit zegt niets over bestaande portaalfuncties. Zie het [actuele releasebereik](/developers/guides/release-scope?lang=nl).

# Verlengingsindicatie

De API en het portal delen een leesbaar overzicht van actieve serviceperioden voor domeinregistraties, Hosting, Exchange en spamfilters. De getoonde prijs is een indicatie op basis van de **actuele productcatalogus**. Bestaande betaalafspraken, abonnementen, facturen en daadwerkelijke factuurregels blijven leidend. Dit overzicht maakt geen bestelling, factuur, betaling of leveranciersverzoek aan.

## Eigen bedrijf bekijken

Gebruik `GET /api/v1/accounts/{account}/billing/renewal-forecast` met `billing:read`. De verbinding ziet alleen het gekozen bevoegde bedrijf en zijn expliciet toegestane resources. Een factuurbeperking geeft geen toegang tot een domein- of mailboxvoorspelling met hetzelfde numerieke nummer.

De parameters zijn `limit` van 1–100 (standaard 20), `horizon_days` van 1–366 (standaard 31) en de `cursor` uit het vorige antwoord. Het tijdvak begint bij de huidige kalenderdag. Geannuleerde diensten, DNS-only zones zonder registratie en private of verwijderde Exchange-mailboxen worden niet als te verlengen klantproduct getoond. Spamfilters gebruiken dezelfde eigendomscontrole en tellen uitsluitend de ingeschakelde producten mee.

```bash
binadit billing renewal-forecast list --account 123 --horizon-days 31 --output json
```

Een regel heeft bijvoorbeeld:

```json
{
  "id": "renewal:domain:42",
  "source": "service_period_forecast",
  "resource_type": "domain",
  "resource_id": "42",
  "account_id": 123,
  "name": "example.test",
  "period_ends_on": "2026-11-01",
  "binding_status": "verified_company",
  "pricing_source": "current_catalog_estimate",
  "invoice_id": null,
  "payment_available": false,
  "pricing_available": true,
  "currency": "EUR",
  "estimated_price_excl": "12.50",
  "estimated_price_incl": "15.13",
  "period_months": 12,
  "estimated_next_period_ends_on": "2027-11-01",
  "catalog_products_active": true
}
```

Dit is een illustratie, geen daadwerkelijke offerte. Een ontbrekende of ongeldige productprijs, valuta of periode geeft `pricing_available: false`; er wordt geen bedrag verzonnen. Een product dat niet meer voor nieuwe verkoop actief is kan nog bij een bestaande dienst horen; `catalog_products_active` maakt dat onderscheid zichtbaar. De indicatie is geen wijziging van de bestaande contractprijs.

## IDs en echte betalingen

Behandel het `renewal:…`-ID als een ondoorzichtige identiteit in een aparte namespace. Het is geen factuur-ID, historisch transactienummer, betaalcode of nieuwe bestelling. Gebruik het nooit als argument voor een factuurbetaling. De metadata vermeldt `source: service_period_forecast` en `not_an_invoice: true`.

Werkelijke facturen staan in `billing/invoices`. Een al bestaande eigen factuur kan via de bestaande beveiligde `billing/invoices/{invoice}/pay`-flow worden betaald. Voor nieuwe bestellingen en expliciete productwijzigingen blijven gecontroleerde offertes en de bijbehorende bevestiging nodig. De historische collectie `billing/upcoming-transactions` is afzonderlijke oude administratie; die rows worden niet door deze voorspelling vervangen of als factuur gemapt.

In het portal gebruiken het dashboard en **Verlengingsindicatie** hetzelfde nieuwe leesoverzicht. De oude knop die naar een niet geïmplementeerde betaalpagina leidde is vervangen door een verwijzing naar de echte facturen. De berekening voert geen oude saldoverwerking of incasso uit.

## Intern platformoverzicht

`GET /api/v1/accounts/{account}/admin/billing/renewal-forecast` vraagt `admin:read`, de ingeschakelde beheerfuncties en een daadwerkelijke interne beheerder met recente passkeyverificatie. Een eigenaar of serviceverbinding krijgt hiermee geen platformrechten.

```bash
binadit admin billing renewal-forecast list --account 123 --horizon-days 90 --output json
```

Een ontbrekende, gearchiveerde, geblokkeerde of dubbelzinnige bedrijfsbinding wordt als `requires_reconciliation` getoond, zonder prijs of geraden nieuw account-ID. Dit geeft support een concrete bronresource om te onderzoeken; het verleent geen toestemming om een factuur voor een ander bedrijf aan te maken. De portalbeheerder behoudt zijn bestaande browserbeleid; de publieke beheerders-API vraagt afzonderlijke recente passkeyverificatie.
