Sau khoảng 8 tháng làm ERPNext mình quyết định tổng kết lại 1 số cái đã làm được bằng ERPNext.
Phần đầu tiên giới thiệu về cơ bản ERPNext.
Thông thường ở tất cả các công ty đều sẽ có hệ thống quản lý: Kế toán tài chính, bán hàng, đơn hàng, nhân viên, lương, thuế, sản phẩm, quản lý dự án … Từng phần trong đó đều rất phức tạp, rất mất thời gian phát triển và hoàn thiện cho từng loại công ty có đặc thù khác nhau. Nắm được nhu cầu của người dùng (công ty) nên các công ty lớn bắt đầu tạo nên hệ thống gọi chung là ERP (Enterprise Resource Planning Systems) - Quản lý, lên kế hoạch sử dụng tài nguyên công ty.
Phần mềm ERP có những điểm mạnh phù hợp cho doanh nghiệp như tối ưu hóa hoạt động từng bộ phận, quy trình để tiết kiệm chi phí quản lý từ đó gia tăng lợi nhuận.
Hiện trên thị trường có rất nhiều phần mềm ERP, mã nguồn mở, ra đời từ lâu và mang lại nhiều thành công như ERP Odoo hay còn gọi là OpenERP, SAP (System Application Programing) công ty hàng đầu về triển khai, phát triển ERP, ERPNext
So sánh ERPNext với 2 đối thủ nặng kí vừa được gọi tên.
Bài viết sẽ tập trung vào ERPNext, được phát triển bởi Frappé Technologies Pvt. Ltd, ra đời phiên bản 1.0 từ 2010, hiện nay bản phát hành mới nhất là ERPNext ver 12, và đang beta bản ERPNext ver 13.
Yêu cầu với Server là phải có ram tối thiếu 4G để cài đặt,
Phần mềm ERPNext có 2 phần frappe framework Frappe và phần cấu hình dữ liệu ERPNext , trên trang chủ Erpnext có phần hướng dẫn cài đặt theo 3 cách:
1. Docker Installation
2. Easy Install Script
3. Manual Installation
Với việc cài đặt Manual sẽ giúp bạn hiểu hơn về ErpNext, về cơ bản trang web sẽ chạy sau khi cài xong Frappe framework, sau đó bạn sẽ git clone app erpnext về máy rồi install nó vào site.
Mỗi site là 1 phần riêng biệt và có thể cài những app khác nhau vào site, mỗi site có 1 database riêng biệt, có thể gắn với những Domain, cấu hình ở những app khác nhau sẽ dẫn đến Site khác nhau cho nhiều doanh nghiệp, nhưng đều này không khuyến khích bạn tạo Trang web của tất cả các khách hàng trên cùng 1 Server.
Cần đặt ErpNext ở chế độ phát triển (Development) để có thể vào sâu nhiều phần trong cấu hình, thay đổi chức năng hệ thống, sau khi hoàn thiện sản phẩm thì chuyển sang chế độ (Production) để chạy thật.
Ngôn ngữ viết nên ERPNext là Python ở Backend, Javascript(VueJS) ở Frontend, mặc định Database là MariaDB, ngoài ra có lựa chọn dùng PostgreSQL thì mình chưa thử.
Developer Cheatsheet trong Frappe Framework
Giao diện sau khi cài đặt và đăng nhập.
Phần quản lý dữ liệu lưu vào Database là các Doctype:
Ngoài ra Doctype, còn có kiểu dữ liệu WebForm có thể cho người dùng không cần đăng nhập hoặc đăng nhập để sử dụng nhập dữ liệu và lưu trữ vào doctype sau đó.
Kiểu dữ liệu Page, thiết kế giao diện 1 trang cũng bằng các field tùy ý theo nhu cầu người dùng, trang này cũng không trực tiếp lưu dữ liệu qua Database mà lưu dữ liệu sang Doctype.
Kết cấu của mỗi doctype, webform hay page đều gồm các file JSON để lưu trữ cấu hình các field, file javascript chứ các lệnh, trigger để thao tác giữa các field hay người dùng thao tác, file python dùng để tạo các function có sẵn, dùng khi người dùng click vào giao diện hoặc các chức năng liên kết (CRUD) với Database.
Ngoài ra còn có thể đăng nhập ERPNext trên thiết bị di động bằng cách tải App ERPNext sau đó nhập link trang web của bạn và đăng nhập, rất hữu ích.

