Skip to main content

Get Valorization Report

GET /api/v1/reports/valorization

Retrieves the inventory valorization report at a specific date, showing total value and detailed breakdown by product and batch.

Query Parameters

date
string
required
Target date for valorization report in YYYY-MM-DD format (e.g., 2026-03-04)

Authorization

Requires one of the following roles:
  • admin
  • gestor
  • consultor

Response

{
  "status": "success",
  "report": {
    "date": "2026-03-04",
    "total_value": 150000.50,
    "currency": "Bs",
    "details_by_product": [
      {
        "product_id": "123e4567-e89b-12d3-a456-426614174000",
        "product_name": "Product A",
        "product_sku": "SKU-001",
        "total_quantity": 100,
        "average_unit_cost": 50.25,
        "total_cost": 5025.00
      }
    ],
    "details_by_batch": [
      {
        "batch_id": "BATCH-001",
        "product_id": "123e4567-e89b-12d3-a456-426614174000",
        "product_name": "Product A",
        "quantity_available": 50,
        "unit_cost": 50.00,
        "total_cost": 2500.00
      }
    ]
  }
}

Error Responses

400
error
Missing or invalid date parameter
{
  "error": "Missing 'date' parameter (YYYY-MM-DD)"
}
400
error
Invalid date format
{
  "error": "Invalid date format. Use YYYY-MM-DD"
}

Code Reference

Implemented in backend/Report/Adapters/report_controller.py:111

Export Valorization Report

GET /api/v1/reports/valorization/export

Exports the valorization report in CSV, PDF, or JSON format.

Query Parameters

date
string
required
Target date for valorization report in YYYY-MM-DD format
format
string
default:"csv"
Export format. Available options:
  • csv - Comma-separated values file
  • pdf - PDF document (not yet implemented)
  • json - JSON format

Authorization

Requires one of the following roles:
  • admin
  • gestor
  • consultor

CSV Export Format

The CSV export includes:
  1. Header Section: Report date and total value
  2. Product Summary: Aggregated data by product with average costs
  3. Batch Details: Detailed breakdown by individual batches
Reporte de Valorización de Inventario
Fecha,2026-03-04
Valor Total,Bs 150000.50

RESUMEN POR PRODUCTO
Producto,SKU,Cantidad,Costo Unitario Promedio,Costo Total
Product A,SKU-001,100,Bs 50.25,Bs 5025.00

DETALLE POR LOTE
Producto,Lote ID,Cantidad,Costo Unitario,Costo Total
Product A,BATCH-001,50,Bs 50.00,Bs 2500.00

JSON Export Format

Returns the same structure as the standard valorization report endpoint.

Response Headers

For CSV format:
Content-Type: text/csv
Content-Disposition: attachment; filename="valorization_2026-03-04.csv"

Error Responses

400
error
Missing date parameter
{
  "error": "Missing 'date' parameter"
}
400
error
Invalid format
{
  "error": "Format debe ser 'csv', 'pdf' o 'json'"
}
400
error
Invalid date format
{
  "error": "Invalid date format"
}

Example Usage

# Export as CSV
curl -X GET "https://api.example.com/api/v1/reports/valorization/export?date=2026-03-04&format=csv" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -o valorization_report.csv

# Export as JSON
curl -X GET "https://api.example.com/api/v1/reports/valorization/export?date=2026-03-04&format=json" \
  -H "Authorization: Bearer YOUR_TOKEN"

Code Reference

Implemented in backend/Report/Adapters/report_controller.py:141

Build docs developers (and LLMs) love