Skip to content
EP365 CRM
CRM for Microsoft 365 · v 1.7

All your sales. In one place. Inside your M365.

Companies, contacts, deals and pipeline, recurring revenue and a cash-flow forecast — unified into a single app that lives right inside your tenant's SharePoint. No external CRM cloud, no data migration out. Everything in your M365 tenant, no external backend.

Your whole sales in one place
Companies, contacts, deals, pipeline and recurring revenue — unified in a single app.
A real revenue forecast
Contracts, subscriptions and a weighted pipeline add up into one forecast, months ahead.
Inside your M365
Sales data stays inside your tenant's SharePoint. No external backend.
Book a demo Request pricing 24 lists · 2 roles · per tenant
CRM · PIPELINE
Expected revenue this month · CZK 486,000
Contacts · line → stage → status
JN
Jana Nováková
Acquisition · SQO
PD
Petr Dvořák
Care · active customer
LM
Lucie Marešová
Webinar · MQL
MK
Martin Kolář
Diagnostics · HQL
certain vs. bet · YoY → FORECAST
24 lists
all data in your SharePoint lists
2 roles
Admin · User (+ guest read-only)
100 %
data inside your M365 tenant
0 backends
no Azure Functions, no external database
What companies wrestle with · 3 / 3

Three things every sales team knows.

01 · SCATTERED

Sales in spreadsheets and heads

Contacts in one spreadsheet, deals in another, contracts in email. When a rep leaves, the overview leaves with them — nobody knows who's a hot lead or what's about to close.

02 · NO FORECAST

You don't know what's coming in

Nobody sums up recurring contracts, subscriptions and probability-weighted deals. The forecast is a gut feel and cash flow is planned blind.

03 · FOREIGN CLOUD

Client data in a foreign CRM

A classic CRM uploads company contacts and sales data to a third-party cloud — and GDPR and management ask why. Migration out and back is a pain.

Who it's for / not for

For companies that want their sales under control.

Who it's for

  • You want companies, contacts, deals and recurring revenue in one place instead of scattered spreadsheets.
  • You need a real revenue forecast — a mix of contracts, subscriptions and a probability-weighted pipeline.
  • You work in Microsoft 365 and want to keep sales data inside your own tenant, not a foreign CRM cloud.
  • You want lead and account scoring (interest × risk) so you spend time where it pays off.
  • You'll appreciate auto-filling a company from ARES by its ID and syncing tasks into the Outlook calendar.

Who we're NOT for

  • You're looking for an enterprise CRM with advanced marketing automation, lead routing and sales-engagement tools (Salesforce, HubSpot Enterprise, Dynamics 365).
  • You need server-side automation — scheduled sequences, drips, webhooks and real-time email-open tracking. EP365 CRM runs client-side; email logging is manual.
  • You want an integrated invoicing / accounting core with issuing and matching invoices. EP365 CRM models revenue and forecast, not invoicing.
  • You don't have SharePoint Online. EP365 CRM runs as an SPFx web part inside Microsoft 365 only.
Key features · 8 / 8

Eight things that make you finally see your sales.

01

Companies and contacts in one place

A central register of companies and people — table and tiles, category chips, full-text search, sortable columns and bulk-editing one field across selected records. Detail in a side blade with KPIs (contacts / deals / MRR), notes, tags and custom fields. Duplicate guard by company ID.

Table + tilesBulk editDuplicate ID guard
02

Sales lines + sales matrix

