Wednesday, February 25, 2009

ERP Requirement Gathering Tips 2nd Installment - Sales

The following requirements are broadly applicable to the Sales Order Processing function in most businesses NOT just manufacturers & distributors and could be listed under the SALES sheet/tab: sheet:

1. In Sales Order Enter, when adding an Order, provide the ability to enter a partial Customer's Name and filter on it rather than requiring the entry of a Customer's ID:

a. Provide for optional adding of a Customer ID "On-The-Fly".

b. Provide for optional adding of a Part # "On-The-Fly (this is critical in an Engineer-To-Order or Job Shop environment).

2. Provide the ability to Copy a Sales Order from:

a. A Quote.

b. A Sales Order

3. Provide a set Copied From set of data fields

a. Copied from Code (Quote or Sales Order)

b. From (Quote, Order) number

c. Copy Date & Time.

4. Provide for a Bill-To and Ship-To per Line Item on both Blanket & Regular Sales Orders:

a. This allows easy accommodation for large Customers that purchase on a centralized basis for multiple locations within their company.

5. Provide Blanket Sales Orders which have scheduled Releases working off a total quantity ordered with a Contractual End Date:

a. Provide for multiple Part #'s on a Blanket Order with multiple Releases per Part #/Line Item.

b. The Unit Price on the Line item applies to all of its Releases.

c. If a shipment quantity is entered against an open Release Date and exceeds its open balance, apply the excess to the next Release, in order to minimize inadvertent partially shipped Releases.

6. Provide for Regular Sales Orders which can have multiple Lines each with a different Part #, Prices, Quantities, Requested Dates and Ship-To Addresses.

7. Provide manufactures and distributors, that use standard Inventory Part #'s for Sales Order Line Items, a Customer Part Cross-Reference function which would allow the entery of a Customer's Part # from their Purchase Order or EDI transmission and translate it to a standard Inventory Part #:

a. Customer specific quantity price breaks could be stored here for use at Order Entry time.

8. Provide user determined Shipping Rules by Sales Order, defaulting from the Customer Master:

a. Number of days allowable Early or Late Shipment.

b. Allowable Over or Under Shipment %

c. When the allowable % is reached the Shipping program will close the Line Item on Regular Orders or the Releases on a Blanket Order

d. When "Ship Exact" is chosen, over shipment is NOT allowed.

9. Provide for Shipping Bills of Material, so that a Part # representing a set of Parts can be entered on the Sales Order Line Item and when the Line Item is shipped all of its component Parts are relieved from Inventory:

a. The Pick List for a Shipping Bill of Material Part # Line Item would list the Component Part #'s with extended quantities for each:

1) If a Component Part # is used three times in the Shipping Bill of Material and a quantity of 10 is Ordered, then a Pick Quantity of 30 would be listed for the Component.

10. Provide bar-coded Sales Order Pick Lists and Packing Lists to minimize keyboard entry for Picking and Shipping.

11. Provide user controlled format of bar-coded Packing Labels by Customer Ship-To.

12. Provide an interface with the major carriers (UPS, Federal Express, etc.) which would update the Tracking Number and Freight Charges into the Sales Order for Invoicing and Customer Service needs.

13. Provide for Inter-Plant Orders from other Facilities within the company:

a. A Facility could be a Factory, Warehouse, Sales Office or Sales Depot.

14. Provide for CTP (Capable-To-Promise) for a Sales Order Line Item that has a Bill of Material and a Routing:

a. Capacity and inventory at each level of a multi-level Part must be taken into account in order to provide a valid Start date for the lowest level component in the order to met a given Ship Date at the Finished Good level - Purchased Part lead-time must be taken into account.

15 . Provide the typical Sales Reports - Order Bookings, Shipping Register, Shipments To Be Invoiced, Sales Analysis.

16. Provide a "soft" edit/warning using the Part-Customer Reference on a Part, when a different Customer orders it.

17. Provide for the linking of a Sales Order Line/Release to an existing Job or Purchase Order for the same Part as the Line Item, but a Job can ONLY be linked to one Sales Order Line/Release at a time.

18. Provide for Notes at the Order, Line Item and Release levels - see Req # 9 in IT Requirements.

19. Provide dropdown lists for Salesman (defaulting from Customer Ship-To) and Order Taker.

20. Provide full featured Customer Master File/Table:

a. Automatic Customer Number creation - next available.

b. Customer Name - allow for long multi-line names - 40 to 50 haractersd per line.

c. Address Line (1,2 & 3), City, State/Prov, Zip/Postal Code, Country, EU Code.

d. Order Contact Name, Title, Phone, Fax, EDI, E-mail.

e. Billing Contact Name, Title, Phone, Fax, EDI, E-mail.

f. Sales Person, Region & Territory

g. Customer Corporate HQ ID (for reporting and credit roll-up), HQ Invoicing (Y/N), Use HQ Credit Limit (Y/N). The Customer Corporate HQ must also have a Customer record.

h. Language, Currency, Customer Type (user defined), SIC, D&B, Bank Code (A/R payment), Customer's Bank Code

i. Credit Limit, Available Credit (Credit Linit - Unshipped Orders - Open Invoices)

j. Balance/Cash Application Method (Open Item, Balance Forward)

k. Payment Type (Check, Draft, Wire, Credit Card, etc.)

l. Credit Hold Reason Code and Date

m. Payment terms

n. Statement Frequency

o. Letter of Credit Required

p. Finance Charge (Y/N)

q. Invoice Frequency (Daily, Weekly, Monthly, etc.)

r. Invoice Type (Individual, By Purchase Order, Consolidated).

s. E-mail Invoices (Y/N)

t. Tax ID

u. Sales (Month-To-Date, Year-To-Date, Last Year)

v. Discounts Allowed (YTD, Last Year)

w. Last (Invoice #, Invoice Date, Payment Date, Finance Charge Date)

x. Average # Days Outstanding

y. Largest # Days Outstanding

z. Last Days Outstanding

a1. Largest Balance Outstanding

b1. Average Balance Outstanding

c1. # Of Periods Averaged

d1. Last Amount Outstanding

e1. Number of days allowable Early or Late Shipment.

f1. Allowable Over or Under Shipment %

f2. Sales Tax Exemption License

21. Provide full featured Customer Ship-To File/Table:

a. Automatic Customer Ship-To Number.

c. Address Line (1,2 & 3), City, State/Prov, Zip Code, Country, EU Code

d. Shipping Contact Name, Title, Phone, Fax, EDI, E-mail.

e. Sales Person, Region & Territory

f. Ship Via

g. Tax ID

h. Language, Currency

i. Sales Tax Exemption License

22. Provide the ability to HARD allocate available inventory for specific Sales Orders at the specific Lot # & Serial # level. Allocation to be relieved by Shipments. These HARD allocations are to be detail pegged to the Sales Order/Line/Release and viewable:

a. Hard allocation applies to both Raw Materials and Finished Goods.

1) This prevents the stealing of Inventory from one Salesman's Order to another by virtue of the second Orders shipping sooner than the first.

23. Provide the ability to search the Raw Material Lots for specific combinations of Lot Certification Data (Chemical Properties. Physical Properties, Specifications, Origin)

24. Provide for the Print Sales Order Acknowledgement program to prompt the User to:

a. E-mail the Acknowledgement, if the Customer has an e-mail address. b. Fax the Acknowledgement, if the Customer has a Fax number. c. Print the Acknowledgement by default.

25. Provide a Picking Schedule Report, based on a Sales Order's Due Date and either hard allocation or adequate on-hand inventory for the Line Item's/Release's Part:

a. It would be highly desirable, if this report could generate a list of Sales Order Line Items/Releases to drive the Pick List Print program.

b. The Pick List Print program should provide a barcode option for picking the stock.

c. The Pick List Report should provide Lots & Locations to "pick from".

d. A Picking Transaction would move the quantity Picked from a specified Lot & Location to a Special Location (Waiting to Ship) which could only be releived by Shipments against those Sales Order Line Items/Releases that have been Picked but not Shipped.

26. Provide an Orders Ready To Ship Report, based on Sales Order Line Items/Releases that are "picked but un-shipped":

a. This report would print in Sales Order Line/Release sequence.

b. The optional barcode would represent the Sales Order Line/Release to be shipped, as well as, the Lot # Picked - could be used to drive the Shipping program.

27. The Shipping program would automatically print/generate the Packing Slips with unique Pack Slip #:

a. The Pack Slip Line Item would show the Lot # that was Picked & Shipped.

28. Provide for on-line Credit Card validation as the Sales Order is being entered, if the Payment Type is Credit Card.

29. Provide an all purpose Customer Inquiry driven by entering a Customer ID or a partial Customer Name match with the following display options:

a. Sales Orders

b. Sales Order Lines with Cross-Referenced Jobs

c. Shipment Detail

c. Estimates

d. Estimate lines

f. Ship-To's

g. Invoices

30. Double click on a display line and you are linked to the normal screen/form.

31. Provide for "over-the-counter" Sales.

32. Provide for an Internet Store (E-Commerce B2B & B2C).

32. Provide for full RMA processing and tracking

Tuesday, February 3, 2009

ERP Requirement Gathering Tips 1st Installment

Using the previously discussed Requirements Matrix, setup a sheet for each function/department of a manufacturing company:
  1. Sales
  2. Customer Service
  3. Service & Spare Parts
  4. Marketing
  5. Engineering
  6. Quality Assurance
  7. Purchasing
  8. Planning
  9. Scheduling
  10. Accounts Payable
  11. Accounts Receivable
  12. General Ledger
  13. Plant Maintenance
  14. Human Resources
  15. Information Technology

