Advertisement

12.26.2007 at 09:24AM PST, ID: 23043314
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Efficient Way to Maintain Kitting/Assembly/Finished Good Inventory Product into Database

Tags: inventory, finished, goods, kitting
Hi,

I'm looking a way to maintain Kitting Inventory Product Info, into my database. I have the following tables:

ProductDetails: holds the prdocut information
ProductQuantity: holds the product quantity
ProducePrice: holds the product price

In the productdetails table, i do have to identify whether the product code is created for kitting. I also have to track the kitting transaction details in separate table, that shouldn't be any problem.

I want to combine(kit) the following product, eg:

Cloned Desktop PC
    - 250GB Hard Disk
    - 1.44 Floopy Drive
    - Core 2 Duo 2.0 processor
    - 4GB Ram
    - 19" LCD Samsung Monitor
    - Standard Keyboard
    - Optical Mouse

That means I have product codes for all the sub items from the above example, and each of them has its own stock details obviously segregated by their own product code. When I perform Kitting (combine) then should i deduct each qty from sub item stock ? or should i deduct only when the sale happens?

in my sales table how should i maintain this info?

SalesHeader
---------------

SalesId
SalesNo
SalesDateTimke
CustomerCode
Total
Discount
Tax
GrandTotal

SalesDetail
-------------
SalesId
ProductCode
Qty
Price
Discount
Tax
LineTotal

Should I only insert Kitting PRoduct Code or all the sub items into sales detail table? If i insert kitting product code, then i might have costing calculating issue, it will become calculated.. if i insert sub items then i shouldn';t have any problem in calculating profit margin. or should i create additional column in salesdetail table to identify kitting productcode?

Please help.

Regards
Yamiho
Start your free trial to view this solution
Question Stats
Zone: Software
Question Asked By: yamiho
Solution Provided By: adriankohws
Participating Experts: 1
Solution Grade: A
Views: 0
Translate:
Loading Advertisement...
12.26.2007 at 09:57AM PST, ID: 20530071

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
12.30.2007 at 08:27AM PST, ID: 20551204

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
01.01.2008 at 08:28AM PST, ID: 20560543

Rank: Master

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • Automotive
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Displays / Monitors
  • Handhelds / PDAs
  • Components
  • Peripherals
  • Laptops/Notebooks
  • Servers
  • Misc
  • Apple
  • Embedded Hardware
  • Networking Hardware
  • Storage
  • Desktops
  • New Users
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMware
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Virtualization
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • Web Computing
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Consulting
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMware
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Automation
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Web Services
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Web Computing
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Lounge
  • Business Travel
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
  • Automotive
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
12.26.2007 at 09:57AM PST, ID: 20530071

Rank: Master

Well, let me share with you what I have in my ERP System.

I will only show you important columns, not all within the tables

Tables to handle this:

Inventory:
Item_Code      nvarchar(50)
Item_Description      nvarchar(80)
Item_Group      nvarchar(30)
Item_Type      nvarchar(60)
Item_Segment      nvarchar(60)
Item_Area      nvarchar(60)
Category      nvarchar(60)
UOM      nvarchar(3)
-----------------------------------------------------------------
The above inventory_type will identify whether this item is a "Raw Material" or "Finished Goods".
"Finished Goods" means completed item.

"Raw Materials" are for kitting and assembling.

------------------------------------------------------------------
Then I have something called "BOM" header and details table, these tables keep information
about how an "Finished Goods" is kitted or assembled.

BOM Header:

BOM_Code      nvarchar(30)
BOM_Description      nvarchar(100)
Assemble_Or_Disassemble      nvarchar(15)
Item_Code      nvarchar(50)
Item_Description      nvarchar(100)
Repacking_Cost_PU      smallmoney
Labour_Cost_PU      smallmoney
Loss_On_Production      numeric(6, 2)

BOM Details
BOM_Code      nvarchar(30)
RM_Code      nvarchar(50)
RM_Description      nvarchar(100)
Quantity      numeric(18, 4)
Normal_Loss_Percent      numeric(6, 2)

The Header keeps information about the "Finished Goods" and the Detail table keeps information
about all related inventory items that make up the "Finished Goods"

--------------------------------------------------------------------------------------------------
Then I have assembly transaction tables, header and details keeping information when
kitting or assembling transactions are transacted. Once transacted, I will calculate the used
"items" and deduct them from the "Inventory Movement" Table, which in your case maybe
call "Quantity" table, which I don't recommend.


------------------------------------------------------------------------------------------------------
So means to say all these items are also within your inventory, they are "Raw Materials". Of course,
you can also sell them without assembling since they are also your inventory items.

   - 250GB Hard Disk
    - 1.44 Floopy Drive
    - Core 2 Duo 2.0 processor
    - 4GB Ram
    - 19" LCD Samsung Monitor
    - Standard Keyboard
    - Optical Mouse

So for this example, you have the individual items above and have one "Finished Goods" call "Clone PC".

So in the BOM tables, you keep information that one Clone PC is make up from each of the items above.

----------------------------------------------------------------------

When users transact a kitting or assembling, ask the user quantity to kit/assemble, then once confirmed,
minus the related raw materials which are your Hard drives, LCD etc and plus the "Finished Goods" , Clone PC to your inventory balances.

Hope it helps.


 
12.30.2007 at 08:27AM PST, ID: 20551204
Hi,

First of all, i would like to apologize that i couldn't reply you, because i was very sick, everything got delayed.

Why you won't recommend Quantity Table? If we don't maintain then we needs to every time calculate on the fly, which can be resource hungry esp. if you have huge data. So every time whenever there is Update/Insert/Delete then i calculate the qty and store in qty table, for over all qty, separate table for batch and location as well.

Actually, I am not familiar with BOM Concept, but to me it looks like some kind of master data from where you can get the guidelines or instructions to assemble some product. Please correct me, if i am wrong. But I like this approach.

How about costing? How do i calculate the cost of this 'Cloned PC', which is the finished product in our example?

Cheers
Yamiho
 
01.01.2008 at 08:28AM PST, ID: 20560543

Rank: Master

The Quantity Table is act by the recommended replacement table in this case. Before we talk about costing, first you must know some basic accounting. On your costing, it really depends the costing method you are adopting. Averaged Costing? Batch Costing? FIFO Costing? Although having said that, the only time when you do costing is the completion of the assembly/kitting.

Having the BOM Table, say BOM Item = PC, when user select say to assemble one PC, with the BOM configuration, you know what are the items and quantity to use to combine one PC, so you keep the data in the assembly table. Once user confirmed, (at this point), you will go and find out the cost of the individual items and allocate the cost to the "Finished Goods", regardless of the costing method.
Accepted Solution
 
 
20080236-EE-VQP-29 / EE_QW_EXPERT_20070906