Skip to content

ERPNEXT-PAKISTAN/Order-Tracking-Report

Repository files navigation

Order-Tracking-Report

This app packages Sales Order customizations so they can be moved to another server.

Backend design:

  • Custom Fields (Sales Order) including custom_detail_status and custom_po_item
  • Client logic moved to app files:
    • order_tracking_report/public/js/sales_order.js (detail status + SO actions)
    • order_tracking_report/public/js/data_entry/*.js (Data Entry on Sales Order, Sales Invoice, Purchase Order, Purchase Receipt, Purchase Invoice, Stock Entry)
  • Property Setters (Sales Order)
  • API logic moved to app file: order_tracking_report/api.py
  • Detail status backend engine: order_tracking_report/so_detail_status_backend.py
  • Legacy Client Script and Server Script records are auto-removed by:
    • order_tracking_report.cleanup.remove_legacy_ui_scripts (hook: after_migrate)
  • Purchase Order -> Item PO status sync is now app doc_events:
    • order_tracking_report.po_sync.sync_item_po_status_for_purchase_order
    • old Status update Creat PO from SO_po_tab* server scripts are removed on migrate
  • Child table dependency is auto-ensured by:
    • order_tracking_report.bootstrap.ensure_item_po_setup (creates Item PO Doctype/fields if missing)

Included fixtures:

  • Custom Field
  • Property Setter
  • Print Format

Installation

Install on new server/site:

cd /home/frappe/frappe-bench
bench get-app --branch main order_tracking_report https://github.com/ERPNEXT-PAKISTAN/Order-Tracking-Report.git
bench --site site1.local install-app order_tracking_report
bench --site site1.local migrate
bench --site site1.local clear-cache
bench restart

If your server already has old UI scripts/fields, install is still safe:

  • Existing fields with same name are updated by fixtures.
  • Legacy app script records are removed on migrate (exact known names only).

Update on Server (already installed)

If git pull origin main fails with: fatal: 'origin' does not appear to be a git repository then app folder is not linked to remote yet. Run one-time setup:

cd /home/frappe/frappe-bench/apps/order_tracking_report
git init
git remote add origin https://github.com/ERPNEXT-PAKISTAN/Order-Tracking-Report.git
git fetch origin
git checkout -B main origin/main

Regular update command:

cd /home/frappe/frappe-bench/apps/order_tracking_report
git pull origin main
cd /home/frappe/frappe-bench
bench --site site1.local migrate
bench --site site1.local clear-cache
bench restart

Important:

  • Use /home/frappe/frappe-bench for all commands on this setup.

Clean Server Update Checklist

Use this when updating the app on another server and you want Sales Order changes to load cleanly.

  1. Go to the app folder:
cd /home/frappe/frappe-bench/apps/order_tracking_report
  1. Pull the latest code:
git pull origin main
  1. Go back to bench folder:
cd /home/frappe/frappe-bench
  1. Run migrate on the target site:
bench --site site1.local migrate
  1. Clear cache:
bench --site site1.local clear-cache
  1. Restart services:
bench restart
  1. Verify in ERPNext:
  • Open Sales Order
  • Confirm custom fields are visible
  • Confirm Sales Order custom JS is loading correctly
  • Confirm default ERPNext buttons like Create and Update Items still show
  • Confirm report and related Sales Order actions work as expected

If the server is installing this app for the first time, use the Installation section above instead of only this checklist.

Other Site Example (site2.local)

cd /home/frappe/frappe-bench/apps/order_tracking_report
git pull origin main
cd /home/frappe/frappe-bench
bench --site site2.local migrate
bench --site site2.local clear-cache
bench restart

If this app folder is not linked to GitHub yet:

cd /home/frappe/frappe-bench/apps/order_tracking_report
git init
git remote add origin https://github.com/ERPNEXT-PAKISTAN/Order-Tracking-Report.git
git fetch origin
git checkout -B main origin/main

Folder Schema (3 Sections)

  1. Core Backend
apps/order_tracking_report/
  order_tracking_report/
    hooks.py
    api.py
    bootstrap.py
    so_detail_status_backend.py
    cleanup.py
  1. Frontend JS (inside app)
apps/order_tracking_report/
  order_tracking_report/public/js/
    sales_order.js
    data_entry/
      sales_order_data_entry.js
      sales_invoice_data_entry.js
      purchase_order_data_entry.js
      purchase_receipt_data_entry.js
      purchase_invoice_data_entry.js
      stock_entry_data_entry.js
  1. Fixtures and Reports
apps/order_tracking_report/
  order_tracking_report/fixtures/
    custom_field.json
    property_setter.json
    print_format.json
  order_tracking_report/order_tracking_report/report/
    purchase_order_updated_status/
      purchase_order_updated_status.py
      purchase_order_updated_status.js
      purchase_order_updated_status.json

Add Images in Markdown

Store screenshots in:

docs/images/

Example markdown syntax:

![Dashboard](docs/images/dashboard.png)

With custom size (HTML):

<img src="docs/images/dashboard.png" alt="Dashboard" width="900">

License

mit

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors