=== Zetta ERP ===
Contributors: joy-ahmed, linux19, emon19
Donate link: https://www.paypal.com/donate/?hosted_button_id=RYQ2PPDJMJXV6
Tags: erp, hrm, crm, accounting, business-management
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.2
Stable tag: 1.0.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Smart ERP for WordPress – Manage HR, CRM, Accounts, and Settings from one central dashboard.

== Description ==

**ZettaByte Technology Incorporation** presents Zetta ERP - a **scalable**, **user-friendly, and** **efficient** ERP system that allows businesses to manage HR, CRM, and financial transactions—all within their WordPress dashboard.
**No need for multiple tools**  – Zetta ERP centralizes business operations in one system.
**User-Friendly Interface** – Modern UI with intuitive workflow for better efficiency.

Key highlights:

* **Modern Interface:** Intuitive, responsive UI built with React and Tailwind.
* **Role & Permission Controls:** Restrict access to sensitive data based on user roles (e.g HR Manager, Employee).
* **Security First:**  Follows best practices for data protection and privacy compliance ( all API endpoints require logged-in users, enforce role-based permissions, and validate WP nonces—administrators receive full access, employees are limited to safe GET/PUT operations ).
* **Seed Dummy Data:** Quickly populate the system for testing and demonstration purposes.

=== Modules & Features ===

— **CRM**
  **Customer Management**
  * Add, edit, and search customers
  * Assign multiple contact methods (email, phone)
  **Customer Address Book**
  * Store Customers addresses

— **HRM**
  **Departments**
  * Create and organize departments (e.g., Sales, Marketing, IT)
  **Designations**
  * Define job titles and assign to employees
  **Employees**
  * Maintain complete employee records (personal info, contact, role)
  **Attendance Tracking**
  * Manual attendance entry and editing
  **Holidays**
  * Define company-wide and regional holidays

— **Accounts**
  **Invoice Management**
  * Create, edit, and send professional invoices
  * Track invoice status (paid, partially paid, due)
  **Transactions**
  * Log sales, expenses, and transfers
  **Receivables**
  * View outstanding balances by customer
  * Generate receivables aging reports
  **Payment Methods**
  * Define payment channels (e.g., Bkash, Card Transfer, Bank Transfer, PayPal)

— **Settings**
  **Organization Settings**
  * Enter business name, address, contact information and logo
  **Weekend Settings**
  * Choose any day(s) of the week as weekly off
  **Seed Dummy Data**
  * Populate CRM, HRM, and Accounts modules with sample records
  * Ideal for testing workflows and UI before going live

🚀 With Zetta ERP activated, you’ll have a centralized dashboard to manage customers, employees, transactions, and core settings—all without leaving WordPress.

== Installation & Setup Guide ==

1. **Pre-installation Checklist**
   * Ensure your WordPress installation is running version 6.6 or higher.
   * Verify that your hosting environment meets PHP 7.2 and MySQL 5.6+ requirements.
   * Deactivate and remove any other ERP or business management plugins to avoid conflicts.

2. **Plugin Installation**
   1. Log in to your WordPress Admin.
   2. Navigate to **Plugins > Add New**.
   3. Search for “Zetta ERP” or click **Upload Plugin** and select the ZIP file.
   4. Click **Install Now**, then **Activate**.

3. **Initial Configuration**
   1. Go to **Zetta ERP > Settings**.
   2. Under **Organization Settings**, enter your company’s name, address, contact information and upload a logo.
   3. Under **Weekend Settings**, select your weekly off day(s).
   4. (Optional) Seed the system with sample data via **Settings > Seed Dummy Data** to test each module.

Congratulations—Zetta ERP is now configured and ready to streamline your business operations!

== Frequently Asked Questions ==

= Who should use Zetta ERP? =
Any business, startup, or SME that wants to manage HR, CRM, and accounting within WordPress. Ideal for companies that prefer a single, consolidated dashboard.

= Do I need extra software or services? =
No. Zetta ERP is 100% self-contained within WordPress. All data is stored in your existing database; no third-party services are required.

= Can I enable or disable specific modules? =
Yes. Navigate to **Zetta ERP > Modules** and toggle CRM, HRM, or Accounts on or off per your requirements. Disabled modules will not appear in the sidebar.

= Is my data secure? =
Absolutely. Zetta ERP follows WordPress coding standards and best practices for data sanitization, validation, and access control. All sensitive information is stored securely in your database.

= How do I import or export data? =
In the current version, bulk import/export is not built-in. However, you can seed dummy data for testing. Future updates will include CSV import/export functionality.

= Does Zetta ERP integrate with other plugins or services? =
We’re actively working on integrations. Stay updated by visiting our website. Plans include payment gateways, CRM connectors, and HR tools.

= Is there a Pro or Premium version? =
Yes. The upcoming Pro release will add advanced reporting, payroll integration, and custom dashboard widgets. Subscribe on our website for early access.

