EspoCRM Documentation

repository·master·Indexed 40 days ago

https://github.com/espocrm/documentation

Official documentation for EspoCRM, covering system administration, Apache server configuration, 2-Factor Authentication (TOTP, Email, SMS), and developer guides for API Before-Save Scripts and App Secrets management.

Tokens
279.3K
Snippets
718
Records
1.4K
Agent score
92%

What's inside EspoCRM

  1. Overview of Printing to PDF

    master

    EspoCRM allows generating PDF documents using record data defined by a Template.

    Printing Methods

    • Single Record: Available in the detail view via the dropdown menu next to the Edit button.
    • Multiple Records: Available in the list view as a mass action. Selecting records and choosing Print to PDF from the Actions menu generates either a single merged PDF or a zipped collection of PDFs, depending on the engine used.

    Configuration and Limits

    • Mass Print Limit: By default, you can print a maximum of 50 records at once. This is controlled by the massPrintPdfMaxCount configuration parameter.
    • Access Control: PDF printing access is managed via Roles. Administrators must grant read access to the Template entity type.
    • Engine Selection: Engines can be switched at Administration > Settings > PDF Engine.
      • Dompdf: Included by default; offers better CSS support.
      • Tcpdf: Available as an extension; supports more languages than Dompdf.
  2. Overview of the Export Import extension

    master

    The Export Import extension is a tool designed for transferring data between EspoCRM instances via CLI commands. It is suitable for continuous delivery pipelines (e.g., moving roles, workflows, or BPM flowcharts from development to production), setting up demo data, migrating instances, tracking changes, or restoring deleted/updated records.

    Supported data types for transfer include:

    • records
    • settings
    • customizations
    • files
  3. Overview of the Advanced Pack extension

    master

    The Advanced Pack is an extension for EspoCRM that adds advanced automation and analytics capabilities. It includes three primary feature sets:

    • Reports: Provides analytics, report panels, and custom list view filters.
    • Workflows: Enables the creation of automation rules.
    • BPM (Business Process Management): Allows for complex automation using flowcharts.
  4. Overview of Formula Script

    master

    Formula Script is a lightweight scripting language used within EspoCRM to manipulate data and automate operations. It is designed to be written directly in the Espo application UI without requiring environment configuration or build steps.

    Common use cases:

    • Before-save scripts: Execute logic before an entity is saved to the database.
    • API before-save scripts: Logic triggered via API calls.
    • Workflows: Used within conditions and actions in the Workflow tool.
    • BPM: Used within Business Process Management flows.
    • Formula Sandbox: For testing, debugging, and running one-time data modification scripts.
  5. Overview of Case Management in EspoCRM

    master

    Cases (also referred to as 'tickets') provide issue-tracking capabilities for customer service or other tracking purposes.

    Case Creation Scenarios

    • Manually: By CRM users or Customer Portal users.
    • API: Via external integrations (e.g., web forms).
    • Automatically: When a new email arrives at a specific mailbox or via a Workflow rule.

    Key Configuration & Automation

    • Assignment: Cases created by Portal Users are unassigned by default. Use Workflows to apply Round-Robin or Least-Busy assignment rules, or the BPM tool for complex flows.
    • Visibility: To ensure users don't miss new cases, add the Case entity type to the Global Auto-follow list in user Preferences.
    • Layouts: By default, the Lead field is not in the Detail layout. To enable it, navigate to Administration > Entity Manager > Case > Layouts > Detail.
    • Relationships: A Case can be associated with one Account, multiple Contacts, and/or one Lead.
  6. EspoCRM Developer Documentation Overview

    master

    The EspoCRM developer documentation provides comprehensive guides for building extensions, modules, and custom features. The documentation is organized into four primary domains:

    General

    Covers getting started, creating extension packages, module development, testing, translation, and coding rules.

    Backend

    Focuses on server-side development including Dependency Injection, Metadata, ORM, Select Builder, API actions, Services, Hooks, ACL, and Entry points. It also covers specialized topics like Scheduled Jobs, Formula functions, and Database indexes.

    Frontend

    Covers client-side development including Views, Models, Collections, Templates, HTML/CSS, Ajax requests, Controller & routing, and Dependency Injection. It provides specific guides for customizing fields, creating custom views, modal/confirmation dialogs, and building custom dashlets.

    API

    Provides an overview and technical details for interacting with the EspoCRM API.

  7. EspoCRM API Overview

    master

    EspoCRM uses a REST API for all backend operations. The frontend SPA communicates with the backend via this API, meaning any action performed in the UI can be replicated via API calls.

    Key technical details:

    • Root Path: api/v1/
    • Format: Most functions return JSON.
    • Payloads: For POST and PUT requests, include the header Content-Type: application/json when sending JSON data.
    • Base URL: All examples in the documentation omit the site URL and the api/v1/ prefix, though client implementations handle this automatically.
    GET https://address_of_your_crm/api/v1/Contact/55643ca033f7ab4c5
  8. Sales Pack features: Sales and Purchasing

    master

    The Sales Pack includes the following functional modules:

    Sales Management

    • Products: Catalog management.
    • Prices: Pricing rules and management.
    • Quotes: Generating sales quotations.
    • Sales Orders: Managing customer orders.
    • Invoices: Creating and tracking customer invoices.
    • Credit Notes: Issuing credits to customers.
    • Delivery Orders: Managing product shipments.
    • Return Orders: Handling customer returns.
    • Write-offs: Managing inventory or financial write-offs.
    • Subscriptions: Managing recurring revenue and subscription models.

    Purchase Management

    • Purchase Orders: Managing orders sent to suppliers.
    • Receipt Orders: Tracking received goods from suppliers.
    • Suppliers: Managing vendor/supplier data.
    • Bills: Managing incoming supplier bills.
    • Bill Credits: Managing credits from suppliers.

    Financial and Inventory Tools

    • Inventory Management: Tracking stock levels and movements.
    • Payments: Processing and tracking payments.
    • Taxes & Tax Codes: Configuring tax rules and codes.
    • Issuance Locking: Controlling the issuance of documents.
    • Multi-currency: Supporting transactions in different currencies.
    • Reports: Generating analytical reports on sales and purchase data.
  9. Use Purchase Orders in Sales Pack

    master

    Purchase Orders allow you to issue orders to suppliers, specifying products, quantities, and agreed prices.

    Key behaviors:

    • Supplier Selection: Selecting a Supplier automatically populates the Purchase Order's address fields and determines the prices applied to products in the order.
    • Receipt Orders: You can create multiple Receipt Orders from a single Purchase Order. If a Receipt Order does not cover all items from the Purchase Order, subsequent Receipt Orders will automatically include the remaining missing items. You may also manually add extra items to a Receipt Order.
    • Access Control: Access to Purchase Orders is managed via Roles.
  10. What is a Collection in EspoCRM

    master
    A Collection is a list of models used to manage sets of data in the client. It provides methods for fetching data from the backend, manipulating the list of models (adding, removing, iterating), and managing pagination via offsets and order parameters. Collections emit events like sync (when data is fetched) and update (when the collection content changes) to allow views to react to data changes.