A comprehensive custom application for Frappe ERPNext, designed to enhance and streamline business operations.
Sahayog is a powerful extension for the Frappe framework, integrating several key business modules into a single, cohesive system. It provides functionalities for Human Resources, Sales and CRM, Procurement, Project Management, and more, tailored to specific business needs.
The application is composed of several modules:
- Human Resource Management (HRMS)
- Sales & CRM (SCRM)
- Procurement
- Project Management
- Issue Register
- Collections
This module extends the core HR functionalities of Frappe.
- Manages employee lifecycle, including creation and user provisioning.
- Custom logic for employee naming and status (Active/Inactive).
- Handles department and branch-specific data.
- Overrides for handling employee data updates.
Employee: Central document for employee information.Department: Organizational departments.Branch: Different company branches.
Focuses on enhancing customer relationship management and sales processes.
- Manages leads, opportunities, and customers.
- Custom API for lead owner assignments.
- Integration with Service Level Agreements (SLAs).
- Automated contact creation from leads.
Lead: Potential sales interest.Opportunity: Qualified sales opportunity.Customer: Company's customers.
Streamlines the purchasing and inventory management processes.
- Handles
Supplier Quotation,Purchase Order, andPurchase Receipt. - Custom logic for item naming and warehouse management.
- Asset management integration.
Supplier Quotation: Quotes from suppliers.Purchase Order: Orders placed with suppliers.Item: Products and services.
Provides tools for managing projects and tasks effectively.
- Defines
Project Templatesfor quick project setup. - Manages
Taskswith dependencies and assignments. - Custom dashboards for project and task visibility (
Project Dashboard,Task Dashboard).
Project: The main project document.Task: Individual tasks within a project.Project Template: Reusable project structures.
A dedicated module for tracking and managing issues.
- Allows users to report issues and track their resolution status.
- Provides reports and dashboards for issue analysis.
Sahayog includes a variety of custom scripts and APIs to automate and extend functionality:
- User Provisioning: Automatically creates users from Employee documents.
- Branch & Warehouse Linking: Logic to link branches with warehouses.
- Shareholder Management: Events for handling shareholder and share transfer documents.
- Custom Naming: Several overrides for document naming conventions (e.g.,
Employee,Item).
To install Sahayog, you need a Frappe Bench environment.
- Go to your bench directory:
cd ~/frappe-bench
- Get the app from its repository (replace with actual repository URL):
bench get-app https://github.com/your-org/sahayog
- Install the app on your site:
bench --site your-site-name.localhost install-app sahayog
- Migrate the database:
bench --site your-site-name.localhost migrate
Contributions are welcome! Please follow the standard Frappe app development guidelines.
- Fork the repository.
- Create a new branch for your feature.
- Add your changes and commit them.
- Push to your branch and create a Pull Request.
This project is licensed under the MIT License. See the license.txt file for details.
- Minor style adjustments to the codebase.
- Improved documentation clarity in code comments.
- Refactored API endpoint for performance.
- Added validation to a critical doctype.
- Cleaned up unused variables.
- Updated dependencies in
package.json. - Formatted Python code with Black.
- Formatted JS code with Prettier.
- Added new fixture for testing.
- Updated CI configuration.
- Corrected a typo in a report.
- Enhanced logging for a background job.
- Optimized a database query.
- Added a new custom field to a doctype.
- Updated
.gitignoreto exclude log files. - Renamed a variable for better clarity.
- Added error handling for an API call.
- Updated a print format layout.
- Fixed a permission issue for a role.
- Added a new number card to a workspace.
- Removed a deprecated function.
- Updated a web form's client script.
- Added a new dashboard chart.
- Improved the user experience of a page.
- Set a default value for a field.
- Converted a script to use async/await.
- Fixed a CSS alignment issue.
- Added a new workflow state.
- Updated translations.
- Improved accessibility of a component.
- Patched a minor security vulnerability.
- Added a unit test for a utility function.
- Updated the requirements.txt.
- Reordered fields in a DocType for better flow.
- Added a client script for dynamic filtering.
- Corrected a calculation in a custom report.
- Moved a hardcoded string to constants.
- Added a new page for custom reports.
- Updated an email template.
- Improved responsiveness of the UI.
- Added a hook for on_submit event.
- Refined a workflow transition rule.
- Added a missing index to a database table.
- Updated a fixture to reflect new data model.
- Removed a redundant API call.
- Added a new custom permission rule.