Connect by JBRH Open Connect

Sales in Connect

Connect keeps a pipeline of opportunities against real people and companies, moves them under stage rules, schedules the follow-ups a deal needs and records what closed and why. What it does not do is invent commercial terms: a price, an SLA or a warranty that Knowledge does not support is refused and put in front of a person.

Status
Available What this means
Audience
both
In the app
#/pipeline, #/relationships, #/needs-you
Last verified
Product version
6.3.2

What the section covers#

Everything here runs on sales.py and its API, with safe_sales.py holding the boundary. The pipeline screen is #/pipeline; the same records appear on the deals sheet in #/data and against each person in their relationship view.

PageWhat it answers
OpportunitiesThe record itself, every field, and what each is used for
The pipelineThe stages, the board, and what moving a card actually does
Stage rulesWhat restricts a move and what a refusal looks like
Next best actionHow one is chosen and what evidence sits behind it
Price and termsWhat Connect may say commercially, and what it refuses
Commercial escalationWhat lands in Needs You and what happens after a person decides
Quotes and documentsWhat can be produced, from what, and where versions live
Deal relationshipsHow a deal links to people and companies, and what a merge does
Follow-ups on a dealTriggers, channel choice and the duplicate rule
Closing a dealWhat each outcome records and changes downstream
Owner and customerThe identical pipeline, and the two operator-only screens

Three things to know before reading further#

Money is stored in minor units
money(value_minor, currency) is the shape of every value. A deal worth twelve and a half thousand is stored as 1250000 with its currency, so nothing depends on a decimal point surviving a round trip.
A refused move is a normal outcome
move checks stage rules and can decline. A decline is information about the deal — something the next stage needs is absent — not an error to be worked around.
Commercial invention is refused, not improvised
This is the rule safe_sales.py exists to hold, and it is the one behaviour in this section that people most often mistake for a limitation.

Where an opportunity comes from#

Opportunities are not a separate world from the conversations that produced them. An opportunity is usually opened from an exchange that already exists — a call where somebody asked what something costs, an enquiry that named a quantity, a prospect who replied. The end-to-end path is written up in creating an opportunity.

  • From a conversation, by a person or by the Assistant's create_opportunity.
  • From a call, where the outcome recorded a commercial intent.
  • From prospecting, when a researched organisation replies and is taken on.
  • By hand on #/pipeline, which is the right route when the signal arrived somewhere Connect cannot see.

Demos have their own small vocabulary alongside the opportunity — requesting, scheduling, completing and cancelling one — because a demo is a commitment with a time attached, and an intention with no date is not.

What sits next to sales#

Three neighbouring sections carry most of the questions that start here. Follow-ups owns the dated commitments a deal creates. What Connect may do owns whether a reply on a reply on one goes out by itself. Relationships owns the person and company an opportunity is attached to, and a merge over there changes what it points at over here.

Everything in this section#

11 pages, each with its own status and the date it was last checked against the running system.

PageWhat it covers
Closing a deal: won and lostWhat each closing outcome records, what it starts or stops downstream, and what to do with the commitments the deal made before it closed.
Escalating a commercial decisionWhat a refused commercial question looks like in Needs You, what the person deciding actually sees, and what happens to the customer afterwards.
Follow-ups on a dealWhat raises a chase on an opportunity, how the channel is chosen, and the duplicate rule that stops one customer being pursued twice for the same thing.
How a deal connects to people and companiesThe links between an opportunity, its person and its organisation — what each one is for, and exactly what a merge does to them.
Opportunities: the deal recordWhat an opportunity holds — value in minor units, stage, the people it belongs to, the review flag — and what each field is actually used for.
Price, SLA and warranty: what Connect may sayConnect does not invent commercial terms. What counts as grounded, what is refused and escalated instead, and how a breach is caught on a live call.
Quotes and sales documentsA quote in Connect is a file, not a special object: what can be assembled, which terms it may contain, and where its versions and provenance live.
Sales for the Owner and for a customerThe pipeline is one implementation serving both audiences. What a plan bounds, and why two commercial screens are correctly operator-only.
Stage rules and refusalsWhy a deal will not move: the four shapes a stage restriction takes, what a refusal tells you, and why declining is a correct answer.
The next best action on a dealHow Connect picks the next thing to do on a deal, the records that evidence it, and what to change when the suggestion is wrong.
The pipeline boardWhat the board shows, what dragging a card actually calls, and why a total on a board must be counted in the database rather than in the page.

Questions#

Can Connect close a deal on its own?

It can move one where the stage rules allow it and record an outcome a person confirms. What it cannot do is agree the terms that make it closeable — that decision reaches a person by design.

Is the pipeline different for a customer workspace?

No. The same implementation serves both audiences; a customer's plan bounds volume rather than capability. Two commercial screens are operator-only because they are about running the platform, not selling with it.

Where do I see every opportunity at once?

#/pipeline for the board, and the deals sheet in #/data for a grid you can sort, filter, group and export. Both read the same records through the service that owns them.