Skip to content
FlowOS Guide
Esc
navigateopen⌘Jpreview
On this page

Business rules

The numbered rules the product enforces. Cite them from workflows and features.

The rules the product enforces. Numbered so they can be cited. These are Flowtech’s rules as FlowOS applies them — not a dump of tables.

Conversations and mail

R1 — One conversation is one thread. Every reply on an email thread joins the same conversation rather than starting a new one.

R2 — A message is never stored twice. A message already held is skipped on any later sync.

R3 — New mail reopens a closed conversation. Closing means “finished for now”, not “finished forever”.

R4 — A closed conversation is left alone. It is off the open inbox and is not processed until new mail reopens it.

R5 — Every message is typed by its body, not its subject. A thread titled “RE: Enquiry” whose body is a debit note is not an enquiry. The newest message sets the conversation’s type until a person corrects it.

R6 — A person’s correction of the type is never overwritten. Once someone sets the type by hand, later mail does not relabel it. Each message still records what it was judged to be.

R7 — When labelling cannot be reached, the message is treated as an enquiry. An unreachable service must never be the reason an RFQ is hidden.

R8 — Conversations are linked to one job by the customer’s own reference first. Customer’s project reference, then project name, then our quotation number. Several threads can belong to one opportunity.

R8a — The useful address is the recovered origin, not the envelope sender. Resolving the customer from from on a forward creates leads against Flowtech staff.

What gets processed

R9 — A conversation needs work when one of four things is true. Never processed; last run did not finish; mail has arrived that changes something technical; documents remain unread.

R10 — A reply that changes nothing does not trigger re-processing. “Please send the flow curve” leaves it alone. A revised size, pressure, material, quantity or model does trigger it. When the judgement cannot be made, it is processed — missing a real requirement is worse than re-reading.

R11 — No stage ever stops the queue. A failure is recorded against that item; the rest of the batch continues.

R12 — A conversation that still needs work after being attempted is not retried in the same run.

R13 — Reprocessing replaces the answer; it never patches it.

R14 — Among completed readings, the newest wins.

Reading the enquiry

R16 — An assumed value never satisfies a required parameter. A derived or defaulted value is reported as assumed and still counts as missing where the parameter is required.

R17 — Ambient conditions are assumed only when the enquiry states nothing, and never for steam or a stated gas. Atmospheric pressure and 40 °C, marked assumed. Density on steam depends on pressure; an assumed figure is indistinguishable downstream from a measured one.

R18 — A length is never read as a pressure or a temperature. An install height of 5400 mm must not become 5400 bar.

R19 — A size stated in the enquiry that reached no line item is flagged.

R20 — Line items are grouped by specification, not by tag. Several tags sharing one specification become one line, because that is how the quotation is written. Each line is enriched with its own fluid properties.

R21 — A failed reading is distinguished from an enquiry that stated nothing.

R22 — Documents are capped at a total size, and dropped whole. Never cut mid-way — a half-read annexure row reads as a real line item.

Choosing a product

R23 — A product is ruled out only when a stated requirement provably breaches a known rating. Absence is not proof. Verdicts are allowed, ruled out, or unconfirmed. Only “ruled out” hides anything.

R24 — A breach of an assumed value warns; a breach of a stated value excludes.

R25 — The product the customer asked for always stays on the shortlist. Even when rejected. It is what justifies the substitution.

R26 — Any rejection reason on the requested product makes the quotation a deviation.

R27 — A requested flowmeter family narrows the answer; a requested level type does not. Flowmeter families are not substitutes for each other. Level device types are alternatives — otherwise “you asked for reflex, but this fluid is dark” could never be given.

R28 — The top band requires a duty the customer stated. Where any value was assumed, the best rating is “suitable”.

R29 — A wrong bore is a correctable inconsistency; a duty no size reaches rules the family out. Rated limits say whether it survives the process; sizing tables say whether it can read it.

R30 — A severe corrosion band excludes only when the fluid is not mild overall. Water rates carbon steel at the worst letter yet is a mild fluid; carbon steel is Flowtech’s standard build for its most common application.

R31 — A measured corrosion rate may condemn a material the chart cleared, but may not clear one the chart calls severe. A measured rate is blind to pitting and stress cracking.

R32 — A “Custom” option is never ruled out, in any menu. It is what keeps any enquiry quotable when nothing else in a menu survives.

R33 — A menu where every option is ruled out is a line-level problem. “This family is wrong for this duty”, not an empty dropdown.

Quotation and pricing

R34 — What the customer stated outranks our defaults. Order: the person’s override, then a rule, then what the customer stated, then Custom, then the model template, then the family default, then a menu of one.

R35 — A default filled over something the customer asked for is reported as a deviation.

R36 — An option choice made against a line item that has changed is withheld, not applied.

R37 — An unpriced option makes the whole quotation unpriced. Totals must not look computed when a line is still “price TBD”.

R38 — Only fully resolved lines print or send. An unanswered option stays on the person’s screen and is left off the document.

R40 — Every quotation must name the application. An empty value is a visible gap rather than a dropped row.

R41 — Tax is charged on the taxable value, not on the basic value. Gross, less line discounts, less overall discount, gives basic; plus charges gives taxable value; plus GST gives the grand total. GST is 18% — IGST, or CGST and SGST at 9% each.

R42 — A charge switched off means the buyer bears it; a charge at zero means we checked and it is free. They are not the same. A switched-off charge is left off the printed quotation.

R43 — A discount can never become a surcharge.

R44 — Discounts apply in order: per line first, then across the quotation.

R45 — The quotation is recalculated from scratch on every view. Only overrides and header are stored.

Mailboxes, documents, identity

R46 — Only enrolled mailboxes are synced.

R48 — Removing a mailbox does not delete its conversations.

R49 — A document that fails to convert is final until retried by hand.

R50 — Poorly recognised text is kept and flagged, never discarded. The lowest page confidence is recorded — the lowest, not the average.

R53 — A record belongs to one office; a person sees a union of offices. There is no switched “current office”.

R54 — A deny on a person beats every role grant.

R55 — Outbound reply-to is the shared office mailbox. Customers see the engineer; replies come back to a mailbox FlowOS syncs.

R56 — Internet message ids of sent mail are recorded. Otherwise delta sync ingests our own quotation as inbound.

R57 — Uncertainty is routed to a person, never guessed. Unknown sender, untyped document, PO mismatch — review items, not silent merges.

R58 — Postgres is truth; the queue is transport. A handoff, a send, a sync cursor that must survive redelivery is a row.

Cite these from workflows and features.

Was this page helpful?