Erpnext
Free and open-source integrated Enterprise Resource Planning software built on Frappe Framework
Verdict
Common use cases
- Log billable hours from project chat
- Approve purchase orders without leaving Slack
- Pull customer account balances during calls
- Add comments to invoices from support threads
- Create sales leads from meeting notes
Integration
- Vendor
- Erpnext
- Category
- finance
- Auth
- API_KEY
- Tools
- 50
- Composio slug
erpnext
Tools
- Add Comment
Tool to add a comment to a document in ERPNext/Frappe. Use when you need to add comments or notes to any document type like ToDo, Issue, Task, or custom DocTypes.
- Add Tag
Tool to add a tag to a document in ERPNext. Use when you need to categorize or label documents for organization and filtering purposes.
- Apply Workflow
Tool to apply a workflow action to a document in ERPNext/Frappe. Use when you need to transition a document through workflow states (e.g., approve, reject, submit). The document must have a workflow configured for its doctype.
- Cancel Document
Cancel a submitted document in ERPNext/Frappe to change its status from Submitted to Cancelled. Use for submittable DocTypes when you need to reverse or cancel a submitted transaction. Document must be in Submitted state (docstatus=1) befor
- Create Document
Tool to create a new document of a specific DocType in ERPNext. Use when you need to create records like ToDo, Customer, Lead, Sales Invoice, etc. The document data should include all required fields for the specific DocType. Standard field
- Create Timesheet
Tool to create a new Timesheet record in ERPNext. Use when you need to log time entries for employees or projects.
- Create Webhook
Tool to create a new webhook configuration in ERPNext. Use when you need to set up automated callbacks for DocType events like creation, updates, or submissions.
- Delete Documentdestructive
Tool to delete a document using the Frappe client API. Use when you need to remove a specific document by its doctype and name.
- Delete Documentdestructive
Tool to delete a specific document by DocType and name. Use when you need to remove a document from ERPNext. Requires delete permissions for the specified DocType.
- Download file from ERPNext
Tool to download a file from ERPNext by its URL. Use when you need to retrieve file content from the ERPNext instance using the file's URL path.
- Download PDF Document
Tool to download a document as PDF from ERPNext with optional print format. Use when you need to retrieve a document in PDF format, optionally specifying a custom print format or excluding letterhead.
- Get All Languages
Tool to get a list of all available languages in the ERPNext/Frappe system. Use when you need to retrieve supported languages for translation or localization purposes.
- Get All Roles
Tool to get a list of all roles available in the ERPNext system. Use when you need to retrieve all available roles for assignment or reference.
- Get DocType Metadata
Tool to retrieve complete DocType metadata/schema including field definitions, field types, permissions, and configurations. Use when you need to understand the structure of a DocType, its fields, validation rules, or permissions before cre
- Get Document
Tool to retrieve a specific document by its DocType and name (ID). Returns the complete document with all fields. Use when you need to fetch details of a specific ERPNext document like Customer, Employee, Account, Sales Invoice, etc.
- Get Document
Tool to get a single document by DocType and name or filters from Frappe/ERPNext. Use when you need to retrieve a specific document's complete details.
- Get Document Count
Tool to get the count of documents matching specified filters in ERPNext/Frappe. Use when you need to know how many records exist for a specific DocType, optionally filtered by conditions.
- Get Document with Metadata
Tool to retrieve a document with full metadata including attachments, comments, activity logs, and related information. Use when you need complete document details beyond the basic fields returned by standard GET requests.
- Get Exchange Rate
Tool to get the currency exchange rate between two currencies in ERPNext. Use when you need to convert amounts between different currencies or check current exchange rates.
- Get Field Value
Tool to get specific field value(s) from a document in ERPNext. Use when you need to retrieve one or more field values without loading the entire document.
- Get Fiscal Year
Tool to get fiscal year information for a given date in ERPNext. Use when you need to determine which fiscal year a specific date falls into or retrieve fiscal year boundaries.
- Get Framework Version
Tool to get the Frappe framework version and all installed app versions. Use when you need to check the ERPNext/Frappe system version for compatibility or debugging purposes.
- Get Item Details
Tool to get detailed item information including pricing, taxes, and stock details from ERPNext. Use when you need comprehensive item data for transactions like Sales Orders, Purchase Orders, or Invoices. This action retrieves item-specific
- Get List of Documents
Tool to retrieve a list of documents from ERPNext/Frappe with filtering, field selection, and pagination. Use when you need to query documents of a specific DocType with optional filters, sorting, and field selection. The response contains
- Get Logged User
Tool to get the email/ID of the currently authenticated user. Use to verify authentication is working.
- Get Party Details
Tool to get comprehensive customer or supplier details including addresses, contacts, and default financial settings. Use when creating transactions or updating party information in ERPNext.
- Get Payment Entry
Tool to get payment entry details for an invoice or order from ERPNext. Use when you need to retrieve payment information for a Sales Invoice, Purchase Invoice, Sales Order, or Purchase Order. This returns a Payment Entry document with part
- Get Stock Balance
Tool to retrieve the current stock balance for a specific item in a warehouse. Use when you need to check inventory levels or available quantity.
- Get Timezones
Tool to get a list of all available timezones in the ERPNext system. Use when you need to retrieve timezone options for user configuration or scheduling.
- Get User Roles
Tool to get roles assigned to a user. Use when you need to check user permissions or access levels in ERPNext/Frappe.
- Get Workflow Transitions
Tool to get available workflow transitions for a document. Use when you need to check what workflow actions are available for a specific document based on its current state and user permissions.
- Global Search
Tool to perform global text search across ERPNext documents. Use when you need to find documents, pages, or records by searching for keywords across the system. Results are ranked by relevance and include document type, name, content previe
- Insert Document
Tool to insert a new document in ERPNext/Frappe using the client API. Use when you need to create any type of document (ToDo, Customer, Item, etc.) by providing the doctype and required fields.
- Insert Multiple Documents
Tool to insert multiple documents at once into ERPNext/Frappe. Use when you need to create multiple records (Notes, Customers, Items, etc.) in a single API call for better efficiency.
- List DocTypes
Tool to get a list of all DocTypes available in the ERPNext system. Use when you need to retrieve available DocTypes with optional filtering and pagination.
- List Employees
Tool to retrieve a list of Employee records from ERPNext. Use when you need to fetch employee information with optional filtering and pagination.
- List ERPNext Documents
Tool to list documents of a specific DocType from ERPNext. Returns paginated results (default 20 items). Use when you need to retrieve multiple documents, with support for filtering, field selection, and pagination.
- List Projects
Tool to retrieve a list of Project records from ERPNext. Use when you need to get projects, optionally filtered and paginated.
- List Timesheets
Tool to get a list of Timesheet records from ERPNext. Use when you need to retrieve, search, or filter timesheets. Supports pagination and flexible field selection.
- List Webhooks
Tool to list webhook configurations in ERPNext. Use when you need to retrieve all configured webhooks or search for specific webhooks using filters.
- Make Delivery Note
Create a draft Delivery Note from an existing Sales Order in ERPNext. Use when you need to initiate shipment/delivery of items from a confirmed sales order. The created Delivery Note will be in draft state and can be modified before submiss
- Make Purchase Order
Create a draft Purchase Order from an existing Material Request in ERPNext. Use when you need to initiate procurement of items from an approved material request. The created Purchase Order will be in draft state and can be modified before s
- Make Sales Invoice
Tool to create a Sales Invoice from an existing Sales Order in ERPNext. Use when you need to generate an invoice for a confirmed sales order. The created invoice will be in draft state and can be submitted separately if needed.
- Make Stock Entry
Tool to create a Stock Entry for material transfer, receipt, or issue in ERPNext. Use when you need to record inventory movements between warehouses or add/remove stock. For Material Receipt, include target warehouse and basic_rate. For Mat
- Ping API
Tool to check if the ERPNext/Frappe API is reachable. Use when you need to verify API connectivity or test authentication.
- Rename Document
Tool to rename an ERPNext document by changing its unique ID/name. Use when you need to change a document's primary identifier, optionally merging with an existing document.
- Save Document
Tool to save an existing ERPNext/Frappe document with changes. Use when you need to update an existing document in the system. Requires the complete document object including all system fields and the fields being updated.
- Save Document with Action
Tool to save, submit, cancel, or update a document in ERPNext. Use when you need to create or modify documents in ERPNext. The doc parameter must be a JSON-serializable dictionary containing the document fields.
- Search Link Field Documents
Tool to search for documents to link in ERPNext/Frappe Link fields. Use when you need autocomplete suggestions for Link fields or to find documents by name/text.
- Set Value
Tool to set a specific field value on a document in ERPNext. Use when you need to update a single field without retrieving or modifying the entire document.
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Search for ERPNext and click Connect. 3. You'll be prompted to enter your ERPNext instance URL (e.g., https://yourcompany.erpnext.com) and an API key. 4. Generate the API key in ERPNext by going to User → API Access → Generate Keys; copy both the API Key and API Secret. 5. Paste the key and secret into Switchy's connection form and click Authorize. 6. Switchy will verify the credentials and confirm the connection. 7. Open any Space, type @ERPNext followed by a task like 'list my open tasks', and send the message. 8. If the MCP responds with data, the connection is live. 9. The MCP inherits the permissions of the ERPNext user whose credentials you provided, so ensure that user has access to the DocTypes your team needs.
What teammates see: by default, memories from Erpnext are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Log Time to Project
@ERPNext create a timesheet for employee EMP-00123 with 3 hours logged to project PRJ-2024-045 and task 'API Integration' for today's date.Open in a Space →
Check Invoice Status
@ERPNext get the details for sales invoice SINV-2024-00456 including status, grand total, and outstanding amount.Open in a Space →
Create Customer Record
@ERPNext create a new customer named 'Acme Logistics' with email contact@acmelogistics.com and phone +1-555-0199.Open in a Space →
Approve Purchase Order
@ERPNext apply the 'Approve' workflow action to purchase order PO-2024-00789 and add a comment confirming budget approval.Open in a Space →
List Open Tasks
@ERPNext list all open tasks assigned to me with status 'Open' or 'Working', showing task name, project, and due date.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@erpnext show me all unpaid sales invoices from the last 30 days, grouped by customer, with total amounts outstanding
Based on your ERPNext data, here are the unpaid invoices from the past 30 days: **Acme Corp** – 3 invoices, $24,500 outstanding (oldest: 28 days) **Beta Industries** – 1 invoice, $8,200 outstanding (12 days) **Gamma LLC** – 2 invoices, $15,750 outstanding (oldest: 22 days) Total outstanding: $48,450 across 6 invoices. The Acme Corp invoices are approaching 30-day terms. Would you like me to draft follow-up emails for any of these customers?
This read-heavy example shows how the MCP retrieves and synthesizes financial data. Requires API key with read access to Sales Invoice doctype. Response accuracy depends on your ERPNext field configuration and payment term setup — custom fields or non-standard workflows may require prompt adjustments.
@erpnext create a new customer record for 'Delta Manufacturing' with billing address in Austin, TX and assign them to our Southwest sales territory
Customer record created successfully: **Customer Name:** Delta Manufacturing **Customer ID:** CUST-2024-00847 **Territory:** Southwest **Billing Address:** Austin, TX (full address saved) **Status:** Active The customer is now available for transactions. Default payment terms (Net 30) and price list (Standard Selling) have been applied. You can modify these in the customer record or override them on individual invoices.
This write example demonstrates document creation with the Create Document tool. Requires API key with write permissions to Customer doctype. ERPNext enforces mandatory fields — if your instance requires tax ID, credit limit, or custom fields, the prompt must include those values or the creation will fail with a validation error.
@erpnext review all submitted expense claims from last week that are still pending approval, summarize by employee, and apply workflow approval for any under $500
Found 8 submitted expense claims awaiting approval: **Pending (>$500, manual review needed):** - Sarah Chen: $1,240 (travel + meals) - Mike Torres: $680 (client entertainment) **Auto-approved (<$500):** - 6 claims totaling $1,890 across 4 employees — workflow approval applied The 6 smaller claims have been transitioned to 'Approved' status and are queued for payment processing. The two larger claims require manager sign-off per your approval policy.
This synthesis example combines document retrieval, conditional logic, and workflow actions via the Apply Workflow tool. Requires both read access to Expense Claim and permission to execute workflow transitions. Side-effect risk: auto-approvals are irreversible in many ERPNext configurations — verify your workflow allows cancellation if needed before automating approvals.
Use-case deep-dives
When ERPNext MCP speeds up remote accounting workflows
A 6-person finance team closing books across three time zones uses this MCP to coordinate invoice approvals and journal entries without opening the ERPNext web UI. The Apply Workflow tool lets the controller approve pending invoices from Switchy while reviewing Slack threads about vendor disputes. The Add Comment tool logs approval notes directly on the Sales Invoice doctype, so the AP clerk in Manila sees context when she posts payments at 9am her time. This works when your chart of accounts is stable and the team knows ERPNext's doctype names—if you're still designing your GL structure or onboarding non-accountants, the 50-tool surface area will overwhelm them. For teams running monthly closes with under 500 transactions, this MCP cuts the approval cycle from 4 days to 2.
How this MCP handles timesheet-to-invoice in one workspace
A 12-person consulting firm bills clients from logged hours in ERPNext Projects. The Create Timesheet tool lets project leads log billable hours during Friday status calls without switching apps—Switchy pulls the project code from Linear, the lead confirms the hours, and the timesheet posts to ERPNext with the correct Activity Type. The Create Document tool then drafts the Sales Invoice when the project hits its billing milestone, pulling timesheet data by project filter. This breaks down if your billing logic has complex rate cards or multi-currency adjustments—the MCP can't handle ERPNext's pricing rules engine, so you'll still open the UI for anything beyond flat hourly rates. For shops billing under 50 projects a month with simple time-and-materials contracts, this MCP turns a 90-minute invoicing process into a 15-minute Switchy session.
When ERPNext MCP isn't the right call for support ops
A 4-person support team wants to check customer order status and payment history from Switchy while answering Intercom tickets. The ERPNext MCP technically exposes the right doctypes—Sales Order, Payment Entry—but the 50-tool count means the team will spend more time figuring out which tool fetches what than they save by staying in Switchy. ERPNext's API also requires exact doctype names and field filters, so a support rep asking 'did this customer pay?' has to know the Payment Entry doctype schema. If your support team isn't already fluent in ERPNext's data model, this MCP adds friction instead of removing it. For support ops, a read-only dashboard or a purpose-built Intercom integration will serve you better than a general-purpose MCP with 50 tools.
Frequently asked
What can the ERPNext MCP do in Switchy?
The ERPNext MCP lets your team create, update, and manage ERPNext documents directly from Switchy conversations. You can create invoices, log timesheets, add comments to tasks, apply workflow approvals, and cancel submitted documents. It's built for teams that want to interact with their ERP data without switching tabs or memorizing the ERPNext UI.
What API key does ERPNext MCP need?
You need an ERPNext API key with permissions matching what your team will do. If you're only reading data, a read-only key works. If you're creating invoices or applying workflows, you need write access to those DocTypes. Generate the key in ERPNext under User Settings → API Access. The MCP authenticates every request with this key.
Can the ERPNext MCP delete submitted invoices?
No. The MCP can cancel submitted documents (which marks them cancelled but keeps the record), but it cannot delete submitted invoices outright. ERPNext's architecture prevents deletion of submitted transactions to preserve audit trails. If you need to reverse a transaction, use the Cancel Document tool, then create a correcting entry.
Why use this instead of the ERPNext web interface?
The MCP is faster for repetitive tasks and multi-step workflows. Instead of clicking through ERPNext's UI to create a timesheet, add tags, and apply a workflow, you describe what you want in Switchy and the MCP executes all three steps. It's not a replacement for complex ERP configuration, but it eliminates tab-switching for daily operations.
Who on the team should connect the ERPNext MCP?
Whoever has ERPNext admin access and understands your DocType permissions. They'll generate the API key and decide which operations the team can perform through Switchy. Once connected, any Switchy user in your workspace can use the MCP, but their actions are still governed by the permissions of that API key.