We've focused on the plant purchase flow as you asked (rentals and monthly billing will come next). Here's what I set up:
Five entity types — Customer (the buyers), Plant Product (your catalogue of plants), Grow Batch (tracks individual batches your growers plant — since you only grow what's ordered, each batch links back to an order and moves through planned → planted → growing → ready → in inventory), Order (the sale/order itself), and Installation Record (your field agents' delivery and installation log for each order).
The workflow runs when a new order is created by your sales team. It has two human approval gates, one per stage as you described: first the Sales Manager approves the sale (turning it into an open order), then the Ops Manager approves the order to close it. Each rejection path is handled explicitly so nothing gets stuck. After the order is closed and installed, payment is captured — reflecting your rule that clients only pay once the full installation is complete.
A few notes for your developer: the grow-batch lifecycle and installation records are tracked as their own entities but are updated manually by your growers and field agents rather than driven by this order workflow — that keeps the workflow readable and matches how those teams actually work. The payment step is a recorded fact for now (no payment gateway yet — that's on the roadmap). The 'maintenance' tracking and monthly rental billing you mentioned belong to the rental flow, which we deliberately left out of this draft so we can build it cleanly as a separate workflow next.
Created 23 Jun 2026, 10:33 pm
Approve purchase orders: auto-approve if under $10k, otherwise require manager approval.
Created 26 May 2026, 9:17 am