beel_set_invoice_status
Updates an invoice's commercial status to ISSUED, SENT, or PAID and rejects invalid transitions, allowing you to mark invoices sent or paid or undo a mistaken SENT.
Instructions
Sets the commercial status of an invoice. Any transition other than the ones below is rejected.
PAID: fromISSUED,SENTorOVERDUE.SENT: fromISSUED.ISSUED: fromSENTonly, to undo aSENTset by mistake.Not set here: issuing and voiding are fiscal acts with their own operations (
POST …/{invoice_id}/issue,POST …/{invoice_id}/void), and issuing is never undone.
BeeL API endpoint: PUT /v1/companies/{company_id}/invoices/{invoice_id}/status (reference: https://docs.beel.es)
⚠️ Read before calling:
The status names, the proforma lifecycle, and which tool performs each operation. (resource: beel://guardrails/invoice-state-machine)
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"company_id": "<company_id>",
"invoice_id": "<invoice_id>",
"body": "<body>"
},
"name": "beel_set_invoice_status"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| company_id | Yes | Unique identifier (UUID) of the company the operation acts on — its identifier, not its NIF. It is the only source of context: the account that owns it is derived from it, and the `BeeL-Active-Company` header plays no part. A company you do not reach answers `403`, and so does a company that does not exist, so the existence of a company in another account is never disclosed. | |
| invoice_id | Yes | Invoice ID |