Module

Revenue

The people you are selling to, the money you are trying to win, and the timeline of everything that has passed between you. Find it in the sidebar under Revenue. It sits between Paid Marketing (what you spend on attention) and Finance (what you collect once somebody signs), so ad click → contact → deal → invoice → cash is one chain in one database.

What ships

  • Revenue operations — one follow-up queue, prospect-through-customer accounts, typed custom fields, partnerships, formal documents, and reversible Base or CSV/JSON/NDJSON migrations.
  • Revenue data quality — audited merges, bulk cleanup, historical Deal truth, enrichment review, document capture, and exports.
  • Contacts — the humans, whether or not you bill them yet.
  • Deals — one revenue opportunity each, owned by a Member or by an AI employee.
  • Deal stages and the board — your sales process as an ordered list of columns, seeded with a sensible ladder on first visit.
  • The activity timeline — every email, stage change, signal and note against a contact, deal, or account. Mostly written for you.
  • Sequences — multi-step outbound where each touch is drafted individually by an AI employee.
  • Signals — product-usage triggers over your own database.
  • Insights — MRR movement, retention, CAC, pipeline coverage, win rate and stage conversion.

Contacts vs. Customers

These are two different objects and the difference is the whole reason this section exists.

Contact
A person. Name, email, phone, job title, LinkedIn. Lives here, under Revenue → Contacts. A contact does not need an account attached — but it can link to a prospect account before any invoice exists.
Customer
An account — prospect, customer, or former customer. It appears under Revenue → Accounts for relationship work and Customers for billing details, contracts, and statements.

A contact is linked to a customer when — and only when — an account actually exists for them. Until then the employer is just a free-text Company field on the contact, which is kept even after you link the account, because the parent company and the billing entity disagree often enough that overwriting one loses information. There is no separate pre-revenue "account" object to keep in step: a Customer is simply not billable until it has an invoice, so contracts, ACV and statements work for a prospect for free.

Each contact carries a lifecycle stage — subscriber, lead, qualified, opportunity, customer, churned, or unqualified — and an owner who is either a Member or an AI employee, never both. Source records where they came from. Deal sources and buying-committee roles use the controlled lists in Revenue → Setup; contact source is filled in automatically for contacts a signal created (signal:trial-expiring) so attribution survives.

Do not contact is a hard opt-out on the person: it blocks every address you hold for them, on every send path. It is separate from — and checked alongside — the address-level suppression list described in Deliverability. Archiving a contact hides them from the list without removing them from historical activities and deals.

Archive or merge a core record

Open Revenue → Data quality to merge duplicate Accounts, Contacts, Deals, or Partnerships. Archiving only removes a record from default lists; historical links remain, and restore or guarded undo can bring it back.

Choose the surviving record, then resolve every conflicting field explicitly: keep the survivor's value or take the source duplicate's value. Review the relationship counts and coupled ownership or Deal-status choices before typing the duplicate label. Genosyn then moves every applicable Revenue and Finance reference in one transaction, preserves aliases and source IDs, and archives the duplicate as a redirecting tombstone. Missing custom values are copied; conflicting custom values stay visible until you choose their source or survivor value.

Deals

A Deal is one opportunity: a title, an amount, a currency, an expected close date, and the stage it sits in. Both the customer and the primary contact are optional, because a deal routinely starts as a company name and a number before either exists. Other stakeholders — the buying committee — are added on the deal itself as additional contacts.

Three fields do more work than they look. Next step says what must happen;Next follow-up puts it in the shared queue, with an optional reminder; and Probability is inherited from the stage unless you override it. See Follow-ups.

Deal stages

Your sales process is a flat, ordered list of deal stages, managed from Revenue → Setup → Deal Stages. Each stage has a name, a colour, a default probability, and a kind that decides what reaching it means:

  • Open — still in play.
  • Won — terminal, counts as revenue.
  • Lost — terminal, does not.

The kind is the single source of truth for a deal's status: moving a deal into a stage rewrites the status to match and stamps the close date, and moving it back out reopens it. You never set status by hand.

The first time anybody opens the board, Genosyn seeds a conventional B2B ladder — New (10%), Qualified (25%), Demo (40%), Proposal (60%), Negotiation (80%), Closed Won, and Closed Lost. Rename, recolour, reorder and reweight them freely; those probabilities are defaults, not claims about your business. Archiving a stage removes it from the board and the move-to picker while keeping it resolvable for deals that closed in it, so a historical win never loses its stage name.

