Dedicated CRM
Not a CRM - fails on status, actual close date, opportunity reporting
Core objects
In full
Opportunity entityDefs carries separate 'account' and 'contact' link fields to Account and Contact entities; Call, Meeting and Task are separate activity entities, all mutually linkable.
Verification: Verified
Pipeline stages
In full
Opportunity 'stage' is an enum field with an ordered options list (Prospecting through Closed Won/Lost) and a probabilityMap; every record carries its stage.
Verification: Verified
Status
Not at all
The Opportunity schema has only 'stage' and 'lastStage' fields; no separate open/closed status attribute exists. Open vs. closed is read from the stage value itself.
Verification: Verified
Resolution
In part
No dedicated won/lost field; won vs. lost is inferred from the 'Closed Won'/'Closed Lost' stage values - the stage-metadata pattern.
Verification: Verified
Value
In full
'amount' is a required currency field on Opportunity, with a derived amountConverted field for reporting.
Verification: Verified
Scope of work
In full
Quote entity type relates to Opportunity and carries an itemized list: 'A Quote has a list of items. Each item can represent a certain product or a service.' Ships in Sales Pack, a vendor module (still native per ruling).
Source: https://docs.espocrm.com/user-guide/quotes/
Verification: Verified
Expected close date
In full
'closeDate' is a required native date field on Opportunity, used while the opportunity is open (e.g., grouped by month in forecast reports).
Verification: Verified
Actual close date
Not at all
The schema enumeration shows only one date field, 'closeDate', with no second field for actual close date and no vendor documentation that it doubles as the actual date once closed.
Verification: Verified
Opportunity owner
In full
'assignedUser' is a link field to User on Opportunity, distinct from 'createdBy' and 'modifiedBy'.
Verification: Verified
Linked buyer
In full
Opportunity has a 'contact' single-link field to Contact, separate from the 'account' link to the organization.
Verification: Verified
Record preservation
In full
Deletion is soft (a 'deleted' flag) and only occurs via an explicit call, not on closing; closed-won opportunities are documented as counted in default sales dashlets.
Source: https://docs.espocrm.com/development/orm/, https://docs.espocrm.com/user-guide/sales-management/
Verification: Verified
Structured lost reasons
In part
No shipped lost-reason field exists on Opportunity. The Report module lets users group and COUNT records by any field, including buyer-built custom enum fields, so a custom reason field is countable.
Source: https://github.com/espocrm/espocrm/blob/master/application/Espo/Modules/Crm/Resources/metadata/entityDefs/Opportunity.json, https://docs.espocrm.com/user-guide/reports/
Verification: Verified
Email sync
In full
Native IMAP fetches incoming mail and native SMTP sends outgoing mail from within EspoCRM, configurable per user; both directions ship in core.
Source: https://docs.espocrm.com/user-guide/imap-smtp-configuration/
Verification: Verified
Calendar sync
In full
Google Integration extension supports a 'Two-way' sync direction option between EspoCRM and Google Calendar (separately licensed module, still native per ruling).
Source: https://docs.espocrm.com/extensions/google-integration/calendar/
Verification: Verified
Schedulable activity types
In full
Default schedulable types are Call, Meeting and Task, but documentation states 'An administrator can create a custom entity type of an Event type' and configure it as an activity available on the Calendar.
Source: https://docs.espocrm.com/user-guide/activities-and-calendar/
Verification: Verified
Opportunity reporting
Not at all
Built-in sales dashlets (Sales Pipeline, Sales by Month, Opportunities by Stage) are distributions/charts, not rates. Revenue forecasting requires manually building a Report from scratch; no built-in stage-conversion-rate or win-rate report exists.
Source: https://docs.espocrm.com/administration/dashboards/, https://www.espocrm.com/tips/forecast-revenue/
Verification: Verified