Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,24 @@ Open-source AI assistant for ERPNext. Ask business questions in plain English an
9. **Module-Wise Training Data Automation** — changAI includes tools to auto-generate training data on a per-module basis across your ERPNext installation. You can select individual modules such as Accounts, Inventory, or HR and generate targeted training data for each, allowing the model's retrieval accuracy to improve incrementally without needing to retrain everything at once.

10. **Fine-Tuned Embedding Model** — changAI uses a custom fine-tuned embedding model built on nomic-embed-text-v1.5, specifically trained on ERPNext schema and retrieval data for better semantic matching.

11. **Translation Support** — changAI supports multilingual ERP usage by translating values across all DocTypes. This allows users to interact with ERPNext in their preferred language. Users can configure their preferred language directly in ChangAI Settings.

12. **English & Arabic Language Support** - changAI supports ERP interactions in both English and Arabic, enabling users to query and manage ERP data in their preferred language while preserving master data values accurately.

13. **ERP Report Navigation & Smart Filter Detection** - changAI can identify when a user is requesting a standard ERPNext report and automatically open the appropriate report with relevant filters applied.

14. **Entity Creation from Natural Language** - changAI allows users to create ERP records directly from natural language requests. Users can create customers, suppliers, items, projects, leads, opportunities, and other ERP entities by simply describing what they need. changAI automatically opens the appropriate ERPNext form with detected values pre-filled, reducing manual data entry and improving productivity.

**You can Enable or Disable ChangAI from "ChangAI Settings Doctype"**

## Tech Stack