The board

Revenue → Board is one column per open stage, one card per deal, sorted so the deals nearest a decision are where your eye lands. Drag a card between columns to move it — that is the same operation as changing the stage on the detail page, so it writes a stage_change activity, updates the status, and feeds the funnel report. Dropping a card into a won or lost column closes the deal; lost asks for a reason, and the reason is worth typing because it is the only field that later explains a conversion cliff.

Each column header carries its count and its total value, and the board totals both the raw and the probability-weighted pipeline. Filter by owner to see one person's — or one AI employee's — book.

The activity timeline

Every contact, deal, and customer has a timeline, and it is the most valuable thing in this section precisely because almost nobody types into it. An Activity is one event: what happened, when it happened, and who did it.

Revenue → Activities provides the company-wide audit view: search across subjects and bodies, filter by kind or date, inspect a row by ID, and export the filtered result. Manually logged notes, calls, meetings, and tasks can be corrected or removed; machine-recorded mail, Deal, Sequence, and Signal evidence cannot.

From mail
email_in / email_out, written by mail sync. The bulk of the timeline.
From deals
deal_created, stage_change, deal_won, deal_lost. Stage changes are what the funnel report reads.
From outbound
enrollment, sequence_step, unsubscribe, bounce.
From signals
signal, when a product-usage trigger fires on a contact.
From humans
note, call, meeting, task — logged by hand from the Log activity button.

How it fills itself from mail

Once a mailbox is connected under Email, every sync compares the participants on each new thread against the email addresses on your contacts. A match writes an activity onto that contact's timeline — inbound or outbound, with the subject, a snippet, and a link straight into the thread. Open a contact you have been emailing for two years and the whole correspondence is there, with nobody having done any data entry. That property is what makes the section load-bearing instead of abandoned.

Three behaviours are worth knowing, because each one is deliberate:

  1. It links to contacts that already exist; it never creates one. A real inbox is mostly newsletters, receipts, vendors and strangers. Auto-creating a contact per address would bury the list within a week and make every number downstream — counts, targeting, reports — noise. Creating a contact stays an explicit act: you add one, you import, or a Signal fires.
  2. It is idempotent per message. Re-syncing does not double a conversation. The consequence, accepted on purpose: a contact created after a message was already synced does not retroactively inherit that message, because the message is no longer new.
  3. It never breaks the mailbox. The linking is best-effort enrichment hanging off sync. If it fails, mail still arrives.

The same pass does two more jobs: an inbound reply on a thread a Sequence started stops that enrolment, and a delivery-failure report from a mail daemon suppresses the dead address — see Deliverability.

Insights

Revenue → Insights reports over a period you choose, defaulting to the trailing twelve months. Recurring revenue: MRR movement split into new, expansion, contraction, churn and reactivation (the waterfall is guaranteed to add up), ARR, and NRR / GRR retention. Pipeline: coverage against a target you enter, win rate, median sales-cycle length, original-cohort stage conversion, and entered/progressed counts with median time in each stage. These use timestamped Deal history, never adjacent current-stage counts. Imported and history-free Deals are labelled explicitly. Acquisition: CAC by channel, LTV:CAC, and payback months. A brand-new company sees zeros, never errors.

Giving AI employees revenue access

By default an AI employee cannot see the revenue section at all — no grant means no revenue tool. Owners and admins grant access from Revenue → AI access at one of three escalating levels:

  • Read — see follow-ups, accounts, contacts, deals, partnerships, typed fields, documents, activities, signals and reports. Changes nothing.
  • Write — also assign and complete follow-ups, create or update accounts, contacts, deals and partnerships, administer definitions and Deal Stages, manage documents, Sequences and Signals, correct manual activity, and run linked, guarded Base migrations. Drafts still wait for a human.
  • Send — also let a sequence this employee drafts go out without anybody pressing Send. This is the only level that spends your sending reputation unattended, and it is gated a second time by the mailbox grant. See autoSend.

Members reach Revenue through the app as usual; these levels govern the AI surface only. Every write an employee makes lands in the audit log marked as an AI actor and on the employee's journal. See AI-native Revenue operations for the full operating model.