Ir al contenido

Presupuestos

Router: backend/app/api/v1/budgets.py. Prefijo: /api/v1/budgets.

Método Endpoint Descripción Permiso
GET /api/v1/budgets Listar presupuestos budgets:leer
GET /api/v1/budgets/{id} Detalle budgets:leer
POST /api/v1/budgets Crear budgets:crear
POST /api/v1/budgets/nested Crear con árbol de items budgets:crear
PUT /api/v1/budgets/{id} Actualizar cabecera budgets:editar
DELETE /api/v1/budgets/{id} Borrado lógico budgets:eliminar
  • limit, offset
  • project_id
  • estado
  • opportunity_id
  • client_id
Método Endpoint Descripción Permiso
PUT /api/v1/budgets/{id}/estado Cambiar estado budgets:editar
POST /api/v1/budgets/{id}/finalizar Finalizar presupuesto budgets:editar
POST /api/v1/budgets/{id}/reabrir Reabrir presupuesto admin:auditar

El finalizado bloquea ediciones de partidas, mediciones, descompuestos, pricing, organización y ajustes (backend/app/services/budget_editable_guard.py y backend/app/services/budget_finalization_service.py).

Método Endpoint Descripción Permiso
GET /api/v1/budgets/{id}/versions Listar versiones budgets:leer
POST /api/v1/budgets/{id}/versions Crear nueva versión budgets:crear
PUT /api/v1/budgets/{id}/activar Activar versión budgets:editar
Método Endpoint Descripción Permiso
POST /api/v1/budgets/{id}/create-project Crea proyecto desde presupuesto aprobado budgets:crear

Requiere que el presupuesto esté en estado approved.

Método Endpoint Descripción Permiso
GET /api/v1/budgets/{id}/export?format=xlsx Exportar a Excel budgets:leer
GET /api/v1/budgets/{id}/export?format=csv Exportar a CSV budgets:leer
GET /api/v1/budgets/{id}/export?format=pdf Exportar a PDF budgets:leer

Router: backend/app/api/v1/budget_reports.py.

Método Endpoint Descripción Permiso
GET /api/v1/budgets/{id}/informes/{informe}?format=pdf Informe PDF budgets:leer
GET /api/v1/budgets/{id}/informes/{informe}?format=xlsx Informe Excel budgets:leer

Informes disponibles: resumen, presupuesto, mediciones, descompuesto.

Router: backend/app/api/v1/budget_actions.py.

Método Endpoint Descripción
POST /api/v1/budgets/{id}/recalculate Recalcular importes y precios
GET /api/v1/budgets/{id}/resumen Resumen de pricing (BI, GG, IVA, total)
PUT /api/v1/budgets/{id}/condiciones-generales Actualizar condiciones generales
PUT /api/v1/budgets/{id}/beneficio-industrial Aplicar BI global
PUT /api/v1/budgets/{id}/gastos-generales Aplicar GG global
POST /api/v1/budgets/{id}/items/{item_id}/move Mover item
POST /api/v1/budgets/{id}/items/{item_id}/copy Copiar item al portapapeles
POST /api/v1/budgets/{id}/items/paste Pegar item
PUT /api/v1/budgets/{id}/items/{item_id}/precio-venta Editar precio de venta
PUT /api/v1/budgets/{id}/items/{item_id}/beneficio-industrial Editar BI del item
PUT /api/v1/budgets/{id}/items/{item_id}/gastos-generales Editar GG del item
PUT /api/v1/budgets/{id}/items/{item_id}/iva Editar IVA del item

Véase también Partidas, mediciones y descompuesto.

Router: backend/app/api/v1/budget_config.py.

Método Endpoint Descripción
GET /api/v1/budgets/{id}/configuracion Leer configuración
PUT /api/v1/budgets/{id}/configuracion Actualizar configuración

Campos: default_unit_id, default_iva_type_id, decimal_places, currency_id.

Router: backend/app/api/v1/budget_variables.py.

Método Endpoint Descripción
GET /api/v1/budgets/{id}/variables Listar variables
POST /api/v1/budgets/{id}/variables Crear variable
PUT /api/v1/budgets/{id}/variables/{var_id} Actualizar variable
DELETE /api/v1/budgets/{id}/variables/{var_id} Borrar variable

Router: backend/app/api/v1/bc3.py.

Método Endpoint Descripción
POST /api/v1/carga-masiva/bc3/preview Previsualizar BC3
DELETE /api/v1/carga-masiva/bc3/preview/{preview_id} Cancelar preview
POST /api/v1/carga-masiva/bc3/import Importar BC3
Ventana de terminal
curl -X POST https://serconsa.ovlicuo.com/api/v1/budgets \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"codigo": "PRE-2026-010",
"titulo": "Nueva obra",
"client_id": "..."
}'