**Backend**
** Please note new URL on github https://github.com/ERPGulf/changai**
- [Frappe Framework](https://frappeframework.com) — Full-stack Python web framework that powers ERPNext. Handles authentication, permissions, database queries, and API routing.
- Python 3.10+ — Core language for all backend logic, model serving, and pipeline orchestration.
- Python 3.14 — Core language for all backend logic, model serving, and pipeline orchestration.
**Note** - Python 3.14 requires sudo apt-get install build-essential python3-dev before bench get-app

**AI and Machine Learning**

Expand Down Expand Up @@ -199,7 +208,8 @@ Natural Language Result is returned as a human-readable answer
No. changAI is built for non-technical users. You type a question in plain English and the system handles schema lookup, query generation, and result formatting automatically.

**Which ERPNext versions are supported?**
changAI supports ERPNext v14, v15, and v16 on Ubuntu with Python 3.10 or higher.
changAI supports ERPNext v15, and v16 on Ubuntu with Python 3.14 or higher.
**Note** - Python 3.14 requires sudo apt-get install build-essential python3-dev before bench get-app

**Which modules does changAI cover out of the box?**
changAI ships pre-configured with the standard ERPNext schema, so modules like Accounts, Inventory, Purchasing, Sales, and HR work immediately after installation without any additional mapping. Custom doctypes and fields require a schema sync using an Anthropic Claude API key.
Expand Down
2 changes: 2 additions & 0 deletions changai/changai/api/v2/assets/business_keywords_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -27908,6 +27908,8 @@
"المدفوعات",
"المبيعات الشهرية",
"المشتريات الشهرية",
"أنشئ",
"صنفًا",
"BOM"
]
}
1 change: 1 addition & 0 deletions changai/changai/api/v2/assets/changai_alias_map.json
Original file line number Diff line number Diff line change
Expand Up @@ -1318,6 +1318,7 @@
"sounds great": "i agree",
"sounds right": "i agree",
"looks good": "i agree",
"thanku": "thank you",
"feine": "fine",
"fiene": "fine",
"fein": "fine",
Expand Down
7 changes: 0 additions & 7 deletions changai/changai/api/v2/assets/metaschema_clean_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -2949,7 +2949,6 @@
"naming_series": "TEXT",
"salutation": "TEXT",
"customer_name": "TEXT",
"customer_name_ar": "TEXT",
"zatca_customer_name_in_arabic": "TEXT",
"custom_b2c": "TEXT",
"custom_buyer_id_type": "TEXT",
Expand Down Expand Up @@ -4538,10 +4537,8 @@
},
"tabEmployee": {
"employee": "TEXT",
"employee_ar": "TEXT",
"naming_series": "TEXT",
"first_name": "TEXT",
"first_name_ar": "TEXT",
"middle_name": "TEXT",
"last_name": "TEXT",
"employee_name": "TEXT",
Expand Down Expand Up @@ -5566,7 +5563,6 @@
"naming_series": "TEXT",
"item_code": "TEXT",
"item_name": "TEXT",
"item_name_ar": "TEXT",
"item_group": "TEXT",
"stock_uom": "TEXT",
"disabled": "TEXT",
Expand Down Expand Up @@ -11841,11 +11837,9 @@
"naming_series": "TEXT",
"customer": "TEXT",
"custom_b2c": "TEXT",
"customer_ar": "TEXT",
"customer_name": "TEXT",
"tax_id": "TEXT",
"company": "TEXT",
"company_ar": "TEXT",
"company_tax_id": "TEXT",
"posting_date": "TEXT",
"posting_time": "TEXT",
Expand Down Expand Up @@ -14568,7 +14562,6 @@
"tabToDo": {
"status": "TEXT",
"priority": "TEXT",
"priority_ar": "TEXT",
"color": "TEXT",
"date": "TEXT",
"allocated_to": "TEXT",
Expand Down
Binary file modified changai/changai/api/v2/assets/non_erp_combined.processed.cache.pkl
Binary file not shown.
11 changes: 9 additions & 2 deletions changai/changai/api/v2/assets/non_erp_combined.processed.json
Original file line number Diff line number Diff line change
Expand Up @@ -93372,6 +93372,13 @@
"priority": 70,
"is_active": true
},
{
"category": "conversation",
"user_input": "fine thanks.",
"response": "Glad to hear that! 😊 changAI by ERPGulf is here whenever you need assistance.",
"priority": 70,
"is_active": true
},
{
"category": "conversation",
"user_input": "are you religious",
Expand Down Expand Up @@ -136922,14 +136929,14 @@
{
"category": "negative",
"user_input": "no thanks",
"response": "No problem.",
"response": "You're welcome! Let me know if you need anything else.",
"priority": 100,
"is_active": true
},
{
"category": "negative",
"user_input": "no thank you",
"response": "Alright.",
"response": "Alright.🙂",
"priority": 100,
"is_active": true
},
Expand Down
191 changes: 191 additions & 0 deletions changai/changai/api/v2/assets/report_intent_map.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
{
"account statement": "General Ledger",
"customer account statement": "General Ledger",
"supplier account statement": "General Ledger",
"customer statement": "General Ledger",
"supplier statement": "General Ledger",
"party statement": "General Ledger",
"ledger statement": "General Ledger",
"general ledger": "General Ledger",
"gl": "General Ledger",
"g l": "General Ledger",
"ledger entries": "General Ledger",
"journal entries": "General Ledger",
"customer ledger": "Customer Ledger Summary",
"supplier ledger": "Supplier Ledger Summary",
"payment ledger": "Payment Ledger",
"share ledger": "Share Ledger",
"trial balance": "Trial Balance",
"tb": "Trial Balance",
"trial bal": "Trial Balance",
"party trial balance": "Trial Balance for Party",
"balance sheet": "Balance Sheet",
"profit and loss": "Profit and Loss Statement",
"p and l": "Profit and Loss Statement",
"p&l": "Profit and Loss Statement",
"cash flow": "Cash Flow",
"financial ratios": "Financial Ratios",
"profitability analysis": "Profitability Analysis",
"account balance": "Account Balance",
"voucher balance": "Voucher-wise Balance",
"dimension balance": "Dimension-wise Accounts Balance Report",
"budget variance": "Budget Variance Report",
"accounts receivable": "Accounts Receivable",
"ar": "Accounts Receivable",
"receivable": "Accounts Receivable",
"receivable aging": "Accounts Receivable",
"customer outstanding": "Accounts Receivable",
"customer dues": "Accounts Receivable",
"accounts receivable summary": "Accounts Receivable Summary",
"accounts payable": "Accounts Payable",
"ap": "Accounts Payable",
"payable": "Accounts Payable",
"payable aging": "Accounts Payable",
"supplier outstanding": "Accounts Payable",
"supplier dues": "Accounts Payable",
"accounts payable summary": "Accounts Payable Summary",
"stock ledger": "Stock Ledger",
"item ledger": "Stock Ledger",
"stock movement": "Stock Ledger",
"inventory movement": "Stock Ledger",
"stock balance": "Stock Balance",
"item balance": "Item Balance (Simple)",
"stock ageing": "Stock Ageing",
"stock aging": "Stock Ageing",
"stock analytics": "Stock Analytics",
"warehouse stock": "Warehouse Wise Stock Balance",
"warehouse stock balance": "Warehouse Wise Stock Balance",
"reserved stock": "Reserved Stock",
"item shortage": "Item Shortage Report",
"shortage report": "Item Shortage Report",
"available batch": "Available Batch Report",
"batch balance": "Batch-Wise Balance History",
"stock projected qty": "Stock Projected Qty",
"total stock summary": "Total Stock Summary",
"fifo": "FIFO Queue vs Qty After Transaction Comparison",
"fifo queue": "FIFO Queue vs Qty After Transaction Comparison",
"stock valuation": "Stock and Account Value Comparison",
"incorrect stock value": "Incorrect Stock Value Report",
"stock ledger variance": "Stock Ledger Variance",
"serial number status": "Serial No Status",
"serial no status": "Serial No Status",
"serial ledger": "Serial No Ledger",
"serial number ledger": "Serial No Ledger",
"available serial": "Available Serial No",
"available serial number": "Available Serial No",
"serial warranty": "Serial No Warranty Expiry",
"warranty expiry": "Serial No Warranty Expiry",
"serial service contract": "Serial No Service Contract Expiry",
"serial batch summary": "Serial and Batch Summary",
"incorrect serial batch": "Incorrect Serial and Batch Bundle",
"sales analytics": "Sales Analytics",
"sales analysis": "Sales Analytics",
"sales report": "Sales Analytics",
"sales summary": "Sales Analytics",
"sales trend": "Sales Invoice Trends",
"sales trends": "Sales Invoice Trends",
"sales invoice trends": "Sales Invoice Trends",
"sales order trends": "Sales Order Trends",
"sales register": "Sales Register",
"sales invoice register": "Sales Register",
"sales order analysis": "Sales Order Analysis",
"item sales": "Item-wise Sales Register",
"item wise sales": "Item-wise Sales Register",
"item sales register": "Item-wise Sales Register",
"item sales history": "Item-wise Sales History",
"sales payment": "Sales Payment Summary",
"sales payment summary": "Sales Payment Summary",
"sales partner commission": "Sales Partner Commission Summary",
"sales person commission": "Sales Person Commission Summary",
"sales person transaction": "Sales Person-wise Transaction Summary",
"purchase analytics": "Purchase Analytics",
"purchase analysis": "Purchase Analytics",
"purchase report": "Purchase Analytics",
"purchase summary": "Purchase Analytics",
"purchase trend": "Purchase Invoice Trends",
"purchase trends": "Purchase Invoice Trends",
"purchase invoice trends": "Purchase Invoice Trends",
"purchase order trends": "Purchase Order Trends",
"purchase receipt trends": "Purchase Receipt Trends",
"purchase register": "Purchase Register",
"purchase invoice register": "Purchase Register",
"purchase order analysis": "Purchase Order Analysis",
"item purchase": "Item-wise Purchase Register",
"item wise purchase": "Item-wise Purchase Register",
"item purchase register": "Item-wise Purchase Register",
"item purchase history": "Item-wise Purchase History",
"procurement tracker": "Procurement Tracker",
"supplier quotation comparison": "Supplier Quotation Comparison",
"gross profit": "Gross Profit",
"profit report": "Gross Profit",
"sales profit": "Gross Profit",
"margin report": "Gross Profit",
"gross and net profit": "Gross and Net Profit Report",
"net profit": "Gross and Net Profit Report",
"vat report": "VAT Report ZATCA on Sales & Purchase",
"zatca report": "Zatca Status Report",
"zatca status": "Zatca Status Report",
"vat audit": "VAT Audit Report",
"uae vat": "UAE VAT 201",
"tax withholding": "Tax Withholding Details",
"tds summary": "TDS Computation Summary",
"customer credit": "Customer Credit Balance",
"customer credit balance": "Customer Credit Balance",
"customer acquisition": "Customer Acquisition and Loyalty",
"customer loyalty": "Customer Acquisition and Loyalty",
"customer price": "Customer-wise Item Price",
"inactive customers": "Inactive Customers",
"lead details": "Lead Details",
"lead conversion": "Lead Conversion Time",
"sales pipeline": "Sales Pipeline Analytics",
"opportunity summary": "Opportunity Summary by Sales Stage",
"lost opportunity": "Lost Opportunity",
"lost quotations": "Lost Quotations",
"employee analytics": "Employee Analytics",
"employee report": "Employee Analytics",
"employee information": "Employee Information",
"employee leave": "Employee Leave Balance",
"leave balance": "Employee Leave Balance",
"leave ledger": "Leave Ledger",
"attendance sheet": "Monthly Attendance Sheet",
"monthly attendance": "Monthly Attendance Sheet",
"shift attendance": "Shift Attendance",
"employee birthday": "Employee Birthday",
"employee exits": "Employee Exits",
"project summary": "Project Summary",
"project report": "Project Summary",
"project profitability": "Project Profitability",
"project billing": "Project Billing Summary",
"employee billing": "Employee Billing Summary",
"timesheet summary": "Daily Timesheet Summary",
"daily timesheet": "Daily Timesheet Summary",
"employee hours": "Employee Hours Utilization Based On Timesheet",
"work order summary": "Work Order Summary",
"work order report": "Work Order Summary",
"open work orders": "Open Work Orders",
"completed work orders": "Completed Work Orders",
"work orders in progress": "Work Orders in Progress",
"production analytics": "Production Analytics",
"production report": "Production Analytics",
"production planning": "Production Planning Report",
"production plan": "Production Plan Summary",
"bom explorer": "BOM Explorer",
"bom stock": "BOM Stock Report",
"bom variance": "BOM Variance Report",
"work order materials": "Work Order Consumed Materials",
"process loss": "Process Loss Report",
"asset register": "Fixed Asset Register",
"fixed asset register": "Fixed Asset Register",
"asset depreciation": "Asset Depreciation Ledger",
"asset balance": "Asset Depreciations and Balances",
"asset activity": "Asset Activity",
"asset maintenance": "Asset Maintenance",
"issue summary": "Issue Summary",
"issue analytics": "Issue Analytics",
"support hours": "Support Hour Distribution",
"first response issues": "First Response Time for Issues",
"prepared report analytics": "Prepared Report Analytics",
"address contacts": "Addresses And Contacts",
"database storage": "Database Storage Usage By Tables",
"permitted documents": "Permitted Documents For User"
}
Loading
Loading