=== FlyCRM ===
Contributors: wedevs, tareq1988
Tags: crm, contacts, invoices, leads, deals
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The easiest way to manage contacts, companies, leads, deals, quotes, and invoices right from your WordPress dashboard.

== Description ==

**FlyCRM** turns your WordPress site into a powerful CRM. No external tools, no monthly SaaS fees - just a fast, modern CRM built right into your dashboard.

Whether you're a freelancer tracking clients, a small business managing a sales pipeline, or an agency juggling multiple contacts and companies, FlyCRM gives you everything you need without leaving WordPress.

= Why FlyCRM? =

* **Zero learning curve** - If you know WordPress, you already know how to use FlyCRM.
* **Your data, your server** - No third-party SaaS. Your customer data stays on your hosting, under your control.
* **Beautiful modern UI** - Built with React and Tailwind CSS for a snappy, app-like experience.
* **No monthly fees** - One plugin, all the core CRM features, completely free.

= Contacts & Companies =

Manage your contacts and companies with rich profiles, activity timelines, tagging, and custom statuses.

* Full contact profiles - name, email, multiple phone numbers, job title, social links, addresses
* Company profiles - industry, employee count, revenue, website, logo, linked contacts
* Custom statuses with color coding (New, Active, Inactive, Customer, and more)
* Tag contacts and companies for easy filtering and segmentation
* Track activity history - every note, call, email, and meeting in one timeline
* CSV import with field mapping and duplicate detection
* Assign owners to contacts and companies for team accountability
* Soft delete with trash and restore

= Leads & Deals =

Capture leads, nurture them through your pipeline, and convert them into contacts, companies, and deals when they're ready.

* **Lead management** - Capture leads with source tracking, UTM parameters, and referrer URLs
* **Lead scoring** - Prioritize your hottest leads
* **Lead conversion** - Convert a qualified lead into a contact, company, and deal in one click
* **Sales pipelines** - Create multiple pipelines with custom stages (Qualified, Proposal, Negotiation, Won, Lost)
* **Kanban board** - Drag and drop deals between stages
* **Deal tracking** - Track value, expected close date, win probability, and stakeholders
* **Multi-stakeholder deals** - Associate multiple contacts with different roles on each deal

= Quotes & Invoices =

Create professional quotes and invoices, send them as PDFs, and let clients accept or decline - all without leaving WordPress.

* Create quotes and invoices with line items, discounts, and tax
* Auto-generated document numbers with customizable prefixes
* Send documents via email with PDF attachments
* Shareable public links - clients can view without logging in
* Clients can accept, decline, or request changes on quotes directly
* Track when documents are viewed, accepted, or paid
* Invoice payment tracking with partial payment support
* Beautiful PDF generation

= Activities =

Keep a complete record of every interaction with your contacts, companies, leads, and deals.

* **Notes** - Jot down important details after a conversation
* **Tasks** - Create to-dos with due dates and status tracking
* **Emails** - Log email interactions
* **Calls** - Record call details and outcomes
* **Meetings** - Schedule and track meetings
* Activities are linked across entities - one activity can relate to a contact and a deal at the same time

= Dashboard & Reporting =

Get a bird's-eye view of your CRM with a real-time dashboard.

* KPI cards - new contacts, active companies, and activity counts with trend indicators
* Sales pipeline visualization - see deals across stages at a glance
* Recent activity feed - stay on top of what's happening
* Upcoming tasks and meetings - never miss a follow-up
* Team leaderboard - see who's closing the most deals
* Date range filtering with comparison to previous periods

= Team Collaboration =

Built for teams from day one.

* **CRM Manager role** - Full access to all CRM data, settings, imports, and reports
* **CRM Agent role** - Access to own records only, perfect for sales reps
* 60+ granular capabilities for fine-tuned access control
* Owner assignment on every record - know who's responsible
* Last contacted tracking - see when each contact was last engaged and how

= Built for Developers =

FlyCRM is designed to be extended. Build integrations, add custom features, or connect with other plugins using WordPress hooks.

* Full REST API at `/flycrm/v1/` for all entities
* WordPress action and filter hooks throughout (`flycrm_{entity}_{event}`)
* Filterable API queries, settings, menu items, and routes
* Add custom pages, settings tabs, and API endpoints from your own plugin
* WP-CLI commands for automation and management
* Clean, namespaced codebase following WordPress Coding Standards

= What's Included (Free) =

* Unlimited contacts and companies
* Lead management with scoring and conversion
* Sales pipelines with kanban board
* Quotes and invoices with PDF generation
* Activity tracking (notes, tasks, calls, emails, meetings)
* CSV import for contacts and companies
* Email sending with PDF attachments
* Public document pages for client review
* Dashboard with KPIs and reporting
* Team roles and permissions
* Tags and custom statuses
* REST API access
* WP-CLI commands

== Installation ==

= Minimum Requirements =

* WordPress 6.5 or greater
* PHP 7.4 or greater

= Automatic Installation =

1. Go to **Plugins > Add New** in your WordPress admin.
2. Search for **FlyCRM**.
3. Click **Install Now**, then **Activate**.
4. Navigate to **FlyCRM** in the admin sidebar to get started.

= Manual Installation =

1. Download the plugin ZIP file.
2. Go to **Plugins > Add New > Upload Plugin**.
3. Choose the ZIP file and click **Install Now**.
4. Activate the plugin.

