Free and open-source integrated Enterprise Resource Planning software built on Frappe Framework
Free and open-source integrated Enterprise Resource Planning software built on Frappe Framework On Nagent, Erpnext is exposed as a fully-configurable accounting integration that any agent can call — 50 actions, and API key authentication. No code is required to wire Erpnext into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Erpnext to automate the kinds of tasks accounting teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Erpnext into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Erpnext, with input parameters and output schema. Drop these into any step of an agent built in Helix.
ERPNEXT_ADD_COMMENTTool 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.
Input parameters
The comment content/text to be added to the document
Name or identifier of the person making the comment (typically same as comment_email)
Email address of the person making the comment
The name/ID of the specific document to add the comment to
The DocType of the document to add comment to (e.g., 'ToDo', 'Issue', 'Task')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_ADD_TAGTool to add a tag to a document in ERPNext. Use when you need to categorize or label documents for organization and filtering purposes.
Input parameters
Target document name (unique identifier) of the document to tag. This is the specific document instance within the DocType.
Target DocType (document type) to which the tag will be added. Examples include 'ToDo', 'Sales Invoice', 'Customer', etc.
Tag to add to the document. Can be any string value.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_APPLY_WORKFLOWTool 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.
Input parameters
Document object to apply the workflow action to. Must include required fields like 'name', 'doctype', and other document-specific fields.
Workflow action name to apply (e.g., 'Approve', 'Reject', 'Submit'). Must be a valid action defined in the document's workflow.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_CANCEL_DOCUMENTCancel 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) before cancellation.
Input parameters
The unique name/ID of the submitted document to cancel. This is the document's primary identifier within ERPNext. The document must exist and be in Submitted state.
The DocType of the document to cancel. Only submittable DocTypes can be canceled. Examples: 'Journal Entry', 'Sales Invoice', 'Purchase Order', 'Delivery Note', 'Payment Entry', 'Stock Entry'. The document must be in Submitted state (docstatus=1).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_CREATE_DOCUMENTTool 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 fields like creation, modified, and owner are automatically set by ERPNext.
Input parameters
Document data as a dictionary of field names and values. The required fields depend on the specific DocType. Common fields include: name, description, title, status, etc. Refer to ERPNext documentation for specific DocType field requirements.
The DocType you'd like to create. For example: Customer, Supplier, Employee, Account, Lead, Company, Sales Invoice, Purchase Invoice, Stock Entry, ToDo, etc. This must be a valid DocType name in your ERPNext instance.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_CREATE_TIMESHEETTool to create a new Timesheet record in ERPNext. Use when you need to log time entries for employees or projects.
Input parameters
Additional notes or comments for the timesheet
Company name for which the timesheet is being created
Employee ID or name for the timesheet (optional)
List of time log entries for the timesheet. Each entry must have activity_type, from_time, and to_time
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_DELETE_DOCUMENTTool 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.
Input parameters
The type of the document to delete. Examples: Customer, Supplier, Employee, Account, Lead, Company, Sales Invoice, Purchase Invoice, Stock Entry, Note, etc. The DocType must exist in your ERPNext instance and you must have delete permissions.
The unique name (ID) of the document to delete. This is the document's primary identifier, not the display title. Example: EMP001 (for Employee DocType) or a generated ID like 7l1epfhlls (for Note DocType).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_DOWNLOAD_FILETool 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.
Input parameters
URL of the file to download. This should be a relative path starting with /files/ or /private/files/ (e.g., '/files/test_file.txt'). The file must exist on the ERPNext instance.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_DOWNLOAD_PDFTool 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.
Input parameters
Document name/ID to download
Print format name to use for the PDF. If not specified, the default print format for the DocType will be used.
DocType of the document to download (e.g., 'User', 'Sales Invoice', 'Purchase Order')
Set to 1 to exclude letterhead from the PDF, set to 0 or omit to include letterhead
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_ALL_LANGUAGESTool 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.
Input parameters
Include language names along with language codes. When false or omitted, returns only an array of language codes (e.g., \['en', 'es'\]). When true, returns an array of objects with both language_code and language_name fields (e.g., \[{'language_code': 'en', 'language_name': 'English'}\]).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_ALL_ROLESTool 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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_CLIENTTool 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.
Input parameters
The unique name/identifier of the specific document to retrieve. If provided, this takes precedence over filters.
The DocType to query (e.g., 'User', 'Customer', 'Item'). DocTypes are the document types defined in your Frappe/ERPNext instance.
Filter conditions to find the document when name is not provided. Should be a dictionary of field-value pairs. Example: {'email': 'user@example.com'}
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_COUNTTool 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.
Input parameters
The DocType name to count documents for (e.g., 'User', 'Task', 'Project'). Must be a valid DocType in the ERPNext/Frappe system.
Optional filter conditions to apply when counting documents. Format: {field_name: value} or {field_name: \['operator', value\]}. Example: {'status': 'Open'} or {'creation': \['>', '2024-01-01'\]}.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_DOCTYPE_METATool 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 creating or querying documents.
Input parameters
The DocType name to retrieve metadata for (e.g., 'Customer', 'Sales Order', 'Item')
Include parent DocType metadata if this DocType is a child table. Useful when retrieving metadata for child tables in reports.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_DOCUMENTTool 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.
Input parameters
The name (ID) of the document you'd like to receive. For example EMP001 (of type Employee).
By default, only the "name" field is included in the listing. To add more fields, you can pass the fields param. For example, \["name", "country"\]
The DocType you'd like to receive. For example Customer, Supplier, Employee, Account, Lead, Company, Sales Invoice, Purchase Invoice, Stock Entry, etc.
You can filter the listing using sql conditions. Each condition is an array of the format, \[doctype, field, operator, value\]. For example, \[\["Customer", "country", "=", "India"\]\]
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_DOC_WITH_METATool 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.
Input parameters
The unique name/identifier of the document to retrieve
The DocType name (e.g., 'Account', 'Customer', 'Sales Order')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_EXCHANGE_RATETool 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.
Input parameters
Target currency code in ISO 4217 format (e.g., 'EUR', 'USD', 'JPY'). This is the currency you are converting to.
Source currency code in ISO 4217 format (e.g., 'USD', 'EUR', 'GBP'). This is the currency you are converting from.
Optional date for the exchange rate in YYYY-MM-DD format. If not provided, the current date's exchange rate will be used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_FISCAL_YEARTool 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.
Input parameters
Date to check for fiscal year in YYYY-MM-DD format. If not provided, the current date will be used.
Company name to get fiscal year for. If not provided, the default company will be used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_FRAMEWORK_VERSIONTool 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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_ITEM_DETAILSTool 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 information based on the provided context including customer, price list, warehouse, and currency.
Input parameters
Context object containing all required parameters for retrieving item details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_LISTTool 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 an array of document objects with the requested fields.
Input parameters
Pagination start index (zero-based). Use this with page_length for pagination. For example, start=0 gets first page, start=20 gets second page with page_length=20.
List of field names to return in the response. If not specified, only the 'name' field is returned by default. Use this to specify which fields you want to retrieve (e.g., \['name', 'email', 'first_name'\]).
The DocType to query. This is the name of the document type you want to retrieve records from (e.g., 'User', 'Customer', 'Sales Order').
Filter conditions to apply to the query. Supports various filter operators. Can be a simple dict like {'status': 'Open'} or complex filters with operators like {'creation': \['>', '2024-01-01'\]}.
Sort order for the results. Specify field name with optional direction (e.g., 'modified desc', 'creation asc', 'name'). Default is descending order.
Number of records to return per page. Default is 20 if not specified. Maximum value depends on server configuration. Use with start parameter for pagination.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_LOGGED_USERTool to get the email/ID of the currently authenticated user. Use to verify authentication is working.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_PARTY_DETAILSTool to get comprehensive customer or supplier details including addresses, contacts, and default financial settings. Use when creating transactions or updating party information in ERPNext.
Input parameters
Name (ID) of the customer or supplier
Company name for which to fetch party details. If not specified, default company is used.
Type of party - either 'Customer' or 'Supplier'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_PAYMENT_ENTRYTool 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 party details, payment amounts, accounts, exchange rates, and reference information.
Input parameters
Document name (ID) of the specific document to get payment entry for (e.g., 'SINV-26-00001', 'PINV-2024-00001').
DocType for which to get payment entry details. Common values include 'Sales Invoice', 'Purchase Invoice', 'Sales Order', 'Purchase Order'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_STOCK_BALANCETool to retrieve the current stock balance for a specific item in a warehouse. Use when you need to check inventory levels or available quantity.
Input parameters
The unique code/identifier of the item to check stock balance for.
The name of the warehouse to check stock balance in.
Date for balance calculation in YYYY-MM-DD format. If not provided, current date is used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_TIMEZONESTool 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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_USER_ROLESTool to get roles assigned to a user. Use when you need to check user permissions or access levels in ERPNext/Frappe.
Input parameters
User ID to get roles for. If not provided, returns roles for the currently authenticated user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_VALUETool 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.
Input parameters
The specific document name/ID to retrieve. Use this when you know the exact document identifier. Cannot be used together with filters parameter.
The DocType (document type) to query. Examples include 'User', 'Customer', 'Sales Invoice', 'Item', etc.
Filter conditions as JSON string to match documents (e.g., '{"status": "Open"}' or '{"email": "user@example.com"}'). Returns the first matching document. Cannot be used together with name parameter.
The field name(s) to retrieve. For multiple fields, provide a comma-separated list (e.g., 'full_name,email').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_GET_WORKFLOW_TRANSITIONSTool 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.
Input parameters
The name/ID of the specific document to get workflow transitions for.
The DocType name of the document to get workflow transitions for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_INSERT_DOCUMENTTool 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.
Input parameters
Document object containing doctype field (required) and document-specific fields. The doctype must be a valid DocType name in your ERPNext instance (e.g., 'ToDo', 'Customer', 'Item'). Additional fields depend on the specific DocType schema.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_INSERT_MANYTool 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.
Input parameters
Array of document objects to insert. Each document must have a 'doctype' field that specifies the type of document (e.g., 'Note', 'Customer', 'Item'). Additional fields depend on the specific doctype requirements. For example, a Note requires 'title' and 'content' fields.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_DOCTYPESTool 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.
Input parameters
Fields to include in the listing. By default, only the "name" field is included. Pass a list of field names to include additional fields, for example \["name", "module"\].
SQL conditions to filter the listing. Each condition is an array of the format \[doctype, field, operator, value\]. For example, \[\["DocType", "module", "=", "Core"\]\] to filter DocTypes by module.
Starting offset for pagination. To request successive pages, pass a multiple of your limit_page_length. For example, to request the second page, pass limit_start as 20 (if limit_page_length is 20).
Number of items to return per page. By default, listings are paginated with 20 items per page.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_DOCUMENTSTool 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.
Input parameters
Fields to include in the response. By default, only the 'name' field is included. Pass a list of field names to retrieve additional fields. For example: \['name', 'country'\]
The DocType you'd like to receive. For example: Customer, Supplier, Employee, Account, Lead, Company, Sales Invoice, Purchase Invoice, Stock Entry, etc.
SQL conditions to filter the listing. Each condition is an array of the format: \[doctype, field, operator, value\]. For example: \[\['Customer', 'country', '=', 'India'\]\]
Offset for pagination. Pass a multiple of limit_page_length to request successive pages. For example, to request the second page with page length 20, pass 20.
Number of items to return per page. Default is 20.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_EMPLOYEESTool to retrieve a list of Employee records from ERPNext. Use when you need to fetch employee information with optional filtering and pagination.
Input parameters
List of fields to include in the response. By default, only the 'name' field is included. Pass field names as a list to retrieve additional fields. For example: \['name', 'employee_name', 'department', 'designation'\]
SQL conditions to filter the listing. Each condition is an array of the format \[doctype, field, operator, value\]. For example: \[\['Employee', 'status', '=', 'Active'\]\] to filter active employees only.
Starting position for pagination. To request successive pages, pass a multiple of limit_page_length. For example, to request the second page with page size 20, pass limit_start=20.
Number of records to return per page. Default is 20.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_PROJECTSTool to retrieve a list of Project records from ERPNext. Use when you need to get projects, optionally filtered and paginated.
Input parameters
Fields to include in the response. By default, only the "name" field is included. Pass a list of field names to include additional fields.
SQL conditions to filter the listing. Each condition is an array of the format: \[doctype, field, operator, value\]. For example: \[\["Project", "status", "=", "Open"\]\]
Offset for pagination. Pass a multiple of limit_page_length to request successive pages. For example, pass 20 to request the second page when limit_page_length is 20.
Number of items to return per page. Controls pagination size.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_TIMESHEETSTool 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.
Input parameters
List of fields to include in the response. By default, only the 'name' field is included. To add more fields, specify them in this list. For example: \['name', 'employee', 'total_hours', 'status'\]
SQL-style conditions to filter the listing. Each condition is an array of the format: \[doctype, field, operator, value\]. For example: \[\['Timesheet', 'status', '=', 'Submitted'\]\] to get only submitted timesheets. Multiple filters can be combined: \[\['Timesheet', 'employee', '=', 'EMP-001'\], \['Timesheet', 'status', '=', 'Draft'\]\]
Starting position for pagination. To request successive pages, pass a multiple of your limit_page_length. For example, to request the second page with page length 20, pass limit_start=20.
Number of records to return per page. Controls the page size for pagination. Default is 20 records. Maximum is 1000.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_LIST_WEBHOOKSTool to list webhook configurations in ERPNext. Use when you need to retrieve all configured webhooks or search for specific webhooks using filters.
Input parameters
List of fields to include in the response. By default, only the 'name' field is included. Pass additional fields like \['name', 'webhook_doctype', 'webhook_docevent'\] to get more data.
SQL conditions to filter the listing. Each condition is an array of the format \[doctype, field, operator, value\]. For example: \[\['Webhook', 'enabled', '=', 1\]\]
Starting index for pagination. Pass a multiple of limit_page_length to get successive pages. For example, to get the second page with page size 20, pass 20.
Number of items to return per page. By default, the API returns 20 items.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_MAKE_DELIVERY_NOTECreate 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 submission.
Input parameters
Sales Order name/ID from which to create the Delivery Note. The Sales Order must exist and be in a submitted state (docstatus=1). Example: 'SAL-ORD-2026-00002', 'SO-00123'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_MAKE_PURCHASE_ORDERCreate 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 submission.
Input parameters
Material Request name/ID from which to create the Purchase Order. The Material Request must exist and be of type 'Purchase' with submitted state (docstatus=1). Example: 'MAT-MR-2026-00001', 'MR-00123'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_MAKE_SALES_INVOICETool 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.
Input parameters
Sales Order name/ID to convert into a Sales Invoice. Must be a valid Sales Order identifier (e.g., 'SAL-ORD-2026-00001'). The Sales Order should exist in the system and be in a valid state for invoice creation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_MAKE_STOCK_ENTRYTool 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 Material Issue, include source warehouse. For Material Transfer, include both source and target warehouses.
Input parameters
Quantity of the item to be transferred, received, or issued. Must be a positive number.
Source warehouse from which the item is being transferred or issued. Required for Material Transfer and Material Issue purposes.
Target warehouse to which the item is being transferred or received. Required for Material Transfer and Material Receipt purposes.
Enumeration of stock entry purposes.
Item code for the stock entry. Must be a valid Item in the ERPNext system.
Valuation rate per unit of the item. Required for Material Receipt when the item has no valuation rate defined to avoid validation errors.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_PINGTool to check if the ERPNext/Frappe API is reachable. Use when you need to verify API connectivity or test authentication.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_RENAME_DOCTool 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.
Input parameters
If True, merge with an existing document having the new_name. If False or omitted, rename without merging.
The DocType of the document to rename (e.g., 'Customer', 'Item', 'Sales Order').
The new unique name/ID to assign to the document.
The current unique name/ID of the document to be renamed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SAVE_DOCSTool 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.
Input parameters
Document to save as a dictionary. Must include required fields: 'doctype' (the DocType name), 'name' (document ID if updating), and other relevant fields for the specific DocType. Example: {'doctype': 'ToDo', 'name': 'abc123', 'description': 'Task description', 'status': 'Open'}
Action to perform on the document: Save (create or update), Submit (submit for approval), Cancel (cancel submitted document), Update (update after submission)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SAVE_DOCUMENTTool 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.
Input parameters
Complete document object to save. Must include 'doctype' and 'name' at minimum. Should also include system fields (owner, creation, modified, modified_by, docstatus, idx) and any doctype-specific fields you want to update. Additional fields beyond the base schema are allowed and will be passed to the API.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SEARCH_GLOBALTool 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 preview, and navigation route.
Input parameters
Search query text to find across documents
Maximum number of results to return
Optional scope to narrow search to specific route/section
Starting position for pagination (0-based index)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SEARCH_LINKTool 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.
Input parameters
Search text to filter results. Can be empty string to return all results.
Custom search query function path (advanced usage)
DocType to search within (e.g., 'User', 'Customer', 'Item')
Filter conditions to apply to the search as a dictionary of field-value pairs
Number of results to return per page
Specific field to search within (if not provided, searches default fields)
Name of the link field being searched (used for context)
Document type containing the link field (used for context)
Whether to ignore user permissions when searching (default: False)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SET_VALUETool 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.
Input parameters
The document name/ID to update.
The value to set for the field. Can be string, number, or boolean.
The DocType name (e.g., 'ToDo', 'Task', 'User', 'Customer').
The field name to set (e.g., 'description', 'status').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_SUBMIT_DOCUMENTSubmit a draft document in ERPNext/Frappe to change its status from Draft to Submitted. Use for submittable DocTypes like Sales Invoice, Purchase Order, Journal Entry, etc. Document must exist in draft state (docstatus=0) before submission.
Input parameters
JSON-stringified complete document object to submit. Must include: (1) 'doctype' field specifying the document type (e.g., 'Journal Entry', 'Sales Invoice'), (2) 'name' field with the document ID, (3) all required fields for the DocType, (4) all child table records if applicable (as arrays of objects), (5) timestamp fields ('modified', 'creation') matching current server state. The document must be in draft state (docstatus=0) and the DocType must be submittable. Fetch the complete document first using GET endpoint to ensure all fields and timestamps are current.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ERPNEXT_UPDATE_DOCUMENTTool to update a specific ERPNext document. Acts like a PATCH request - only send the fields you want to change, not the whole document. Use when you need to modify specific fields of an existing document.
Input parameters
The name (ID) of the document you'd like to update. For example EMP001 (of type Employee), or 4klj4teijs (of type ToDo).
Dictionary of field names and their new values. Only include the fields you want to update - acts like a PATCH request. Field names and types must match the DocType schema.
The DocType you'd like to update. For example Customer, Supplier, Employee, Account, Lead, Company, Sales Invoice, Purchase Invoice, Stock Entry, etc.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 48 agents privately built on Nagent that already use Erpnext.
Build on Nagent
Connect Erpnext to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Erpnext, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Erpnext is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Erpnext is connected, you configure its 50 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Erpnext steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Erpnext event fires, the agent kicks off automatically.
Every Erpnext action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Erpnext ships with 50 pre-built accounting actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Erpnext together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Erpnext-based workflows tailored to your business.