On a contact you pick a Sales line (which path we take) and a State (what's happening now) — an editable sales matrix then derives the funnel Stage (Contact → Reached → MQL → HQL → SQL → SQO → deal) and the Customer status. Status and lines bubble up from contacts into the company, and time-in-stage is tracked.

Line × State → StageCustomer statusTime in stage
03

Deals and pipeline

Three modes: Kanban (by stage or close month), List and Forecast. Deal detail with line items from the catalog (quantity, price, discount, VAT), payment milestones, activities and attachments. A purchase price for reselling licences — only the margin flows into the forecast.

Kanban · List · ForecastLine items from catalogPayment milestones
04

Expected revenue (forecast)

A forward monthly outlook combining recurring revenue (contracts, subscriptions) and a probability-weighted pipeline. This year / Next year toggle, certain vs. bet, cash within 30/60/90 days, year-over-year (YoY) comparison, a monthly chart with a target line and a company × month heatmap.

This / Next yearCertain vs. betCash 30/60/90
05

Interest × risk scoring

Lead and account scoring on two independent axes — NOT a single number. Interest for both contact and company, risk for the company (payment reliability, VAT-payer trustworthiness). A fixed catalog of factors, time decay and configurable bands. A badge (flame / shield) in lists and in the detail with a per-factor breakdown.

Two axes, not one numberFactor catalog + decayFlame / shield badge
06

Contracts, subscriptions and MRR

Flat-rate service contracts (monthly retainer or hourly, renewals with a heads-up) and recurring product subscriptions. Both feed the company MRR and the revenue forecast. MRR recalculates automatically from active contracts and subscriptions after every change.

Service contractsProduct subscriptionsAutomatic MRR
07

Change history / audit

Field-level audit of key fields (sales line, state, stage, customer status) on contacts and companies — who, when, from what to what. History right in the record detail and in a separate admin overview filtered by entity. Plus an automatic activity log of record creation and edits.

Who · when · from → toHistory in the detailAdmin overview
08

ARES auto-fill + Outlook / Graph

In company editing, a “Load from ARES” button fills in the name, address and VAT ID by company ID from the public registry — client-side, no backend. Tasks sync as all-day events into the user's Outlook calendar; emails and post-event follow-ups go through Microsoft Graph.

ARES by company IDSync to OutlookEmail via Graph
In practice · 4 real scenarios

What people do with it day to day.

SALES REP

Pipeline and follow-ups, no switching

THE USER SAYS
“In the morning I open the Today panel — I see overdue follow-ups, hot deals and today's tasks. I move a deal one stage forward on the Kanban and create a task with a due date that lands straight in my Outlook.”
  • Kanban by stage or close month + quick task completion in the row
  • The Today panel merges tasks, hot deals and neglected follow-ups
  • Sync a task's due date into the Outlook calendar with a single tick
ACCOUNT MANAGER

Companies, MRR and account risk

THE USER SAYS
“I open a company and see its contacts, contracts and MRR, a live interest score and risk. The badge tells me who carries revenue and who's a risky payer — and I plan care accordingly.”
  • Company detail with KPIs (contacts / deals / MRR) and Contracts / Deals tabs
  • Interest and risk scores with a per-factor breakdown (payment terms, VAT)
  • Customer status and sales lines bubbled up from contacts
FINANCE

Cash-flow outlook within 30/60/90 days

THE USER SAYS
“I need to know what actually comes in next month and this year. The Expected revenue module sums recurring contracts, subscriptions and weighted deals — and splits it into certain vs. bet.”
  • Cash within 30/60/90 days and a monthly chart with a target line
  • Certain (recurring + won) vs. bet (remaining weighted pipeline)
  • This year / Next year toggle, year-over-year (YoY) comparison
MARKETING

Events, webinars and follow-up

THE USER SAYS
“I set up an event series and a webinar, track attendance and show-up rate. To those who showed up I send a follow-up email with merged variables — and new leads land straight in the CRM.”
  • Event-series hierarchy → event → attendance (Registered → Attended → No-show)
  • Webinars with show-up rate % and CSV export of attendees
  • Follow-up emails via Graph with variable substitution
How it's built

Four layers. All inside your M365.

No additional system. Sales data, configuration and calculations stay inside your SharePoint and Microsoft Graph. From our side, only a licence-check runs.

01
INTERFACE
One web part, blade panels and ⌘K
An SPFx web part with a light app shell. Records open in side blade panels (detail + editing); linked records layer as a blade over a blade. Deep links to every view and record, plus a command palette (⌘K / Ctrl+K) with full-text search.
02
DATA – SP LISTS
Everything in your SharePoint lists
All data lives in 24 SharePoint lists (EP365* prefix) inside your M365 tenant — companies, contacts, deals, contracts, subscriptions, activities, code lists, the sales matrix and the audit. Auto-provisioning creates them all on first load.
03
MICROSOFT GRAPH
Email and Outlook calendar
Emails and follow-ups via /me/sendMail (the sender is always the signed-in user), syncing task due dates to /me/events. All best-effort from the browser — a Graph error never blocks saving a record (email offers a “mailto” fallback). Plus client-side company auto-fill from ARES.
04
LICENCE
The only contact with our server
Used solely to verify your licence is active (tenant ID + expiry). No content or sales data ever flow through here.
How we compare

Where EP365 CRM has the clearer advantage.

Feature
EP365 CRM
Excel / spreadsheets
Cloud CRM
Custom SP build
Runs inside your M365 tenant
no
~partial
No external backend
no
~partial
Data never leaves the tenant
no
Pipeline + forecast + scoring
no
~partial
Per-tenant pricing (not per user)
no
~partial
Deployment in hours, not weeks
~partial
~partial
no
A real cash-flow forecast
no
~partial
ARES auto-fill + Outlook sync
no
~partial
no
Data and security

Arguments your IT and management will appreciate.

Sales data inside your tenant, no Power Automate, no external backend. The only external dependency is the licence check. Auto-provisioning with no manual PowerShell.

Data inside your tenant

Company contacts, sales data and revenue stay in the customer's SharePoint, under their Entra ID identity and permissions. No export to a third-party cloud.

No Power Automate

Emails and calendar events go straight from the browser via Graph. No scheduled flows, no runbooks, no PA licences.

A single external dependency

The licence check (tenant ID + expiry) — no customer data is transmitted. The “Version & info” section lets you re-verify.

XSS guards over content

Inputs from lists (URL fields, tags, notes) pass through XSS guards; SP URL fields are read and written via helpers (object ↔ string).

ARES without a backend

Filling a company by ID runs client-side straight against the public ARES REST API — no backend proxy, and the registry receives no data of yours.

Auto-provisioning

One .sppkg into the App Catalog. SharePoint lists and groups create themselves on first load, idempotently. No manual PowerShell.

No customer data ever leaves the customer's M365 tenant. The app has no backend of its own for business logic — companies, contacts, deals, calculations and configuration run in SharePoint, Graph and Entra inside the tenant.
Pricing

Monthly licence by company size + customer-side implementation.

The monthly subscription scales with the size of your organisation — the total number of users in your Microsoft 365 environment. The full scope of the app within each tier.

Licence

How we price the licence

1
Up to 25 users
4,000 CZK / month
2
26 – 70 users
6,000 CZK / month
3
71 – 150 users
8,000 CZK / month
4
More than 150 users
Contact us
Extended support

Support price

2,200 CZK / hour

Consulting, environment tweaks or end-user support.

How we count support

Support is billed in 15-minute increments. The customer is informed of the expected scope of work in advance.

Deployment

Customer-side implementation

8,800–17,600 CZK one-time

Installation, list provisioning, a 2-hour workshop for sales, theme setup to your brand, configuration of code lists, the sales matrix and scoring, optionally importing your existing companies and contacts.

Not included

Full UI localisation into languages beyond Czech and English, customisation beyond themes, historical-data migration, and server-side automation.

Prices exclude VAT
Case study

What it looks like in real operations.

MSP · 60 employees

"Sales from spreadsheets into one CRM — inside the own tenant."

COMPANY
MSP · 60 employees
REPS
5 in one pipeline
MANAGED BY
sales + owner
ROLL-OUT
in half a day, no DevOps
Starting point
Sales in three spreadsheets and in the reps' heads. Deals scattered across email, nobody summing up recurring contracts. The owner had no real revenue forecast, and account overview vanished whenever a rep left.
After roll-out
Companies, contacts, deals and subscriptions in one CRM inside the own tenant. A Kanban pipeline, a calendar-year forecast, scoring of risky payers. ARES filled in companies by ID, tasks land in Outlook.
Defining moment
For the first time the owner saw on one screen how much actually comes in next month — from recurring contracts and the weighted pipeline — split into certain vs. bet.
"For the first time we have the whole of sales on one screen — and we know what actually comes in next month. And the data never left our tenant."
– owner, MSP 60 staff
FAQ

What sales, finance and IT ask.

Where is our sales data stored?
Exclusively in your Microsoft 365 tenant's SharePoint, in EP365CRM* lists. The app has no database or backend of its own — no data leaves your tenant. The only external communication is the licence check (tenant ID + expiry) and filling a company from the public ARES registry, which receives no data of yours.
Do we need Power Automate or Azure?
No. Emails and calendar events go straight from the browser via Microsoft Graph, and calculations (MRR, scoring, forecast) run client-side. No scheduled flows, no Azure Functions, no PA licences.
How does the sales line and state → stage and customer status work?
On a contact you pick a Sales line (which path we take with the client — e.g. Acquisition, Webinar, Diagnostics, Care) and a State (what's happening now). An editable sales matrix then derives the funnel Stage (Contact → Reached → MQL → HQL → SQL → SQO → deal) and the Customer status (non-customer / customer / active customer). Status and lines then bubble up from contacts into the company (the company takes the highest status of its contacts), time-in-stage is tracked, and all these changes are audited. You edit the matrix and code lists in Settings — no code involved.
How fast can we deploy it?
Typically within a few hours. You upload the .sppkg into the App Catalog, approve the Graph permissions, add the web part to a site — and the first load creates all SharePoint lists, code lists and groups by itself. No manual PowerShell.
Does the app track email opens and clicks?
Not automatically. Email logging is manual (default state “Sent”) — EP365 CRM has no server-side open or click tracking. Template stats come from what you record.
Does it work on mobile?
The app is primarily optimised for desktop and tablet (sales work with tables, the Kanban and details). On a phone it's usable for reading, but full management is done on a larger screen.
Can we customise stages, code lists and colours?
Yes. 18 code lists are fully configurable (labels, colours, order), and for deal stages you also set a probability for the weighted forecast. You can also add custom fields to a contact, company and deal — without touching the SharePoint schema.