The following requirements are broadly applicable to most businesses NOT just manufacturers and could be listed under the IT sheet or a General feature and functionality sheet:

  1. Must use an established RDBMS (Oracle, SQL, etc) with a controllable audit trail file and transaction delete capability for all files/tables.
  2. Provide a complete database Schema and database relationship/star map.
  3. Provide user oriented on-line query Wizard (display & hard copy) with file join capability and no hidden data fields or files. Temporary files are excluded.
  4. A Query/Report Wizard is highly desirable.
  5. User access (by screen form & field) security must be easily adjustable, but tight.
  6. Different classes of users are highly desirable for efficiency in administering security, when several people need the same permissions.
  7. The ability to assign access to a Group of Users is highly desirable.
  8. Must be able to add user defined fields with maintainable dropdown list of choices
  9. Must be written in current vintage programming languages.
  10. Microsoft's Dot Net is highly desirable.
  11. Virtually all transactions and database records (table rows) must record the User, Date and Time Stamp that they were added and last edited/changed. This can sometimes serve as adequate tractability of “who did what last”.
  12. If your company can afford the disk space and processing overhead of full journaling, this is the best answer to “who did what last” and fast database recovery.
  13. Notes, Remarks and Memos throughout the system must be variable length paragraphs. Notes should be attached files of many types (CAD, Word, Excel, etc.) in addition to text.
  14. Spell Check capabilities for Descriptions, Notes, Remarks and Memos is highly desirable. Must have the ability to export any file or report to Excel and MS Access or as a comma delimited file.
  15. It is highly desirable for the user to be able to switch form the standard screen form to a grid style screen in which file maintenance, filtered retrieval of data and mass updates by column can be done.
  16. Users should be able to retrieve data by filtering on one or more fields on any screen form.
  17. There should be no case sensitivity when entering record keys or filtering on data fields for retrieval.
  18. Full Boolean logic should be available for filtering (<,>,<>, null, =) All cost, price and numeric database fields and transactions should have, at least, six decimal places and eleven whole digits.
  19. Permit the users to change their password at anytime.
  20. Permit keyboard alternatives for Tool Bar functions (copy, cut, paste, screen print, etc.)
  21. Provide extensive parameters to determine the "processing rules" in all application areas.
  22. Provide multiple choices of (print, fax, e-mail) for external documents such as (Invoices, Order Acknowledgements, PO's, RFQ's, etc.).
  23. Users should have the opportunity to create a report as hard copy, PDF or other document types.
  24. The screen forms throughout the system should provide for drill up and drill down in the database:

    a. From a General Ledger Account down to the original source of a Journal Entry (PO Receipts, Material Issue to a Job, etc.)

    b. From the PO Receipt to the Purchase Order Line to the Purchased Item.

  25. Provide for various alpha Order Prefixes by Order Type (Sales Order, Purchase Order, Job, Work Order, RFQ, etc) and maintain a Next Sequential Number series for each Order Type by Facility.
  26. Provide automatic Customer #, Vendor #, Sales Order, Purchase Order, Invoice, Pick List, Pack List, Bill Of Lading, Lot & Serial # , etc. by Facility (plant, warehouse, sales office)
  27. Multiple Facilities (Plants, Depots and Warehouses) must be supported on one database with Interplant Orders between facilities on the same database, as well as, between databases/networks:

    a. Each Facility on a database could have the same Part at a different cost.

    b. The same Part # could be Manufactured at one Facility and Purchased at another.

    c. Gains and losses should be recognized between Facilities, if they exists.

    d. Part # and Bills Of Materials and Routings could be copied from one Facility to another and then changed, as needed.

    f. Facilities could have differing Costing methods.

  28. Each set of system parameters would be by Facility.
  29. The use of bar-coding throughout the system is a must.
  30. a. Labor Reporting against direct and indirect Jobs/Work Orders by Operation with through on-line edits and a conversational style User Interface.

    b. Material Issues/Returns to Work Orders and Work Order Receipts into Inventory by Lot.

    c. Purchase Order Receipts and Returns

    d. Outside Service Shipments to Vendors and Receipts from Vendors, as well as returns to Vendor.. e. Sales Order Shipments and Returns. f. Cycle Counting g. Physical Inventory h. Sales Order Picking and Packing Lists I. Sales Order Packing Labels

  31. All date fields should have dropdown colander to aid the user in date selection.
  32. Provide for the assignment of specific Files/Tables to specific physical disk drives to minimize thrashing while processing. a. Such as the Parts File/Table on a different disk drive than the Bills of Material for more efficient processing during Planning runs.
  33. Provide for executive dashboards and automatic Alerts.
  34. Provide for wireless device support for Shop Floor Data Entry via bar code and Inquiry capability.
  35. Provide for the centralization across multiple Facilities of Purchasing, Accounts Payable, Accounts Receivable, General ledger, etc.