Accord Erp Custom Field
ERPNext custom field module for structured communication with external bridge services.
- Author: accord-erp-automation
- Repository: https://github.com/accord-erp-automation/accord_erp_custom_field
- GitHub stars: 3
- Forks: 0
- License: NOASSERTION
- Category: Integrations
- Maintenance: Minimally Maintained
Install Accord Erp Custom Field
bench get-app https://github.com/accord-erp-automation/accord_erp_custom_field
Tags
- accord-erp
- custom-fields
- erpnext
- frappe-framework
- integration
Add the Frappe Gems badge to your README
Maintain Accord Erp Custom Field? Paste this into your README:
[](https://frappegems.com/gems/apps/accord-erp-automation/accord_erp_custom_field)
About Accord Erp Custom Field
Accord ERP Custom Field
Accord ERP Custom Field is the ERPNext-side schema companion for the Accord mobile workflow. It is a small Frappe app that keeps the Delivery Note field structure stable so that accord_mobile_server can safely translate mobile actions into ERP documents without depending on ERPNext core changes.
System Topology
graph LR
A[accord_mobile] --> B[accord_mobile_server]
B --> C[ERPNext]
D[accord_erp_custom_field] --> C
B --> D
The practical execution chain is:
accord_mobile -> accord_mobile_server -> ERPNext <- accord_erp_custom_field
Repository Role
This repository owns the ERP schema layer for the Accord workflow.
It is responsible for:
- defining and maintaining workflow-related custom fields on
Delivery Note - making the visible UI status field available on the ERP form
- preserving hidden workflow fields for backend state handling
- backfilling existing records during migrate
- keeping the ERP-side contract stable for the mobile backend
It does not own mobile screens. It does not own request routing. It does not own push notification logic.
App Identity
The Git repository is named accord_erp_custom_field.
The Git repository, Frappe app, and Python package name are all accord_erp_custom_field.
That alignment keeps the bench install name, import path, and repository identity consistent.
Why This Repo Exists
accord_mobile_server depends on a specific Delivery Note data model.
That model requires the following fields:
accord_flow_stateaccord_customer_stateaccord_customer_reasonaccord_delivery_actoraccord_status_sectionaccord_ui_status
Keeping those fields in a dedicated ERP app is preferable to editing ERPNext core. This keeps upgrade risk lower and makes the business contract explicit.
Managed Delivery Note Fields
Internal workflow fields
accord_flow_stateaccord_customer_stateaccord_customer_reasonaccord_delivery_actor
UI scaffolding field
accord_status_section
Visible status field
accord_ui_status
Expected intent:
- internal fields remain hidden
accord_ui_statusremains visible and read-onlyaccord_ui_statusis placed underDetailsafterposting_time
Expected accord_ui_status values:
pendingconfirmrejected
Behavioral Contract
The ERP-side contract is simple and strict:
- customer confirmation must not create a return document
- customer rejection must eventually result in a real ERP return flow
- workflow comments are audit history, not business truth
- business truth lives in ERP fields and ERP documents
This repository only guarantees the field layer. The mobile backend is responsible for generating the actual return document on reject.
Hooks And Migration
Relevant files:
accord_erp_custom_field/hooks.pyaccord_erp_custom_field/install.pyaccord_erp_custom_field/state/delivery_note_state.py
Hook behavior:
after_installensures the fields existafter_migratereasserts the expected layout and backfills status values
Install And Update
Typical bench workflow:
bench --site install-app accord_erp_custom_field
bench --site migrate
If the app is already installed, migration is still important because it revalidates field layout and keeps accord_ui_status in sync for existing documents.
Verification
After installation or migration, verify:
- the custom fields exist on
Delivery Note accord_ui_statusis visible and read-only- hidden fields are not exposed as user-facing controls
- the mobile backend can read the fields without fallback failures
Relationship To The Other Repositories
- Mobile client: accord_mobile
- Mobile backend: accordmobileserver
The mobile backend uses this repo as the preferred ERP-side schema anchor. The mobile client depends on that backend contract indirectly.
File Map
Important files:
accord_erp_custom_field/hooks.pyaccord_erp_custom_field/install.pyaccord_erp_custom_field/state/delivery_note_state.pyaccord_erp_custom_field/modules.txtpyproject.toml
Operational Notes
- Keep this app small and schema-focused
- Prefer field management here over editing ERPNext core
- If mobile workflow semantics change, update this README together with the backend README
Related Integrations apps for Frappe & ERPNext
- Insights — Open Source Business Intelligence Tool
- Raven — Simple, open source team messaging platform
- Frappe Whatsapp — WhatsApp cloud integration for frappe
- Frappe Assistant Core — Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model
- Biometric Attendance Sync Tool — A simple tool for syncing Biometric Attendance data with your ERPNext server
- Frappe React Sdk — React hooks for Frappe
- Frappe Js Sdk — TypeScript/JavaScript library for Frappe REST API
- Mcp — Frappe MCP allows Frappe apps to function as MCP servers