= Getting Started =

After activation, FlyCRM creates everything it needs automatically - database tables, default statuses, a sales pipeline, and tags. Just head to the **FlyCRM** menu in your sidebar and start adding contacts.

== Source Code & Build Process ==

The JavaScript and CSS files shipped in the `dist/` directory are compiled and minified production builds generated with webpack. The complete, human-readable source code used to produce them - the full React/TypeScript application, Tailwind CSS, and every build configuration - is publicly available in our GitHub repository:

**https://github.com/weDevsOfficial/flycrm**

There you will find:

* `src/` - the full React/TypeScript application and Tailwind CSS source.
* `webpack.config.js`, `tsconfig.json`, `postcss.config.js`, `components.json` - the build and tooling configuration.
* `package.json` - the dependency manifest and build scripts.

= Build tools =

The frontend is built with [webpack](https://webpack.js.org/) via [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts), using [pnpm](https://pnpm.io/) as the package manager. PHP dependencies are managed with [Composer](https://getcomposer.org/).

= Building the compiled assets from source =

Clone the repository at https://github.com/weDevsOfficial/flycrm and, from the project directory:

1. Install PHP dependencies: `composer install`
2. Install JavaScript dependencies: `pnpm install`
3. Create the production builds in `dist/`: `pnpm build`
4. For development with hot reloading, run: `pnpm start`

Running `pnpm build` reads the source in `src/` and regenerates every minified file in `dist/`.

== Frequently Asked Questions ==

= Do I need any external service or API key? =

No. FlyCRM runs entirely on your WordPress site. There are no external services, no API keys, and no monthly subscriptions required.

= Will FlyCRM slow down my site? =

No. FlyCRM uses its own custom database tables and only loads its assets on CRM admin pages. Your frontend site performance is not affected.

= Can I import my existing contacts? =

Yes. FlyCRM includes a CSV import tool with field mapping. You can import contacts and companies from any spreadsheet or CRM that exports to CSV. Duplicate emails are automatically detected during import.

= Can my clients view quotes and invoices without logging in? =

Yes. Every quote and invoice gets a unique public URL. You can send this link to your clients, and they can view the document, download the PDF, and accept or decline quotes - all without needing a WordPress account.

= How do roles and permissions work? =

FlyCRM comes with two built-in roles: **CRM Manager** (full access) and **CRM Agent** (own records only). Administrators automatically get full CRM access. The permission system includes 60+ granular capabilities, so you can customize access precisely.

= Can I create multiple sales pipelines? =

Yes. You can create as many pipelines as you need, each with its own set of custom stages. Each stage has a win probability percentage, and you can reorder stages by dragging and dropping.

= Does FlyCRM work with WooCommerce? =

FlyCRM can track WooCommerce customer data including total order value, order count, average order value, and last order details on contact profiles.

= Can I send quotes and invoices via email? =

Yes. You can send quotes and invoices directly from FlyCRM. The email includes a PDF attachment and a link to the public document page. Email templates are fully customizable from the settings.

= Is FlyCRM translation-ready? =

Yes. FlyCRM is fully internationalized and ready for translation. You can translate it into any language using standard WordPress translation tools.

= How do I convert a lead into a contact? =

Open the lead and click the convert button. FlyCRM will let you create a new contact, optionally create a company, and optionally create a deal - all in one step. The lead's history and source information are preserved.

= Where is my data stored? =

All data is stored in your WordPress database in dedicated FlyCRM tables. Your data never leaves your server. If you deactivate the plugin, your data remains intact.

= Can I extend FlyCRM with my own code? =

Absolutely. FlyCRM provides extensive hooks and filters, a full REST API, and JavaScript filters for adding pages and settings tabs. Check the developer documentation for details on available extension points.

= What happens if I deactivate the plugin? =

Your data is preserved in the database. Reactivating the plugin will restore everything. The custom CRM roles are removed on deactivation but recreated on reactivation.

== Screenshots ==

1. Dashboard - KPIs, pipeline overview, recent activities, and upcoming tasks
2. Contacts - List view with status filters, search, and bulk actions
3. Contact Detail - Full profile with activity timeline, tags, and company info
4. Companies - Manage companies with linked contacts and activity history
5. Leads - Track and score leads from multiple sources
6. Deals - Kanban board for drag-and-drop pipeline management
7. Quote - Create professional quotes with line items, discounts, and tax
8. Invoice - Track payments with partial payment support
9. Public Document Page - Client-facing view for quotes and invoices
10. Settings - Business info, currency, email templates, and more

== Changelog ==

= 1.0.0 (10 July, 2026) =

* Initial release
* Contact and company management with rich profiles
* Lead management with scoring, source tracking, and conversion
* Sales pipelines with kanban board and custom stages
* Deal tracking with multi-stakeholder support
* Quotes and invoices with PDF generation
* Email sending with PDF attachments and customizable templates
* Public document pages for client review and action
* CSV import for contacts and companies
* Dashboard with KPIs, pipeline view, and activity feed
* Team roles (CRM Manager, CRM Agent) with 60+ capabilities
* Tags and custom statuses with color coding
* Activity tracking (notes, tasks, calls, emails, meetings)
* Full REST API
* WP-CLI commands
