Cómo funciona¶
Hardhat Flow organiza cada proyecto en torno a una sola secuencia lineal. El trabajo entra como Bid, avanza a Job cuando se aprueba, genera un Invoice y se cierra cuando el pago está completo. Esta página explica cada etapa, quién controla las transiciones y qué ocurre de forma automática.
El ciclo completo¶
New Bid
└─► Bid Awaiting PO
└─► Bid Approved ──► Job Created (automatic)
└─► Ready to Start
└─► In Progress
└─► Completed / Needs Invoice
└─► Invoice Submitted
└─► Partially Paid
└─► Paid
└─► Workflow Complete
En cualquier momento un Owner puede cancelar un Bid o un Job, y un Owner puede rechazar un Bid que aún no se ha aprobado.
Etapa 1: Bid¶
Un Bid representa un alcance propuesto de trabajo con precio y detalles asociados.
Disponible para: Owner, Project Manager
Solo Project Managers y Owners pueden crear y editar Bids. Accounting no puede crear Bids. Supervisors y Badge Workers no tienen acceso a Bids.
Estados del Bid¶
| Status | Significado | Quién lo define |
|---|---|---|
| New Bid | Recién creado, trabajo en curso | Automático al crear |
| Bid Awaiting PO | Enviado y en espera de orden de compra | Project Manager u Owner |
| Bid Approved | Cliente aprobado — dispara creación automática de Job | Solo Owner |
| Bid Rejected | Rechazado — no se crea Job | Solo Owner |
| Bid Cancelled | Retirado en cualquier momento | Solo Owner |
Solo los Owners pueden aprobar, rechazar o cancelar Bids.
Los Project Managers pueden crear y editar Bids y llevarlos a Bid Awaiting PO, pero no pueden aprobar, rechazar ni cancelar.
Creación automática del Job¶
Cuando un Owner pone un Bid en Bid Approved, Hardhat Flow crea automáticamente un Job vinculado a ese Bid. El Job queda en Ready to Start y el Project Manager asignado recibe una notificación SMS. No se requiere ningún paso manual.
Etapa 2: Job¶
Un Job representa el trabajo activo que se ejecuta en campo.
Disponible para: Owner, Project Manager, Supervisor (solo asignado), Badge Worker (solo asignado)
Estados del Job¶
| Status | Significado | Quién lo define |
|---|---|---|
| Ready to Start | Job creado, aún no iniciado | Automático al aprobar el Bid |
| In Progress | Trabajo de campo activo | Project Manager u Owner |
| Completed / Needs Invoice | Trabajo terminado, pendiente de facturar | Project Manager u Owner |
| Job Cancelled | Job detenido | Solo Owner |
Asignación del Job¶
Cada Job tiene exactamente:
- Un Project Manager — responsable de punta a punta del Job
- Un Supervisor — supervisa la ejecución en campo
- Uno o más Badge Workers — realizan el trabajo
Sin órdenes de cambio en V1
Los cambios de alcance deben manejarse fuera del sistema en la versión actual. Una versión futura admitirá órdenes de cambio.
Etapa 3: Invoice¶
Cuando un Job llega a Completed / Needs Invoice, el equipo de Accounting crea un Invoice.
Disponible para: Owner, Accounting
Project Managers, Supervisors y Badge Workers no pueden crear ni editar Invoices.
Un Invoice por Job
Cada Job puede tener exactamente un Invoice. Se permiten varios pagos contra ese Invoice, pero no puede crearse un segundo Invoice para el mismo Job.
Estados del Invoice¶
| Status | Significado | Quién lo define |
|---|---|---|
| Invoice Submitted | Invoice enviado al cliente | Accounting u Owner |
| Partially Paid | Uno o más pagos recibidos, queda saldo | Automático al primer pago |
| Paid | Saldo total recibido | Automático cuando el saldo llega a cero |
| Workflow Complete | Estado final — Job e Invoice cerrados | Lo define el sistema |
Etapa 4: Payment¶
Los pagos los registran Accounting u Owner contra un Invoice. Cada pago reduce el saldo pendiente. Cuando el saldo llega a cero, el estado del Invoice avanza a Paid y el sistema establece automáticamente Workflow Complete.
Referencia de transiciones de estado¶
Bids¶
New Bid → Bid Awaiting PO → Bid Approved
→ Bid Rejected (solo Owner)
→ Bid Cancelled (solo Owner, en cualquier momento)
Bid Awaiting PO → Bid Cancelled (solo Owner, en cualquier momento)
Bid Approved → Bid Cancelled (solo Owner, en cualquier momento)
Jobs¶
Ready to Start → In Progress → Completed / Needs Invoice
→ Job Cancelled (solo Owner)
In Progress → Job Cancelled (solo Owner)
Invoices¶
Invoice Submitted → Partially Paid → Paid → Workflow Complete
Las transiciones de estado se aplican en el servidor.
La API rechaza cualquier transición que no siga la secuencia permitida. No es posible saltar estados.