Date
|
Revision
|
Description
|
Author
|
2018-11-09
|
A
|
Documents created and published
|
Vinh Nguyen
canvinh@gmail.com
|
2022-11-11
|
B1
|
Removed references related to DiCentral
|
Vinh Nguyen canvinh@gmail.com
|
2022-12-02
|
B2
|
Added
notes about cloud services in section 17.
|
Vinh Nguyen canvinh@gmail.com
|
Currently
there are many ERP and Supply Chain Management (SCM) software in the market.
One of those is SAP, which requires new comer with 2 years of experience to
operate their SAP software, i.e. over complicated.
The following system is Management of Business Operations System (MBOS)
supporting ERP, e-Commerce, Internet Retail, business management, etc.
1.
Overall system
Figure 1. Overall system architect
to show its structure.
As
shown in the diagram all modules are web pages. The SCM offers web access to
its buyers and sellers. Sale data would be saved in database, which would be
used by other departments for reports or statistics.
We
could integrate all departments’ services, because their data should be stored
in files or relational databases. The ERP system would process data in
different databases to provide reports, tasks, activities, statistics, etc.
2.
Supply Chain Management
Figure 2. The process of an SCM.
The
diagram in figure 2 showed a standard process for buying an item on a web site.
It also shows the interaction by sellers to add items or update its inventory.
The
process could be further integrated or automated if external vendors allow the
web site retailer to access its database for inventory and sale items.
3.
Web architecture to build an ERP
Figure 3. Model to offer a Data Management layer for data sources access
As
shown in the diagram, access to different databases or data sources would be
kept in the Data Management layer or library. Why?
· Each department may have used different database engines such as
Oracle, MS SQL, DB2, etc.
· Save work by customizing web pages for each customer
· This library offers clear function interface (API), so web pages
could call to retrieve or process data from different data sources.
· If systems developed with a protocol programing language, the interface
would be a dispatching interface or clear protocols.
In
addition to relational database, each department could have their own software
such as Microsoft Project to plan an activity. The owner would run a program
(if not integrated in MS Project) to extract data and store those in database
for later processing. It is like to release a project plan officially to other users.
The
ERP would have its own database to store require information that extracted
from different files. By using relational database, all web users would be
able to access services anywhere within their Intranet. By the way, access ERP
system from the outside network may expose their system to hackers.
As you can see from the diagram, this ERP system
would only require developers to customize Data Management layer for each
customer, because each of them may use different tools, databases, or data
sources.
4.
Configuration scenarios
4.1 New customer
Customer didn’t have an ERP system. We could install ERP with its
database. This is the easiest scenario.
4.2 Complete migration
Customer with an ERP likes to migrate their existing system to our ERP.
Work would be needed to transfer data from customer’s existing data sources to
our database and customizing some database fields, if needed. Web pages stay
the same.
4.3 Partial Implementation
Customer with an ERP keeps some of their system, and the rest is with our ERP. This is the most complex scenario, because the new ERP cannot write to the
customer’s existing database, but only reading to provide statistics and
reports. It could write data temporarily to its database for further processing.
The Data Management layer would read
both our database and customer databases for its tasks. Web pages stay
the same. This is like a half and half scenario.
4.4 Data Management layer
The Data
Management layer in case (b) and (c) may need to customize customer’s data name
and fields in order to display those correctly on its web pages. For example, a
statistic web page has 5 columns, but the customer only has 4 columns of data.
Developers must figure out the best field in customer database to fill in the missing
column of data. This is to avoid rewriting/redesigning web pages, if not
needed. The original design may look best with 5 columns of data.
5.
A scenario for changing shifts
A
typical scenario for manufacturing plants supporting several shifts for a day
is to allow employees asking to change working shift.
Some
employers said that allowing employees to change shifts is a nightmare.
Probably their ERP is over complicated. It’s quite simple.
5.1 Human resource system
The
web page allows HR to enter new employee information including
-
Name and address
-
Starting salary
-
Current salary (system process initially same as start salary)
-
Current shift, i.e. day, evening, or night
-
Working department
-
Start and end date
-
Requested shift change, i.e. day, evening, or night (web request)
-
Pending start date and requested department (system process)
5.2 Management Department
The Management Department also has access to the same HR database for
information about their current staff.
-
Working position of employees
-
Start and end date
-
Working hours and working days (updated by Time Report web access)
-
Pending start date (system process)
5.3 Process to change shift
There
is a web page allowing employees to “click” or request to change a shift. If
employee didn’t have access to this page, HR staff must do this for their
employee. For example, the night shift employee checked on boxes for day shift
and desired department position.
This
information is stored in HR database accessible by all managers.
5.4 Internal hiring
Manager looking for internal staff to fill vacancy
The
hiring open a hiring web page, which retrieves data from HR database for all internal
staff interested working in manager’s shift or requested position with selected
shifts.
After
reviewing candidate profile or available resume, the hiring manager would fill
a request to hire on the hiring web page to send an email to the current
manager of that employee with his name, email, phone number, proposed start
date, and a link to a transferred web
page (of course requested staff name is included). This is to ensure that
the current manager could afford losing an employee.
The
current manager could call/email the hiring manager to discuss that transferred
request.
If
the current manager agreed on the transfer, he only needed to click on an “OK”
button on the transferred web page. The system would update the manager
department and HR database with the pending start date associated with a timer.
By the new start date, system would trigger a change of start/end date and
working position for that employee in both current manager and hiring manager
database. The working department of that staff would be changed in HR database.
If
the current manager proposed another transferred date, the hiring manager would
open that transfer request to update the new start date, and submit the request
to the current manager again for confirmation.
The
hiring manager could contact the potential employee by a phone conversation about
transferred date. He only needs to submit the transferred request in system.
HR, himself, current manager and that employee would get notification by emails
as a confirmation.
If
the current manager didn’t agree, system would cancel the transferred request
by the hiring manager. The hiring manager would start process looking for
another candidate again.
Usually
salary is the same for a position transfer.
6.
Promotion process and payroll
The
manager opens a promotion web page to fill out information about the selected
employee with new salary & position as well as start date. Upon submission,
system would update the staff’s new position (Management Department database),
working department & current salary (HR database), etc. If the promotion
started at a specific date, system would trigger necessary changes at that date
by a timer.
The
payroll department only needs to query HR and Management Department databases
for working hours and salary to issue a pay check. Some company pays 1.5 hour rate
for working more than 44 hours/week OR double for working 7 days consecutively.
Each employee is supposed to fill out working
hours in each day plus project codes per week using a Time Report web page to store
data in Management Department database.
A web page connected to the database allows the manager to validate working
hours for each employee at the end of a payroll period. In a manufacturing company,
employees swiped their ID card at the entrance, thus the required information
from a Time Report database is
replaced by querying the ID scanning system.
Each
department owns a project with associated project codes (pcode) such as system design,
block design, function test, etc. for a specific product. However its staff is
allowed to ask for help from experts in other departments. Staff in other department
could charge their assistant hours with the project codes allocated for the original
department. This is to monitor expense per department as well as its efficiency
(expertise of staff per project). A statistic web page could show all data for
a project by querying multiple databases including Time Report data.
It’s
understood that experts have fixed higher hour pay rate, so asking for help
would add higher expense to the department. However experts could provide
directions or development tips within an hour that are worth a week of R&D effort
by that staff.
To
support Time Report system and its
statistics, at the beginning of development phase for a product, the product
owner would create a project overall code for each department AND each
department manager would break down that project into smaller pcodes associated
with that project overall code for their staff. These tasks would be provided
by the Time Report web pages.
7.
Business Intelligence Reports and Statistics
Since
the entire operations of a company are integrated, there could be many reports
and statistics generated. For example,
-
Sales per region
-
Vendors per region
-
Best selling items overall
-
Best selling items in term of quantity by Internet
-
Best selling items in term of quantity for in store
-
Items loaded in store’s shelf for long period of time
-
Sales per employee R&D hours
-
Gross profit margin & net profit margin
-
Gross profit and net profit margin overall
-
Overall ROI and ROI for a product
-
Overall cost of a project
-
Cost per department for a project
-
Manufacturing costs of a product
-
Sales per store
-
Internet sales
-
Etc.
With
reports and statistics, company could load or store items locally in order to
improve shipping time instead of shipping from a remote vendor location.
For international company, they could load
relevant/related items to each store depending on sales over the Internet or in
store. Thus each store in a city/country may load different items for local
shoppers.
For
international company, they could load relevant/related items to each store
depending on sales over the Internet or in store. Thus each store in a city/country
may load different items for local shoppers. This is the scenario for
international retailers such as Walmart to compete with Internet retailer as
Amazon, because Walmart could offer sales over Internet with its internal items
plus items from external vendors. The best thing about Walmart is local stores
in many cities. Buyers could return items to a local store without worrying
about packaging returned items and then sending it by post to retailers such as
Amazon.
8.
ETA of Internet sales
Before
our solution, Amazon didn’t list ETA associated to an item. Thus buyers
were upset that ordered item was shipped from China longer than a month. Buyers
couldn’t cancel that invoice, because Chinese firm marked it as shipped quickly.
Personally I bought a replacement earlier while waiting for that item shipped
from China.
The
Internet retailers should associate each sale item with an ETA, and buyers
could choose relevant shipping options such as express or regular post in order
to get all selected items arrived at the same time with lowest shipping fee.
For example, user buys a sound system with speakers shipped within USA by
regular post and amplifier shipped from Europe by express post.
Currently Amazon only allows options for buyers
to see different item’s shipping days, but it didn’t show the estimate cost per
each item. Users must accept an option in order to see total shipping cost in
the payment page. In this case users must go back to previous page to change
shipping options, if unhappy with shipping costs. Personally I did order 64GB
USB keys and a 32GB USB key ($5 less), but free shipping of the 32 GB key takes
5 days while 64GB keys needs 2 free shipping days. I changed the order to buy
all 64GB USB keys.
9.
Miscellaneous notes
I
enter this ERP and SCM fields, because I saw an article posted by DiCentral
staff that nobody could replicate Amazon. Amazon loads 50M book titles.
International
(Internet and in store) retailers could beat Amazon easily by integrating with other
book store sellers such as Chapters in Canada. It could list all Chapters’
carrying books with ETA and shipping fees for each location of buyers. Therefore
Internet retailers do not need to buy and stock all books. The same thing
applies to other sale items by external buyers, i.e. virtual warehouse by the
Internet retailers. If external vendors allowed retailers integrating its
inventory with its system, inventory would be updated automatically on retailer’s
sale web site after each sale. Of course, external vendor’s system must also update
its inventory for new produced items that listed on retailer’s web site.
I
saw another DiCentral’s article about its B2B solution; it’s not complete as it
also did some solutions for supply chain management. Therefore I suggested this
complete system for entire company’s operations.
10.
Manufacturing operations
In
order to calculate cost of goods sold, the manufacturing department also has a
system to store data. Data could be stored in Finance Department database
instead. It’s up to a design, because system could retrieve data internally.
Here are sample data
-
Cost of each raw material for a product
-
Vendor of each raw material
-
Quantity of products made
-
Hours spent by production workers on a product (time report or ID
scanner)
-
Hours spent by management (time report or ID scanner)
-
Cost of utility
-
Cost of leasing equipment
-
Insurance cost
-
Estimate remaining raw materials after production
-
Quantity of products shipped to retailers
-
Quantity of products remained in warehouse
-
Quantity of defected products (recycle-able materials or not)
-
Etc.
Based
on data stored in this department database, HR database, Finance Department
(invoices), etc. system could generate different reports or statistics, which
could be used to improve operation efficiency or ROI.
Each company
used different tools or systems, therefore the Data Management layer would hide
the complexity of a customer’s infrastructure to its web pages. Most of time
the Data Management layer would read data stored in different databases such as
ID scanner to provide data to its web pages via a standard API or protocols,
i.e. hardware design is not involved.
By the way, investors wanted a lot of metrics to
estimate market capital of a company. With manufacturing data and other data
such as sales, many metrics could be generated automatically in a report or
statistics.
Many
people have concerned with the relocation of their manufacturing plant and
complication of their current supply chain management system, e.g. relocation
due to Brexit and out of China due to trade war with USA.
The
main problem would be finding a new location for your plant, which could be in
another country, working out logistic of new plant, hiring local employees,
relocating key managers, etc.
The
SCM system integrated with this ERP is automated for many tasks including
estimation of new delivery date for parts, partial products to final assembly
plant. System could also provide UI to enter new prices of raw materials including
shipping fees to new location, labor costs, etc. Even SCM is a smart system,
but it couldn’t figure many things by itself including pricing and costs.
Let’s
say that you used to order raw materials from company ABC to ship those to
China by cargo ships. Now you’re relocating to Viet Nam.
·
You would ask your supplier of raw materials to pull up his SCM to
estimate adjusted cost including shipping method (air cargo, train, ship, and truck)
to get materials arrived in new plant on a specific time.
·
You would enter information in your SCM with details for later
report.
·
From your ERP and SCM system, it would provide you information
about time required to get parts shipped to final assembly plant, but it was
for the old location.
·
Based on new data entered from your suppliers, you would request
to ship parts a bit earlier or later to get those in Just in Time for final assembly.
·
Enter salary of employees and their information at new location in
system.
·
Terminate employment of employees at old plant.
·
Enter all leasing information.
Basically you have to re-enter data for a new
manufacturing plant, and closure of old plant. You would then be able to
generate reports and statistics as usual.
Most of time
external suppliers didn’t want to integrate their SCM to your ERP or SCM. Suppliers
usually review available transportation network to new location and pricing
schemes. Both will negotiate price and shipping methods.
For internal suppliers, system was already
integrated. Managers only need to open SCM to view shipping options and
delivery time to adjust those correctly for their new factory plant. Of course
they need to perform plant closure and plant operations as needed.
12.
Amazon issues
As mentioned
earlier, international retailers such as Walmart, BestBuy, Staples, and Costco have
advantages over Amazon, because they have in town stores for return of products
conveniently.
What could
Amazon do?
Amazon is
still regarded as Internet retailer. They also provide cloud services called
AWS. Seriously I would consider IBM, Microsoft, or Google for cloud storage,
because these companies are high tech organization. They could also offer
trouble shooting of services for applications in their servers, i.e. Windows application,
android devices, mainframe issues, etc.
Amazon chose
2 US sites as 2nd headquarters, which require 50,000 computer
engineers. Can they fill those positions? They should have picked 3 locations
positioned around the world to recruit and faster services for their AWS, e.g.
1 in Europe, 1 in Asia, and 1 in Middle East. Those countries could be Russia,
Japan or South Korea, and Israel. This would help to spread the work forces and
servers to stored data locally to avoid “privacy issues”, e.g. data storage and
services close to client locations. Those countries are competent in
technology, by the way. Amazon would choke Internet connection or bandwidth by
having main work forces in a country.
Personally
I would pick mid-size cities close to a large city to setup an engineering office.
Engineering jobs are not easy to find, and people are used to job relocation. Office
rents, staff salaries, Internet traffic and transit traffic in large cities are
very high. This is something to avoid.
Based on
data collected or statistics in their system (SCM), they could estimate how
often customers returned a product due to defect or un-satisfaction. They could
include a “return” label in a shipping package and reusable envelope or box.
The label could include a prepaid stamp, if used to ship items back to Amazon.
By doing this, they could automate the packaging process quickly. By having customer contact them by email and
arrange a return address and possible return (prepaid) label would generate
labor cost and some frustration.
By the way international retailers could also
get preferred commissions and discount prices of products as Amazon to list
those on their web sales.
13.
Distributed shipping locations
Most of
retailers allocated a warehouse to ship products sold online. This could lead
to slower shipping days and higher postage fees.
International
retailers have loaded in store items differently in each store, but they could
have a common database in head quarter’s SCM to list/associate items per store
as well as items in each warehouse.
Based on items
selection of online buyers and their locations, SCM locates the best location
to ship products, which could be a store or nearest warehouse, and dispatch a request
by message/email to the target store(s) or warehouse to fill order and ship
those. Items could be shipped from several stores or a store depending on
availability. Shipping fees would be displayed to buyers, so they could pick preferred
delivery methods with ETA.
If a vendor
preferred to clear their main warehouse first, MBOS could always display
shipping option from the main warehouse in stead of retailer’s warehouse to
buyers. If items were sold out from the main warehouse, items from nearest (to
buyer) retailer’s would be displayed.
Each store
could allocate several (special trained) customer service personnel, packaging
boxes with several sizes, different envelopes, and label with preferred carriers
printer for shipping boxes. Those personnel would take care of shipping
requested products on top of regular duties. This would save shipping costs and
shorter ETA. The only reason to train special “multi-tasking” personnel was to
save labor cost as shipping of products to on-line customers happened rarely.
14. Customer
Relationship Management (CRM)
This CRM concept
started around 2001, I was in meeting with a sale representative (probably
from Epiphany), who came to
Microcell i5 Inc. to market its products. It is all about to suggest sale items
based on current selection or browsing by users on company’s website, i.e. no
longer protected by patents.
This could
be done easily with web tools integrated with SCM to track user click and
search string on your online sales. For example, take Walmart and BestBuy
website.
·
Users enter a search or navigate through department category, e.g.
search 55 inch TV.
·
Display on the left side windows all options for TV such as curve
or vendors, so users could select to narrow down list of items shown
·
Display items (TVs) based on selection by users in the main
windows
·
If user click on an item, the top page would list the item; the
middle minimized windows would list item’s specification & reviews (user
could expand); the bottom windows would list all related items.
·
The related items could be 65 inch TV on sale, receivers on sale, speakers
on sales, HDMI cables, android TV box, apple TV, etc.
·
Users tend to buy higher end products, if those were on sales.
·
Users could add any products to his shopping cart, and paid as
described above with all options about shipping fees, so he could get the whole
system delivered on time together.
In the checkout
process, users could opt to register with his email address. Company could send
promotion emails listed major “special sales” items to attract users attention.
By clicking on one of those on sale images, it would list the selected item
with displays as described above.
15. Design
considerations
Disclosure: I
have not seen an ERP or an EDI in this industry. A friend of mine working in
this business quickly explain by throwing all acronyms and portrayed it in a
complex way. I didn’t say that I knew ERP or EDI by the way. I didn’t google
those acronyms for its meaning.
MBOS is
pretty simple. The key features would be natural flow of information or data
presented by web pages. Each department would have their set of web pages,
which access relevant parts of databases hosted by different departments.
MBOS could
implement a single large database, and shared it with all departments. Why did
I split those in my examples above? Simple, many departments didn’t want to
share all of their data with others. Therefore, Management Department, Sale Department,
Human Resource Department, etc. have been allocated different databases to
store their confidential information. Only a few data (table columns) would be
shared to compile a financial report, a management operation, or statistic
report, etc.
Perhaps most
companies are using SAP, and SAP didn’t want to open their database or its schema,
thus others could not integrate with SAP’s ERP. Otherwise it’s a simple task to
extract relevant data and process those. For example, extract sale
transactions, invoices, costs, etc. to process information.
This industry is using EDI to integrate between trading partners and ERP system. MBOS has all
information in its databases. This is a
question of trading partners open their system to install a module to extract relevant
data and combine with data in MBOS for final reports including sales and
inventory. Data passing between trading partner doesn’t have to follow EDI
standard, it could be a simple protocol as an interface. As I wrote in previous
sections, automating information flow is not a hard part, this is a question of
collaboration between trading partners.
There is a
trick to make users happy with your applications, i.e. automate their working
process. For example, CEO and COO may order a suite of software system for all
departments. All departments must tailor their work into the process provided
by that system. This may not be what they’re doing for daily tasks.
After you learnt about user’s process and daily
tasks, you only need to automate those or present relevant set of web pages,
i.e. automate the process to calculate P/E, retain earning, cost of goods sold,
profit margins by embedded modules in the Data
Management layer, which had pulled data from different databases.
In
configuration scenarios, I have considered half-&-half case, which is not
desirable to system providers. This would require a lot of work to integrate with
existing system and maintain those. If customer bought new tools, you would
need to reopen those integrated components and modify those again. The half-&-half
scenario is for cases that customers have tools that you could not replace by
your tools or too complex to develop a comparable one, e.g. MS Project
(Microsoft is in this joint venture by the way). The only solution would be
trying to read MS Project files and populate data into your database for further
processing. Systems such as PeopleSoft or SAP could be replaced by different set
of web pages in MBOS.
16. Sales Promotion
In
order to offer incentives or good sale promotion to potential customers, each
part should be listed with its effective cost, i.e. cost, transportation,
shipping, etc. in database to be accessible by sale department. For large equipment
vendors, they could offer accessories at effective cost with main equipment to
customer instead of retail price in order make a sale. For example, a car
dealer would sell rubber floor mats, winter tires, RIM, etc. in additional to
cars. Product advisors usually offer $1,000 cash in debates for customers
paying off the car in cash. However, to make the offer more attractive they
could offer free winter tires and RIMs, which is sold at $1,200 separately but
its effective cost is $1,000, instead of cash to buyers. Buyers would look up
the retail prices and thought that they have made saving of $1,200 by choosing
winter tires and RIMs.
Most
of car dealers had issues with the accounting department, i.e. recording retail
prices in database even though other departments use parts. For example, part
department would charge the sale department $1,200 for winter tires and RIMS,
thus the profit margin of a car sale may fall below a threshold for selling a
car with this option. Therefore, salesman could only offer $1,000 cash rebate
in this case.
In
the end, recorded revenue and profit by either department would go to the same
company. The part department should charge its winter tires and RIM sold to
sale department at effective cost, and note “for a car sale”. Records
of that part and car sale could be linked together to avoid cases of selling
parts at effective cost to a third party. They could order
a new set of tires and RIM for inventory at any time. 17. MBOS and cloud services
As shown in figure 1, MBOS system is hosted in house of a company as
it housed sensitive information about business such as sales, finance,
customers, etc.
The cloud could be a link holder to redirect clients to the main
system hosted outside of the cloud.
We don’t want to load both of customer data and software in a
system, where it could be taken by competitors.
I haven't worked on any ERP system or seen one. According to a web definition, ERP is only for human resource planning. This ERP system is beyond that concept. This system provides a complete system to manage operations of a company. You could say that it included BI stuff, too.
ReplyDeletePerhaps, this complete system should be called Management of Business (Operations) System (MBS). This is not only an ERP system.
ReplyDelete