Coder Social home page Coder Social logo

erpnext-frepple-enhanced-integration-version-1.3's Introduction

ERPNext-Frepple Enhanced Integration

GitHub Releases Downloads Issues GitHub pull requests

Frepple Custom App built based on Frepple Advanced Planning and Scheduling software. It was built to integrate with ERPNext, act as a connector (middle station) that allow bidirectional data transfer between Frepple software and ERPNext. It is also used to map the data type between Frepple software and ERPNext since both software do not use the same data structure and format. Refer to the Wiki section in this repository to view the data mapping in this custom app.

The App Contains

  1. All necessary Frepple software menus for production planning process.

Frepple_doctype_pages

  1. Import data from ERPNext to Frepple custom app with few clicks.

Data_fetching_page

  1. Export data from Frepple custom app to Frepple software with few clicks.

Data_export_page

  1. Generate the plan in Frepple custom app itself, with configurable constraints.

Run_plan_page

  1. Import manufacturing orders, purchase orders and distribution orders from Frepple software to ERPNext.

Result_page

  1. Embed Frepple page into ERPNext user interface using iframe. Access the frepple screens through Frepple Custom Page.

Frepple custom page

  1. Generate work orders and purchase orders in ERPNext based on the result from Frepple.

Frepple manufacturing order

  1. Delete all or selected data from Frepple Custom App with few clicks. This enable an easy way to import new plan elements and results.

Frepple empty data

  1. Sync the status of work orders and purchase orders between ERPNext and Frepple.

Installation

Prerequisite

  1. Installed Frepple software and successfully launched it on the localhost. Refer to this document for installing Frepple software.
  2. Installed ERPNext and successfully launched it on the localhost.

Important Note:

There are three main conditions when we come to Frepple custom app installation. These conditions are described as follow:

  • If you still have not installed ERPNext in your PC:
    • Skip the below installation and refer to this github repository to install ERPNext with Frepple integration app at once.
  • If you already have installed ERPNext which has the old version of ERPNext-Frepple integration, you will need to:
  • If you already have a running instance of ERPNext that does not have the Frepple integrated app, you will need to:

I. Update ERPNext files

This is an important step where some of ERPNext files must be updated to accumodate the new version of Frepple custom app. To uodate these files, follow the instructions below:

  1. Create a new folder.

  2. Open a Powershell terminal, navigate to the newly created folder.

  3. Clone this repo:

    git clone https://github.com/msf4-0/ERPNext-Update-Files.git

  4. Navigate to the cloned folder:

    cd ERPNext-Update-Files

  5. Open the following text file Execution_Commands.txt and run all the commands one-by-one to ensure all files are copied into their destination.

  6. After all files have been copied, login to <project_name>-erpnext-python-1 container. Use the following command to login into this container as a root user:

    docker exec -it --user root <project_name>-erpnext-python-1 /bin/bash

  • For example, docker exec -it --user root project1-erpnext-python-1 /bin/bash.
  1. Once you login in into <project_name>-erpnext-python-1 container, by default, you will be in ~:/home/frappe/frappe-bench/sites directory. Navigate out to ~:/home/frappe/frappe-bench directory by typing:

    cd ...

  2. Update the new files into the system by running this command:

    bench --site <site_name> migrate

  • For example, bench --site custom-erpnext-nginx migrate.
  1. After the process Compiling Python files... is finished, you will be back in the ~:/home/frappe/frappe-bench directory. This means the bench migrate process is completed. To exit from <project_name>-erpnext-python-1 container run:

    exit

