---
title: "bills__update_bill"
method: POST
path: "/tools/bills__update_bill"
tags: ["Gastos"]
---

# bills__update_bill

`POST /tools/bills__update_bill`

### MCP
`update_bill` → `bills__update_bill`.

### HTTP
`PUT /v1/bills/{id}` — Actualización parcial.

### Restricciones
No enviar id, status, total, totalPaid, balance, calculationScale, payments, advances en el sentido de forzar estado.

### Errores
| Código | Significado | Acción |
|--------|-------------|--------|
| 11042 | No editable | Estado/reglas bloquean edición |
| 3051 | Fallo timbre (puede incluir bill parcial) | Ver guía 3051; no reintentar mismo payload a ciegas |
| 11094 | Falta centro de costo obligatorio | Enviar `costCenter` donde aplique |
| 907 / 908 / 911 | Plan o acción no permitida | Revisar plan y tipo de operación |
| 11110 | No encontrado | Verificar id |

## Request body

- object
  - `id` string, required
  - `date` string
  - `dueDate` string
  - `provider` object
  - `purchases` object
  - `costCenter` object
  - `stamp` object
  - `should_open_bill` boolean
  - `electronicInvoicingVersion` string

## Response `200`

Bill actualizado

---

[API](https://skmtc.net/alegra/apis/ingresos.md) · [All operations](https://skmtc.net/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/ingresos/versions/cd52d3f68f1b/schema)
