Each stage has one owner, one page and one thing it changes. Nothing moves because someone replied to an email.
Colour tells you which side owns the step — the client touches two, the vendor four, and everything between is Administration's.
A three-step wizard with a live preview. Each line carries its own item, unit of measure and quantity — and each is quoted and ordered separately.
A three-step wizard with a live preview. Each line carries its own item, unit of measure and quantity — and each is quoted and ordered separately.
Requisition → PENDING
Procurement reviews the items, quantities, expected date and the client's attachments, then approves.
PENDING → APPROVED
One request per item per vendor — three items across four vendors produces twelve requests. The email names the item and quantity, never the client.
Item → QUOTE_REQUESTED
Price per unit, delivery date, warranty and terms. No tax fields — rates are applied centrally at selection.
Response → PARTICIPATE
Every response for one item side by side. One transaction sets the winner, rejects every other response and writes the agreed pricing onto the item.
Item → QUOTE_SELECTED
Selections group by vendor, client and unit. The order is created live, and the vendor is notified and emailed the PO.
PO → ISSUED
Challan, mushak, invoice and the signed copy. Not optional paperwork — a bill cannot be raised against an order with no attachment.
Items dispatched to a named ATI warehouse, with optional carrier and tracking. Partial shipment is supported.
Item → SHIPPED
Goods checked in against the shipment. Warehouse stock increases and the movement ledger records it.
Item → RECEIVED
Stock sent on to the client site. Every user at that destination is notified.
Item → IN_TRANSIT
The client records where the goods are stored. Client stock updates, the requisition recalculates, and Finance is notified — the hand-off from logistics to money.
Item → COMPLETED
The delivered order becomes a payable. One order, one bill — enforced at the schema level.
Bill → INITIAL_APPROVED
The decision point. Reserved to this role alone and scoped to the clients they are mapped to.
Bill → FINAL_APPROVED
Cheque — single or bulk — or cash. A different person from the one who authorised it.
Bill → CHEQUE_PREPARED · PO → PAID
The supplier confirms the money arrived.
Bill → PAYMENT_COMPLETED
Finance files the VAT and tax copies; the vendor completes the record. You file the documents; the vendor closes the bill.
Bill and PO → COMPLETED
Most stages check the state before them. These two check something else, and they are the most common reason a process appears stuck.
A purchase order with no attached document cannot be billed. The challan, mushak, invoice and signed copy are not optional paperwork — they are a gate on the payment chain.
Creating an account checks for a verified email code first. No verified code, no user — and one verification allows exactly one account.
The status ladder for one item that goes all the way through. Every transition writes a history row naming who made it and when.