Skip to content
In production · public sector

Inventory System

A custom web system where every asset is recorded with its site, area and custodian, and every movement leaves a numbered record and an audit trail.

Python · Flask · PostgreSQL · on-premises server

bienes.pyPython · Flask
@app.route("/bienes", methods=["POST"])
@login_required
def registrar_bien():
datos = BienSchema().load(request.json)
bien = Bien(**datos, sede_id=usuario.sede_id)
db.session.add(bien)
db.session.commit()
# log who did what, and when
auditoria.registrar("ALTA", bien, usuario)
return jsonify(bien.to_dict()), 201
def reporte_por_sede(sede):
return Bien.query.filter_by(sede=sede)
.order_by(Bien.codigo).all()

The problem

Annual inventories were done by hand, with spreadsheets and incomplete data, and no one had a single reliable version of which assets existed, where they were and who was responsible for them.

The solution

A custom web system where every asset is recorded with its site, area and custodian, and every movement leaves a numbered record and an audit trail.

Key features

  • Asset registry and physical count sheets.
  • Annual inventory campaigns.
  • Movements: transfers, relocations and loans, with numbered PDF receipts.
  • Traceability for every asset (origin → destination).
  • Equipment warranties.
  • Statistics and dashboards by site.
  • Users with roles and an audit log.
  • Plain-language queries through an AI assistant.

Outcome

In 2025, the annual inventory was managed from the system for the first time. Continuously developed from version 1 through version 6.

Let's talk.

Tell me what you need. I reply within 24 business hours — on WhatsApp, usually the same day.