II. Install the new Frepple custom app into ERPNext

  1. Navigate to the bench directory by loging to <project_name>-erpnext-python-1 container. Run the folloing command:

    docker exec -it --user root <project_name>-erpnext-python-1 /bin/bash

  • For example, docker exec -it --user root project1-erpnext-python-1 /bin/bash
  1. By default, you will be in ~:/home/frappe/frappe-bench/sites directory. Navigate out to ~:/home/frappe/frappe-bench directory by typing:

    cd ..

  2. Run the following command:

    bench get-app frepple https://github.com/msf4-0/ERPNext-Frepple-Enhanced-Integration-Version-1.3.git

  3. Install the app onto your site.

    bench --site <your.site.name> install-app frepple

  • For example, bench --site custom-erpnext-nginx install-app frepple
  1. Run bench start:

    bench start

  2. Install the backup from the link here.

  3. Open a Powershell terminal at the location of the downloaded backup.

  4. Run the following command:

    docker cp 20231127_141620-mysite_localhost-database.sql.gz <project_name>-erpnext-python-1:/home/frappe/frappe-bench/sites/custom-erpnext-nginx/private/backups

  5. Once the process is completed, run the following command:

    docker exec -it <project_name>-erpnext-python-1 bash

  6. By default, you will be in ~:/home/frappe/frappe-bench/sites directory. Navigate out to ~:/home/frappe/frappe-bench directory by typing:

    cd ..

  7. Unzip the database file by running the following command:

    gunzip sites/custom-erpnext-nginx/private/backups/20231127_141620-mysite_localhost-database.sql.gz

  8. After the file is successfully unzipped, run the following command:

    bench --site custom-erpnext-nginx restore sites/custom-erpnext-nginx/private/backups/20231127_141620-mysite_localhost-database.sql

  • Default password for MySQL root password is admin
  1. Upon completion, refresh ERPNext.

III. Update Frepple custom app

The following steps are only applicable if you have installed ERPNext with the previous Frepple integrated app. Please skip this section if you already done both, I. Update ERPNext files and II. Install the new Frepple custom app into ERPNext.

  1. Create a new folder.

  2. Open a Powershell terminal, navigate to the newly created folder.

  3. Clone this repo:

    git clone https://github.com/msf4-0/ERPNext-Frepple-Enhanced-Integration.git

  4. Navigate to the cloned folder:

    cd ERPNext-Frepple-Enhanced-Integration

  5. Open the following text file Frepple_Execution_Commands.txt and run the two commands one-by-one to ensure both files are copied into their destination.

  6. Login to <project_name>-erpnext-python-1 container. Use the following command to login into this container as a root user:

    docker exec -it --user root <project_name>-erpnext-python-1 /bin/bash

  • For example, docker exec -it --user root project1-erpnext-python-1 /bin/bash.
  1. Once you login in into <project_name>-erpnext-python-1 container, by default, you will be in ~:/home/frappe/frappe-bench/sites directory. Navigate out to ~:/home/frappe/frappe-bench directory by typing:

    cd ...

  2. Update the new app into the system by running this command:

    bench --site <site_name> migrate

  • For example, bench --site custom-erpnext-nginx migrate.
  1. After the process Compiling Python files... is finished, you will be back in the ~:/home/frappe/frappe-bench directory. This means the bench migrate process is completed. To exit from <project_name>-erpnext-python-1 container run:

    exit

Frepple settings configuration

Before starting using Frepple custom app, you are required to set up certain information to enable the integration between ERPNext and Frepple. Go to Settings > Frepple Settings.

  • Authentication header:

The Bearer web token key that required for REST API request. The key can be found in Frepple Software, under Help > REST API Help.

  • Username and password:

Username and password of superuser in Frepple. Default username and password are both “admin”. The information can also be found in Frepple Software, under Admin > User.

  • URL:

Web url that the user host the Frepple. The url is used for REST API request Get the wireless router IP address. You can find the Wireless LAN adapter Wi-Fi IPv4 address using ipconfig (Window OS) or ifconfig (Linux OS) command in the command prompt. E.g. http://192.168.112.1:5000.

  • Frepple Integration:

Checkbox. Tick it to turn on the automatic status syncing for sales order, work order, purchase order status and bin (stock) amount update.

  • Secret key:

Key is required for iframe embedded to render the Frepple page. Can be found under etc/frepple/djangosettings.py file.

Important Note

Frepple custom app does not perform any data validation when the data are exported to Frepple software. The user must have basic knowledge of Frepple to ensure the data provided are sufficient to generate the plan in Frepple. A quick debug step is to verify the supply path matches the product structure. Remember to set up item supplier for the raw material.

License

This software is licensed under the GNU GPLv3 LICENSE © Selangor Human Resource Development Centre. 2021. All Rights Reserved.

erpnext-frepple-enhanced-integration-version-1.3's People

Contributors

seejayyy avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.