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).

# Claims voor Workspace-facturatie en eigendom

De planning van maandfacturen legt een blijvende bedrijfsclaim vast voordat factureerbare perioden worden gelezen. Het eigendomsbeheer gebruikt dezelfde bedrijfsgrens. Daardoor kan een onderbroken factuurplanner na een eigendomswijziging niet met een verouderd plan doorgaan. De claim omvat de volledige bestaande facturatiebewerking; leveranciersaanroepen blijven buiten SQL-transacties.

Een korte cachevergrendeling coördineert gewone verzoeken. De SQL-claim blijft leidend wanneer die cachevergrendeling verloopt. Claims verlopen nooit automatisch: een gestopt proces mag niet stilzwijgend toestemming voor een andere planner opleveren. Een normale terugkeer of afgehandelde uitzondering geeft uitsluitend de claim van die eigen bewerking vrij. Het verkrijgen en vrijgeven van claims en herstel door een beheerder worden vastgelegd in het beveiligingsauditlog. Een teruggedraaide applicatieversie behoudt onopgeloste claims.

## Klanten en API-agents

- `workspace_billing_busy`: een andere bewerking bezit momenteel de cachevergrendeling van het bedrijf. Wacht totdat de oorspronkelijke bewerking klaar is en probeer daarna de bedoelde actie opnieuw met de juiste actuele versie.
- `workspace_billing_requires_reconciliation`: na de gewone cachecoördinatie bestaat nog een blijvende claim. Vraag een Binadit-beheerder de oorspronkelijke uitvoerder en boekhoudkundige uitkomst te onderzoeken.
- `workspace_billing_claim_lost`: de oorspronkelijke claim van een uitvoerder is gewijzigd. Die uitvoerder kan geen nieuwe factuuractie indienen of perioden als gefactureerd markeren. Bewaar de oorspronkelijke bewerking voor afstemming.

Een geweigerde claim annuleert geen bestelling, betaalt geen geld terug, draagt geen eigendom over en stopt geen leveranciersverzoek dat al is geaccepteerd. Omzeil dit niet met een ander bedrijfs-ID, een extra factuur, een nieuwe betaling of gewijzigde facturatiegegevens. Blijf de oorspronkelijke bewerking en factuur controleren. Servicesleutels geven geen servertoegang of rechten om claims te herstellen.

## Controle door een beheerder

Dit zijn SSH-/Artisan-opdrachten voor beheerders, afzonderlijk van de klanten-CLI. Voer ze uit in de map van het uitgerolde portaal met de daarvoor ingestelde PHP-versie en applicatiegebruiker. Ze accepteren geen leverancierssleutels.

```sh
php artisan workspace:billing-fences --account=123
php artisan workspace:billing-fences --after-account=0
```

De inventaris bevat maximaal 100 actieve claims per pagina, zo nodig met de volgende `--after-account`-cursor. Per claim worden het bedrijf, de exacte claim-UUID, het doel, de vastgelegde uitvoerende host/PID en de begintijd getoond. De controle voert geen leveranciers- of boekhoudkundige actie uit.

Bij maandfacturatie hoort een doel zoals `invoice:202611` bij de bestaande bedrijfsreferentie `WS-123-202611`. Controleer die oorspronkelijke factuur en de bijbehorende boekhoud- en betalingsjournalen. Een onzekere leveranciersuitkomst blijft onzeker wanneer een proces stopt. Herstel moet de oorspronkelijke referentie en vastleggingen behouden.

## Herstel na een gestopt uitvoerend proces

Stel vast dat de vastgelegde uitvoerder klaar is, of laat het proces via de normale procedure voor werkprocessen/services op de vastgelegde host zijn lopende werk afronden. Onderbreek geen leveranciersverzoek dat nog wordt uitgevoerd om alleen een claim te wissen. Ook een inactief maar nog levend PHP-werkproces mag zijn claim niet laten vrijgeven; gebruik na het afronden van lopend werk de passende gecontroleerde herstart- of stopprocedure voor werkprocessen/FPM.

Gebruik daarna de exacte claim en het bedrijf uit de controle:

```sh
php artisan workspace:billing-fences --account=123 \
  --confirm-account=123 --release-claim=ORIGINAL_CLAIM_UUID
```

De opdracht vereist dezelfde vastgelegde host, een positieve uitvoerende PID, een exact overeenkomende actuele claim en een POSIX-procescontrole die bewijst dat het oorspronkelijke lokale proces niet meer bestaat. Een levend proces, een andere host, een onbekende processtatus, onvoldoende zicht op processen, ontbrekende POSIX-ondersteuning of een gewijzigde claim leidt tot weigering. De opdracht stuurt geen signaal en biedt geen gedwongen vrijgave of vervaluitzondering. Hergebruik van een PID verhindert uit voorzorg herstel totdat een beheerder de juiste servicestatus vaststelt.

Geslaagd herstel wist uitsluitend de bedrijfsclaim van de gestopte uitvoerder en legt die beslissing vast in het auditlog. Het maakt geen factuur aan, verwijdert, betaalt, annuleert of herschrijft geen factuur en wijzigt geen eigendom of facturatieperioden. Los een oorspronkelijke onzekere boekhoudkundige uitkomst op voordat je de normale bewerking opnieuw probeert. Verwijder de claimtabel niet handmatig en herschrijf de eigenaar niet: daardoor zou een onderbroken uitvoerder kunnen doorgaan nadat een andere bewerking is gestart.
