Frappe Core: Shared Client Foundation
A Lab note for the shared Frappe/ERPNext client layer that is being developed beneath the n8n2erpnext module nodes.
Why this belongs in the Lab
Frappe Core is not a finished business module. It is the shared foundation being developed underneath the n8n2erpnext node packages, so it belongs in Lab while its boundaries and reusable helpers continue to settle.
What it is intended to provide
- Shared ERPNext/Frappe credentials and REST client behavior.
- API v1 and v2 document adapters.
- DocType encoding, CRUD, pagination, filters, and field selection.
- Submit, cancel, and amend helpers with the correct Frappe method payloads.
- Child table and file helpers.
- Normalized errors and response shapes.
The design rule
Business modules should focus on their own ERPNext domains. Shared transport, document, authentication, and error behavior should not be copied into HRMS, Accounting, Buying, Selling, and Stock independently.
The important submit/cancel distinction is explicit: frappe.client.submit receives a full document under { doc }, while frappe.client.cancel receives document identity under { doctype, name } after the latest document has been fetched.
Current status
This is an in-progress foundation layer, not a claim that every planned helper is complete or already published as an independent production package. The module nodes currently carry the live-tested business capabilities; Frappe Core is the place where the next shared abstraction is researched and stabilized.
Technical reference
Repository: n8n-nodes-frappe-core. Ecosystem contract: ECOSYSTEM_LOG.md.