= How does the check-in/check-out system work? =
Employees can check in or out with a single click. The system prevents multiple check-in or check-out on the same day. Admins can view and edit attendance for all employees, while regular users can only access their own.
If IP-based restrictions are enabled, employees can only check in/out from approved IP addresses set in Organization Settings. Remote and freelance employees are exempt from this restriction.


== Screenshots ==

1. Plugin Image
2. Main Dashboard
3. HRM: Dashboard
4. CRM: Dashboard
5. Accounts: Dashboard
6. Settings: Organization Details

== Changelog ==

= 1.0.5 – 2025-08-14 =
* Fifth public release – introducing Leave Management and other improvements.
* Employee Leave Requests:
    - Employees can now submit leave requests.
    - Initial status of all leave requests is Pending.
    - Admins can create, update, or delete leave requests.
    - Leave is only confirmed and added to attendance if approved by the admin.
    - If the admin sets the request as Pending or Rejected, it will not affect attendance.
    - Leave calculations exclude weekends and holidays.
    - Employees cannot submit multiple leave requests for the same day.

* Employee Profile Updates:
    - Updating employee details (e.g., email) now also updates the corresponding WordPress database entries.

* Employee Attendance Monthly Print:
    - Fixed display issues with monthly attendance print views. The monthly report now shows correctly.

* Settings:
    - Updated the toggle button design for enabling/disabling the dummy data seed option in settings.

* Grace Period for Office Time:
    - A grace period field has been added to Settings (default: 15 minutes).
    - Each company can customize the grace period.
    - Attendance status (Late / On Time) is now calculated based on this grace period.


= 1.0.4 – 2025-07-03 =
* Fourth public release.
* Employee Attendance Print View (Admin Only):
    - Admins can now select a month and year to view and print individual employee attendance reports.
    - Now employee view has two tabs: Detail with detail about the employee and Print Attendance for viewing and printing employee attendance.
  - Fixed enforcing https for image upload


= 1.0.3 – 2025-07-01 =
* Fixed: Admin menu icon for ZETTA ERP was disappearing when active. Improved CSS for consistent icon display in both normal and active states.

= 1.0.2 – 2025-07-01 =
* Third public release.
  - Admins can manage all employee attendance records.
  - Employees can only check in/out and view their own records.
  - Attendance check-in/out now records automatically based on the current time.
  - Prevents duplicate check-ins/outs on the same day.
    - ✅ IP-Based Restriction: Admins can now define allowed IP addresses from Organization Settings.
    * If IPs are set, employees can only check in/out from matching IPs.
    * If no IP is defined, attendance is allowed from any location.
    * Remote and Freelance employees are exempt from IP restrictions.
* Core Modules:
  - CRM: Customer & Address Management
  - HRM: Departments, Designations, Employees, Attendance, Holidays
  - Accounts: Invoices, Transactions, Receivables, Payment Methods
  - Settings: Organization Settings, Weekend Settings, Seed Dummy Data
* Modern React + Tailwind UI.
* Basic role & permission framework.
* Secure data handling and validation.

(Planned for future versions: CSV import/export, advanced reporting, full payroll integration, workflow automation.)

== Upgrade Notice ==
= 1.0.5 =
• Fifth public release of Zetta ERP. Adds Leave Request Management, employee profile sync with WordPress, monthly attendance print fix, seed data settings UI update, and grace period for attendance late/on-time status.

= 1.0.4 =
• Fourth public release of Zetta ERP. Includes attendance, Attendance Print View, automatic check-in/out, IP-based check-in restriction, and improvements to core modules.

= 1.0.3 =
• Minor CSS fix for admin menu icon display in WordPress dashboard.

= 1.0.2 =
• Third public release of Zetta ERP. Includes attendance, automatic check-in/out, IP-based check-in restriction, and improvements to core modules.

== 💬 Support & Feedback ==

Developed & maintained by **Zettabyte Technology Incorporation**
For help or to report bugs, email: [info@zettabyteincorp.com](mailto:info@zettabyteincorp.com)
Visit our website: https://zettabyteincorp.com/
Community Forum: WordPress.org support threads

Feature requests and contributions: Check our GitHub.

== 💰 Support Our Development ==

If you find Zetta ERP valuable, please consider donating to help fund future enhancements:
[Donate via PayPal](https://www.paypal.com/donate/?hosted_button_id=RYQ2PPDJMJXV6)

== 📸 External Services ==

During seed data generation, demo employee avatars are loaded from Unsplash (https://unsplash.com) for demo purposes only. No user data is fetched externally at runtime.

Service Provider: Unsplash
Service Purpose: Load public placeholder avatars for dummy employee records
Data Sent: None (We only fetch static image URLs from Unsplash)
When Used: Only during seed data creation
Terms: https://unsplash.com/terms
Privacy Policy: https://unsplash.com/privacy

== 🧑‍💻 Source Code ==

Zetta ERP uses a modern build system (React + Tailwind).

The source code for the frontend (React UI) is available at:
https://github.com/joyahmed/zetta-erp-frontend

Thank you for choosing Zetta ERP!